summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-19 18:29:46 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-19 18:29:46 +0000
commitee0d2e6e1967294f4a62da1840b0ffdaa3124a2d (patch)
tree5c150db3c91a190b4911f19aeec9b1b2163c0c53
downloadkonversation-ee0d2e6e.tar.gz
konversation-ee0d2e6e.zip
Added old abandoned KDE3 version of Konversation
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/konversation@1092922 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r--AUTHORS7
-rw-r--r--COPYING280
-rw-r--r--COPYING-DOCS397
-rw-r--r--ChangeLog1333
-rw-r--r--INSTALL181
-rw-r--r--Makefile.am5
-rw-r--r--Makefile.am.in4
-rw-r--r--README4
-rw-r--r--TODO3
-rw-r--r--VERSION1
-rw-r--r--acinclude.m412643
-rw-r--r--aclocal.m4910
-rw-r--r--config.h.in252
-rw-r--r--configure.files3
-rw-r--r--configure.in234
-rw-r--r--configure.in.in11
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/da/Makefile.am2
-rw-r--r--doc/da/index.docbook5935
-rw-r--r--doc/es/Makefile.am2
-rw-r--r--doc/es/addchannel.pngbin0 -> 11767 bytes
-rw-r--r--doc/es/addnetwork_co.pngbin0 -> 38945 bytes
-rw-r--r--doc/es/addserver_co.pngbin0 -> 19211 bytes
-rw-r--r--doc/es/channel_screen_tour_co.pngbin0 -> 87922 bytes
-rw-r--r--doc/es/channellist_screen_co.pngbin0 -> 92402 bytes
-rw-r--r--doc/es/checkidentities.pngbin0 -> 19017 bytes
-rw-r--r--doc/es/colorchooser_screen.pngbin0 -> 18441 bytes
-rw-r--r--doc/es/colorize.pngbin0 -> 1022 bytes
-rw-r--r--doc/es/common/1.pngbin0 -> 235 bytes
-rw-r--r--doc/es/common/2.pngbin0 -> 260 bytes
-rw-r--r--doc/es/common/3.pngbin0 -> 264 bytes
-rw-r--r--doc/es/common/4.pngbin0 -> 259 bytes
-rw-r--r--doc/es/common/5.pngbin0 -> 260 bytes
-rw-r--r--doc/es/common/6.pngbin0 -> 277 bytes
-rw-r--r--doc/es/common/7.pngbin0 -> 252 bytes
-rw-r--r--doc/es/common/8.pngbin0 -> 274 bytes
-rw-r--r--doc/es/common/9.pngbin0 -> 283 bytes
-rw-r--r--doc/es/configure.pngbin0 -> 1054 bytes
-rw-r--r--doc/es/dccstatus_screen_co.pngbin0 -> 40081 bytes
-rw-r--r--doc/es/first_channel_co.pngbin0 -> 55889 bytes
-rw-r--r--doc/es/first_serverlist_co.pngbin0 -> 24256 bytes
-rw-r--r--doc/es/highlighting_screen_co.pngbin0 -> 89347 bytes
-rw-r--r--doc/es/identities_adv_co.pngbin0 -> 34376 bytes
-rw-r--r--doc/es/identities_away_co.pngbin0 -> 34513 bytes
-rw-r--r--doc/es/identities_gen_co.pngbin0 -> 41119 bytes
-rw-r--r--doc/es/irc_admin.pngbin0 -> 205 bytes
-rw-r--r--doc/es/irc_away.pngbin0 -> 181 bytes
-rw-r--r--doc/es/irc_halfop.pngbin0 -> 212 bytes
-rw-r--r--doc/es/irc_normal.pngbin0 -> 206 bytes
-rw-r--r--doc/es/irc_op.pngbin0 -> 212 bytes
-rw-r--r--doc/es/irc_owner.pngbin0 -> 212 bytes
-rw-r--r--doc/es/irc_voice.pngbin0 -> 212 bytes
-rw-r--r--doc/es/kaddressbook.pngbin0 -> 783 bytes
-rw-r--r--doc/es/kimproxy_create_screen2.pngbin0 -> 23652 bytes
-rw-r--r--doc/es/kimproxy_create_screen_co.pngbin0 -> 58630 bytes
-rw-r--r--doc/es/led_blue_off.pngbin0 -> 282 bytes
-rw-r--r--doc/es/led_blue_on.pngbin0 -> 250 bytes
-rw-r--r--doc/es/led_green_off.pngbin0 -> 277 bytes
-rw-r--r--doc/es/led_green_on.pngbin0 -> 245 bytes
-rw-r--r--doc/es/led_red_off.pngbin0 -> 248 bytes
-rw-r--r--doc/es/led_red_on.pngbin0 -> 255 bytes
-rw-r--r--doc/es/led_yellow_off.pngbin0 -> 259 bytes
-rw-r--r--doc/es/led_yellow_on.pngbin0 -> 224 bytes
-rw-r--r--doc/es/logviewer_co.pngbin0 -> 105998 bytes
-rw-r--r--doc/es/nicksonline_co.pngbin0 -> 43449 bytes
-rw-r--r--doc/es/nickthemes_screen_co.pngbin0 -> 88233 bytes
-rw-r--r--doc/es/notification_screen_co.pngbin0 -> 72555 bytes
-rw-r--r--doc/es/notifylist_screen_co.pngbin0 -> 83279 bytes
-rw-r--r--doc/es/osd_demo.pngbin0 -> 67027 bytes
-rw-r--r--doc/es/osd_screen_co.pngbin0 -> 92388 bytes
-rw-r--r--doc/es/quickbuttons_screen.pngbin0 -> 100953 bytes
-rw-r--r--doc/es/quickconnect_screen.pngbin0 -> 15369 bytes
-rw-r--r--doc/es/serverlist_co.pngbin0 -> 29459 bytes
-rw-r--r--doc/es/urlcatcher_screen_co.pngbin0 -> 41032 bytes
-rw-r--r--doc/es/webbrowser_screen_co.pngbin0 -> 98548 bytes
-rw-r--r--doc/et/Makefile.am2
-rw-r--r--doc/et/index.docbook5981
-rw-r--r--doc/it/Makefile.am2
-rw-r--r--doc/it/addchannel.pngbin0 -> 6493 bytes
-rw-r--r--doc/it/addnetwork_co.pngbin0 -> 29590 bytes
-rw-r--r--doc/it/addserver_co.pngbin0 -> 12390 bytes
-rw-r--r--doc/it/channel_screen_tour_co.pngbin0 -> 87723 bytes
-rw-r--r--doc/it/channellist_screen_co.pngbin0 -> 63868 bytes
-rw-r--r--doc/it/checkidentities.pngbin0 -> 12118 bytes
-rw-r--r--doc/it/colorchooser_screen.pngbin0 -> 9637 bytes
-rw-r--r--doc/it/first_channel_co.pngbin0 -> 78996 bytes
-rw-r--r--doc/it/first_serverlist_co.pngbin0 -> 15863 bytes
-rw-r--r--doc/it/identities_adv_co.pngbin0 -> 24545 bytes
-rw-r--r--doc/it/identities_away_co.pngbin0 -> 26257 bytes
-rw-r--r--doc/it/identities_gen_co.pngbin0 -> 28834 bytes
-rw-r--r--doc/it/index.docbook5935
-rw-r--r--doc/it/nicksonline_co.pngbin0 -> 43056 bytes
-rw-r--r--doc/it/notification_screen_co.pngbin0 -> 48043 bytes
-rw-r--r--doc/it/notifylist_screen_co.pngbin0 -> 42182 bytes
-rw-r--r--doc/it/osd_demo.pngbin0 -> 71780 bytes
-rw-r--r--doc/it/osd_screen_co.pngbin0 -> 48937 bytes
-rw-r--r--doc/it/quickbuttons_screen.pngbin0 -> 75688 bytes
-rw-r--r--doc/it/quickconnect_screen.pngbin0 -> 11062 bytes
-rw-r--r--doc/it/serverlist_co.pngbin0 -> 17643 bytes
-rw-r--r--doc/konversation/Makefile.am9
-rw-r--r--doc/konversation/addchannel.pngbin0 -> 6040 bytes
-rw-r--r--doc/konversation/addnetwork_co.pngbin0 -> 14855 bytes
-rw-r--r--doc/konversation/addserver_co.pngbin0 -> 7753 bytes
-rw-r--r--doc/konversation/channel_screen_co.pngbin0 -> 25490 bytes
-rw-r--r--doc/konversation/channel_screen_tour_co.pngbin0 -> 42891 bytes
-rw-r--r--doc/konversation/channellist_screen_co.pngbin0 -> 28003 bytes
-rw-r--r--doc/konversation/checkidentities.pngbin0 -> 7639 bytes
-rw-r--r--doc/konversation/colorchooser_screen.pngbin0 -> 7155 bytes
-rw-r--r--doc/konversation/colorize.pngbin0 -> 1011 bytes
-rw-r--r--doc/konversation/configure.pngbin0 -> 1094 bytes
-rw-r--r--doc/konversation/dccstatus_screen_co.pngbin0 -> 18463 bytes
-rw-r--r--doc/konversation/editserver_screen_co.pngbin0 -> 8594 bytes
-rw-r--r--doc/konversation/first_channel_co.pngbin0 -> 28553 bytes
-rw-r--r--doc/konversation/first_serverlist_co.pngbin0 -> 9272 bytes
-rw-r--r--doc/konversation/highlighting_screen_co.pngbin0 -> 29812 bytes
-rw-r--r--doc/konversation/identities_adv_co.pngbin0 -> 13151 bytes
-rw-r--r--doc/konversation/identities_away_co.pngbin0 -> 27971 bytes
-rw-r--r--doc/konversation/identities_gen_co.pngbin0 -> 14338 bytes
-rw-r--r--doc/konversation/index.docbook3483
-rw-r--r--doc/konversation/irc_admin.pngbin0 -> 205 bytes
-rw-r--r--doc/konversation/irc_away.pngbin0 -> 181 bytes
-rw-r--r--doc/konversation/irc_halfop.pngbin0 -> 212 bytes
-rw-r--r--doc/konversation/irc_normal.pngbin0 -> 206 bytes
-rw-r--r--doc/konversation/irc_op.pngbin0 -> 212 bytes
-rw-r--r--doc/konversation/irc_owner.pngbin0 -> 212 bytes
-rw-r--r--doc/konversation/irc_voice.pngbin0 -> 212 bytes
-rw-r--r--doc/konversation/kaddressbook.pngbin0 -> 672 bytes
-rw-r--r--doc/konversation/kimproxy_create_screen2.pngbin0 -> 11651 bytes
-rw-r--r--doc/konversation/kimproxy_create_screen_co.pngbin0 -> 53750 bytes
-rw-r--r--doc/konversation/led_blue_off.pngbin0 -> 282 bytes
-rw-r--r--doc/konversation/led_blue_on.pngbin0 -> 250 bytes
-rw-r--r--doc/konversation/led_green_off.pngbin0 -> 277 bytes
-rw-r--r--doc/konversation/led_green_on.pngbin0 -> 245 bytes
-rw-r--r--doc/konversation/led_red_off.pngbin0 -> 248 bytes
-rw-r--r--doc/konversation/led_red_on.pngbin0 -> 255 bytes
-rw-r--r--doc/konversation/led_yellow_off.pngbin0 -> 259 bytes
-rw-r--r--doc/konversation/led_yellow_on.pngbin0 -> 224 bytes
-rw-r--r--doc/konversation/logviewer_co.pngbin0 -> 22420 bytes
-rw-r--r--doc/konversation/nicksonline_co.pngbin0 -> 32817 bytes
-rw-r--r--doc/konversation/nickthemes_screen_co.pngbin0 -> 27299 bytes
-rw-r--r--doc/konversation/notification_screen_co.pngbin0 -> 60442 bytes
-rw-r--r--doc/konversation/notifylist_screen_co.pngbin0 -> 64301 bytes
-rw-r--r--doc/konversation/osd_demo.pngbin0 -> 67027 bytes
-rw-r--r--doc/konversation/osd_screen_co.pngbin0 -> 67636 bytes
-rw-r--r--doc/konversation/prefs_identity_screen_co.pngbin0 -> 21694 bytes
-rw-r--r--doc/konversation/quickbuttons_screen.pngbin0 -> 29444 bytes
-rw-r--r--doc/konversation/quickconnect_screen.pngbin0 -> 7586 bytes
-rw-r--r--doc/konversation/serverlist_co.pngbin0 -> 11629 bytes
-rw-r--r--doc/konversation/serverlist_screen_co.pngbin0 -> 16017 bytes
-rw-r--r--doc/konversation/urlcatcher_screen_co.pngbin0 -> 22315 bytes
-rw-r--r--doc/konversation/webbrowser_screen_co.pngbin0 -> 70507 bytes
-rw-r--r--doc/pt/Makefile.am2
-rw-r--r--doc/pt/index.docbook5959
-rw-r--r--doc/ru/Makefile.am2
-rw-r--r--doc/ru/index.docbook5961
-rw-r--r--doc/sv/Makefile.am2
-rw-r--r--doc/sv/addchannel.pngbin0 -> 3984 bytes
-rw-r--r--doc/sv/addnetwork_co.pngbin0 -> 11968 bytes
-rw-r--r--doc/sv/addserver_co.pngbin0 -> 5900 bytes
-rw-r--r--doc/sv/channel_screen_tour_co.pngbin0 -> 27271 bytes
-rw-r--r--doc/sv/channellist_screen_co.pngbin0 -> 28917 bytes
-rw-r--r--doc/sv/checkidentities.pngbin0 -> 5652 bytes
-rw-r--r--doc/sv/colorchooser_screen.pngbin0 -> 5191 bytes
-rw-r--r--doc/sv/dccstatus_screen_co.pngbin0 -> 14108 bytes
-rw-r--r--doc/sv/first_channel_co.pngbin0 -> 20621 bytes
-rw-r--r--doc/sv/first_serverlist_co.pngbin0 -> 6882 bytes
-rw-r--r--doc/sv/highlighting_screen_co.pngbin0 -> 25707 bytes
-rw-r--r--doc/sv/identities_adv_co.pngbin0 -> 10426 bytes
-rw-r--r--doc/sv/identities_away_co.pngbin0 -> 11280 bytes
-rw-r--r--doc/sv/identities_gen_co.pngbin0 -> 11731 bytes
-rw-r--r--doc/sv/index.docbook5965
-rw-r--r--doc/sv/kimproxy_create_screen2.pngbin0 -> 9385 bytes
-rw-r--r--doc/sv/kimproxy_create_screen_co.pngbin0 -> 19639 bytes
-rw-r--r--doc/sv/logviewer_co.pngbin0 -> 18170 bytes
-rw-r--r--doc/sv/nicksonline_co.pngbin0 -> 20764 bytes
-rw-r--r--doc/sv/nickthemes_screen_co.pngbin0 -> 22362 bytes
-rw-r--r--doc/sv/notification_screen_co.pngbin0 -> 19049 bytes
-rw-r--r--doc/sv/notifylist_screen_co.pngbin0 -> 24737 bytes
-rw-r--r--doc/sv/osd_demo.pngbin0 -> 23486 bytes
-rw-r--r--doc/sv/osd_screen_co.pngbin0 -> 26120 bytes
-rw-r--r--doc/sv/quickbuttons_screen.pngbin0 -> 27270 bytes
-rw-r--r--doc/sv/quickconnect_screen.pngbin0 -> 5645 bytes
-rw-r--r--doc/sv/serverlist_co.pngbin0 -> 9385 bytes
-rw-r--r--doc/sv/urlcatcher_screen_co.pngbin0 -> 12773 bytes
-rw-r--r--doc/sv/webbrowser_screen_co.pngbin0 -> 28892 bytes
-rw-r--r--konversation/Makefile.am19
-rw-r--r--konversation/NEWS5
-rw-r--r--konversation/configure.files3
-rw-r--r--konversation/configure.in.in48
-rw-r--r--konversation/images/Makefile.am1
-rw-r--r--konversation/images/icons/Makefile.am1
-rw-r--r--konversation/images/icons/README-kimproxy5
-rw-r--r--konversation/images/icons/cr16-action-kimproxyaway.pngbin0 -> 521 bytes
-rw-r--r--konversation/images/icons/cr16-action-kimproxyoffline.pngbin0 -> 540 bytes
-rw-r--r--konversation/images/icons/cr16-action-kimproxyonline.pngbin0 -> 460 bytes
-rw-r--r--konversation/images/icons/cr22-action-char.pngbin0 -> 342 bytes
-rw-r--r--konversation/images/icons/cr22-action-kimproxyaway.pngbin0 -> 685 bytes
-rw-r--r--konversation/images/icons/cr22-action-kimproxyoffline.pngbin0 -> 711 bytes
-rw-r--r--konversation/images/icons/cr22-action-kimproxyonline.pngbin0 -> 590 bytes
-rw-r--r--konversation/images/icons/cr22-action-konv_message.pngbin0 -> 1091 bytes
-rw-r--r--konversation/images/icons/cr32-action-kimproxyaway.pngbin0 -> 1007 bytes
-rw-r--r--konversation/images/icons/cr32-action-kimproxyoffline.pngbin0 -> 1030 bytes
-rw-r--r--konversation/images/icons/cr32-action-kimproxyonline.pngbin0 -> 816 bytes
-rw-r--r--konversation/images/icons/crsc-action-kimproxyaway.svgzbin0 -> 1272 bytes
-rw-r--r--konversation/images/icons/crsc-action-kimproxyoffline.svgzbin0 -> 1284 bytes
-rw-r--r--konversation/images/icons/crsc-action-kimproxyonline.svgzbin0 -> 1305 bytes
-rw-r--r--konversation/images/icons/crsc-action-konv_message.svgzbin0 -> 2946 bytes
-rw-r--r--konversation/images/icons/hi128-app-konversation.pngbin0 -> 11281 bytes
-rw-r--r--konversation/images/icons/hi16-app-konversation.pngbin0 -> 827 bytes
-rw-r--r--konversation/images/icons/hi22-app-konversation.pngbin0 -> 1198 bytes
-rw-r--r--konversation/images/icons/hi32-app-konversation.pngbin0 -> 1806 bytes
-rw-r--r--konversation/images/icons/hi48-app-konversation.pngbin0 -> 3358 bytes
-rw-r--r--konversation/images/icons/hi64-app-konversation.pngbin0 -> 4757 bytes
-rw-r--r--konversation/images/icons/hisc-app-konversation.svgzbin0 -> 3051 bytes
-rw-r--r--konversation/images/nickicons/Makefile.am1
-rw-r--r--konversation/images/nickicons/alternative/Makefile.am3
-rw-r--r--konversation/images/nickicons/alternative/index.desktop57
-rw-r--r--konversation/images/nickicons/alternative/irc_admin.pngbin0 -> 797 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_away.pngbin0 -> 225 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_halfop.pngbin0 -> 784 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_normal.pngbin0 -> 746 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_op.pngbin0 -> 892 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_owner.pngbin0 -> 824 bytes
-rw-r--r--konversation/images/nickicons/alternative/irc_voice.pngbin0 -> 811 bytes
-rw-r--r--konversation/images/nickicons/christmas/Makefile.am3
-rw-r--r--konversation/images/nickicons/christmas/index.desktop68
-rw-r--r--konversation/images/nickicons/christmas/irc_admin.pngbin0 -> 777 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_away.pngbin0 -> 770 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_halfop.pngbin0 -> 859 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_normal.pngbin0 -> 871 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_op.pngbin0 -> 938 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_owner.pngbin0 -> 868 bytes
-rw-r--r--konversation/images/nickicons/christmas/irc_voice.pngbin0 -> 697 bytes
-rw-r--r--konversation/images/nickicons/classic/Makefile.am3
-rw-r--r--konversation/images/nickicons/classic/index.desktop70
-rw-r--r--konversation/images/nickicons/classic/irc_admin.pngbin0 -> 250 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_away.pngbin0 -> 111 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_halfop.pngbin0 -> 275 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_normal.pngbin0 -> 246 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_op.pngbin0 -> 234 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_owner.pngbin0 -> 242 bytes
-rw-r--r--konversation/images/nickicons/classic/irc_voice.pngbin0 -> 246 bytes
-rw-r--r--konversation/images/nickicons/default/Makefile.am3
-rw-r--r--konversation/images/nickicons/default/index.desktop69
-rw-r--r--konversation/images/nickicons/default/irc_admin.pngbin0 -> 225 bytes
-rw-r--r--konversation/images/nickicons/default/irc_away.pngbin0 -> 193 bytes
-rw-r--r--konversation/images/nickicons/default/irc_halfop.pngbin0 -> 236 bytes
-rw-r--r--konversation/images/nickicons/default/irc_normal.pngbin0 -> 227 bytes
-rw-r--r--konversation/images/nickicons/default/irc_op.pngbin0 -> 238 bytes
-rw-r--r--konversation/images/nickicons/default/irc_owner.pngbin0 -> 238 bytes
-rw-r--r--konversation/images/nickicons/default/irc_voice.pngbin0 -> 238 bytes
-rw-r--r--konversation/images/nickicons/oxygen/Makefile.am3
-rw-r--r--konversation/images/nickicons/oxygen/index.desktop22
-rw-r--r--konversation/images/nickicons/oxygen/irc_admin.pngbin0 -> 754 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_away.pngbin0 -> 472 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_halfop.pngbin0 -> 750 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_normal.pngbin0 -> 743 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_op.pngbin0 -> 752 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_owner.pngbin0 -> 739 bytes
-rw-r--r--konversation/images/nickicons/oxygen/irc_voice.pngbin0 -> 743 bytes
-rw-r--r--konversation/images/nickicons/smiling/Makefile.am3
-rw-r--r--konversation/images/nickicons/smiling/index.desktop70
-rw-r--r--konversation/images/nickicons/smiling/irc_admin.pngbin0 -> 813 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_away.pngbin0 -> 442 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_halfop.pngbin0 -> 972 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_normal.pngbin0 -> 921 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_op.pngbin0 -> 919 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_owner.pngbin0 -> 898 bytes
-rw-r--r--konversation/images/nickicons/smiling/irc_voice.pngbin0 -> 923 bytes
-rw-r--r--konversation/images/nickicons/square/Makefile.am3
-rw-r--r--konversation/images/nickicons/square/index.desktop69
-rw-r--r--konversation/images/nickicons/square/irc_admin.pngbin0 -> 570 bytes
-rw-r--r--konversation/images/nickicons/square/irc_away.pngbin0 -> 578 bytes
-rw-r--r--konversation/images/nickicons/square/irc_halfop.pngbin0 -> 631 bytes
-rw-r--r--konversation/images/nickicons/square/irc_normal.pngbin0 -> 331 bytes
-rw-r--r--konversation/images/nickicons/square/irc_op.pngbin0 -> 546 bytes
-rw-r--r--konversation/images/nickicons/square/irc_owner.pngbin0 -> 611 bytes
-rw-r--r--konversation/images/nickicons/square/irc_voice.pngbin0 -> 559 bytes
-rw-r--r--konversation/scripts/Makefile.am4
-rw-r--r--konversation/scripts/README55
-rwxr-xr-xkonversation/scripts/bug18
-rwxr-xr-xkonversation/scripts/cmd31
-rwxr-xr-xkonversation/scripts/fortune53
-rw-r--r--konversation/scripts/fortunes.dat680
-rwxr-xr-xkonversation/scripts/gauge71
-rwxr-xr-xkonversation/scripts/kdeversion9
-rwxr-xr-xkonversation/scripts/mail70
-rwxr-xr-xkonversation/scripts/media484
-rwxr-xr-xkonversation/scripts/sayclip19
-rw-r--r--konversation/scripts/sysinfo86
-rwxr-xr-xkonversation/scripts/tinyurl31
-rwxr-xr-xkonversation/scripts/uptime56
-rwxr-xr-xkonversation/scripts/weather70
-rw-r--r--konversation/src/Makefile.am73
-rw-r--r--konversation/src/alias_preferences.cpp223
-rw-r--r--konversation/src/alias_preferences.h51
-rw-r--r--konversation/src/alias_preferencesui.ui174
-rw-r--r--konversation/src/autoreplace_preferences.cpp403
-rw-r--r--konversation/src/autoreplace_preferences.h57
-rw-r--r--konversation/src/autoreplace_preferencesui.ui292
-rw-r--r--konversation/src/awaymanager.cpp372
-rw-r--r--konversation/src/awaymanager.h73
-rw-r--r--konversation/src/blowfish/BlowfishCbc.cpp654
-rw-r--r--konversation/src/blowfish/BlowfishCbc.h228
-rw-r--r--konversation/src/blowfish/Makefile.am7
-rw-r--r--konversation/src/blowfish/README3
-rw-r--r--konversation/src/blowfish/b64stuff.cpp218
-rw-r--r--konversation/src/blowfish/b64stuff.h53
-rw-r--r--konversation/src/blowfish/blowfish.cpp129
-rw-r--r--konversation/src/blowfish/blowfish.h30
-rw-r--r--konversation/src/blowfish/mc_blowfish.cpp63
-rw-r--r--konversation/src/blowfish/mc_blowfish.h34
-rw-r--r--konversation/src/blowfish/newblowfish.cpp208
-rw-r--r--konversation/src/blowfish/newblowfish.h32
-rw-r--r--konversation/src/blowfish/oldblowfish.cpp425
-rw-r--r--konversation/src/blowfish/oldblowfish1.h141
-rw-r--r--konversation/src/blowfish/oldblowfish2.h295
-rw-r--r--konversation/src/channel.cpp2960
-rw-r--r--konversation/src/channel.h375
-rw-r--r--konversation/src/channeldialog.cpp82
-rw-r--r--konversation/src/channeldialog.h46
-rw-r--r--konversation/src/channellistpanel.cpp597
-rw-r--r--konversation/src/channellistpanel.h147
-rw-r--r--konversation/src/channellistviewitem.cpp40
-rw-r--r--konversation/src/channellistviewitem.h31
-rw-r--r--konversation/src/channelnick.cpp259
-rw-r--r--konversation/src/channelnick.h95
-rw-r--r--konversation/src/channeloptionsdialog.cpp537
-rw-r--r--konversation/src/channeloptionsdialog.h102
-rw-r--r--konversation/src/channeloptionsui.ui559
-rw-r--r--konversation/src/chatwindow.cpp526
-rw-r--r--konversation/src/chatwindow.h205
-rw-r--r--konversation/src/chatwindowappearance_preferences.ui378
-rw-r--r--konversation/src/chatwindowbehaviour_preferences.ui374
-rw-r--r--konversation/src/colorsappearance_preferences.ui1395
-rw-r--r--konversation/src/commit.h4
-rw-r--r--konversation/src/common.cpp196
-rw-r--r--konversation/src/common.h56
-rw-r--r--konversation/src/config/Makefile.am8
-rw-r--r--konversation/src/config/konversation.kcfg996
-rw-r--r--konversation/src/config/preferences.cpp605
-rw-r--r--konversation/src/config/preferences.h169
-rw-r--r--konversation/src/config/preferences_base.kcfgc8
-rw-r--r--konversation/src/connectionbehavior_preferences.ui187
-rw-r--r--konversation/src/connectionmanager.cpp580
-rw-r--r--konversation/src/connectionmanager.h95
-rw-r--r--konversation/src/connectionsettings.cpp55
-rw-r--r--konversation/src/connectionsettings.h61
-rw-r--r--konversation/src/dcc_preferences.cpp54
-rw-r--r--konversation/src/dcc_preferences.h38
-rw-r--r--konversation/src/dcc_preferencesui.ui527
-rw-r--r--konversation/src/dccchat.cpp473
-rw-r--r--konversation/src/dccchat.h102
-rw-r--r--konversation/src/dcccommon.cpp118
-rw-r--r--konversation/src/dcccommon.h48
-rw-r--r--konversation/src/dccrecipientdialog.cpp100
-rw-r--r--konversation/src/dccrecipientdialog.h47
-rw-r--r--konversation/src/dccresumedialog.cpp198
-rw-r--r--konversation/src/dccresumedialog.h59
-rw-r--r--konversation/src/dcctransfer.cpp358
-rw-r--r--konversation/src/dcctransfer.h186
-rw-r--r--konversation/src/dcctransferdetailedinfopanel.cpp214
-rw-r--r--konversation/src/dcctransferdetailedinfopanel.h44
-rw-r--r--konversation/src/dcctransferdetailedinfopanelui.ui492
-rw-r--r--konversation/src/dcctransfermanager.cpp238
-rw-r--r--konversation/src/dcctransfermanager.h95
-rw-r--r--konversation/src/dcctransferpanel.cpp459
-rw-r--r--konversation/src/dcctransferpanel.h113
-rw-r--r--konversation/src/dcctransferpanelitem.cpp403
-rw-r--r--konversation/src/dcctransferpanelitem.h98
-rw-r--r--konversation/src/dcctransferrecv.cpp799
-rw-r--r--konversation/src/dcctransferrecv.h184
-rw-r--r--konversation/src/dcctransfersend.cpp509
-rw-r--r--konversation/src/dcctransfersend.h98
-rw-r--r--konversation/src/decoder.h113
-rw-r--r--konversation/src/editnotifydialog.cpp103
-rw-r--r--konversation/src/editnotifydialog.h50
-rw-r--r--konversation/src/emoticon.cpp209
-rw-r--r--konversation/src/emoticon.h47
-rw-r--r--konversation/src/eventsrc973
-rw-r--r--konversation/src/fontappearance_preferences.ui160
-rw-r--r--konversation/src/generalbehavior_preferences.ui360
-rw-r--r--konversation/src/guess_ja.cpp377
-rw-r--r--konversation/src/guess_ja.h116
-rw-r--r--konversation/src/highlight.cpp49
-rw-r--r--konversation/src/highlight.h63
-rw-r--r--konversation/src/highlight_preferences.cpp352
-rw-r--r--konversation/src/highlight_preferences.h63
-rw-r--r--konversation/src/highlight_preferencesui.ui453
-rw-r--r--konversation/src/highlightviewitem.cpp93
-rw-r--r--konversation/src/highlightviewitem.h72
-rw-r--r--konversation/src/identity.cpp177
-rw-r--r--konversation/src/identity.h133
-rw-r--r--konversation/src/identitydialog.cpp642
-rw-r--r--konversation/src/identitydialog.h99
-rw-r--r--konversation/src/ignore.cpp30
-rw-r--r--konversation/src/ignore.h46
-rw-r--r--konversation/src/ignore_preferences.cpp219
-rw-r--r--konversation/src/ignore_preferences.h58
-rw-r--r--konversation/src/ignore_preferencesui.ui219
-rw-r--r--konversation/src/ignorelistviewitem.cpp55
-rw-r--r--konversation/src/ignorelistviewitem.h39
-rw-r--r--konversation/src/images.cpp319
-rw-r--r--konversation/src/images.h102
-rw-r--r--konversation/src/inputfilter.cpp1985
-rw-r--r--konversation/src/inputfilter.h94
-rw-r--r--konversation/src/insertchardialog.cpp57
-rw-r--r--konversation/src/insertchardialog.h46
-rw-r--r--konversation/src/irccharsets.cpp177
-rw-r--r--konversation/src/irccharsets.h106
-rw-r--r--konversation/src/irccolorchooser.cpp83
-rw-r--r--konversation/src/irccolorchooser.h41
-rw-r--r--konversation/src/irccolorchooserui.ui148
-rw-r--r--konversation/src/ircinput.cpp551
-rw-r--r--konversation/src/ircinput.h91
-rw-r--r--konversation/src/ircqueue.cpp209
-rw-r--r--konversation/src/ircqueue.h137
-rw-r--r--konversation/src/ircview.cpp1791
-rw-r--r--konversation/src/ircview.h242
-rw-r--r--konversation/src/ircviewbox.cpp141
-rw-r--r--konversation/src/ircviewbox.h49
-rw-r--r--konversation/src/joinchanneldialog.cpp104
-rw-r--r--konversation/src/joinchanneldialog.h44
-rw-r--r--konversation/src/joinchannelui.ui110
-rw-r--r--konversation/src/konsolepanel.cpp75
-rw-r--r--konversation/src/konsolepanel.h47
-rw-r--r--konversation/src/konvdcop.cpp359
-rw-r--r--konversation/src/konvdcop.h110
-rwxr-xr-xkonversation/src/konversation-0.19-appearance.pl52
-rw-r--r--konversation/src/konversation-0.19-colorcodes.pl26
-rwxr-xr-xkonversation/src/konversation-0.19-colors.pl23
-rw-r--r--konversation/src/konversation-0.19-custombrowser.pl26
-rw-r--r--konversation/src/konversation-0.19-notifylists.pl43
-rwxr-xr-xkonversation/src/konversation-0.19-sortorder.pl69
-rwxr-xr-xkonversation/src/konversation-0.19-tabplacement.pl26
-rw-r--r--konversation/src/konversation-0.20-customfonts.pl21
-rw-r--r--konversation/src/konversation-0.20-quickbuttons.pl137
-rw-r--r--konversation/src/konversation.desktop47
-rw-r--r--konversation/src/konversation.upd144
-rw-r--r--konversation/src/konversationapplication.cpp888
-rw-r--r--konversation/src/konversationapplication.h169
-rw-r--r--konversation/src/konversationmainwindow.cpp654
-rw-r--r--konversation/src/konversationmainwindow.h148
-rw-r--r--konversation/src/konversationsound.cpp41
-rw-r--r--konversation/src/konversationsound.h41
-rw-r--r--konversation/src/konversationstatusbar.cpp242
-rw-r--r--konversation/src/konversationstatusbar.h67
-rw-r--r--konversation/src/konversationui.rc82
-rw-r--r--konversation/src/konvibookmarkhandler.cpp96
-rw-r--r--konversation/src/konvibookmarkhandler.h55
-rw-r--r--konversation/src/konvibookmarkmenu.cpp154
-rw-r--r--konversation/src/konvibookmarkmenu.h65
-rw-r--r--konversation/src/konviconfigdialog.cpp284
-rw-r--r--konversation/src/konviconfigdialog.h124
-rw-r--r--konversation/src/konviface.h89
-rw-r--r--konversation/src/konvirc.protocol11
-rw-r--r--konversation/src/konvirc6.protocol11
-rw-r--r--konversation/src/konvisettingsdialog.cpp316
-rw-r--r--konversation/src/konvisettingsdialog.h95
-rw-r--r--konversation/src/konvisettingspage.h27
-rw-r--r--konversation/src/linkaddressbook/Makefile.am13
-rw-r--r--konversation/src/linkaddressbook/addressbook.cpp339
-rw-r--r--konversation/src/linkaddressbook/addressbook.h99
-rw-r--r--konversation/src/linkaddressbook/addressbook_base.cpp516
-rw-r--r--konversation/src/linkaddressbook/addressbook_base.h128
-rw-r--r--konversation/src/linkaddressbook/addresseeitem.cpp63
-rw-r--r--konversation/src/linkaddressbook/addresseeitem.h66
-rw-r--r--konversation/src/linkaddressbook/kimiface.h191
-rw-r--r--konversation/src/linkaddressbook/linkaddressbookui.cpp191
-rw-r--r--konversation/src/linkaddressbook/linkaddressbookui.h68
-rw-r--r--konversation/src/linkaddressbook/linkaddressbookui_base.ui174
-rw-r--r--konversation/src/linkaddressbook/nicklisttooltip.cpp68
-rw-r--r--konversation/src/linkaddressbook/nicklisttooltip.h45
-rw-r--r--konversation/src/linkaddressbook/nicksonlinetooltip.cpp67
-rw-r--r--konversation/src/linkaddressbook/nicksonlinetooltip.h45
-rw-r--r--konversation/src/log_preferences.ui116
-rw-r--r--konversation/src/logfilereader.cpp187
-rw-r--r--konversation/src/logfilereader.h59
-rw-r--r--konversation/src/main.cpp103
-rw-r--r--konversation/src/modebutton.cpp44
-rw-r--r--konversation/src/modebutton.h40
-rw-r--r--konversation/src/multilineedit.cpp79
-rw-r--r--konversation/src/multilineedit.h40
-rw-r--r--konversation/src/multilinetextedit.cpp175
-rw-r--r--konversation/src/multilinetextedit.h41
-rw-r--r--konversation/src/nick.cpp262
-rw-r--r--konversation/src/nick.h55
-rw-r--r--konversation/src/nickinfo.cpp445
-rw-r--r--konversation/src/nickinfo.h185
-rw-r--r--konversation/src/nicklistbehavior_preferences.cpp108
-rw-r--r--konversation/src/nicklistbehavior_preferences.h46
-rw-r--r--konversation/src/nicklistbehavior_preferencesui.ui160
-rw-r--r--konversation/src/nicklistview.cpp336
-rw-r--r--konversation/src/nicklistview.h77
-rw-r--r--konversation/src/nicksonline.cpp975
-rw-r--r--konversation/src/nicksonline.h261
-rw-r--r--konversation/src/nicksonlineitem.cpp52
-rw-r--r--konversation/src/nicksonlineitem.h58
-rw-r--r--konversation/src/notificationhandler.cpp334
-rw-r--r--konversation/src/notificationhandler.h61
-rw-r--r--konversation/src/osd.cpp446
-rw-r--r--konversation/src/osd.h124
-rw-r--r--konversation/src/osd_preferences.cpp190
-rw-r--r--konversation/src/osd_preferences.h57
-rw-r--r--konversation/src/osd_preferencesui.ui424
-rw-r--r--konversation/src/outputfilter.cpp1790
-rw-r--r--konversation/src/outputfilter.h182
-rw-r--r--konversation/src/query.cpp673
-rw-r--r--konversation/src/query.h118
-rw-r--r--konversation/src/queuetuner.cpp256
-rw-r--r--konversation/src/queuetuner.h62
-rw-r--r--konversation/src/queuetunerbase.ui767
-rw-r--r--konversation/src/quickbutton.cpp38
-rw-r--r--konversation/src/quickbutton.h42
-rw-r--r--konversation/src/quickbuttons_preferences.cpp262
-rw-r--r--konversation/src/quickbuttons_preferences.h53
-rw-r--r--konversation/src/quickbuttons_preferencesui.ui222
-rw-r--r--konversation/src/quickconnectdialog.cpp108
-rw-r--r--konversation/src/quickconnectdialog.h54
-rw-r--r--konversation/src/rawlog.cpp79
-rw-r--r--konversation/src/rawlog.h40
-rw-r--r--konversation/src/replycodes.h160
-rw-r--r--konversation/src/scriptlauncher.cpp74
-rw-r--r--konversation/src/scriptlauncher.h39
-rw-r--r--konversation/src/searchbar.cpp245
-rw-r--r--konversation/src/searchbar.h83
-rw-r--r--konversation/src/searchbarbase.ui131
-rw-r--r--konversation/src/server.cpp3348
-rw-r--r--konversation/src/server.h717
-rw-r--r--konversation/src/serverdialog.cpp103
-rw-r--r--konversation/src/serverdialog.h48
-rw-r--r--konversation/src/servergroupdialog.cpp418
-rw-r--r--konversation/src/servergroupdialog.h85
-rw-r--r--konversation/src/servergroupdialogui.ui318
-rw-r--r--konversation/src/servergroupsettings.cpp229
-rw-r--r--konversation/src/servergroupsettings.h131
-rw-r--r--konversation/src/serverison.cpp242
-rw-r--r--konversation/src/serverison.h113
-rw-r--r--konversation/src/serverlistdialog.cpp564
-rw-r--r--konversation/src/serverlistdialog.h110
-rw-r--r--konversation/src/serverlistview.cpp114
-rw-r--r--konversation/src/serverlistview.h38
-rw-r--r--konversation/src/serversettings.cpp66
-rw-r--r--konversation/src/serversettings.h52
-rw-r--r--konversation/src/ssllabel.cpp29
-rw-r--r--konversation/src/ssllabel.h33
-rw-r--r--konversation/src/sslsocket.cpp358
-rw-r--r--konversation/src/sslsocket.h60
-rw-r--r--konversation/src/statuspanel.cpp398
-rw-r--r--konversation/src/statuspanel.h96
-rw-r--r--konversation/src/tabnotifications_preferences.ui407
-rw-r--r--konversation/src/tabs_preferences.cpp59
-rw-r--r--konversation/src/tabs_preferences.h33
-rw-r--r--konversation/src/tabs_preferencesui.ui192
-rw-r--r--konversation/src/theme_preferences.cpp307
-rw-r--r--konversation/src/theme_preferences.h56
-rw-r--r--konversation/src/theme_preferencesui.ui222
-rw-r--r--konversation/src/topiccombobox.cpp50
-rw-r--r--konversation/src/topiccombobox.h39
-rw-r--r--konversation/src/topiclabel.cpp385
-rw-r--r--konversation/src/topiclabel.h90
-rw-r--r--konversation/src/trayicon.cpp99
-rw-r--r--konversation/src/trayicon.h60
-rw-r--r--konversation/src/unicode.cpp145
-rw-r--r--konversation/src/urlcatcher.cpp233
-rw-r--r--konversation/src/urlcatcher.h66
-rw-r--r--konversation/src/valuelistviewitem.cpp40
-rw-r--r--konversation/src/valuelistviewitem.h33
-rw-r--r--konversation/src/version.h3
-rw-r--r--konversation/src/viewcontainer.cpp2454
-rw-r--r--konversation/src/viewcontainer.h229
-rw-r--r--konversation/src/viewtree.cpp973
-rw-r--r--konversation/src/viewtree.h112
-rw-r--r--konversation/src/viewtreeitem.cpp490
-rw-r--r--konversation/src/viewtreeitem.h92
-rw-r--r--konversation/src/warnings_preferences.cpp185
-rw-r--r--konversation/src/warnings_preferences.h48
-rw-r--r--konversation/src/warnings_preferencesui.ui50
-rw-r--r--konversation/src/watchednicknames_preferences.cpp420
-rw-r--r--konversation/src/watchednicknames_preferences.h59
-rw-r--r--konversation/src/watchednicknames_preferencesui.ui415
-rw-r--r--po/Makefile.am1
-rw-r--r--po/ar/Makefile.am3
-rw-r--r--po/ar/konversation.po7541
-rw-r--r--po/bg/Makefile.am3
-rw-r--r--po/bg/konversation.po7602
-rw-r--r--po/ca/Makefile.am3
-rw-r--r--po/ca/konversation.po7385
-rw-r--r--po/da/Makefile.am3
-rw-r--r--po/da/konversation.po7533
-rw-r--r--po/de/Makefile.am3
-rw-r--r--po/de/konversation.po7651
-rw-r--r--po/el/Makefile.am3
-rw-r--r--po/el/konversation.po7676
-rw-r--r--po/en_GB/Makefile.am3
-rw-r--r--po/en_GB/konversation.po8388
-rw-r--r--po/es/Makefile.am3
-rw-r--r--po/es/konversation.po7625
-rw-r--r--po/et/Makefile.am3
-rw-r--r--po/et/konversation.po7515
-rw-r--r--po/fi/Makefile.am3
-rw-r--r--po/fi/konversation.po8364
-rw-r--r--po/fr/Makefile.am3
-rw-r--r--po/fr/konversation.po7722
-rw-r--r--po/gl/Makefile.am3
-rw-r--r--po/gl/konversation.po7746
-rw-r--r--po/he/Makefile.am3
-rw-r--r--po/he/konversation.po7072
-rw-r--r--po/hu/Makefile.am3
-rw-r--r--po/hu/konversation.po8076
-rw-r--r--po/it/Makefile.am3
-rw-r--r--po/it/konversation.po8033
-rw-r--r--po/ja/Makefile.am3
-rw-r--r--po/ja/konversation.po7231
-rw-r--r--po/ka/Makefile.am3
-rw-r--r--po/ka/konversation.po7869
-rw-r--r--po/ko/Makefile.am3
-rw-r--r--po/ko/konversation.po8336
-rw-r--r--po/pa/Makefile.am3
-rw-r--r--po/pa/konversation.po7129
-rw-r--r--po/pt/Makefile.am3
-rw-r--r--po/pt/konversation.po7627
-rw-r--r--po/ru/Makefile.am3
-rw-r--r--po/ru/konversation.po7676
-rw-r--r--po/sr/Makefile.am3
-rw-r--r--po/sr/konversation.po7503
-rw-r--r--po/sr@Latn/Makefile.am3
-rw-r--r--po/sr@Latn/konversation.po7506
-rw-r--r--po/sv/Makefile.am3
-rw-r--r--po/sv/konversation.po7463
-rw-r--r--po/tr/Makefile.am3
-rw-r--r--po/tr/konversation.po7522
-rw-r--r--po/zh_CN/Makefile.am3
-rw-r--r--po/zh_CN/konversation.po7256
-rw-r--r--po/zh_TW/Makefile.am3
-rw-r--r--po/zh_TW/konversation.po7164
-rw-r--r--stamp-h.in0
-rw-r--r--subdirs3
638 files changed, 331765 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..258b1ba
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,7 @@
+Dario Abatianni <eisfuchs@tigress.com>
+Peter Simonsson <psn@linux.se>
+Eike Hein <hein@kde.org>
+Shintaro Matsuoka <shin@shoegazed.org>
+Eli MacKenzie <argonel@gmail.com>
+İsmail Dönmez <ismail@kde.org.tr>
+John Tapsell <johnflux@gmail.com>
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..9fe1a71
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,280 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Steet, Fifth Floor, Cambridge, MA 02110-1301, 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
diff --git a/COPYING-DOCS b/COPYING-DOCS
new file mode 100644
index 0000000..4a0fe1c
--- /dev/null
+++ b/COPYING-DOCS
@@ -0,0 +1,397 @@
+ GNU Free Documentation License
+ Version 1.2, November 2002
+
+
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall subject
+(or to related matters) and contains nothing that could fall directly
+within that overall subject. (Thus, if the Document is in part a
+textbook of mathematics, a Secondary Section may not explain any
+mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License. Any other attempt to
+copy, modify, sublicense or distribute the Document 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.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation 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. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..3bc1a72
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,1333 @@
+Changes from 1.0.1 to 1.1:
+We are extremely pleased to announce Konversation's newest major release, v1.1.
+Konversation 1.1 is a special release for us in multiple ways: It's our farewell
+to KDE 3, by way of being the last major release built upon that venerable
+platform. It's also our biggest release yet, in terms of the number and
+magnitude of the changes.
+
+The additions and improvements in this release are both user-visible and under
+the hood. Some of the highlights are rewritten connection handling (robustness
+and correctness improvements, better support for IRC URLs, bookmarking and
+more), redone DCC with better UI and Passive/Reverse DCC support, a redone away
+system with the addition of auto-away support, redone and much more useful
+remember / marker line support, a new outbound traffic scheduler that is capable
+of aggressive throttling to avoid flooding while smartly reordering messages to
+improve latencies, great convenience additions like a "Next Active Tab" shortcut,
+and much, much more, along with a large number of bugfixes and tweaks to round
+things out. Note: All fixes made since RC1 are marked with a "[New since RC1]"
+label in the changelog.
+
+We're confident that this release is the best and most robust version of
+Konversation published so far, and upgrading comes highly recommended to all
+users. Enjoy!
+
+
+Text views
+* Added an option to hide the scrollbar in chat windows.
+* Don't scroll to bottom if the view was scrolled up before resizing.
+* Fixed chat views occassionally not being scrolled to the bottom at their
+ inception with long backlog appends.
+* Fixed an off-by-one error in scrollback culling.
+* Fixed a bug that lead to single leading whitespace characters in lines being
+ omitted from display in chat windows.
+* Now preserving trailing whitespace in raw log tabs.
+* Fixed display of '<' and '>' in backlog lines.
+* Fixed copy/paste with shortcuts other than the default Ctrl+C/V ones.
+* Fixed onotice display.
+* Fixed middle-click-to-open-in-new-tab on chat window URLs when Konqueror
+ wasn't running.
+* Fixed superfluous closing parenthesis being inserted after links in lines
+ which contain multiple links followed by closing parenthesis.
+* Fixed URLs with encoded hash mark %23 being incorrectly passed off to handler.
+* Fixed variable expansion causing certain URLs to be corrupted when pasted.
+* Added a "Save Link As" item to the context menu of links in the chat window.
+* Have the "Save as..." dialog suggest a file name.
+* Implemented Shift+Click to "Save as..." URLs..
+* Made the channel links context menu work in server status views.
+* Fixed nickname links in chat view messages created as a result of '/msg <nick>
+ <message>' commands erroneously prepending '->' to nicknames.
+* Fixed operations on nicknames containing "\" characters from the nickname
+ context menu.
+* Fixed query view context menus operating on the wrong nickname under certain
+ circumstances.
+* Fixed a bug that caused the "Send File..." action in the generic query context
+ menu to pick the wrong recipient after hovering the user's own nick in the
+ chat display.
+* Fixed date display not using the locale's date format.
+* Fixed IRC color parsing so that the colors gets reset to default if no color
+ numbers were given.
+* Fixed a bug that could cause the text selection in a chat window to be messed
+ up when new text was appended.
+
+Marker/Remember Lines
+* Konversation now distinguishes between manually and automatically inserted
+ marker lines, making the "show line in all chat windows" preference less
+ confusing.
+* The automatically inserted remember lines when chat windows are hidden are now
+ "sliding", i.e. there is only one per chat window, and it moves.
+* Automatically inserted remember lines will now optionally only be inserted
+ when there's actually new text being appended to the chat window (enabled by
+ default).
+* The automatic remember line will now also be inserted when the window has lost
+ focus.
+* Added an action to clear all marker lines in a chat window.
+* Improved marker lines-related preferences and terminology.
+* Improved the appearance of marker lines in the chat window.
+* Made the (marker line-related and other) identity default settings consistent
+ between the initial identity and additional newly created identities.
+* Fixed hidden join/part/quit events marking tabs as dirty, allowing multiple
+ consecutive remember lines to appear.
+* Fixed crash when minimizing or closing the application window prior to any tab
+ switch when the auto-insertion of remember lines is enabled.
+
+Input line
+* Fixed input line contents rather than actual sent text being appended to the
+ input history upon a multi-line paste edit.
+* Special characters and IRC color codes will now be inserted at the cursor
+ position rather than the end of the input line contents.
+
+Nickname list
+* Implemented an additional "Sort by activity" nicklist sorting mode.
+* Added Oxygen nicklist icon theme by Nuno Pinheiro.
+* The list of nickname list themes is now sorted alphabetically.
+* Fixed race condition when removing a nicklist theme (listview would be
+ repopulated before deletion was complete).
+* Fixed using the wrong palette for the disabled text color in the nickname
+ list.
+* Fixed moving back from the custom alternate background color to system colors
+ in the channel nickname listviews when disabling the "Use custom colors for
+ lists, [...]" preference.
+* Cleanups in the nicklist item code.
+
+Tab bar / Tree list
+* Added option to add and remove a channel from its network's auto-join list
+ from the tab context menu.
+* Added option to close tabs using middle-mouse.
+* Slightly sped up tab switching by eliminating some redundant UI action state
+ updates.
+* Channel tabs will no longer close when kicked, but rather grey out on the tab
+ bar and offer context menu actions to rejoin.
+* Channel and query tabs will now grey out on the tab bar when disconnected and
+ no higher priority notification is present. Channel tabs will only ungrey if
+ and when the channel is successfully rejoined after reconnect; query tabs
+ ungrey immediately once reconnected.
+* Display tooltips for truncated treelist items.
+* Fixed forwarding keyboard events received by the treelist to Konsole widgets
+ and focus adjustment thereafter as well as generally after switching to
+ Konsole tabs by other means.
+* Fixed treelist scrollbar not picking up on new palette when the KDE color
+ scheme changes.
+* Fixed a bug that could cause a crash when the view treelist would receive
+ keypress events during application shutdown.
+* [New since RC1] Fixed a corner case where a server status item could become a
+ child item of another server status item when dragging it below an special
+ application pane item such as DCC Status or Watched Nicks Online.
+* [New since RC1] Fixed a crash when using the mouse wheel on the list within
+ ~150ms of a drag and drop operation.
+
+System Tray icon
+* Remember and recreate minimized-to-tray state across sessions.
+* Added option for hidden-to-tray startup.
+* Reload tray icons when the icon theme changes at runtime.
+* Added option to not blink the systray icon, but just light it up.
+
+Channel Settings Dialog
+* Added a search line to the ban list.
+* Fixed sorting the ban list by time set.
+* Made the ban list's "Time Set" column use KDE locale settings for the date
+ format.
+* Fixed OK'ing/Cancel'ing/closing the Channel Settings Dialog not dealing with
+ open ban list in-line edits correctly.
+* Reset topic editbox when the channel options dialog has been dismissed with
+ cancel.
+* Fixed incorrect time display in the topic history list in the Channel Settings
+ dialog.
+
+Server List Dialogs
+* Moved the "Show at application startup" option for the Server List dialog to
+ the dialog itself.
+* Auto-correct hostnames and passwords entered with preceding or trailing spaces
+ in the Server List dialog.
+* Don't allow impossible ports to be set for servers.
+* Sensible default focus in the server list dialog.
+* Fixed unresponsive, defective Server List dialog window appearing at
+ application startup using the Beryl or Compiz compositing window managers.
+
+Interface Misc
+* Added a "Next Active Tab" keyboard shortcut to jump to the next active tab with
+ the highest priority notification.
+* Added a Find Previous standard action.
+* Have the "Insert Character" dialog pick up on text view font changes.
+* Show correct number of colors in the color chooser dialog.
+* Made "Alternate Background" colorchooser disable when unneeded.
+* Fixed crash when changing the KDE color scheme while a non-chat tab is open.
+* The encoding selection now allows returning to the used identity's default
+ encoding setting.
+* Update actions on charset changes.
+* Added Notifications Toggle and Encoding sub-menu to the window menu.
+* Moved "Hide Nicklist" menu action from Edit to Settings.
+* Fixed the "Automatically join channel on invite" setting not to show an
+ inquiring dialog anyway.
+* Fixed saving the state of the invitation dialog option in the Warning Dialogs
+ preferences.
+* Added a warning dialog for quitting with active DCC file transfers.
+* Return focus to the text display widget after closing the search bar in a log
+ reader view.
+* Made pressing Return or Enter in the Log File Viewer's size spinbox apply the
+ setting, just as pressing the Return button.
+* Fixed a bug where the SSL padlock icon would be shown on a non-SSL connection
+ (and clicking would cause a crash).
+* Empty topic labels will no longer show empty tooltips, but rather none at all.
+* Added a sample 12-hour clock format string to the timestamp format combobox.
+* Timestamp format list is no longer localized.
+* Robustness improvements and less UI quirks around channel password handling.
+* Improved general layout and consistency of tab, chat view, query and topic
+ context menus. Added some missing icons.
+* Fixed some bugs of UI actions not being appropriately as their context
+ changes.
+* Fixed enabled state of "Close All Open Queries" action not being updated
+ correctly when queries are closed by way of closing a status view tab.
+* The window caption is now properly being reset when the last tab is closed.
+* Made units in spinboxen in the identity and app preferences UI more
+ consistent.
+* Minor fixes to accelerators and tabbing order in various dialogs.
+
+Commands
+* Support command aliases in network connect commands.
+* Turned parameter-less '/away' into a toggle: Sets away state with default
+ message initially, and unsets away state if already away.
+* Added an '/aunaway' command to complement '/aaway' (previously, there was only
+ '/aback').
+* Added support for '/kill'.
+* A '/join' command for an already-joined channel will now focus it.
+* Added an '/encoding' command as an alias to '/charset'.
+* '/charset' and '/encoding' now accept 'latin-1' as an alias for 'iso-8859-1'.
+* Improved messages for the '/charset' and '/encoding' commands.
+* Rewrote /me parsing to be less hackish and display usage info with an empty
+ parameter.
+* '/msg <nick>' is no longer treated as equivalent to '/query <nick>'.
+* '/msg <nick>' will now error out when lacking a message parameter.
+* '/query <recipient> [message]' will now error out when recipient is a channel.
+* Added a '/queuetuner' command to bring up the outbound traffic scheduler's
+ tuning/debug pane.
+
+Notifications
+* Seperated query messages and messages containing the user's nickname into two
+ distinct KNotify events.
+* Made the tab notification color of private messages configurable independently
+ from normal messages.
+* Don't highlight own nick on topic created by messages.
+* Fixed disabling notifications for a tab not cancelling highlight sounds.
+* Fixed a race condition where a highlight's autotext reply would outrun the
+ original line's tab notification.
+* Fixed actions in queries and DCC chats producing message notification events
+ (rather than the correct private message ones).
+* Changed the OSD screensaver check logic to work in KDE 4.
+* [New since RC1] Fixed on screen display occassionally reverting to the default
+ position when using the settings dialog to change unrelated settings.
+
+Connection handling
+* Improved behavior with regard to reusing existing connections in connection
+ attempts that provide an initial channel to join, such as command line
+ arguments, the DCOP interface, the bookmark system or irc:// links).
+ Previously, the application would have inconsistently either reused an
+ existing or created a new connection.
+* Better dialog messages in the interactive variant of the decision to either
+ reuse or create a new connection (from the Server List dialog and the Quick
+ Connect dialog).
+* Improved and more consistent display of connection names (i.e. network or
+ server host name) throughout the application.
+* Much improved irc:// URL support for connection intanciation, with support
+ added for IPv6 host names and many of the features proposed by the Mirashi
+ specification.
+* Eliminated redundant irc:// URL parsing codepaths in favor of a single one.
+* Added support for irc:// URLs to the chat views.
+* Removed "konversationircprotocolhandler" shell script. The Konversation
+ executable now understands irc:// URLs directly.
+* Initiating connections from command line arguments and options now works also
+ when the application is already running.
+* Fixed a bug that would cause a connection initiated from command line options
+ not to get past the identity validation stage when the configuration file was
+ unitialized and empty.
+* The server list dialog will now always be closed when starting Konversation
+ with command line arguments to initiate a connection, consistent with the
+ configuration-based auto-connect behavior.
+* Providing a channel in the creation of a new connection (i.e. via command line
+ arguments, the DCOP interface, the Quick Connect dialog, the bookmark system
+ or irc:// links) now consistently pre-empts the stored auto-join channel list
+ if the target of the connection is a network or the hostname is found to be
+ part of a configured network. Previously, this would only work for Quick
+ Connect and the bookmark system (which caused the infamous Sabayon user flood
+ in #kde due to their "Get Support" desktop link connecting to Freenode, which
+ in an unconfigured Konversation has #kde in its auto-join list).
+* Connections now have globally unique IDs.
+* The DCOP interface now understands connection IDs in addition to host names.
+* The scripting systems now uses globally unique connection IDs rather than
+ server host names to refer to connections, fixing a bug where scripted
+ responses were being handed to all connections sharing a hostname (which was
+ actually intentional in the absence of connection IDs, but undesirable for
+ users).
+* Improved iteration behavior over a network's server list on connection losses.
+* The "Reconnect" action now works also when Konversation doesn't consider the
+ connection to be in a disconnected state.
+* Improved the server status view messages related to reconnection attempts.
+* Consistently apply the "Reconnect delay" setting (previously confusingly named
+ "Reconnect timeout"), which wasn't done before.
+* Fixed a bug that could cause the connection process to claim that a DNS lookup
+ was successful when it actually wasn't.
+* Fixed opening bookmarks with spaces in the target address name (which may be a
+ network name, and networks may have spaces in their name).
+* Properly update the state of the "Add/Remove to Watched Nicknames" nickname
+ context menu actions when the connection isn't to a config-backed network, in
+ which case there's no way to store and make use of those list entries.
+* Fixed a crash when quitting the application with a resident connection that
+ disconnected due to an SSL error.
+* Fixed crashes in the DCOP interface if no connection was present.
+* Make the "Reconnect" action available even while ostensibly in the process of
+ connecting.
+* Fix possible crash when closing all views and subsequently creating a new
+ connection.
+* Fixed crash upon auto-connect at application startup.
+* Improved the naming of preferences related to automatic reconnection attempts
+ to be less confusing.
+* Made it possible to set the number of automatic reconnection attempts to
+ unlimited.
+* Provided better default values to the preferences related to automatic
+ reconnection attempts.
+* Fixed crash when opening a Konsole tab and Konsole was not installed.
+* Fixed allowing the user to create an infinite loop of showing the SSL
+ connection details dialog upon being presented with the invalid certificate
+ multiple choice dialog at connection time by checking "Do not ask again" and
+ then clicking "Details".
+
+Identities
+* Made it possible to set a Quit message independently from the Part message.
+* Saving a newly-created identity is no longer allowed without entering a real
+ name.
+* Apply switching the identity in the identity dialog as opened from the network
+ dialog to the network's settings.
+* Have the Edit/Delete/Up/Down buttons for the nickname list of an Identity
+ correctly change state according to the selection
+
+Away system
+* Added per-identity support for automatic away on a configurable amount of user
+ desktop inactivity and/or screensaver activation, along with support for
+ automatic return on activity.
+* Fixed the "Global Away" toggle to make sense and update its state properly.
+* Turned parameter-less '/away' into a toggle: Sets away state with default
+ message initially, and unsets away state if already away.
+* Added an '/aunaway' command to complement '/aaway' (previously, there was only
+ '/aback').
+* Broadly rewrote away management related code for improved robustness and less
+ duplication and hacks (e.g. no more abuse of multiServerCommand for global
+ away).
+
+DCC
+* Massive DCC refactoring and improved reliability.
+* Passive DCC support (Reverse DCC RECV, SEND).
+* Replaced the DCC Transfer Details dialog with a retractable transfer details
+ pane directly in the DCC Status tab.
+* Added DCC transfer average speed reading to the DCC transfer details panel.
+* The DCC Status tab now remembers its column widths across sessions.
+* Fixed duplicated quotation marks around file names in DCC transfer status
+ messages.
+* Fixed "Open File" DCC dialog remembering the last viewed location incorrectly.
+* Added an "Open Folder" button to the DCC transfer details panel.
+* Added check for whether the URL is well-formed before initiating a DCC send.
+ Fixes a bug of dragging a nickname link in the chat view onto the query chat
+ view drop target starting a DCC transfer that cannot succeed.
+* Ported the DCC code away from relying on server group IDs to refer to
+ connections, made it use connection IDs instead. Fixes potential bugs with
+ multiple concurrent connections to the same network.
+* Fixed queued DCC transfer items not picking up on download destination
+ directory changes.
+* Fixed bug leading to crash upon initiating DCC Chat when "Focus new tabs" was
+ enabled.
+* [New since RC1] New transfer items added to the DCC panel's transfer list are no
+ longer automatically selected, meaning work on other items in the list occuring
+ at the same time no longer gets interrupted.
+* [New since RC1] The "Filename:" line in the DCC panel's detailed info pane is
+ now using text squeezing to avoid an increase in minimum window width with long
+ file names.
+* [New since RC1] Failed receives now longer show 833TB/s as their transfer
+ speed.
+
+Blowfish support
+* Fixed FiSH-style +p prefix to send clear text to channel despite an encryption
+ key being set.
+* Text encoding is now being applied to the cleartext, rather than the
+ ciphertext. This fixes using characters outside the ASCII range with blowfish
+ encryption.
+* Fixed CTCP (and thus DCC) requests to nicknames for whom an encryption key is
+ set.
+* Added support for encrypted topics.
+* If an encryption key is set, a lock icon will now be shown next to the input
+ box.
+* Added a '/showkey <channel|query>' command to show the encryption key for the
+ target in a popup dialog.
+
+Auto-replace
+* Improved auto-replace behavior with multiple matches in one line (fixes
+ multiple Wikipedia links).
+* Fixed bug that could cause auto-replace to replace the wrong group of the
+ matching string.
+* Auto-replace is now case-sensitive in regular expression mode.
+* Added regular expression editor button to auto-replace preferences.
+* Fixed conditional enabling of the RegExpEditor button in the auto-replace
+ preferences page.
+
+Ignore
+* Fixed being asked twice whether to close a query upon ignoring the opponent.
+* Fixed crash when opting to close a query upon chosing to ignore the opponent
+ from the context menu of his nickname.
+
+Watched Nicknames
+* Improved robustness of the Watched Nicknames Online system.
+* The "Offline" branches in the "Watched Nicks Online" list will now be omitted
+ when there are no offline nicks for the respective network.
+* Fixed display of WHOIS spam prompted by the Watch List's WHOIS activity.
+* Connections to non-config-backed targets no longer show in Watched Nicks
+ Online.
+* [New since RC1] Actually honor the preference to enable/disable the Watched
+ Nicknames Online system, and apply it at runtime.
+* [New since RC1] Make sure the periodic Watched Nicknames Online check actually
+ starts running within the same session after adding the first nickname to the
+ list.
+* [New since RC1] Fixed a crash on quit with the Watched Nicks Online tab open and
+ there being an open connection to a network that nicks are being watched for.
+
+Channel List
+* IRC markup is now removed from content in the Channel List view.
+* Speed improvements in Channel List views.
+* Fixed keyboard accelerator collisions in Channel List views.
+* Allow higher values than 99 in the min/max users filter spin boxes in Channel
+ List views.
+
+Under the Hood / Protocol
+* Rewrote the outbound queue scheduling system to be smart enough to reorder
+ outbound traffic to reduce interactive latency while aggressively throttling
+ the rate to prevent flooding. Use '/queuetuner' to tweak.
+* Rearranged when and how auto-who is triggered upon channel join a bit, to
+ avoid excessive flooding on multiple concurrent joins in some cases.
+* Auto-Who reliability improvements.
+* Fixed auto-join with very many channels (the auto-join command would exceed
+ the maximum buffer length; it is now split into multiple commands as needed).
+* Fixed bugs around rejoining channels after reconnects related to the cause of
+ the disconnect, channel passwords and picking the actual list of joined
+ channels over the network's auto-join list.
+* Improved behavioral consistency in situations where the auto-join list is
+ preempted by a transitory auto-join channel (bookmarks, etc.).
+* Fixed bug that caused the topic state not to be cleared properly prior to
+ rejoining channels during reconnects.
+* Fixed onotice payload being cut off after the first word.
+* Changed RPL_WHOISOPERATOR handling to internationalize the common case ("is an
+ IRC Operator") and otherwise passthrough the string sent by the server.
+* Fixed parsing of alternate invite format on Asuka ircds (QuakeNet).
+* Added support for PRIVMSG from the server.
+* Support RPL_UMODEIS.
+* Announce 'k' channel mode (i.e. channel key) changes in non-raw mode as well.
+* The command part of CTCP requests is now always converted to uppercase before
+ sending, as some clients don't like lower- or mixed-case commands as the user
+ may have entered them.
+* Display mode for your nick and channels you're not in.
+* Fixed per-channel encoding settings for the channels of a network being lost
+ when the network is renamed.
+* Fixed crash when receiving actions for channels the client is not attending.
+* Made newline handling in the DCOP interface more robust, fixing a potential
+ security problem (CVE-2007-4400).
+* A few speed optimizations and memory leak fixes.
+* [New since RC1] Fixed a crash on quit during KDE logout or when quitting by
+ DCOP.
+
+Included scripts
+* Support for KMPlayer in the 'media' script (based on the window caption, as
+ KMPlayer has no proper appropriate DCOP interface).
+* Added KPlayer support to the 'media' script (also caption-based).
+* Added support for Audacious to the 'media' script.
+* Fixed problems in disk space calculation in the 'sysinfo' script caused by
+ wrapped df(1) output.
+* Added KDE 4 support to the 'sysinfo' script.
+* Removed some bashisms from the 'sysinfo' script.
+* Rewrote 'weather' script for increased reliability in error handling and
+ better readability.
+* Removed broken 'qurl' script in favor of new 'tinyurl' one.
+* Fixed the 'fortune' script not working properly when variable expansion is
+ turned off in the preferences.
+* [New since RC1] Fixed a bug in the 'media' script that caused it to break when
+ querying Audacious with audtool not being available.
+
+Packaging
+* [New since RC1] Standards compliancy fixes in the application .desktop file and
+ the nicklist icon theme .desktop files.
+
+Build
+* Fixed build with --enable-final.
+
+-------------------------------------------------------------------------------
+
+Changes from 1.0 to 1.0.1
+We are pleased to announce the immediate availability of Konversation 1.0.1,
+a maintenance release featuring notable improvements for users of right-to-
+left languages (including new Arabic and Hebrew translations), further re-
+finement of the user interface and application functionality, and fixes for
+minor defects found in the previous release.
+
+* A bug that caused left-to-right text contained in lines determined to be
+ right-to-left text to appear reversed has been fixed.
+* Whether a line is treated as right-to-left vs. left-to-right text is now
+ determined by the amount of each type of character in the line, improving
+ the user experience in chats involving bi-directional text considerably.
+* The "Edit Network" dialog has been refined for clarity and ease of use.
+* A warning dialog to prevent accidentally quitting Konversation has been
+ added.
+* The Auto Replace list can now be sorted.
+* The '/media' script command now sports improved player recognition, enhan-
+ ced and easier configurability, the ability to distinguish between audio
+ and video media as well as newly added support for kdetv. New '/audio' and
+ '/video' command aliases have been added to expose these new abilities.
+* The lower boundary of the default DCC port range has been raised from 1025
+ to 1026 to avoid conflicts with the commonly blocked Windows RPC port 1025.
+* Dismissing an OSD notification by clicking on it will now also cancel the
+ systray notification flash.
+* A new configuration file option [OSD]OSDCheckDesktopLock has been added,
+ allowing to manually disable the screensaver check in non-KDE environments
+ that do not support it, causing the OSD not to be displayed.
+* A bug that could lead to the "Switch to" sub-menu in the context menus of
+ tabs not to be updated properly upon switching tabs has been fixed.
+* A bug that caused the 'irc setBack' DCOP call not to function has been
+ fixed.
+* A bug that caused ampersands in the names of tabs not to be displayed and
+ an immediately following character to be used as keyboard accelerator has
+ been fixed.
+* A bug that caused ignoring nicknames with '[' or ']' characters in them to
+ fail has been fixed.
+* Command aliases containing regular expression syntax can no longer cause
+ built-in commands not to function.
+* A bug that caused the Konversation irc:// protocol handler not to function
+ has been fixed. Its compatibility with systems that do not use the GNU bash
+ shell as default shell has been improved.
+* A notable number of code quality improvements suggested by KDEs automated
+ quality control service EBN have been implemented.
+
+-------------------------------------------------------------------------------
+
+Changes from 0.19 to 1.0
+We are extremely pleased to announce the immediate availability of Konversation
+1.0, a significant milestone in the lifetime of the Konversation project. This
+release includes major new functionality as well as a large amount of
+improvements to existing functionality, with an emphasis on user interface
+polish and overall reliability. Notable new features include a vertical treelist
+of tabs as an alternative to the traditional tab bar, auto-replacement of words
+in incoming and outgoing messages, an improved Channel Settings dialog now
+featuring a ban list, an optional expanding input box and many improvements to
+both DCC file transfers and DCC chats. Enjoy!
+
+
+User Interface
+* It is now possible to place the tabs on the left side of the application
+window.
+ This has been implemented as a treelist of tabs. The treelist supports all of
+ the cosmetic and interactive properties of the original horizontal tab bar,
+ including colored notifications, LED icons, (hover) close buttons with delayed
+ activation, reordering, drag'n'drop and mouse wheel cruising. And a few tricks
+ of its own.
+* Connection status tabs now feature specific context menu entries to disconnect
+ and reconnect, as well as to join a channel on that connection.
+* The automatic resizing of tabs in the tab bar first implemented in version
+ 0.19 is now optional.
+* The grouping behavior of Channel List and Raw Log tabs in the tab bar has been
+ improved.
+* Disabling notification for a tab will now unset the active notification.
+* The enabled/disabled state of the notifications for connection status tabs
+will
+ now be remembered across sessions for configured networks.
+* The speed of switching tabs in quick succession with the auto-spellchecking
+ preference enabled has been improved.
+* Using custom fonts in the user interface is now optional. The font used by the
+ tab bar is now configurable.
+* Events in the connection status tabs are now logged into separate logfiles.
+* The Channel Settings dialog now includes a Ban List tab that allows viewing,
+ adding and removing bans in a channel. The dialog can now be opened from the
+ menu bar and chat window context menu in addition to the button in the topic
+ area.
+* Mode and topic handling in the Channel Settings dialog and the channel mode
+ buttons have been overhauled to make them more robust and reliable.
+* The number of Quick Buttons to show below the nickname list in channel tabs is
+ now configurable. Additional buttons may be added or existing buttons removed.
+* Konversation now supports auto-replacing words in incoming and outgoing
+ messages. Regular expressions are supported. The auto-replace configuration
+can
+ be found in the preferences dialog. The static Wiki link feature found in
+older
+ versions has been retired in favor of an auto-replace rule.
+* The search bar has been redesigned to provide a better user experience.
+* The "Find Next" action will now open the search bar when there is no active
+ search, matching the behavior of Konqueror and other KDE applications.
+* The sorting of the nick completion list has been improved to put the last
+ active user for a given completion prefix at the beginning of the list.
+* The tab completion of the user's own nickname has been reenabled.
+* The nick completion feature has been significantly cleaned up and made more
+ reliable. A bug that could lead to an application crash during nick completion
+ has been fixed.
+* An option to expand the vertical size of the input box automatically when the
+ text entered grows beyond the length of a single line has been added.
+* The behavior of the input box on pasting text including leading or trailing
+ newline characters has been improved never to cause lines being sent without
+ user acknowledgement.
+* The input box of connection status, channel and query tabs will now be
+disabled
+ and the nickname list of channel tabs cleared when the respective server
+ connection is closed.
+* Konversation can now optionally insert a remember line whenever a tab is
+hidden,
+ either by switching to a different tab or minimizing the window.
+* Multiple consecutive remember lines will no longer be inserted.
+* Remember lines can now also be inserted into the chat windows of connection
+ status and DCC Chat tabs.
+* The Colored Nicknames feature will now always assign the same color to the
+same
+ nickname.
+* The number of backlog lines to show in the chat window is now configurable.
+* The recognition of URLs in the chat window has been improved to cope better
+ with URLs containing or being surrounded by parenthesis and to exclude
+trailing
+ dots and commas.
+* Channel links following mode characters or surrounded by interpunctuation are
+ now properly recognized in the chat window.
+* The context menus for URLs and channel links in the topic area now match the
+ context menus in the chat window.
+* Multiple ignore or unignore actions ordered at the same time will no longer be
+ shown on separate lines in the chat window.
+* The nickname context menus in the chat window, topic are and the nickname list
+ will now show "Ignore", "Unignore" and "Add to Watched Nicknames" entries as
+ applicable.
+* A bug that could lead to the chat window nickname context menu actions ceasing
+ to function after the targeted user left the channel has been fixed.
+* The Server List dialog now allows connecting to a specific server in a network
+ even when a connection to that network has been previously established. If
+that
+ connection is active, a dialog box will verify whether to disconnect from the
+ current server and connect to the chosen one instead, otherwise the connection
+ will simply be reestablished using the newly chosen server.
+* The Quick Connect feature will now properly warn when the identity to be used
+ in the connection attempt is not set up properly.
+* The appearance and behavior of the warning about an incorrectly set-up
+identity
+ have been improved. A prior connection attempt will now be automatically
+resumed
+ after the identity settings have been corrected.
+* Many of the pages in the Konversation preferences dialog have been redesigned
+ and rewritten for improved consistency, reliability and clarity. The general
+ layout of the dialog has been improved as well.
+* The naming of certain actions in the Configure Shortcuts dialog has been
+ improved to make them easier to recognize outside of their normal context in
+ the application interface.
+* Numerous improvements to keyboard navigation have been made.
+* The nickname list now longer allows drag'n'drop of channel or user links from
+ the chat window onto list entries, as a DCC transfer of those data sources
+ cannot succeed.
+* The preference to show or hide the real names of users in the nickname list
+will
+ now be applied immediately.
+* The columns of the nickname list will no longer resize erratically when the
+ preferences to show or hide real names and hostmasks are changed at runtime.
+* A bug that could lead to nicknames being sent as messages when double-clicking
+ a selection of multiple nicknames in the nickname list has been fixed.
+* The placement of actions in the application menus has been improved.
+* The shown/hidden state of the application menubar will now be remembered
+across
+ sessions. When the menubar is hidden, a menu action to show it again will now
+be
+ added to the chat window context menu.
+* The "Close All Open Queries" menu action is now be disabled properly when
+there
+ are no open queries.
+* A bug that could lead to the "Close All Open Queries" menu action failing to
+ properly close all open queries has been fixed.
+* A bug that could lead to an application crash when closing the tab after
+choosing
+ to ignore someone in a query has been fixed.
+* The "Hide Nicklist" menu action will now be disabled properly when the tab
+shown
+ does not have a nickname list has been fixed.
+* The actions in the "Insert" menu will now be disabled properly when the
+current
+ tab does not support them.
+* The default double-click action in the "Watched Nicks Online" tab is now to
+open
+ a query to the respective contact.
+* The sorting in the Watched Nicks Online tab has been improved: Offline users
+are
+ now always sorted at the bottom.
+* Several bugs in the "Watched Nicknames Online" tab that could lead to
+application
+ crashes have been fixed.
+* Several errors in the chat window status messages produced by the Watched
+Nicks
+ Online system have been corrected.
+* A bug that could lead the the columns in the "Watched Nicks Online" list
+resizing
+ erratically has been fixed.
+* A bug that could lead to the status bar not being cleared properly when the
+last
+ tab was closed or the application window lost focus after a link was
+ launched from the chat window has been fixed.
+* The display of temporary and static info texts in the status bar has been
+ improved not to interfere with each other and provide more useful information.
+ Also, the status bar lag info section is now updated more consistently to
+avoid
+ jumping around of the other status bar sections.
+* A bug that could lead to a wrong nickname count being shown in the status bar
+ of channel tabs has been fixed.
+* Repeated triggering of the "Open URL Catcher" menu action will now properly
+ show and hide the URL Catcher tab.
+* The warning about pasting text with multiple lines can now be properly
+disabled
+ and reenabled from the Warning Dialogs preferences page.
+* A bug that could lead to IRC bookmarks showing up as actions in the Configure
+ Shortcuts dialog has been fixed.
+* A bug that could lead to changes of the global KDE icon set not being applied
+ to the tab bar close buttons immediately has been fixed.
+* A bug that caused the application window to change its horizontal size after
+ opening a Query to a user with a very long hostmask has been fixed. The DCC
+ Chat and query tabs now use the same heading style as channel tabs.
+* A bug that could lead to the topic and nickname list areas not keeping their
+ size properly across tab switches has been fixed.
+* A bug that could lead to certain types of KNotify event notifications not
+ being executed properly when the system tray icon was enabled has been fixed.
+* A bug that could lead to ampersands in network names being shown as
+ underscores in the menu under certain circumstances has been fixed.
+* A bug that could lead to an application crash when trying to access
+ non-existing tabs via the Alt+number keyboard shortcuts has been fixed.
+* A bug that could lead to the toolbar being hidden after it was edited has been
+ fixed.
+* A bug that could lead to the chat window context menu not being cancelled
+ properly when clicking outside of it has been fixed.
+* A bug that could lead to heavy disk seeking when the splitters separating
+ the topic area and the nickname list from the chat window were moved has been
+ fixed.
+* The option to only show the application in the system tray at all times has
+ been retired in favor of the standard KDE mechanic of minimizing into the
+ system tray.
+
+Commands
+* The 'Now Playing' script invoked via the /media command alias now features
+ support for XMMS and KSCD as well as improved support for untagged media files
+ playing in Amarok. Support for non-ASCII encodings in file names and meta tags
+ has been improved as well.
+* New "/hop" and "/dehop" commands to grant or remove half-op status from a user
+ have been added.
+* A new "/devoice" command has been added.
+* A new "/kickban" command to ban and immediately kick a user has been added. It
+ supports the same parameters as the "/ban" command plus an additional "kickban
+ reason" parameter.
+* Commands to grant or remove status for users will now be applied to the user's
+ own nickname when no nickname parameter is given.
+* The "/unignore" command now supports the same simple nickname-only format as
+ the "/ignore" command.
+* If given no parameter, the "/away" command will now set the away state with
+ the default away message. The "/back" and "/unaway" commands can be used to
+ unset the away state.
+* You may now use "%nick" as a placeholder for your own nickname in the auto-
+ connect commands for a network.
+* A bug that could lead to the auto-connect commands for a network not being
+ executed correctly has been fixed.
+
+DCC
+* DCC file transfers now support file names containing spaces on send, receive
+ and resume. The automatic replacement of spaces with underscores in file names
+ can now be optionally disabled in the DCC preferences.
+* File names are no longer being needlessly lower-cased during DCC transfers.
+* The DCC file transfer and DCC Chat info messages shown in the chat window have
+ been significantly improved to provide more useful information while being
+less
+ excessively verbose.
+* DCC Chats will now be logged properly.
+* It is now possible to select multiple files in the DCC Status tab.
+* The default size of the buffer used in DCC transfers has been increased to
+ 8192kb for improved DCC performance.
+* The DCC Status tab will no longer show a speed of '?' for completed, failed or
+ aborted transfers.
+* Bugs that could lead to the IP used for DCC transfers not being retrieved from
+ the server correctly upon reconnect or in general on certain servers have been
+ fixed.
+* A bug that could lead to the progress bar of a transfer in the DCC Status tab
+ being rendered at a wrong position has been fixed.
+* A bug that could lead to Konversation's CPU usage spiking to 100% after a DCC
+ Chat was closed from the remote side has been fixed.
+* Several bugs that could lead to application crashes in DCC Chat tabs after the
+ server connection from which the DCC Chat originated was closed have been
+fixed.
+
+Technology
+* Konversation will now properly split up very long lines into multiple messages
+ by calculating the length of the message preamble and the number of bytes of
+the
+ text payload. Encodings that use multiple or variable numbers of bytes per
+ character are accounted for.
+* The Disconnect and Reconnect menu actions and the respective input box
+commands
+ have been rewritten for increased reliability. Their state will now be updated
+ properly, and they will quit the IRC server in the correct manner.
+* A previous away state will now be recreated upon reconnection to a server.
+* The Quick Connect feature will now no longer join the auto-join channels of
+ the configured network that the quick connect server was recognized as being a
+ part of.
+* The "Konversation" and "KonvDCOPIdentity" DCOP objects have been renamed to
+ "irc" and "identity", respectively. Several bugs in the DCOP API have been
+ fixed, and deprecated interfaces removed.
+* Processing of the user lists of newly joined channels has been rewritten to
+ fix several bugs, including improved compatibility with the Bip IRC proxy and
+ other servers.
+* The lag calculation and timeout handling code has been rewritten for improved
+ reliability and performance.
+* Recognition of the half-op user status has been improved.
+* The detection of text being typed into the input box to prevent focussing new
+ tabs at inconvenient times has been improved to work correctly with non-ASCII
+ characters.
+* The handling of channel user limits in the Channel Settings dialog is now more
+ reliable.
+* Support for mode flags encountered on UnrealIRCD servers has been improved.
+* Support for RPL_DATASTR on UnrealIRCD servers has been improved.
+* A bug that could lead to the mode flags displayed for users not being updated
+ properly after they were kicked from a channel has been fixed.
+* A bug that could lead to iterating over a configured network's servers failing
+ after a connection failure has been fixed.
+* A bug that could lead to Konversation connecting to the wrong server in a
+ network when choosing to connect to a specific server from the Server List
+dialog
+ has been fixed.
+* A dialog will now ask the user for an additional nickname when all nicknames
+ configured in the identity where tried unsuccessfully during a connection
+ attempt. This replaces the previous behavior of repeatedly appending
+underscores
+ to the last nickname, which eventually ran into the nickname length limit on
+the
+ server.
+* A bug that could lead to unnecessary nick changes immediately after connecting
+ to a server has been fixed.
+* A bug that could lead to Konversation trying to auto-identify multiple times
+ upon connect on certain servers has been fixed.
+* A bug that could lead to Konversation not picking up on users leaving a
+ channel without providing a part or quit message on UnrealIRCD servers has
+been
+ fixed.
+* Changes to the list of auto-join channels for a network will now be applied
+ immediately.
+* The auto-reconnect preference will now be properly applied at runtime.
+* Konversation will no longer enable IDENTIFY-MSG mode on servers that support
+it,
+ but continues to be able to process messages with IDENTIFY-MSG prefixes in
+case
+ an involved IRC proxy chose to enable IDENTIFY-MSG mode.
+* The broken default for the Custom Web Browser preference has been fixed.
+* Konversation will no longer allow Konsole tabs to be opened in KDE
+ environments in which the use of terminals is prohibited by the KIOSK
+framework.
+* A bug that could lead to an application crash when a Konsole tab was closed
+ from the Konsole component's context menu has been fixed.
+* A bug that could lead to an application crash when a channel was joined while
+ the application window was hidden has been fixed.
+
+-------------------------------------------------------------------------------
+
+Changes from 0.18 to 0.19
+We are extremely pleased to announce the immediate release of Konversation 0.19.
+The focus
+of this release is on extending and improving upon established functionality.
+Most notable
+in this regard are significantly improved management of IRC networks and servers
+all across
+the application, a redesigned tab bar and better support for common IRC
+commands. A long
+list of further additions and improvements has us confident of this being the
+best version
+of Konversation yet. Enjoy!
+
+
+User Interface
+* The Server List dialog has been rewritten to allow direct manipulation of a
+network's
+ servers and features more intelligent sorting behavior. Reordering networks
+via drag
+ and drop is now possible. A behavioral audit of all actions in the dialog
+resulted in
+ numerous improvements.
+* A redesigned tab bar sports highly configurable text- and LED icon-based
+notifications
+ as well as more intelligent scaling behavior under space-critical conditions.
+* Tabs are now intelligently grouped around their respective connection status
+tab.
+* Status tab labels now display the user-configured network name where
+appropriate.
+* The Find Text dialog has been replaced by a search bar that no longer
+interrupts your
+ workflow.
+* Channel links in the chat area now feature a context menu for quick access to
+common
+ actions.
+* Usage of the status bar has been extended to show context-relevant information
+as the
+ cursor passes over various interface elements. The lag information segment is
+now
+ only shown where appropriate.
+* A channel's topic can now be cleared by setting an empty text in the Channel
+Options
+ dialog.
+* The Channel Options dialog has been redesigned to allow editing the current
+topic
+ while browsing a channel's topic history.
+* The Watched Nicknames interface has been fully integrated with network
+management.
+* Pressing the Arrow Down key in the input line now preserves any input entered
+by
+ adding it to the history.
+* Commands may now be sent as regular messages by typing Ctrl+Enter.
+* The multi-line paste editor window now highlights whitespace characters and
+prepends
+ the existing content of the input line.
+* The Colored Nicknames feature has been improved to better handle nickname
+changes and
+ immediately apply any changes to the color palette.
+* Some previously not configurable notification events have been made
+configurable.
+* Users leaving a server will now be announced in any query you have open with
+them.
+* Query tab labels will now update when a user you have a query open with
+changes
+ his/her name.
+* The DCC file transfer dialogs have seen a number of cosmetic improvements.
+Among other
+ things, in the event of a file being renamed on save, the local file name is
+now shown
+ across the application.
+* Various status and error messages have been rewritten for improved consistency
+and
+ clarity.
+* The KDE standard text font will now be correctly set as initial default chat
+font.
+* It is now possible to skip displaying a server's MOTD on connect.
+* If the application is set to display a server's MOTD in a fixed-width font and
+the
+ previously configured default chat font is already a fixed-width font, the
+chat font
+ will now be used rather than the global KDE default fixed-width font.
+* The state of the automatic spell checking functionality is now remembered
+across
+ sessions and set for all tabs.
+* Networks no longer lose their channel history when their settings are changed.
+* The Server List dialog will no longer close when a connection attempt fails
+due to
+ the identity not being set up correctly.
+* After changing your nickname using the optional drop-down menu to the left of
+the
+ input line, focus will now be returned to the input line.
+* The configuration dialog has been rewritten to correctly update the button
+state of
+ its primary actions and improve consistency with the KDE style guide.
+* The vertical and horizontal splitters in channel tabs now behave better when
+the
+ application window is resized and correctly retain their positions across
+sessions.
+* The OSD preview in the OSD settings page is now always shown correctly.
+* The OSD will no longer be shown when the desktop is locked.
+* A bug that prevented copying text from the chat area under certain
+circumstances has
+ been fixed.
+* Keyboard search in the channel nickname list has been fixed.
+* A number of issues affecting nickname context menus in the chat area have been
+fixed.
+* A bug leading to a wrong operator count in the status bar has been fixed.
+* It is no longer possible to add nameless networks or hostless servers in the
+respon-
+ sible management dialogs.
+* Bugs that led to parts of the interface not reacting to KDE color scheme
+changes have
+ been fixed.
+* The status bar now correctly reacts to KDE font size changes.
+* A bug that led to the application window resizing on overly long status bar
+contents
+ has been fixed.
+* A bug that led to multiple remember lines being inserted into the frontmost
+tab when
+ away mode was activated has been fixed.
+* A bug that led to wrong link addresses being opened from the chat area has
+been fixed.
+* Bugs that led to wrong URLs being produced by dragging a link from the chat
+area to
+ the input line have been fixed.
+* Channel names are now better recognized as such by the chat area.
+
+
+Bookmarking
+* Bookmark titles now default to the channel name.
+* Bookmarks now store the network name rather than the server address where
+available.
+* Bookmarks now support IPv6 addresses.
+
+
+Commands
+* The '/server' command now recognizes a greater variety of address notations
+including
+ network names.
+* The '/names' command now always succeeds in returning the user list of a
+channel.
+* The '/topic' command now always succeeds in returning the topic of a channel.
+* A '/dns' command has been added that facilitates resolving the host name of a
+user on
+ the server as well as generic host names. Reverse resolve is supported on KDE
+3.5.1+.
+* An '/unignore' command has been added.
+* A '/disconnect' command has been added.
+* A '/reconnect' command has been added that disconnects and then reconnects the
+respec-
+ tive server.
+* A '/setkey' command has been added to set the Blowfish encryption/decryption
+key for
+ the respective context.
+* The '/list' command now correctly opens the Channel List tab.
+* A bug in parsing the arguments of the '/join' command has been fixed.
+* Usage information and error reporting for various commands has been rewritten
+for
+ improved consistency and clarity.
+* A bug that led to a 'clear' command being sent to the server when using the
+'/clear'
+ command to clear the contents of a query tab has been fixed.
+
+
+Miscellaneous
+* The 'media' script has been rewritten and now features improved compatibility
+with
+ common character sets, greatly enhanced support for the Kaffeine media player
+and
+ newly added support for the Yammi media player.
+* The 'sysinfo' script has been rewritten to produce more concise output and
+better
+ handle a variety of storage scenarios.
+* The convenience feature expanding [[term]] into a Wikipedia link is now
+localizable
+ and generates a link that performs an intelligent lookup for the term in the
+Wiki-
+ pedia rather than assume a correct direct link.
+
+
+Technology
+* Konversation now depends on KDE 3.4+.
+* The preferences storage system has been rewritten to facilitate easier
+maintenance
+ and faster development in future release cycles.
+* Localized support for a long list of IRC protocol primitives has been added.
+* The application will now correctly iterate over a network's servers on
+successive
+ failed connection attempts.
+* When the '/server' command or the Quick Connect dialog is used to connect to a
+ server that has previously been added to a network in the Server List dialog,
+it
+ will be recognized as being part of the network and the respective identity
+ settings will be applied.
+* The automated reply to a highlight event can now reference the groups of the
+matched
+ pattern by the identifiers %1-%9 and the entire match by the identifier %0.
+* The CABAP IDENTIFY-MSG technology is now supported.
+* Compatibility with the Unreal IRC server has been improved.
+* Initial support for Blowfish encryption (compatible with mIRCryption and FiSH)
+has
+ been added. Note that Diffie-Hellman key exchange (DHX) is not yet supported.
+* The Watched Nicknames reporting has been made more reliable.
+* Socket handling in the DCC file transfer feature has been improved.
+* Alpha-blending of icons in the channel nickname list has been fixed.
+* Support for the iso-2022-jp encoding has been enhanced.
+* The custom web browser feature will now automatically append the URL as a
+parameter
+ to the specified command when the %u identifier is missing.
+* Channel modes are now correctly cleared and updated in the internal
+representation
+ on rejoin.
+* A bug that led to an infinite loop during a connection attempt when all
+nicknames
+ configured in the identity were in use has been fixed.
+* A bug that could lead to a crash when opening the log file for a closed
+connection has
+ been fixed.
+
+-------------------------------------------------------------------------------
+
+Changes from 0.17 to 0.18
+- All nicks were blue when colored nicks are disabled with some setups
+- /cycle now works as expected
+- /gauge script was not working correctly when given a bigger than 100 argument
+- /mail script has been added
+- Button to invoke Regular Expression Editor (if installed) in Settings ->
+Highlight.
+- Complete command line argument system for connection
+- An option to disable clickable nicks . Add ClickableNicks=false to
+konversationrc to disable it.
+- Fixed a big memory leak in message processing
+- Nicklist slider now correctly resizes in all channels when its resized and
+correctly restores on startup
+- [[foo]] is now a link to http://en.wikipedia.org/wiki/foo . We will expand
+this to local wikipedia's in a later release [Update: Now fixed in 0.19]
+
+
+Changes from 0.16 to 0.17
+- Add an option to hide realnames in nicklist
+- Show away users as disabled ala Xchat
+- Remove sort by away status
+- Fix whois replies for normal users on safe channels ( IRCNet alike )
+- Fix whois replies from ircd-hybrid ( Efnet alike )
+- Better handling of quiet bans ( especially Freenode )
+- KDE color scheme is now honered in topic widget
+- Enable clickable nicks even if colored nicks are off
+- Per identity pre-shell command support with a GUI
+- Bookmarking support
+- Detect Japanese encoding correctly while trying to auto-detect Unicode
+
+Changes from 0.15 to 0.16
+- Dropping URLs onto nick on nicklist or onto query initiates DCC send
+- You can now do SSL connections from Quick Connect Dialog
+- Nicklist Icon Themes
+- New topic widget
+- Added a channel dialog
+- Made the nickname box optional
+- Fix DCC resume when its set to auto-accept
+- Calculate DCC CPS more accurately
+- Colored nicks support
+- Added dcop functions to set away and added alt+a shortcut to toggle away
+- Clicking nicks in channel text will now open a query and similarly,
+ clicking #foo will now join channel #foo
+- Nicks in channel view now have a context menu as in nicklistview
+- Tab at begining of line inserts last completed nick
+- A media script added to replace amarok,juk,noatun,kaffeine scripts.
+ Use /media instead of using /amarok,/juk etc.
+- Links can now be dragged & dropped from channels
+- Midde clicking urls now opens them in new tab in konqueror ( if konqueror is
+used for links )
+- Improved unicode detection
+- Fix unicode detection for strings containing color markup
+- /omsg,/onotice support
+- Added an option to use an IPv4 interface for IPv6 dcc sends
+- A new /google script added to search Google using Google SOAP api
+- Redesigned settings page
+- A new application icon
+- Lots of optimizations all around
+
+Changes from 0.14 to 0.15
+- Ported socket code to KNetwork. Weird connection problems should be gone now
+- Get default username/ident information from system
+- Support for bouncer prefixes in nick completion
+- Dcc port range support
+- Scripts now works with /script or /exec script
+- Improved bidi support.
+- Cleaned up settings dialog
+- Added an option how to get own IP for DCC send/chat
+- "Open Watched Nicks Online panel on startup" option
+- Support encoding settings per channel
+- SSL Support
+- KIO-fied local I/O on DCC send/receive
+- OSD Positioning Support
+- New network based server settings
+- Added an option to stay in systray all the time
+- Full irc:/ url support (channel name & password now supported in url)
+- /charset support
+- auto /WHO support
+- display away status of nicks in nick list
+
+Changes from 0.13 to 0.14
+- Added irc "pseudo" command /prefs for changing settings without settings
+dialog.
+- Measure away time and make it available via placeholder (%t)
+- (Very much) Improved OSD.
+- New application icons by luciash d' being <luci@sh.ground.cz>. Thanks!
+- Added /server command for connecting to a server.
+- After the connection is lost and the old nickname is still in use,
+ the nickbutton in the channelwindows is updated to the new nick.
+- Now you can read utf8 encoded messages even if your locale is not unicode
+- "Do not show this dialog again" preferences now works correctly
+- Added an "Insert Remember Line" feature.
+ The user can mark the position in the channel where he stopped
+ reading(because he is away for a short time).
+ When he comes back, he can scroll back to this mark and read
+ what he missed.
+- Added the possibility to execute commands on server connection(for
+ authentication and such things). Can be configured in the "Edit Server"
+ dialog.
+- Added further timestamps for am/pm (BR 79612)
+- Added QuickConnect dialog by Michael Goettsche. (Thanks once again)
+- Properly receive a logout/shutdown request and terminate konversation,
+ instead of minimizing to the systray.
+- Make OSD switchable on/off via DCOP. Thanks to Michael Goettsche! (BR 75870)
+- Dates can now be shown, next to the timestamp. Patch by Michael Goettsche
+ (BR 82785) (thanks!)
+- Added DCC auto-resume feature by Michael Goettsche (BR 81740) (thanks!)
+- Added systray notification
+- Added shell like nick completion mode (aka uga mode)
+- Implemented a cleaner way of handling tab shortcuts
+- Implemented DCC Chat
+- Hilight mailto: links
+- Topic line can now be hidden
+- Added an away nickname
+- Added /aaway, /ame and /amsg
+- Added "Open URL" context menu to channel list entries
+- Implemented slower / faster blinking of tabs for more / less important events
+- Less important events like Join, Part and Nickchanges can now be hidden
+- Custom CTCP Version Reply Support
+- Added a shortcut to close all open queries
+- Added a patch by Thomas Nagy to cycle tabs with mouse scroll wheel (thanks!)
+- Added logfile reader
+- Added patch by Gary Cramblitt to enhance DCC panel (thanks!)
+- Added patch by Gary Cramblitt to select custom web browser command (thanks!)
+- When the server goes offline, now all associated tabs get crossed out
+- Added a multi line pasting editor
+- Nicks Online is now a tabbed panel, rather than separate window.
+- Added sound support to the highlight list
+- Added regular expression support to the highlight list^
+- Follow the style guide when the tray icon is enabled by minimizing to tray
+when
+ the close button is clicked.
+- Auto text feature on highlight events
+- DCC resume offers to rename a transfer now
+- Added patch by Ruud Nabben to enable hiding of IRC colors (thanks!)
+- Various small fixes and additions
+
+Changes from 0.12 to 0.13
+- Added an option to hide hostmasks in channel nick lists
+- Autojoin on invite with user interaction implemented
+- Added URL catcher interface
+- Added user interface for "don't show again" dialogs
+- Added slovenian translation by Barko (thanks!)
+- Added korean translation by Hye-Shik Chang (thanks!)
+- Added option to place tabs on top
+- Color configuration is now in preferences dialog
+- Quick buttons configuration is now in preferences dialog
+- Notify list is now in preferences dialog
+- Option for a background image added
+- Added /quote command for raw server messages
+- Added Copy URL into clipboard for URL catcher
+- Added option for reconnect on too long lag
+- Added "Server list" menu entry to "File" menu
+- Applied a patch by Peter Simonsson (thanks!)
+- Patch added Color picker, IRC colors and KNotify events
+- Added support for command aliases
+- Encodings are now on per-identity basis
+- Added indicator to show own away state
+- Added system tray icon patch by Frauke Oster (thanks!)
+- Channel list update is now more CPU friendly
+- Tell the user why the channel list could not be opened
+- Channel list now sorts correctly when number column is clicked
+- Applied a patch by Christian Muehlhaeuser to enable bigger mode changes
+(thanks)
+- Applied a patch by Christian Muehlhaeuser to right-align close widgets
+(thanks)
+- Info button on dcc panel now works
+- Added /unban command
+- Applied a patch by Christian Muehlhaeuser for OSD functions (thanks)
+- Applied a patch by Sascha Cunz for extended user modes beyond @ and + (thanks)
+- Applied a patch by Steve Wollkind to close visible tab via shortcut (thanks)
+
+Changes from 0.11 to 0.12
+- Now handles multi server mode in one single window
+- Fixed the wrong Ops counter
+- Added /notify command and respective dcop calls
+- Added support for /oper command
+- Implemented /ban command and menu items
+- Added shortcut (F3) for search dialog
+- History does not get cleared on cursor up/down anymore
+- Added context menu to copy URLs immediately
+- Added paragraph spacing
+- Added hostmask column to nick list
+- Implemented background hostmask scanning
+- Recognises now who set the first topic
+- Added nickname sorting options
+- Sorting now has up/down arrows
+- Added channel list panel
+- Added russian translation by Stanislav Karchebny (thanks!)
+- Applied some patches by Stanislav Karchebny
+- Added PgUp/PgDown support to Channels, Queries and Status views
+- Added rename button to identity page to overcome QComboBox limitations
+- Tabs now blink in the last highlight color to indicate important text
+- Tabs don't get to front anymore while the user is typing in an input line
+- Added shortcut editor dialog
+- Added konsole panel (thanks to Mickael Marchand)
+
+Changes from 0.10 to 0.11
+- Added a patch by Bart Verwilst to provide automatic service registration
+(thanks!)
+- Added "Hide Menu" function
+- Improved server connection code to stop konversation freezes at startup
+- Server lag calculation after reconnect fixed
+- Implemented own async lookup class to throw out broken QDns
+- Added prelimnary application icons
+- Send File in dcc panel now works
+- Added Send File context menu item in text views
+- Added dialog for Resume / Overwrite DCC Get files
+- Added large paste warning dialog
+- Close Buttons on tabs are now an option
+- Added context menu on tabs with close item
+- Added ALT+1 - ALT+9 for switching tabs
+- Applied a big patch by Alex Zepeda. Thanks!
+- First working DCOP implementation
+- Implemented a simple search dialog
+- Added a raw log pane
+
+Changes from 0.9 to 0.10
+- Font encodings are now set via KCharsets
+- Implemented different identities
+- Added double click actions to nick list and notify list
+- Added support for ASCII-BEL
+- Added custom spacing and margin
+- Added close buttons for the tabs
+- Redesign of the color configuration dialog
+- Switched to kapp->config() to properly remember dialog status
+- Color code parsing now works with QRegExp
+- CTCP-Ping now works
+- Removed files that are no longer needed
+- Updated German translation
+
+Changes from 0.8 to 0.9
+- Added strikeout support (untested yet)
+- Added Swedish translation, done by Karolina Lindqvist (thanks!)
+- Added optional timestamps to chat windows
+- Quick Buttons and Channel Mode Buttons can now be hidden
+- Added support for multi channel joins
+- Added #include "sourcefile.moc" to all Q_OBJECTS to speed up compiles
+- Added support for autoconnect to server
+- Inserted a QSplitter between channel text and nick list
+- Added support for background colors
+- Reduced flickering on blinking tabs
+- Added experimental support for foreign language characters
+- Added ignore list functionality
+- Added away / unaway messages
+- DCC folder can now be selected vial GUI
+- Applied a patch by Barak Bloch to fix foreign character set behaviour
+(thanks!)
+- Updated German translation
+
+Changes from 0.7 to 0.8:
+- DCCs can now be opened (started) using the 'open' button
+- DCCs can now be aborted using the 'abort' button
+- Added support for /users reply
+- Added support for /invite and 341 reply
+- Added support for 401 error reply
+- Added /smsg for "silent messages"
+- Text and Nicklist-Fonts can now be selected via GUI
+- Changed server ping response again to make dalnet ircd happy
+- Fixed nicklist sorting in channels
+- Switched to kdevelop 2.1.4 to hopefully fix some compile problems
+- Made Notices appear a bit different
+- DCC recipient list now gets sorted
+- Made text widget not scroll when scroll bar isn't completely down
+- Parsed WHOIS messages into human readable form
+- Pasting multiline text into input lines now behaves as expected
+- Hilights now honor the sending nick, too (patch by Suran. Thanks!)
+- You can now hilight all your own lines independently
+- Fixed the problem in the appearance dialog with font names
+- Added DCC error dialogs
+- Quit/Nickchange/Kicks are now only reported in channels where the nick
+actually is in
+- Fixed bug with lockups on defective logfiles
+- Added support for EUR currency symbol
+- Added keyboard handling to navigate between pages
+- Code cleanup in nick list
+- Added first support for custom colors in nick list
+- Added application dsescription for the 'About' dialog
+- Major restructuring of the server status panel
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..28fadaa
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,181 @@
+Basic Installation
+==================
+
+ These are generic installation instructions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+ The file `configure.in' is used to create `configure' by a program
+called `autoconf'. You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system. If you're
+ using `csh' on an old version of System V, you might need to type
+ `sh ./configure' instead to prevent `csh' from trying to execute
+ `configure' itself.
+
+ Running `configure' takes awhile. While running, it prints some
+ messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. You can give `configure'
+initial values for variables by setting them in the environment. Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+ CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+ env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory. After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+ By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc. You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on. Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+ CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+ If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+ Use and save the results of the tests in FILE instead of
+ `./config.cache'. Set FILE to `/dev/null' to disable caching, for
+ debugging `configure'.
+
+`--help'
+ Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--version'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..2369f25
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+AUTOMAKE_OPTIONS = foreign 1.6.1
+
+include admin/deps.am
+include admin/Doxyfile.am
+SUBDIRS=$(TOPSUBDIRS)
diff --git a/Makefile.am.in b/Makefile.am.in
new file mode 100644
index 0000000..e46b27c
--- /dev/null
+++ b/Makefile.am.in
@@ -0,0 +1,4 @@
+AUTOMAKE_OPTIONS = foreign 1.6.1
+
+include admin/deps.am
+include admin/Doxyfile.am
diff --git a/README b/README
new file mode 100644
index 0000000..2b8703d
--- /dev/null
+++ b/README
@@ -0,0 +1,4 @@
+Konversation website: http://konversation.kde.org/
+Konversation wiki: http://konversation.kde.org/wiki
+Bug tracker: http://bugs.kde.org/
+IRC channel: #konversation on irc.freenode.org
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..5f60c7b
--- /dev/null
+++ b/TODO
@@ -0,0 +1,3 @@
+See http://konversation.kde.org/wiki/Developer_Central and the
+KDE bug tracker (http://bugs.kde.org) for a list of outstanding
+todo items and discussion of future development.
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..403f21c
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+konversation version 1.1
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..c5a2f25
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,12643 @@
+## -*- autoconf -*-
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu)
+dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+dnl IMPORTANT NOTE:
+dnl Please do not modify this file unless you expect your modifications to be
+dnl carried into every other module in the repository.
+dnl
+dnl Single-module modifications are best placed in configure.in for kdelibs
+dnl and kdebase or configure.in.in if present.
+
+# KDE_PATH_X_DIRECT
+dnl Internal subroutine of AC_PATH_X.
+dnl Set ac_x_includes and/or ac_x_libraries.
+AC_DEFUN([KDE_PATH_X_DIRECT],
+[
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+if test "$ac_x_includes" = NO; then
+ # Guess where to find include files, by looking for this one X11 .h file.
+ test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+ # First, try using that file with no special directory specified.
+AC_TRY_CPP([#include <$x_direct_test_include>],
+[# We can compile using X headers with no special include directory.
+ac_x_includes=],
+[# Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ for ac_dir in \
+ /usr/X11/include \
+ /usr/X11R6/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11 \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11/include \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11 \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X386/include \
+ /usr/x386/include \
+ /usr/XFree86/include/X11 \
+ \
+ /usr/include \
+ /usr/local/include \
+ /usr/unsupported/include \
+ /usr/athena/include \
+ /usr/local/x11r5/include \
+ /usr/lpp/Xamples/include \
+ \
+ /usr/openwin/include \
+ /usr/openwin/share/include \
+ ; \
+ do
+ if test -r "$ac_dir/$x_direct_test_include"; then
+ ac_x_includes=$ac_dir
+ break
+ fi
+ done])
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+ # Check for the libraries.
+
+ test -z "$x_direct_test_library" && x_direct_test_library=Xt
+ test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+ # See if we find them without any special options.
+ # Don't add to $LIBS permanently.
+ ac_save_LIBS="$LIBS"
+ LIBS="-l$x_direct_test_library $LIBS"
+AC_TRY_LINK([#include <X11/Intrinsic.h>], [${x_direct_test_function}(1)],
+[LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=],
+[LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \
+ /usr/X11/lib${kdelibsuff} \
+ /usr/X11R6/lib${kdelibsuff} \
+ /usr/X11R5/lib${kdelibsuff} \
+ /usr/X11R4/lib${kdelibsuff} \
+ \
+ /usr/lib${kdelibsuff}/X11 \
+ /usr/lib${kdelibsuff}/X11R6 \
+ /usr/lib${kdelibsuff}/X11R5 \
+ /usr/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/local/X11/lib${kdelibsuff} \
+ /usr/local/X11R6/lib${kdelibsuff} \
+ /usr/local/X11R5/lib${kdelibsuff} \
+ /usr/local/X11R4/lib${kdelibsuff} \
+ \
+ /usr/local/lib${kdelibsuff}/X11 \
+ /usr/local/lib${kdelibsuff}/X11R6 \
+ /usr/local/lib${kdelibsuff}/X11R5 \
+ /usr/local/lib${kdelibsuff}/X11R4 \
+ \
+ /usr/X386/lib${kdelibsuff} \
+ /usr/x386/lib${kdelibsuff} \
+ /usr/XFree86/lib${kdelibsuff}/X11 \
+ \
+ /usr/lib${kdelibsuff} \
+ /usr/local/lib${kdelibsuff} \
+ /usr/unsupported/lib${kdelibsuff} \
+ /usr/athena/lib${kdelibsuff} \
+ /usr/local/x11r5/lib${kdelibsuff} \
+ /usr/lpp/Xamples/lib${kdelibsuff} \
+ /lib/usr/lib${kdelibsuff}/X11 \
+ \
+ /usr/openwin/lib${kdelibsuff} \
+ /usr/openwin/share/lib${kdelibsuff} \
+ ; \
+do
+dnl Don't even attempt the hair of trying to link an X program!
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+ ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done])
+fi # $ac_x_libraries = NO
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find a file (or one of more files in a list of dirs)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_FIND_FILE],
+[
+$3=NO
+for i in $2;
+do
+ for j in $1;
+ do
+ echo "configure: __oline__: $i/$j" >&AC_FD_CC
+ if test -r "$i/$j"; then
+ echo "taking that" >&AC_FD_CC
+ $3=$i
+ break 2
+ fi
+ done
+done
+])
+
+dnl KDE_FIND_PATH(program-name, variable-name, list-of-dirs,
+dnl if-not-found, test-parameter, prepend-path)
+dnl
+dnl Look for program-name in list-of-dirs+$PATH.
+dnl If prepend-path is set, look in $PATH+list-of-dirs instead.
+dnl If found, $variable-name is set. If not, if-not-found is evaluated.
+dnl test-parameter: if set, the program is executed with this arg,
+dnl and only a successful exit code is required.
+AC_DEFUN([KDE_FIND_PATH],
+[
+ AC_MSG_CHECKING([for $1])
+ if test -n "$$2"; then
+ kde_cv_path="$$2";
+ else
+ kde_cache=`echo $1 | sed 'y%./+-%__p_%'`
+
+ AC_CACHE_VAL(kde_cv_path_$kde_cache,
+ [
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ dirs=""
+ for dir in $PATH; do
+ dirs="$dirs $dir"
+ done
+ if test -z "$6"; then dnl Append dirs in PATH (default)
+ dirs="$3 $dirs"
+ else dnl Prepend dirs in PATH (if 6th arg is set)
+ dirs="$dirs $3"
+ fi
+ IFS=$kde_save_IFS
+
+ for dir in $dirs; do
+ if test -x "$dir/$1"; then
+ if test -n "$5"
+ then
+ evalstr="$dir/$1 $5 2>&1 "
+ if eval $evalstr; then
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ else
+ kde_cv_path="$dir/$1"
+ break
+ fi
+ fi
+ done
+
+ eval "kde_cv_path_$kde_cache=$kde_cv_path"
+
+ ])
+
+ eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\""
+
+ fi
+
+ if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then
+ AC_MSG_RESULT(not found)
+ $4
+ else
+ AC_MSG_RESULT($kde_cv_path)
+ $2=$kde_cv_path
+
+ fi
+])
+
+AC_DEFUN([KDE_MOC_ERROR_MESSAGE],
+[
+ AC_MSG_ERROR([No Qt meta object compiler (moc) found!
+Please check whether you installed Qt correctly.
+You need to have a running moc binary.
+configure tried to run $ac_cv_path_moc and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable MOC to the right one before running
+configure.
+])
+])
+
+AC_DEFUN([KDE_UIC_ERROR_MESSAGE],
+[
+ AC_MSG_WARN([No Qt ui compiler (uic) found!
+Please check whether you installed Qt correctly.
+You need to have a running uic binary.
+configure tried to run $ac_cv_path_uic and the test didn't
+succeed. If configure shouldn't have tried this one, set
+the environment variable UIC to the right one before running
+configure.
+])
+])
+
+
+AC_DEFUN([KDE_CHECK_UIC_FLAG],
+[
+ AC_MSG_CHECKING([whether uic supports -$1 ])
+ kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'`
+ AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache,
+ [
+ cat >conftest.ui <<EOT
+ <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI>
+EOT
+ ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null"
+ if AC_TRY_EVAL(ac_uic_testrun); then
+ eval "kde_cv_prog_uic_$kde_cache=yes"
+ else
+ eval "kde_cv_prog_uic_$kde_cache=no"
+ fi
+ rm -f conftest*
+ ])
+
+ if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT([yes])
+ :
+ $3
+ else
+ AC_MSG_RESULT([no])
+ :
+ $4
+ fi
+])
+
+
+dnl ------------------------------------------------------------------------
+dnl Find the meta object compiler and the ui compiler in the PATH,
+dnl in $QTDIR/bin, and some more usual places
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_MOC_UIC],
+[
+ AC_REQUIRE([KDE_CHECK_PERL])
+ qt_bindirs=""
+ for dir in $kde_qt_dirs; do
+ qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc"
+ done
+ qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin"
+ if test ! "$ac_qt_bindir" = "NO"; then
+ qt_bindirs="$ac_qt_bindir $qt_bindirs"
+ fi
+
+ KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE])
+ if test -z "$UIC_NOT_NEEDED"; then
+ KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""])
+ if test -z "$UIC_PATH" ; then
+ KDE_UIC_ERROR_MESSAGE
+ exit 1
+ else
+ UIC=$UIC_PATH
+
+ if test $kde_qtver = 3; then
+ KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no)
+ KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no)
+
+ if test x$ac_uic_supports_libpath = xyes; then
+ UIC="$UIC -L \$(kde_widgetdir)"
+ fi
+ if test x$ac_uic_supports_nounload = xyes; then
+ UIC="$UIC -nounload"
+ fi
+ fi
+ fi
+ else
+ UIC="echo uic not available: "
+ fi
+
+ AC_SUBST(MOC)
+ AC_SUBST(UIC)
+
+ UIC_TR="i18n"
+ if test $kde_qtver = 3; then
+ UIC_TR="tr2i18n"
+ fi
+
+ AC_SUBST(UIC_TR)
+])
+
+AC_DEFUN([KDE_1_CHECK_PATHS],
+[
+ KDE_1_CHECK_PATH_HEADERS
+
+ KDE_TEST_RPATH=
+
+ if test -n "$USE_RPATH"; then
+
+ if test -n "$kde_libraries"; then
+ KDE_TEST_RPATH="-R $kde_libraries"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries"
+ fi
+
+ if test -n "$x_libraries"; then
+ KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries"
+ fi
+
+ KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH"
+ fi
+
+AC_MSG_CHECKING([for KDE libraries installed])
+ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5'
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_ERROR([your system fails at linking a small KDE application!
+Check, if your compiler is installed correctly and if you have used the
+same compiler to compile Qt and kdelibs as you did use now.
+For more details about this problem, look at the end of config.log.])
+fi
+
+if eval `KDEDIR= ./conftest 2>&5`; then
+ kde_result=done
+else
+ kde_result=problems
+fi
+
+KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log
+kde_have_all_paths=yes
+
+KDE_SET_PATHS($kde_result)
+
+])
+
+AC_DEFUN([KDE_SET_PATHS],
+[
+ kde_cv_all_paths="kde_have_all_paths=\"yes\" \
+ kde_htmldir=\"$kde_htmldir\" \
+ kde_appsdir=\"$kde_appsdir\" \
+ kde_icondir=\"$kde_icondir\" \
+ kde_sounddir=\"$kde_sounddir\" \
+ kde_datadir=\"$kde_datadir\" \
+ kde_locale=\"$kde_locale\" \
+ kde_cgidir=\"$kde_cgidir\" \
+ kde_confdir=\"$kde_confdir\" \
+ kde_kcfgdir=\"$kde_kcfgdir\" \
+ kde_mimedir=\"$kde_mimedir\" \
+ kde_toolbardir=\"$kde_toolbardir\" \
+ kde_wallpaperdir=\"$kde_wallpaperdir\" \
+ kde_templatesdir=\"$kde_templatesdir\" \
+ kde_bindir=\"$kde_bindir\" \
+ kde_servicesdir=\"$kde_servicesdir\" \
+ kde_servicetypesdir=\"$kde_servicetypesdir\" \
+ kde_moduledir=\"$kde_moduledir\" \
+ kde_styledir=\"$kde_styledir\" \
+ kde_widgetdir=\"$kde_widgetdir\" \
+ xdg_appsdir=\"$xdg_appsdir\" \
+ xdg_menudir=\"$xdg_menudir\" \
+ xdg_directorydir=\"$xdg_directorydir\" \
+ kde_result=$1"
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_PATHS],
+[
+if test "$1" = "default"; then
+
+ if test -z "$kde_htmldir"; then
+ kde_htmldir='\${datadir}/doc/HTML'
+ fi
+ if test -z "$kde_appsdir"; then
+ kde_appsdir='\${datadir}/applnk'
+ fi
+ if test -z "$kde_icondir"; then
+ kde_icondir='\${datadir}/icons'
+ fi
+ if test -z "$kde_sounddir"; then
+ kde_sounddir='\${datadir}/sounds'
+ fi
+ if test -z "$kde_datadir"; then
+ kde_datadir='\${datadir}/apps'
+ fi
+ if test -z "$kde_locale"; then
+ kde_locale='\${datadir}/locale'
+ fi
+ if test -z "$kde_cgidir"; then
+ kde_cgidir='\${exec_prefix}/cgi-bin'
+ fi
+ if test -z "$kde_confdir"; then
+ kde_confdir='\${datadir}/config'
+ fi
+ if test -z "$kde_kcfgdir"; then
+ kde_kcfgdir='\${datadir}/config.kcfg'
+ fi
+ if test -z "$kde_mimedir"; then
+ kde_mimedir='\${datadir}/mimelnk'
+ fi
+ if test -z "$kde_toolbardir"; then
+ kde_toolbardir='\${datadir}/toolbar'
+ fi
+ if test -z "$kde_wallpaperdir"; then
+ kde_wallpaperdir='\${datadir}/wallpapers'
+ fi
+ if test -z "$kde_templatesdir"; then
+ kde_templatesdir='\${datadir}/templates'
+ fi
+ if test -z "$kde_bindir"; then
+ kde_bindir='\${exec_prefix}/bin'
+ fi
+ if test -z "$kde_servicesdir"; then
+ kde_servicesdir='\${datadir}/services'
+ fi
+ if test -z "$kde_servicetypesdir"; then
+ kde_servicetypesdir='\${datadir}/servicetypes'
+ fi
+ if test -z "$kde_moduledir"; then
+ if test "$kde_qtver" = "2"; then
+ kde_moduledir='\${libdir}/kde2'
+ else
+ kde_moduledir='\${libdir}/kde3'
+ fi
+ fi
+ if test -z "$kde_styledir"; then
+ kde_styledir='\${libdir}/kde3/plugins/styles'
+ fi
+ if test -z "$kde_widgetdir"; then
+ kde_widgetdir='\${libdir}/kde3/plugins/designer'
+ fi
+ if test -z "$xdg_appsdir"; then
+ xdg_appsdir='\${datadir}/applications/kde'
+ fi
+ if test -z "$xdg_menudir"; then
+ xdg_menudir='\${sysconfdir}/xdg/menus'
+ fi
+ if test -z "$xdg_directorydir"; then
+ xdg_directorydir='\${datadir}/desktop-directories'
+ fi
+
+ KDE_SET_PATHS(defaults)
+
+else
+
+ if test $kde_qtver = 1; then
+ AC_MSG_RESULT([compiling])
+ KDE_1_CHECK_PATHS
+ else
+ AC_MSG_ERROR([path checking not yet supported for KDE 2])
+ fi
+
+fi
+])
+
+AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS],
+[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" ||
+ test -z "$kde_icondir" || test -z "$kde_sounddir" ||
+ test -z "$kde_datadir" || test -z "$kde_locale" ||
+ test -z "$kde_cgidir" || test -z "$kde_confdir" ||
+ test -z "$kde_kcfgdir" ||
+ test -z "$kde_mimedir" || test -z "$kde_toolbardir" ||
+ test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" ||
+ test -z "$kde_bindir" || test -z "$kde_servicesdir" ||
+ test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" ||
+ test -z "$kde_styledir" || test -z "kde_widgetdir" ||
+ test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" ||
+ test "x$kde_have_all_paths" != "xyes"; then
+ kde_have_all_paths=no
+ fi
+])
+
+AC_DEFUN([KDE_MISSING_PROG_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed KDE correctly.
+])
+])
+
+AC_DEFUN([KDE_MISSING_ARTS_ERROR],
+[
+ AC_MSG_ERROR([The important program $1 was not found!
+Please check whether you installed aRts correctly or use
+--without-arts to compile without aRts support (this will remove functionality).
+])
+])
+
+AC_DEFUN([KDE_SET_DEFAULT_BINDIRS],
+[
+ kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin"
+ test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs"
+ if test -n "$KDEDIRS"; then
+ kde_save_IFS=$IFS
+ IFS=:
+ for dir in $KDEDIRS; do
+ kde_default_bindirs="$dir/bin $kde_default_bindirs "
+ done
+ IFS=$kde_save_IFS
+ fi
+])
+
+AC_DEFUN([KDE_SUBST_PROGRAMS],
+[
+ AC_ARG_WITH(arts,
+ AC_HELP_STRING([--without-arts],[build without aRts [default=no]]),
+ [build_arts=$withval],
+ [build_arts=yes]
+ )
+ AM_CONDITIONAL(include_ARTS, test "$build_arts" '!=' "no")
+ if test "$build_arts" = "no"; then
+ AC_DEFINE(WITHOUT_ARTS, 1, [Defined if compiling without arts])
+ fi
+
+ KDE_SET_DEFAULT_BINDIRS
+ kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_libs_prefix/bin $kde_default_bindirs"
+ KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)])
+ KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)])
+ if test "$build_arts" '!=' "no"; then
+ KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)])
+ KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)])
+ fi
+ KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs])
+
+ kde32ornewer=1
+ kde33ornewer=1
+ if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then
+ kde32ornewer=
+ kde33ornewer=
+ else
+ if test "$kde_qtver" = "3"; then
+ if test "$kde_qtsubver" -le 1; then
+ kde32ornewer=
+ fi
+ if test "$kde_qtsubver" -le 2; then
+ kde33ornewer=
+ fi
+ if test "$KDECONFIG" != "compiled"; then
+ if test `$KDECONFIG --version | grep KDE | sed 's/KDE: \(...\).*/\1/'` = 3.2; then
+ kde33ornewer=
+ fi
+ fi
+ fi
+ fi
+
+ if test -n "$kde32ornewer"; then
+ KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)])
+ KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)])
+ fi
+ if test -n "$kde33ornewer"; then
+ KDE_FIND_PATH(makekdewidgets, MAKEKDEWIDGETS, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(makekdewidgets)])
+ AC_SUBST(MAKEKDEWIDGETS)
+ fi
+ KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin], [XMLLINT=""])
+
+ if test -n "$MEINPROC" -a "$MEINPROC" != "compiled"; then
+ kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share"
+ test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs"
+ AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET)
+ if test "$KDE_XSL_STYLESHEET" = "NO"; then
+ KDE_XSL_STYLESHEET=""
+ else
+ KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl"
+ fi
+ fi
+
+ DCOP_DEPENDENCIES='$(DCOPIDL)'
+ if test -n "$kde32ornewer"; then
+ KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)'
+ DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)'
+ AC_SUBST(KCONFIG_COMPILER)
+ AC_SUBST(KCFG_DEPENDENCIES)
+ AC_SUBST(DCOPIDLNG)
+ fi
+ AC_SUBST(DCOPIDL)
+ AC_SUBST(DCOPIDL2CPP)
+ AC_SUBST(DCOP_DEPENDENCIES)
+ AC_SUBST(MCOPIDL)
+ AC_SUBST(ARTSCCONFIG)
+ AC_SUBST(MEINPROC)
+ AC_SUBST(KDE_XSL_STYLESHEET)
+ AC_SUBST(XMLLINT)
+])dnl
+
+AC_DEFUN([AC_CREATE_KFSSTND],
+[
+AC_REQUIRE([AC_CHECK_RPATH])
+
+AC_MSG_CHECKING([for KDE paths])
+kde_result=""
+kde_cached_paths=yes
+AC_CACHE_VAL(kde_cv_all_paths,
+[
+ KDE_SET_DEFAULT_PATHS($1)
+ kde_cached_paths=no
+])
+eval "$kde_cv_all_paths"
+KDE_CHECK_PATHS_FOR_COMPLETENESS
+if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then
+ # wrong values were cached, may be, we can set better ones
+ kde_result=
+ kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir=
+ kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir=
+ kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir=
+ kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir=
+ kde_have_all_paths=
+ kde_styledir=
+ kde_widgetdir=
+ xdg_appsdir = xdg_menudir= xdg_directorydir=
+ KDE_SET_DEFAULT_PATHS($1)
+ eval "$kde_cv_all_paths"
+ KDE_CHECK_PATHS_FOR_COMPLETENESS
+ kde_result="$kde_result (cache overridden)"
+fi
+if test "$kde_have_all_paths" = "no"; then
+ AC_MSG_ERROR([configure could not run a little KDE program to test the environment.
+Since it had compiled and linked before, it must be a strange problem on your system.
+Look at config.log for details. If you are not able to fix this, look at
+http://www.kde.org/faq/installation.html or any www.kde.org mirror.
+(If you're using an egcs version on Linux, you may update binutils!)
+])
+else
+ rm -f conftest*
+ AC_MSG_RESULT($kde_result)
+fi
+
+bindir=$kde_bindir
+
+KDE_SUBST_PROGRAMS
+
+])
+
+AC_DEFUN([AC_SUBST_KFSSTND],
+[
+AC_SUBST(kde_htmldir)
+AC_SUBST(kde_appsdir)
+AC_SUBST(kde_icondir)
+AC_SUBST(kde_sounddir)
+AC_SUBST(kde_datadir)
+AC_SUBST(kde_locale)
+AC_SUBST(kde_confdir)
+AC_SUBST(kde_kcfgdir)
+AC_SUBST(kde_mimedir)
+AC_SUBST(kde_wallpaperdir)
+AC_SUBST(kde_bindir)
+dnl X Desktop Group standards
+AC_SUBST(xdg_appsdir)
+AC_SUBST(xdg_menudir)
+AC_SUBST(xdg_directorydir)
+dnl for KDE 2
+AC_SUBST(kde_templatesdir)
+AC_SUBST(kde_servicesdir)
+AC_SUBST(kde_servicetypesdir)
+AC_SUBST(kde_moduledir)
+AC_SUBST(kdeinitdir, '$(kde_moduledir)')
+AC_SUBST(kde_styledir)
+AC_SUBST(kde_widgetdir)
+if test "$kde_qtver" = 1; then
+ kde_minidir="$kde_icondir/mini"
+else
+# for KDE 1 - this breaks KDE2 apps using minidir, but
+# that's the plan ;-/
+ kde_minidir="/dev/null"
+fi
+dnl AC_SUBST(kde_minidir)
+dnl AC_SUBST(kde_cgidir)
+dnl AC_SUBST(kde_toolbardir)
+])
+
+AC_DEFUN([KDE_MISC_TESTS],
+[
+ dnl Checks for libraries.
+ AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD
+ AC_SUBST(LIBUTIL)
+ AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD
+ AC_SUBST(LIBCOMPAT)
+ kde_have_crypt=
+ AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes],
+ AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [
+ AC_MSG_WARN([you have no crypt in either libcrypt or libc.
+You should install libcrypt from another source or configure with PAM
+support])
+ kde_have_crypt=no
+ ]))
+ AC_SUBST(LIBCRYPT)
+ if test $kde_have_crypt = yes; then
+ AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function])
+ fi
+ AC_CHECK_SOCKLEN_T
+ AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
+ if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+ AC_CHECK_LIB(dnet_stub, dnet_ntoa,
+ [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
+ fi
+ AC_CHECK_FUNC(inet_ntoa)
+ if test $ac_cv_func_inet_ntoa = no; then
+ AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl")
+ fi
+ AC_CHECK_FUNC(connect)
+ if test $ac_cv_func_connect = no; then
+ AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", ,
+ $X_EXTRA_LIBS)
+ fi
+
+ AC_CHECK_FUNC(remove)
+ if test $ac_cv_func_remove = no; then
+ AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix")
+ fi
+
+ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+ AC_CHECK_FUNC(shmat, ,
+ AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"))
+
+ # more headers that need to be explicitly included on darwin
+ AC_CHECK_HEADERS(sys/types.h stdint.h)
+
+ # sys/bitypes.h is needed for uint32_t and friends on Tru64
+ AC_CHECK_HEADERS(sys/bitypes.h)
+
+ # darwin requires a poll emulation library
+ AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll")
+
+ # for some image handling on Mac OS X
+ AC_CHECK_HEADERS(Carbon/Carbon.h)
+
+ # CoreAudio framework
+ AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [
+ AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API])
+ FRAMEWORK_COREAUDIO="-Wl,-framework,CoreAudio"
+ ])
+
+ AC_CHECK_RES_INIT
+ AC_SUBST(LIB_POLL)
+ AC_SUBST(FRAMEWORK_COREAUDIO)
+ LIBSOCKET="$X_EXTRA_LIBS"
+ AC_SUBST(LIBSOCKET)
+ AC_SUBST(X_EXTRA_LIBS)
+ AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4
+ AC_SUBST(LIBUCB)
+
+ case $host in dnl this *is* LynxOS specific
+ *-*-lynxos* )
+ AC_MSG_CHECKING([LynxOS header file wrappers])
+ [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"]
+ AC_MSG_RESULT(disabled)
+ AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS
+ ;;
+ esac
+
+ KDE_CHECK_TYPES
+ KDE_CHECK_LIBDL
+ KDE_CHECK_STRLCPY
+ KDE_CHECK_PIE_SUPPORT
+
+# darwin needs this to initialize the environment
+AC_CHECK_HEADERS(crt_externs.h)
+AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])])
+
+AH_VERBATIM(_DARWIN_ENVIRON,
+[
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+])
+
+AH_VERBATIM(_AIX_STRINGS_H_BZERO,
+[
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+])
+
+AC_CHECK_FUNCS([vsnprintf snprintf])
+
+AH_VERBATIM(_TRU64,[
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Find the header files and libraries for X-Windows. Extended the
+dnl macro AC_PATH_X
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([K_PATH_X],
+[
+AC_REQUIRE([KDE_MISC_TESTS])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_ARG_ENABLE(
+ embedded,
+ AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]),
+ kde_use_qt_emb=$enableval,
+ kde_use_qt_emb=no
+)
+
+AC_ARG_ENABLE(
+ qtopia,
+ AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]),
+ kde_use_qt_emb_palm=$enableval,
+ kde_use_qt_emb_palm=no
+)
+
+AC_ARG_ENABLE(
+ mac,
+ AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]),
+ kde_use_qt_mac=$enableval,
+ kde_use_qt_mac=no
+)
+
+# used to disable x11-specific stuff on special platforms
+AM_CONDITIONAL(include_x11, test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no")
+
+if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then
+
+AC_MSG_CHECKING(for X)
+
+AC_CACHE_VAL(kde_cv_have_x,
+[# One or both of the vars are not set, and there is no cached value.
+if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then
+ kde_x_includes=NO
+else
+ kde_x_includes=$x_includes
+fi
+if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then
+ kde_x_libraries=NO
+else
+ kde_x_libraries=$x_libraries
+fi
+
+# below we use the standard autoconf calls
+ac_x_libraries=$kde_x_libraries
+ac_x_includes=$kde_x_includes
+
+KDE_PATH_X_DIRECT
+dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries.
+dnl Unfortunately, if compiling with the N32 ABI, this is not the correct
+dnl location. The correct location is /usr/lib32 or an undefined value
+dnl (the linker is smart enough to pick the correct default library).
+dnl Things work just fine if you use just AC_PATH_X_DIRECT.
+dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to
+dnl /usr/openwin/include, which doesn't work. /usr/include does work, so
+dnl x_includes should be left alone.
+case "$host" in
+mips-sgi-irix6*)
+ ;;
+*-*-solaris*)
+ ;;
+*)
+ _AC_PATH_X_XMKMF
+ if test -z "$ac_x_includes"; then
+ ac_x_includes="."
+ fi
+ if test -z "$ac_x_libraries"; then
+ ac_x_libraries="/usr/lib${kdelibsuff}"
+ fi
+esac
+#from now on we use our own again
+
+# when the user already gave --x-includes, we ignore
+# what the standard autoconf macros told us.
+if test "$kde_x_includes" = NO; then
+ kde_x_includes=$ac_x_includes
+fi
+
+# for --x-libraries too
+if test "$kde_x_libraries" = NO; then
+ kde_x_libraries=$ac_x_libraries
+fi
+
+if test "$kde_x_includes" = NO; then
+ AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!])
+fi
+
+if test "$kde_x_libraries" = NO; then
+ AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!])
+fi
+
+# Record where we found X for the cache.
+kde_cv_have_x="have_x=yes \
+ kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries"
+])dnl
+
+eval "$kde_cv_have_x"
+
+if test "$have_x" != yes; then
+ AC_MSG_RESULT($have_x)
+ no_x=yes
+else
+ AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes])
+fi
+
+if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then
+ X_INCLUDES=""
+ x_includes="."; dnl better than nothing :-
+ else
+ x_includes=$kde_x_includes
+ X_INCLUDES="-I$x_includes"
+fi
+
+if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE || test "$kde_x_libraries" = "/usr/lib"; then
+ X_LDFLAGS=""
+ x_libraries="/usr/lib"; dnl better than nothing :-
+ else
+ x_libraries=$kde_x_libraries
+ X_LDFLAGS="-L$x_libraries"
+fi
+all_includes="$X_INCLUDES"
+all_libraries="$X_LDFLAGS $LDFLAGS_AS_NEEDED $LDFLAGS_NEW_DTAGS"
+
+# Check for libraries that X11R6 Xt/Xaw programs need.
+ac_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+# check for ICE first), but we must link in the order -lSM -lICE or
+# we get undefined symbols. So assume we have SM if we have ICE.
+# These have to be linked with before -lX11, unlike the other
+# libraries we check for below, so use a different variable.
+# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+AC_CHECK_LIB(ICE, IceConnectionNumber,
+ [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS)
+LDFLAGS="$ac_save_LDFLAGS"
+
+LIB_X11='-lX11 $(LIBSOCKET)'
+
+AC_MSG_CHECKING(for libXext)
+AC_CACHE_VAL(kde_cv_have_libXext,
+[
+kde_ldflags_safe="$LDFLAGS"
+kde_libs_safe="$LIBS"
+
+LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS"
+LIBS="-lXext -lX11 $LIBSOCKET"
+
+AC_TRY_LINK([
+#include <stdio.h>
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+],
+[
+printf("hello Xext\n");
+],
+kde_cv_have_libXext=yes,
+kde_cv_have_libXext=no
+)
+
+LDFLAGS=$kde_ldflags_safe
+LIBS=$kde_libs_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_libXext)
+
+if test "$kde_cv_have_libXext" = "no"; then
+ AC_MSG_ERROR([We need a working libXext to proceed. Since configure
+can't find it itself, we stop here assuming that make wouldn't find
+them either.])
+fi
+
+LIB_XEXT="-lXext"
+QTE_NORTTI=""
+
+elif test "$kde_use_qt_emb" = "yes"; then
+ dnl We're using QT Embedded
+ CPPFLAGS=-DQWS
+ CXXFLAGS="$CXXFLAGS -fno-rtti"
+ QTE_NORTTI="-fno-rtti -DQWS"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+elif test "$kde_use_qt_mac" = "yes"; then
+ dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to
+ dnl be included to get the information) --Sam
+ CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp"
+ CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp"
+ X_PRE_LIBS=""
+ LIB_X11=""
+ LIB_XEXT=""
+ LIB_XRENDER=""
+ LIBSM=""
+ X_INCLUDES=""
+ X_LDFLAGS=""
+ x_includes=""
+ x_libraries=""
+fi
+AC_SUBST(X_PRE_LIBS)
+AC_SUBST(LIB_X11)
+AC_SUBST(LIB_XRENDER)
+AC_SUBST(LIBSM)
+AC_SUBST(X_INCLUDES)
+AC_SUBST(X_LDFLAGS)
+AC_SUBST(x_includes)
+AC_SUBST(x_libraries)
+AC_SUBST(QTE_NORTTI)
+AC_SUBST(LIB_XEXT)
+
+])
+
+AC_DEFUN([KDE_PRINT_QT_PROGRAM],
+[
+AC_REQUIRE([KDE_USE_QT])
+cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qglobal.h>
+#include <qapplication.h>
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qevent.h>
+#include <qstring.h>
+#include <qstyle.h>
+EOF
+
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+#if QT_VERSION < 210
+#error 1
+#endif
+EOF
+fi
+fi
+
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+#include <qcursor.h>
+#include <qstylefactory.h>
+#include <private/qucomextra_p.h>
+EOF
+fi
+
+echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext
+cat >> conftest.$ac_ext <<EOF
+#error 1
+#endif
+
+int main() {
+EOF
+if test "$kde_qtver" = "2"; then
+cat >> conftest.$ac_ext <<EOF
+ QStringList *t = new QStringList();
+ Q_UNUSED(t);
+EOF
+if test $kde_qtsubver -gt 0; then
+cat >> conftest.$ac_ext <<EOF
+ QString s;
+ s.setLatin1("Elvis is alive", 14);
+EOF
+fi
+fi
+if test "$kde_qtver" = "3"; then
+cat >> conftest.$ac_ext <<EOF
+ (void)QStyleFactory::create(QString::null);
+ QCursor c(Qt::WhatsThisCursor);
+EOF
+fi
+cat >> conftest.$ac_ext <<EOF
+ return 0;
+}
+EOF
+])
+
+AC_DEFUN([KDE_USE_QT],
+[
+if test -z "$1"; then
+ # Current default Qt version: 3.3
+ kde_qtver=3
+ kde_qtsubver=3
+else
+ kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'`
+ # following is the check if subversion isnt found in passed argument
+ if test "$kde_qtsubver" = "$1"; then
+ kde_qtsubver=1
+ fi
+ kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'`
+ if test "$kde_qtver" = "1"; then
+ kde_qtsubver=42
+ fi
+fi
+
+if test -z "$2"; then
+ if test "$kde_qtver" = "2"; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_minversion=">= Qt 2.2.2"
+ else
+ kde_qt_minversion=">= Qt 2.0.2"
+ fi
+ fi
+ if test "$kde_qtver" = "3"; then
+ if test $kde_qtsubver -gt 0; then
+ if test $kde_qtsubver -gt 1; then
+ if test $kde_qtsubver -gt 2; then
+ kde_qt_minversion=">= Qt 3.3 and < 4.0"
+ else
+ kde_qt_minversion=">= Qt 3.2 and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.1 (20021021) and < 4.0"
+ fi
+ else
+ kde_qt_minversion=">= Qt 3.0 and < 4.0"
+ fi
+ fi
+ if test "$kde_qtver" = "1"; then
+ kde_qt_minversion=">= 1.42 and < 2.0"
+ fi
+else
+ kde_qt_minversion="$2"
+fi
+
+if test -z "$3"; then
+ if test $kde_qtver = 3; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 0x03@VER@00 && QT_VERSION < 0x040000"
+ qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'`
+ kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"`
+ else
+ kde_qt_verstring="QT_VERSION >= 300 && QT_VERSION < 0x040000"
+ fi
+ fi
+ if test $kde_qtver = 2; then
+ if test $kde_qtsubver -gt 0; then
+ kde_qt_verstring="QT_VERSION >= 222"
+ else
+ kde_qt_verstring="QT_VERSION >= 200"
+ fi
+ fi
+ if test $kde_qtver = 1; then
+ kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200"
+ fi
+else
+ kde_qt_verstring="$3"
+fi
+
+if test $kde_qtver = 4; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt4 /usr/lib/qt /usr/share/qt4"
+fi
+if test $kde_qtver = 3; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3 /usr/lib${kdelibsuff}/qt-3.3"
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+ if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ kde_qt_dirs="$kde_qt_dirs `$PKG_CONFIG --variable=prefix qt-mt`"
+ fi
+ fi
+fi
+if test $kde_qtver = 2; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt"
+fi
+if test $kde_qtver = 1; then
+ kde_qt_dirs="$QTDIR /usr/lib/qt"
+fi
+])
+
+AC_DEFUN([KDE_CHECK_QT_DIRECT],
+[
+AC_REQUIRE([KDE_USE_QT])
+AC_MSG_CHECKING([if Qt compiles without flags])
+AC_CACHE_VAL(kde_cv_qt_direct,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH
+ac_LIBRARY_PATH="$LIBRARY_PATH"
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_includes"
+LDFLAGS="$LDFLAGS $X_LDFLAGS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBQT -lXext -lX11 $LIBSOCKET"
+else
+LIBS="$LIBQT $LIBSOCKET"
+fi
+LD_LIBRARY_PATH=
+export LD_LIBRARY_PATH
+LIBRARY_PATH=
+export LIBRARY_PATH
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ kde_cv_qt_direct="yes"
+else
+ kde_cv_qt_direct="no"
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
+fi
+
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe"
+export LD_LIBRARY_PATH
+LIBRARY_PATH="$ac_LIBRARY_PATH"
+export LIBRARY_PATH
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_qt_direct" = "yes"; then
+ AC_MSG_RESULT(yes)
+ $1
+else
+ AC_MSG_RESULT(no)
+ $2
+fi
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the Qt headers and libraries.
+dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed)
+dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_PATH_QT_1_3],
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([KDE_USE_QT])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+dnl ------------------------------------------------------------------------
+dnl Add configure flag to enable linking to MT version of Qt library.
+dnl ------------------------------------------------------------------------
+
+AC_ARG_ENABLE(
+ mt,
+ AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]),
+ kde_use_qt_mt=$enableval,
+ [
+ if test $kde_qtver = 3; then
+ kde_use_qt_mt=yes
+ else
+ kde_use_qt_mt=no
+ fi
+ ]
+)
+
+USING_QT_MT=""
+
+dnl ------------------------------------------------------------------------
+dnl If we not get --disable-qt-mt then adjust some vars for the host.
+dnl ------------------------------------------------------------------------
+
+KDE_MT_LDFLAGS=
+KDE_MT_LIBS=
+if test "x$kde_use_qt_mt" = "xyes"; then
+ KDE_CHECK_THREADING
+ if test "x$kde_use_threading" = "xyes"; then
+ CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS"
+ KDE_MT_LDFLAGS="$USE_THREADS"
+ KDE_MT_LIBS="$LIBPTHREAD"
+ else
+ kde_use_qt_mt=no
+ fi
+fi
+AC_SUBST(KDE_MT_LDFLAGS)
+AC_SUBST(KDE_MT_LIBS)
+
+kde_qt_was_given=yes
+
+dnl ------------------------------------------------------------------------
+dnl If we haven't been told how to link to Qt, we work it out for ourselves.
+dnl ------------------------------------------------------------------------
+if test -z "$LIBQT_GLOB"; then
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ LIBQT_GLOB="libqte.*"
+ else
+ LIBQT_GLOB="libqt.*"
+ fi
+fi
+
+dnl ------------------------------------------------------------
+dnl If we got --enable-embedded then adjust the Qt library name.
+dnl ------------------------------------------------------------
+if test "x$kde_use_qt_emb" = "xyes"; then
+ qtlib="qte"
+else
+ qtlib="qt"
+fi
+
+kde_int_qt="-l$qtlib"
+
+if test -z "$LIBQPE"; then
+dnl ------------------------------------------------------------
+dnl If we got --enable-palmtop then add -lqpe to the link line
+dnl ------------------------------------------------------------
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ if test "x$kde_use_qt_emb_palm" = "xyes"; then
+ LIB_QPE="-lqpe"
+ else
+ LIB_QPE=""
+ fi
+ else
+ LIB_QPE=""
+ fi
+fi
+
+dnl ------------------------------------------------------------------------
+dnl If we got --enable-qt-mt then adjust the Qt library name for the host.
+dnl ------------------------------------------------------------------------
+
+if test "x$kde_use_qt_mt" = "xyes"; then
+ LIBQT="-l$qtlib-mt"
+ kde_int_qt="-l$qtlib-mt"
+ LIBQT_GLOB="lib$qtlib-mt.*"
+ USING_QT_MT="using -mt"
+else
+ LIBQT="-l$qtlib"
+fi
+
+if test $kde_qtver != 1; then
+
+ AC_REQUIRE([AC_FIND_PNG])
+ AC_REQUIRE([AC_FIND_JPEG])
+ LIBQT="$LIBQT $LIBPNG $LIBJPEG"
+fi
+
+if test $kde_qtver = 3; then
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ LIBQT="$LIBQT $LIBDL"
+fi
+
+AC_MSG_CHECKING([for Qt])
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET"
+fi
+ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO
+qt_libraries=""
+qt_includes=""
+AC_ARG_WITH(qt-dir,
+ AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]),
+ [ ac_qt_includes="$withval"/include
+ ac_qt_libraries="$withval"/lib${kdelibsuff}
+ ac_qt_bindir="$withval"/bin
+ ])
+
+AC_ARG_WITH(qt-includes,
+ AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]),
+ [
+ ac_qt_includes="$withval"
+ ])
+
+kde_qt_libs_given=no
+
+AC_ARG_WITH(qt-libraries,
+ AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]),
+ [ ac_qt_libraries="$withval"
+ kde_qt_libs_given=yes
+ ])
+
+AC_CACHE_VAL(ac_cv_have_qt,
+[#try to guess Qt locations
+
+qt_incdirs=""
+for dir in $kde_qt_dirs; do
+ qt_incdirs="$qt_incdirs $dir/include $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_incdirs="$qt_incdirs `$PKG_CONFIG --variable=includedir qt-mt`"
+ fi
+fi
+qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes"
+if test ! "$ac_qt_includes" = "NO"; then
+ qt_incdirs="$ac_qt_includes $qt_incdirs"
+fi
+
+if test "$kde_qtver" != "1"; then
+ kde_qt_header=qstyle.h
+else
+ kde_qt_header=qglobal.h
+fi
+
+AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir)
+ac_qt_includes="$qt_incdir"
+
+qt_libdirs=""
+for dir in $kde_qt_dirs; do
+ qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir/lib $dir"
+done
+if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+fi
+if test "$PKG_CONFIG" != "no" ; then
+ if $PKG_CONFIG --exists qt-mt ; then
+ qt_libdirs="$qt_incdirs `$PKG_CONFIG --variable=libdir qt-mt`"
+ fi
+fi
+qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries"
+if test ! "$ac_qt_libraries" = "NO"; then
+ qt_libdir=$ac_qt_libraries
+else
+ qt_libdirs="$ac_qt_libraries $qt_libdirs"
+ # if the Qt was given, the chance is too big that libqt.* doesn't exist
+ qt_libdir=NONE
+ for dir in $qt_libdirs; do
+ try="ls -1 $dir/${LIBQT_GLOB}"
+ if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+fi
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIBQT="$LIBQT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+ac_qt_libraries="$qt_libdir"
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+
+ac_cxxflags_safe="$CXXFLAGS"
+ac_ldflags_safe="$LDFLAGS"
+ac_libs_safe="$LIBS"
+
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+LIBS="$LIBS $LIBQT $KDE_MT_LIBS"
+
+KDE_PRINT_QT_PROGRAM
+
+if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat conftest.$ac_ext >&AC_FD_CC
+ ac_qt_libraries="NO"
+fi
+rm -f conftest*
+CXXFLAGS="$ac_cxxflags_safe"
+LDFLAGS="$ac_ldflags_safe"
+LIBS="$ac_libs_safe"
+
+AC_LANG_RESTORE
+if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then
+ ac_cv_have_qt="have_qt=no"
+ ac_qt_notfound=""
+ missing_qt_mt=""
+ if test "$ac_qt_includes" = NO; then
+ if test "$ac_qt_libraries" = NO; then
+ ac_qt_notfound="(headers and libraries)";
+ else
+ ac_qt_notfound="(headers)";
+ fi
+ else
+ if test "x$kde_use_qt_mt" = "xyes"; then
+ missing_qt_mt="
+Make sure that you have compiled Qt with thread support!"
+ ac_qt_notfound="(library $qtlib-mt)";
+ else
+ ac_qt_notfound="(library $qtlib)";
+ fi
+ fi
+
+ AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation!
+For more details about this problem, look at the end of config.log.$missing_qt_mt])
+else
+ have_qt="yes"
+fi
+])
+
+eval "$ac_cv_have_qt"
+
+if test "$have_qt" != yes; then
+ AC_MSG_RESULT([$have_qt]);
+else
+ ac_cv_have_qt="have_qt=yes \
+ ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries"
+ AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT])
+
+ qt_libraries="$ac_qt_libraries"
+ qt_includes="$ac_qt_includes"
+fi
+
+if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then
+ KDE_CHECK_QT_DIRECT(qt_libraries= ,[])
+fi
+
+AC_SUBST(qt_libraries)
+AC_SUBST(qt_includes)
+
+if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then
+ QT_INCLUDES=""
+else
+ QT_INCLUDES="-I$qt_includes"
+ all_includes="$QT_INCLUDES $all_includes"
+fi
+
+if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then
+ QT_LDFLAGS=""
+else
+ QT_LDFLAGS="-L$qt_libraries"
+ all_libraries="$QT_LDFLAGS $all_libraries"
+fi
+test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS"
+
+AC_SUBST(QT_INCLUDES)
+AC_SUBST(QT_LDFLAGS)
+AC_PATH_QT_MOC_UIC
+
+KDE_CHECK_QT_JPEG
+
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)'
+else
+LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)'
+fi
+test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS"
+for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do
+ if test -e "$a"; then
+ LIB_QT="$LIB_QT ${kde_int_qt}_incremental"
+ break
+ fi
+done
+
+AC_SUBST(LIB_QT)
+AC_SUBST(LIB_QPE)
+
+AC_SUBST(kde_qtver)
+])
+
+AC_DEFUN([AC_PATH_QT],
+[
+AC_PATH_QT_1_3
+])
+
+AC_DEFUN([KDE_CHECK_UIC_PLUGINS],
+[
+AC_REQUIRE([AC_PATH_QT_MOC_UIC])
+
+if test x$ac_uic_supports_libpath = xyes; then
+
+AC_MSG_CHECKING([if UIC has KDE plugins available])
+AC_CACHE_VAL(kde_cv_uic_plugins,
+[
+cat > actest.ui << EOF
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>NewConnectionDialog</class>
+<widget class="QDialog">
+ <widget class="KLineEdit">
+ <property name="name">
+ <cstring>testInput</cstring>
+ </property>
+ </widget>
+</widget>
+</UI>
+EOF
+
+
+
+kde_cv_uic_plugins=no
+kde_line="$UIC_PATH -L $kde_widgetdir"
+if test x$ac_uic_supports_nounload = xyes; then
+ kde_line="$kde_line -nounload"
+fi
+kde_line="$kde_line -impl actest.h actest.ui > actest.cpp"
+if AC_TRY_EVAL(kde_line); then
+ # if you're trying to debug this check and think it's incorrect,
+ # better check your installation. The check _is_ correct - your
+ # installation is not.
+ if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then
+ kde_cv_uic_plugins=yes
+ fi
+fi
+rm -f actest.ui actest.cpp
+])
+
+AC_MSG_RESULT([$kde_cv_uic_plugins])
+if test "$kde_cv_uic_plugins" != yes; then
+ AC_MSG_ERROR([
+you need to install kdelibs first.
+
+If you did install kdelibs, then the Qt version that is picked up by
+this configure is not the same version you used to compile kdelibs.
+The Qt Plugin installed by kdelibs is *ONLY* loadable if it is the
+_same Qt version_, compiled with the _same compiler_ and the same Qt
+configuration settings.
+])
+fi
+fi
+])
+
+AC_DEFUN([KDE_CHECK_FINAL],
+[
+ AC_ARG_ENABLE(final,
+ AC_HELP_STRING([--enable-final],
+ [build size optimized apps (experimental - needs lots of memory)]),
+ kde_use_final=$enableval, kde_use_final=no)
+
+ if test "x$kde_use_final" = "xyes"; then
+ KDE_USE_FINAL_TRUE=""
+ KDE_USE_FINAL_FALSE="#"
+ else
+ KDE_USE_FINAL_TRUE="#"
+ KDE_USE_FINAL_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_FINAL_TRUE)
+ AC_SUBST(KDE_USE_FINAL_FALSE)
+])
+
+AC_DEFUN([KDE_CHECK_CLOSURE],
+[
+ AC_ARG_ENABLE(closure,
+ AC_HELP_STRING([--enable-closure],[delay template instantiation]),
+ kde_use_closure=$enableval, kde_use_closure=no)
+
+ KDE_NO_UNDEFINED=""
+ if test "x$kde_use_closure" = "xyes"; then
+ KDE_USE_CLOSURE_TRUE=""
+ KDE_USE_CLOSURE_FALSE="#"
+# CXXFLAGS="$CXXFLAGS $REPO"
+ else
+ KDE_USE_CLOSURE_TRUE="#"
+ KDE_USE_CLOSURE_FALSE=""
+ KDE_NO_UNDEFINED=""
+ fi
+ AC_SUBST(KDE_USE_CLOSURE_TRUE)
+ AC_SUBST(KDE_USE_CLOSURE_FALSE)
+ AC_SUBST(KDE_NO_UNDEFINED)
+])
+
+dnl Check if the linker supports --enable-new-dtags and --as-needed
+AC_DEFUN([KDE_CHECK_NEW_LDFLAGS],
+[
+ AC_ARG_ENABLE(new_ldflags,
+ AC_HELP_STRING([--enable-new-ldflags],
+ [enable the new linker flags]),
+ kde_use_new_ldflags=$enableval,
+ kde_use_new_ldflags=no)
+
+ LDFLAGS_AS_NEEDED=""
+ LDFLAGS_NEW_DTAGS=""
+ if test "x$kde_use_new_ldflags" = "xyes"; then
+ LDFLAGS_NEW_DTAGS=""
+ KDE_CHECK_COMPILER_FLAG([Wl,--enable-new-dtags],
+ [LDFLAGS_NEW_DTAGS="-Wl,--enable-new-dtags"],)
+
+ KDE_CHECK_COMPILER_FLAG([Wl,--as-needed],
+ [LDFLAGS_AS_NEEDED="-Wl,--as-needed"],)
+ fi
+ AC_SUBST(LDFLAGS_AS_NEEDED)
+ AC_SUBST(LDFLAGS_NEW_DTAGS)
+])
+
+AC_DEFUN([KDE_CHECK_NMCHECK],
+[
+ AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]),
+ kde_use_nmcheck=$enableval, kde_use_nmcheck=no)
+
+ if test "$kde_use_nmcheck" = "yes"; then
+ KDE_USE_NMCHECK_TRUE=""
+ KDE_USE_NMCHECK_FALSE="#"
+ else
+ KDE_USE_NMCHECK_TRUE="#"
+ KDE_USE_NMCHECK_FALSE=""
+ fi
+ AC_SUBST(KDE_USE_NMCHECK_TRUE)
+ AC_SUBST(KDE_USE_NMCHECK_FALSE)
+])
+
+AC_DEFUN([KDE_EXPAND_MAKEVAR], [
+savex=$exec_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+tmp=$$2
+while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done
+exec_prefix=$savex
+])
+
+dnl ------------------------------------------------------------------------
+dnl Now, the same with KDE
+dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed)
+dnl and $(kde_includes) will be the kdehdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_BASE_PATH_KDE],
+[
+AC_REQUIRE([KDE_CHECK_STL])
+AC_REQUIRE([AC_PATH_QT])dnl
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_CHECK_RPATH
+AC_MSG_CHECKING([for KDE])
+
+if test "${prefix}" != NONE; then
+ kde_includes=${includedir}
+ KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir)
+
+ kde_libraries=${libdir}
+ KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir)
+
+else
+ ac_kde_includes=
+ ac_kde_libraries=
+ kde_libraries=""
+ kde_includes=""
+fi
+
+AC_CACHE_VAL(ac_cv_have_kde,
+[#try to guess kde locations
+
+if test "$kde_qtver" = 1; then
+ kde_check_header="ksock.h"
+ kde_check_lib="libkdecore.la"
+else
+ kde_check_header="ksharedptr.h"
+ kde_check_lib="libkio.la"
+fi
+
+if test -z "$1"; then
+
+kde_incdirs="$kde_libs_prefix/include /usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes"
+test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs"
+kde_incdirs="$ac_kde_includes $kde_incdirs"
+AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir)
+ac_kde_includes="$kde_incdir"
+
+if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then
+ AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE headers installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+kde_libdirs="$kde_libs_prefix/lib${kdelibsuff} /usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}"
+test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs"
+kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs"
+AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir)
+ac_kde_libraries="$kde_libdir"
+
+kde_widgetdir=NO
+dnl this might be somewhere else
+AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir)
+
+if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then
+AC_MSG_ERROR([
+in the prefix, you've chosen, are no KDE libraries installed. This will fail.
+So, check this please and use another prefix!])
+fi
+
+if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then
+AC_MSG_ERROR([
+I can't find the designer plugins. These are required and should have been installed
+by kdelibs])
+fi
+
+if test -n "$kde_widgetdir"; then
+ kde_widgetdir="$kde_widgetdir/kde3/plugins/designer"
+fi
+
+
+if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then
+ ac_cv_have_kde="have_kde=no"
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+fi
+
+else dnl test -z $1, e.g. from kdelibs
+
+ ac_cv_have_kde="have_kde=no"
+
+fi
+])dnl
+
+eval "$ac_cv_have_kde"
+
+if test "$have_kde" != "yes"; then
+ if test "${prefix}" = NONE; then
+ ac_kde_prefix="$ac_default_prefix"
+ else
+ ac_kde_prefix="$prefix"
+ fi
+ if test "$exec_prefix" = NONE; then
+ ac_kde_exec_prefix="$ac_kde_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix])
+ else
+ ac_kde_exec_prefix="$exec_prefix"
+ AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix])
+ fi
+
+ kde_libraries="${libdir}"
+ kde_includes="${includedir}"
+
+else
+ ac_cv_have_kde="have_kde=yes \
+ ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries"
+ AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes])
+
+ kde_libraries="$ac_kde_libraries"
+ kde_includes="$ac_kde_includes"
+fi
+AC_SUBST(kde_libraries)
+AC_SUBST(kde_includes)
+
+if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then
+ KDE_INCLUDES=""
+else
+ KDE_INCLUDES="-I$kde_includes"
+ all_includes="$KDE_INCLUDES $all_includes"
+fi
+
+KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION"
+
+KDE_LDFLAGS="-L$kde_libraries"
+if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then
+ all_libraries="$KDE_LDFLAGS $all_libraries"
+fi
+
+AC_SUBST(KDE_LDFLAGS)
+AC_SUBST(KDE_INCLUDES)
+
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+all_libraries="$all_libraries $USER_LDFLAGS"
+all_includes="$all_includes $USER_INCLUDES"
+AC_SUBST(all_includes)
+AC_SUBST(all_libraries)
+
+if test -z "$1"; then
+KDE_CHECK_UIC_PLUGINS
+fi
+
+ac_kde_libraries="$kde_libdir"
+
+AC_SUBST(AUTODIRS)
+
+
+])
+
+AC_DEFUN([KDE_CHECK_EXTRA_LIBS],
+[
+AC_MSG_CHECKING(for extra includes)
+AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]),
+ kde_use_extra_includes="$withval",
+ kde_use_extra_includes=NONE
+)
+kde_extra_includes=
+if test -n "$kde_use_extra_includes" && \
+ test "$kde_use_extra_includes" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_includes; do
+ kde_extra_includes="$kde_extra_includes $dir"
+ USER_INCLUDES="$USER_INCLUDES -I$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_includes="added"
+else
+ kde_use_extra_includes="no"
+fi
+AC_SUBST(USER_INCLUDES)
+
+AC_MSG_RESULT($kde_use_extra_includes)
+
+kde_extra_libs=
+AC_MSG_CHECKING(for extra libs)
+AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]),
+ kde_use_extra_libs=$withval,
+ kde_use_extra_libs=NONE
+)
+if test -n "$kde_use_extra_libs" && \
+ test "$kde_use_extra_libs" != "NONE"; then
+
+ ac_save_ifs=$IFS
+ IFS=':'
+ for dir in $kde_use_extra_libs; do
+ kde_extra_libs="$kde_extra_libs $dir"
+ KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir"
+ USER_LDFLAGS="$USER_LDFLAGS -L$dir"
+ done
+ IFS=$ac_save_ifs
+ kde_use_extra_libs="added"
+else
+ kde_use_extra_libs="no"
+fi
+
+AC_SUBST(USER_LDFLAGS)
+
+AC_MSG_RESULT($kde_use_extra_libs)
+
+])
+
+AC_DEFUN([KDE_1_CHECK_PATH_HEADERS],
+[
+ AC_MSG_CHECKING([for KDE headers installed])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#include <stdio.h>
+#include "confdefs.h"
+#include <kapp.h>
+
+int main() {
+ printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data());
+ printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data());
+ printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data());
+ printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data());
+ printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data());
+ printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data());
+ printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data());
+ printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data());
+ printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data());
+ printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data());
+ printf("kde_wallpaperdir=\\"%s\\"\n",
+ KApplication::kde_wallpaperdir().data());
+ printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data());
+ printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data());
+ printf("kde_servicesdir=\\"/tmp/dummy\\"\n");
+ printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n");
+ printf("kde_moduledir=\\"/tmp/dummy\\"\n");
+ printf("kde_styledir=\\"/tmp/dummy\\"\n");
+ printf("kde_widgetdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_appsdir=\\"/tmp/dummy\\"\n");
+ printf("xdg_menudir=\\"/tmp/dummy\\"\n");
+ printf("xdg_directorydir=\\"/tmp/dummy\\"\n");
+ printf("kde_kcfgdir=\\"/tmp/dummy\\"\n");
+ return 0;
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$all_includes $CPPFLAGS"
+ if AC_TRY_EVAL(ac_compile); then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_ERROR([your system is not able to compile a small KDE application!
+Check, if you installed the KDE header files correctly.
+For more details about this problem, look at the end of config.log.])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_CHECK_KDEQTADDON],
+[
+AC_MSG_CHECKING(for kde-qt-addon)
+AC_CACHE_VAL(kde_cv_have_kdeqtaddon,
+[
+ kde_ldflags_safe="$LDFLAGS"
+ kde_libs_safe="$LIBS"
+ kde_cxxflags_safe="$CXXFLAGS"
+
+ LIBS="-lkde-qt-addon $LIBQT $LIBS"
+ CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes"
+ LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS"
+
+ AC_TRY_LINK([
+ #include <qdom.h>
+ ],
+ [
+ QDomDocument doc;
+ ],
+ kde_cv_have_kdeqtaddon=yes,
+ kde_cv_have_kdeqtaddon=no
+ )
+
+ LDFLAGS=$kde_ldflags_safe
+ LIBS=$kde_libs_safe
+ CXXFLAGS=$kde_cxxflags_safe
+])
+
+AC_MSG_RESULT($kde_cv_have_kdeqtaddon)
+
+if test "$kde_cv_have_kdeqtaddon" = "no"; then
+ AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first.
+It is a separate package (and CVS module) named kde-qt-addon.])
+fi
+])
+
+AC_DEFUN([KDE_CREATE_LIBS_ALIASES],
+[
+ AC_REQUIRE([KDE_MISC_TESTS])
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+ AC_REQUIRE([K_PATH_X])
+
+if test $kde_qtver = 3; then
+ case $host in
+ *cygwin*) lib_kded="-lkdeinit_kded" ;;
+ *) lib_kded="" ;;
+ esac
+ AC_SUBST(LIB_KDED, $lib_kded)
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KJS, "-lkjs")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KABC, "-lkabc")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+ AC_SUBST(LIB_KUTILS, "-lkutils")
+ AC_SUBST(LIB_KDEPIM, "-lkdepim")
+ AC_SUBST(LIB_KIMPROXY, "-lkimproxy")
+ AC_SUBST(LIB_KNEWSTUFF, "-lknewstuff")
+ AC_SUBST(LIB_KDNSSD, "-lkdnssd")
+ AC_SUBST(LIB_KUNITTEST, "-lkunittest")
+# these are for backward compatibility
+ AC_SUBST(LIB_KSYCOCA, "-lkio")
+ AC_SUBST(LIB_KFILE, "-lkio")
+elif test $kde_qtver = 2; then
+ AC_SUBST(LIB_KDECORE, "-lkdecore")
+ AC_SUBST(LIB_KDEUI, "-lkdeui")
+ AC_SUBST(LIB_KIO, "-lkio")
+ AC_SUBST(LIB_KSYCOCA, "-lksycoca")
+ AC_SUBST(LIB_SMB, "-lsmb")
+ AC_SUBST(LIB_KFILE, "-lkfile")
+ AC_SUBST(LIB_KAB, "-lkab")
+ AC_SUBST(LIB_KHTML, "-lkhtml")
+ AC_SUBST(LIB_KSPELL, "-lkspell")
+ AC_SUBST(LIB_KPARTS, "-lkparts")
+ AC_SUBST(LIB_KDEPRINT, "-lkdeprint")
+else
+ AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)")
+ AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)")
+ AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)")
+ AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)")
+fi
+])
+
+AC_DEFUN([AC_PATH_KDE],
+[
+ AC_BASE_PATH_KDE
+ AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]),
+ [
+ if test "$enableval" = "no";
+ then ac_use_path_checking="default"
+ else ac_use_path_checking=""
+ fi
+ ],
+ [
+ if test "$kde_qtver" = 1;
+ then ac_use_path_checking=""
+ else ac_use_path_checking="default"
+ fi
+ ]
+ )
+
+ AC_CREATE_KFSSTND($ac_use_path_checking)
+
+ AC_SUBST_KFSSTND
+ KDE_CREATE_LIBS_ALIASES
+])
+
+dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found])
+AC_DEFUN([KDE_CHECK_FUNC_EXT],
+[
+AC_MSG_CHECKING(for $1)
+AC_CACHE_VAL(kde_cv_func_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+save_CXXFLAGS="$CXXFLAGS"
+kde_safe_LIBS="$LIBS"
+LIBS="$LIBS $X_EXTRA_LIBS"
+AC_TRY_COMPILE([
+$2
+],
+[
+$3
+],
+kde_cv_func_$1=yes,
+kde_cv_func_$1=no)
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$kde_safe_LIBS"
+AC_LANG_RESTORE
+])
+
+AC_MSG_RESULT($kde_cv_func_$1)
+
+AC_MSG_CHECKING([if $1 needs custom prototype])
+AC_CACHE_VAL(kde_cv_proto_$1,
+[
+if test "x$kde_cv_func_$1" = xyes; then
+ kde_cv_proto_$1=no
+else
+ case "$1" in
+ setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat)
+ kde_cv_proto_$1="yes - in libkdefakes"
+ ;;
+ *)
+ kde_cv_proto_$1=unknown
+ ;;
+ esac
+fi
+
+if test "x$kde_cv_proto_$1" = xunknown; then
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS $X_EXTRA_LIBS"
+ AC_TRY_LINK([
+$2
+
+extern "C" $4;
+],
+[
+$3
+],
+[ kde_cv_func_$1=yes
+ kde_cv_proto_$1=yes ],
+ [kde_cv_proto_$1="$1 unavailable"]
+)
+LIBS=$kde_safe_libs
+AC_LANG_RESTORE
+fi
+])
+AC_MSG_RESULT($kde_cv_proto_$1)
+
+if test "x$kde_cv_func_$1" = xyes; then
+ AC_DEFINE(HAVE_$5, 1, [Define if you have $1])
+ $6
+fi
+if test "x$kde_cv_proto_$1" = xno; then
+ AC_DEFINE(HAVE_$5_PROTO, 1,
+ [Define if you have the $1 prototype])
+fi
+
+AH_VERBATIM([_HAVE_$5_PROTO],
+[
+#if !defined(HAVE_$5_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+$4;
+#ifdef __cplusplus
+}
+#endif
+#endif
+])
+])
+
+AC_DEFUN([AC_CHECK_SETENV],
+[
+ KDE_CHECK_FUNC_EXT(setenv, [
+#include <stdlib.h>
+],
+ [setenv("VAR", "VALUE", 1);],
+ [int setenv (const char *, const char *, int)],
+ [SETENV])
+])
+
+AC_DEFUN([AC_CHECK_UNSETENV],
+[
+ KDE_CHECK_FUNC_EXT(unsetenv, [
+#include <stdlib.h>
+],
+ [unsetenv("VAR");],
+ [void unsetenv (const char *)],
+ [UNSETENV])
+])
+
+AC_DEFUN([AC_CHECK_GETDOMAINNAME],
+[
+ KDE_CHECK_FUNC_EXT(getdomainname, [
+#include <stdlib.h>
+#include <unistd.h>
+#include <netdb.h>
+],
+ [
+char buffer[200];
+getdomainname(buffer, 200);
+],
+ [#include <sys/types.h>
+ int getdomainname (char *, size_t)],
+ [GETDOMAINNAME])
+])
+
+AC_DEFUN([AC_CHECK_GETHOSTNAME],
+[
+ KDE_CHECK_FUNC_EXT(gethostname, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+char buffer[200];
+gethostname(buffer, 200);
+],
+ [int gethostname (char *, unsigned int)],
+ [GETHOSTNAME])
+])
+
+AC_DEFUN([AC_CHECK_USLEEP],
+[
+ KDE_CHECK_FUNC_EXT(usleep, [
+#include <unistd.h>
+],
+ [
+usleep(200);
+],
+ [int usleep (unsigned int)],
+ [USLEEP])
+])
+
+
+AC_DEFUN([AC_CHECK_RANDOM],
+[
+ KDE_CHECK_FUNC_EXT(random, [
+#include <stdlib.h>
+],
+ [
+random();
+],
+ [long int random(void)],
+ [RANDOM])
+
+ KDE_CHECK_FUNC_EXT(srandom, [
+#include <stdlib.h>
+],
+ [
+srandom(27);
+],
+ [void srandom(unsigned int)],
+ [SRANDOM])
+
+])
+
+AC_DEFUN([AC_CHECK_INITGROUPS],
+[
+ KDE_CHECK_FUNC_EXT(initgroups, [
+#include <sys/types.h>
+#include <unistd.h>
+#include <grp.h>
+],
+ [
+char buffer[200];
+initgroups(buffer, 27);
+],
+ [int initgroups(const char *, gid_t)],
+ [INITGROUPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMPS],
+[
+ KDE_CHECK_FUNC_EXT(mkstemps, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemps("/tmp/aaaXXXXXX", 6);
+],
+ [int mkstemps(char *, int)],
+ [MKSTEMPS])
+])
+
+AC_DEFUN([AC_CHECK_MKSTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkstemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkstemp("/tmp/aaaXXXXXX");
+],
+ [int mkstemp(char *)],
+ [MKSTEMP])
+])
+
+AC_DEFUN([AC_CHECK_MKDTEMP],
+[
+ KDE_CHECK_FUNC_EXT(mkdtemp, [
+#include <stdlib.h>
+#include <unistd.h>
+],
+ [
+mkdtemp("/tmp/aaaXXXXXX");
+],
+ [char *mkdtemp(char *)],
+ [MKDTEMP])
+])
+
+
+AC_DEFUN([AC_CHECK_RES_INIT],
+[
+ AC_MSG_CHECKING([if res_init needs -lresolv])
+ kde_libs_safe="$LIBS"
+ LIBS="$LIBS $X_EXTRA_LIBS -lresolv"
+ AC_TRY_LINK(
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [
+ res_init();
+ ],
+ [
+ LIBRESOLV="-lresolv"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function])
+ ],
+ [ AC_MSG_RESULT(no) ]
+ )
+ LIBS=$kde_libs_safe
+ AC_SUBST(LIBRESOLV)
+
+ KDE_CHECK_FUNC_EXT(res_init,
+ [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+ ],
+ [res_init()],
+ [int res_init(void)],
+ [RES_INIT])
+])
+
+AC_DEFUN([AC_CHECK_STRLCPY],
+[
+ KDE_CHECK_FUNC_EXT(strlcpy, [
+#include <string.h>
+],
+[ char buf[20];
+ strlcpy(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcpy(char*, const char*, unsigned long)],
+ [STRLCPY])
+])
+
+AC_DEFUN([AC_CHECK_STRLCAT],
+[
+ KDE_CHECK_FUNC_EXT(strlcat, [
+#include <string.h>
+],
+[ char buf[20];
+ buf[0]='\0';
+ strlcat(buf, "KDE function test", sizeof(buf));
+],
+ [unsigned long strlcat(char*, const char*, unsigned long)],
+ [STRLCAT])
+])
+
+AC_DEFUN([AC_CHECK_RES_QUERY],
+[
+ KDE_CHECK_FUNC_EXT(res_query, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+#include <netdb.h>
+],
+[
+res_query(NULL, 0, 0, NULL, 0);
+],
+ [int res_query(const char *, int, int, unsigned char *, int)],
+ [RES_QUERY])
+])
+
+AC_DEFUN([AC_CHECK_DN_SKIPNAME],
+[
+ KDE_CHECK_FUNC_EXT(dn_skipname, [
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <resolv.h>
+],
+[
+dn_skipname (NULL, NULL);
+],
+ [int dn_skipname (unsigned char *, unsigned char *)],
+ [DN_SKIPNAME])
+])
+
+
+AC_DEFUN([AC_FIND_GIF],
+ [AC_MSG_CHECKING([for giflib])
+AC_CACHE_VAL(ac_cv_lib_gif,
+[ac_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries -lgif -lX11 $LIBSOCKET"
+else
+LIBS="$all_libraries -lgif"
+fi
+AC_TRY_LINK(dnl
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+int GifLastError(void);
+#ifdef __cplusplus
+}
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+],
+ [return GifLastError();],
+ eval "ac_cv_lib_gif=yes",
+ eval "ac_cv_lib_gif=no")
+LIBS="$ac_save_LIBS"
+])dnl
+if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif])
+else
+ AC_MSG_ERROR(You need giflib30. Please install the kdesupport package)
+fi
+])
+
+AC_DEFUN([KDE_FIND_JPEG_HELPER],
+[
+AC_MSG_CHECKING([for libjpeg$2])
+AC_CACHE_VAL(ac_cv_lib_jpeg_$1,
+[
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm"
+ac_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[
+#ifdef __cplusplus
+extern "C" {
+#endif
+void jpeg_CreateDecompress();
+#ifdef __cplusplus
+}
+#endif
+],
+[jpeg_CreateDecompress();],
+ eval "ac_cv_lib_jpeg_$1=-ljpeg$2",
+ eval "ac_cv_lib_jpeg_$1=no")
+LIBS="$ac_save_LIBS"
+CFLAGS="$ac_save_CFLAGS"
+])
+
+if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then
+ LIBJPEG="$ac_cv_lib_jpeg_$1"
+ AC_MSG_RESULT($ac_cv_lib_jpeg_$1)
+else
+ AC_MSG_RESULT(no)
+ $3
+fi
+
+])
+
+AC_DEFUN([AC_FIND_JPEG],
+[
+dnl first look for libraries
+KDE_FIND_JPEG_HELPER(6b, 6b,
+ KDE_FIND_JPEG_HELPER(normal, [],
+ [
+ LIBJPEG=
+ ]
+ )
+)
+
+dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h
+dnl requires system dependent includes loaded before it)
+jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes"
+AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir)
+test "x$jpeg_incdir" = xNO && jpeg_incdir=
+
+dnl if headers _and_ libraries are missing, this is no error, and we
+dnl continue with a warning (the user will get no jpeg support in khtml)
+dnl if only one is missing, it means a configuration error, but we still
+dnl only warn
+if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg])
+else
+ if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then
+ AC_MSG_WARN([
+There is an installation error in jpeg support. You seem to have only one
+of either the headers _or_ the libraries installed. You may need to either
+provide correct --with-extra-... options, or the development package of
+libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/
+Disabling JPEG support.
+])
+ else
+ AC_MSG_WARN([libjpeg not found. disable JPEG support.])
+ fi
+ jpeg_incdir=
+ LIBJPEG=
+fi
+
+AC_SUBST(LIBJPEG)
+AH_VERBATIM(_AC_CHECK_JPEG,
+[/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+])
+])
+
+AC_DEFUN([KDE_CHECK_QT_JPEG],
+[
+if test -n "$LIBJPEG"; then
+AC_MSG_CHECKING([if Qt needs $LIBJPEG])
+AC_CACHE_VAL(kde_cv_qt_jpeg,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS $LIBQT"
+LIBS=`echo $LIBS | sed "s/$LIBJPEG//"`
+ac_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(
+[#include <qapplication.h>],
+ [
+ int argc;
+ char** argv;
+ QApplication app(argc, argv);],
+ eval "kde_cv_qt_jpeg=no",
+ eval "kde_cv_qt_jpeg=yes")
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+fi
+])
+
+if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then
+ AC_MSG_RESULT(yes)
+ LIBJPEG_QT='$(LIBJPEG)'
+else
+ AC_MSG_RESULT(no)
+ LIBJPEG_QT=
+fi
+
+])
+
+AC_DEFUN([AC_FIND_ZLIB],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for libz])
+AC_CACHE_VAL(ac_cv_lib_z,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#include<zlib.h>
+#include<string.h>
+],
+[
+ char buf[42];
+ gzFile f = (gzFile) 0;
+ /* this would segfault.. but we only link, don't run */
+ (void) gzgets(f, buf, sizeof(buf));
+
+ return (strcmp(zlibVersion(), ZLIB_VERSION) == 0);
+],
+ eval "ac_cv_lib_z='-lz'",
+ eval "ac_cv_lib_z=no")
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if test ! "$ac_cv_lib_z" = no; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz])
+ LIBZ="$ac_cv_lib_z"
+ AC_MSG_RESULT($ac_cv_lib_z)
+else
+ AC_MSG_ERROR(not found.
+ Possibly configure picks up an outdated version
+ installed by XFree86. Remove it from your system.
+
+ Check your installation and look into config.log)
+ LIBZ=""
+fi
+AC_SUBST(LIBZ)
+])
+
+AC_DEFUN([KDE_TRY_TIFFLIB],
+[
+AC_MSG_CHECKING([for libtiff $1])
+
+AC_CACHE_VAL(kde_cv_libtiff_$1,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm"
+else
+LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm"
+fi
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+[
+#include<tiffio.h>
+],
+ [return (TIFFOpen( "", "r") == 0); ],
+[
+ kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ"
+], [
+ kde_cv_libtiff_$1=no
+])
+
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])
+
+if test "$kde_cv_libtiff_$1" = "no"; then
+ AC_MSG_RESULT(no)
+ LIBTIFF=""
+ $3
+else
+ LIBTIFF="$kde_cv_libtiff_$1"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff])
+ $2
+fi
+
+])
+
+AC_DEFUN([AC_FIND_TIFF],
+[
+AC_REQUIRE([K_PATH_X])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+KDE_TRY_TIFFLIB(tiff, [],
+ KDE_TRY_TIFFLIB(tiff34))
+
+AC_SUBST(LIBTIFF)
+])
+
+AC_DEFUN([KDE_FIND_LIBEXR],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_CACHE_VAL(ac_cv_libexr,
+[
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ AC_MSG_CHECKING([for OpenEXR libraries])
+
+ if test "$PKG_CONFIG" = "no" ; then
+ AC_MSG_RESULT(no)
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ if ! $PKG_CONFIG --exists OpenEXR ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=no
+ else
+ if ! $PKG_CONFIG --atleast-version="1.1.1" OpenEXR ; then
+ AC_MSG_RESULT(no)
+ EXRSTATUS=old
+ else
+ kde_save_LIBS="$LIBS"
+ LIBS="$LIBS $all_libraries $USER_LDFLAGS `pkg-config --libs OpenEXR` $LIBZ"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ EXR_FLAGS=`$PKG_CONFIG --cflags OpenEXR`
+ CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES $EXR_FLAGS"
+
+ AC_TRY_LINK(dnl
+ [
+ #include <ImfRgbaFile.h>
+ ],
+ [
+ using namespace Imf;
+ RgbaInputFile file ("dummy");
+ return 0;
+ ],
+ eval "ac_cv_libexr='`pkg-config --libs OpenEXR`'",
+ eval "ac_cv_libexr=no"
+ )
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+ if eval "test ! \"`echo $ac_cv_libexr`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_EXR, 1, [Define if you have OpenEXR])
+ LIB_EXR="$ac_cv_libexr"
+ AC_MSG_RESULT($ac_cv_libexr)
+ else
+ AC_MSG_RESULT(no)
+ LIB_EXR=""
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST(LIB_EXR)
+ AC_SUBST(EXR_FLAGS)
+])
+
+
+
+AC_DEFUN([AC_FIND_PNG],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_ZLIB])
+AC_MSG_CHECKING([for libpng])
+AC_CACHE_VAL(ac_cv_lib_png,
+[
+kde_save_LIBS="$LIBS"
+if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET"
+else
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm"
+fi
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<png.h>
+ ],
+ [
+ png_structp png_ptr = png_create_read_struct( /* image ptr */
+ PNG_LIBPNG_VER_STRING, 0, 0, 0 );
+ return( png_ptr != 0 );
+ ],
+ eval "ac_cv_lib_png='-lpng $LIBZ -lm'",
+ eval "ac_cv_lib_png=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng])
+ LIBPNG="$ac_cv_lib_png"
+ AC_SUBST(LIBPNG)
+ AC_MSG_RESULT($ac_cv_lib_png)
+else
+ AC_MSG_RESULT(no)
+ LIBPNG=""
+ AC_SUBST(LIBPNG)
+fi
+])
+
+
+AC_DEFUN([AC_FIND_JASPER],
+[
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_REQUIRE([AC_FIND_JPEG])
+AC_MSG_CHECKING([for jasper])
+AC_CACHE_VAL(ac_cv_jasper,
+[
+kde_save_LIBS="$LIBS"
+LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm"
+kde_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $all_includes $USER_INCLUDES"
+
+AC_TRY_LINK(dnl
+ [
+ #include<jasper/jasper.h>
+ ],
+ [
+ return( jas_init() );
+ ],
+ eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'",
+ eval "ac_cv_jasper=no"
+)
+LIBS="$kde_save_LIBS"
+CFLAGS="$kde_save_CFLAGS"
+])dnl
+if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then
+ AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper])
+ LIB_JASPER="$ac_cv_jasper"
+ AC_MSG_RESULT($ac_cv_jasper)
+else
+ AC_MSG_RESULT(no)
+ LIB_JASPER=""
+fi
+AC_SUBST(LIB_JASPER)
+])
+
+AC_DEFUN([AC_CHECK_BOOL],
+[
+ AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool])
+])
+
+AC_DEFUN([AC_CHECK_GNU_EXTENSIONS],
+[
+AC_MSG_CHECKING(if you need GNU extensions)
+AC_CACHE_VAL(ac_cv_gnu_extensions,
+[
+cat > conftest.c << EOF
+#include <features.h>
+
+#ifdef __GNU_LIBRARY__
+yes
+#endif
+EOF
+
+if (eval "$ac_cpp conftest.c") 2>&5 |
+ egrep "yes" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_gnu_extensions=yes
+else
+ ac_cv_gnu_extensions=no
+fi
+])
+
+AC_MSG_RESULT($ac_cv_gnu_extensions)
+if test "$ac_cv_gnu_extensions" = "yes"; then
+ AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions])
+fi
+])
+
+AC_DEFUN([KDE_CHECK_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CXX supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], [])
+ CXXFLAGS="$save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+AC_DEFUN([KDE_CHECK_C_COMPILER_FLAG],
+[
+AC_MSG_CHECKING([whether $CC supports -$1])
+kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'`
+AC_CACHE_VAL(kde_cv_prog_cc_$kde_cache,
+[
+ AC_LANG_SAVE
+ AC_LANG_C
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -$1"
+ AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cc_$kde_cache=yes"], [])
+ CFLAGS="$save_CFLAGS"
+ AC_LANG_RESTORE
+])
+if eval "test \"`echo '$kde_cv_prog_cc_'$kde_cache`\" = yes"; then
+ AC_MSG_RESULT(yes)
+ :
+ $2
+else
+ AC_MSG_RESULT(no)
+ :
+ $3
+fi
+])
+
+
+dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables
+dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever])
+dnl it's all white-space separated
+AC_DEFUN([AC_REMOVE_FORBIDDEN],
+[ __val=$$1
+ __forbid=" $2 "
+ if test -n "$__val"; then
+ __new=""
+ ac_save_IFS=$IFS
+ IFS=" "
+ for i in $__val; do
+ case "$__forbid" in
+ *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;;
+ *) # Careful to not add spaces, where there were none, because otherwise
+ # libtool gets confused, if we change e.g. CXX
+ if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;;
+ esac
+ done
+ IFS=$ac_save_IFS
+ $1=$__new
+ fi
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_BAD_COMPILER],
+[
+ AC_MSG_CHECKING([whether $CC is blacklisted])
+
+ dnl In theory we have tu run this test against $CC and $CXX
+ dnl in C and in C++ mode, because its perfectly legal for
+ dnl the user to mix compiler versions, since C has a defined
+ dnl ABI.
+ dnl
+ dnl For now, we assume the user is not on crack.
+
+ AC_TRY_COMPILE([
+#ifdef __GNUC__
+#if __GNUC__ == 4 && __GNUC_MINOR__ == 0 && __GNUC_PATCHLEVEL__ == 0
+choke me
+#endif
+#endif
+], ,
+ kde_bad_compiler=no,
+ kde_bad_compiler=yes
+)
+
+ AC_MSG_RESULT($kde_bad_compiler)
+
+if test "$kde_bad_compiler" = "yes"; then
+ AC_MSG_ERROR([
+
+This particular compiler version is blacklisted because it
+is known to miscompile KDE. Please use a newer version, or
+if that is not yet available, choose an older version.
+
+Please do not report a bug or bother us reporting this
+configure error. We know about it, and we introduced
+it by intention to avoid untraceable bugs or crashes in KDE.
+
+])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_FOR_OPT_NOINLINE_MATCH],
+[
+ AC_CACHE_CHECK([whether system headers can cope with -O2 -fno-inline],
+ kde_cv_opt_noinline_match,
+ [
+ kde_cv_opt_noinline_match=irrelevant
+ dnl if we don't use both -O2 and -fno-inline, this check is moot
+ if echo "$CFLAGS" | grep -e -O2 >/dev/null 2>/dev/null \
+ && echo "$CFLAGS" | grep -e -fno-inline >/dev/null 2>/dev/null ; then
+
+ ac_cflags_save="$CFLAGS"
+ CFLAGS="$CFLAGS -D_USE_GNU"
+
+ AC_TRY_LINK([
+ #include <string.h>
+], [ const char *pt, *et;
+ et = __extension__ ({ char __a0, __a1, __a2; (__builtin_constant_p ( ";," ) && ((size_t)(const void *)(( ";," )+ 1) - (size_t)(const void *)( ";," ) == 1) ? ((__a0 =((__const char *) ( ";," ))[0], __a0 == '\0') ? ((void) ( pt ),((void *)0) ) : ((__a1 = ((__const char *) ( ";," ))[1], __a1== '\0') ? (__extension__ (__builtin_constant_p ( __a0 ) && ( __a0 ) == '\0' ? (char *) __rawmemchr ( pt , __a0) : strchr( pt , __a0 ))) : ((__a2 = ((__const char *) ( ";," ))[2], __a2 == '\0') ? __strpbrk_c2 ( pt , __a0, __a1) :(((__const char *) ( ";," ))[3] == '\0' ? __strpbrk_c3 ( pt ,__a0, __a1, __a2): strpbrk ( pt , ";," ))))) : strpbrk ( pt , ";," )); }) ;
+],
+ kde_cv_opt_noinline_match=yes,
+ kde_cv_opt_noinline_match=no
+ )
+
+ CFLAGS="$ac_cflags_save"
+ fi
+ ])
+])
+
+
+dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given
+AC_DEFUN([AC_VALIDIFY_CXXFLAGS],
+[dnl
+if test "x$kde_use_qt_emb" != "xyes"; then
+ AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath])
+else
+ AC_REMOVE_FORBIDDEN(CXX, [-rpath])
+ AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath])
+fi
+])
+
+AC_DEFUN([AC_CHECK_COMPILERS],
+[
+ AC_ARG_ENABLE(debug,
+ AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]),
+ [
+ case $enableval in
+ yes)
+ kde_use_debug_code="yes"
+ kde_use_debug_define=no
+ ;;
+ full)
+ kde_use_debug_code="full"
+ kde_use_debug_define=no
+ ;;
+ *)
+ kde_use_debug_code="no"
+ kde_use_debug_define=yes
+ ;;
+ esac
+ ],
+ [kde_use_debug_code="no"
+ kde_use_debug_define=no
+ ])
+
+ dnl Just for configure --help
+ AC_ARG_ENABLE(dummyoption,
+ AC_HELP_STRING([--disable-debug],
+ [disables debug output and debug symbols [default=no]]),
+ [],[])
+
+ AC_ARG_ENABLE(strict,
+ AC_HELP_STRING([--enable-strict],
+ [compiles with strict compiler options (may not work!)]),
+ [
+ if test $enableval = "no"; then
+ kde_use_strict_options="no"
+ else
+ kde_use_strict_options="yes"
+ fi
+ ], [kde_use_strict_options="no"])
+
+ AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similar]),
+ [
+ if test $enableval = "no"; then
+ kde_use_warnings="no"
+ else
+ kde_use_warnings="yes"
+ fi
+ ], [kde_use_warnings="yes"])
+
+ dnl enable warnings for debug build
+ if test "$kde_use_debug_code" != "no"; then
+ kde_use_warnings=yes
+ fi
+
+ AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]),
+ [kde_use_profiling=$enableval],
+ [kde_use_profiling="no"]
+ )
+
+ dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS
+ CFLAGS=" $CFLAGS"
+
+ AC_PROG_CC
+
+ AC_PROG_CPP
+
+ if test "$GCC" = "yes"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test $kde_use_debug_code = "full"; then
+ CFLAGS="-g3 -fno-inline $CFLAGS"
+ else
+ CFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CFLAGS"
+ fi
+ else
+ CFLAGS="-O2 $CFLAGS"
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CFLAGS="-DNDEBUG $CFLAGS"
+ fi
+
+
+ case "$host" in
+ *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";;
+ *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";;
+ esac
+
+ if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then
+ LDFLAGS=""
+ fi
+
+ CXXFLAGS=" $CXXFLAGS"
+
+ AC_PROG_CXX
+
+ KDE_CHECK_FOR_BAD_COMPILER
+
+ if test "$GXX" = "yes" || test "$CXX" = "KCC"; then
+ if test "$kde_use_debug_code" != "no"; then
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS"
+ else
+ if test "$kde_use_debug_code" = "full"; then
+ CXXFLAGS="-g3 -fno-inline $CXXFLAGS"
+ else
+ CXXFLAGS="-g -O2 -fno-schedule-insns -fno-inline $CXXFLAGS"
+ fi
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"])
+
+ dnl convenience compiler flags
+ KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""])
+ AC_SUBST(WOVERLOADED_VIRTUAL)
+ else
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="+K3 $CXXFLAGS"
+ else
+ CXXFLAGS="-O2 $CXXFLAGS"
+ fi
+ fi
+ fi
+
+ if test "$kde_use_debug_define" = "yes"; then
+ CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS"
+ fi
+
+ if test "$kde_use_profiling" = "yes"; then
+ KDE_CHECK_COMPILER_FLAG(pg,
+ [
+ CFLAGS="-pg $CFLAGS"
+ CXXFLAGS="-pg $CXXFLAGS"
+ ])
+ fi
+
+ if test "$kde_use_warnings" = "yes"; then
+ if test "$GCC" = "yes"; then
+ CXXFLAGS="-Wall -W -Wpointer-arith $CXXFLAGS"
+ case $host in
+ *-*-linux-gnu)
+ CFLAGS="-std=iso9899:1990 -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS"
+ CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts $CXXFLAGS"
+ KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"])
+ KDE_CHECK_C_COMPILER_FLAG(Wmissing-format-attribute, [CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"])
+ ;;
+ esac
+ KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"])
+ KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"])
+ dnl ### FIXME: revert for KDE 4
+ KDE_CHECK_COMPILER_FLAG(Wno-non-virtual-dtor,[CXXFLAGS="$CXXFLAGS -Wno-non-virtual-dtor"])
+ fi
+ fi
+
+ if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then
+ CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS"
+ fi
+
+ AC_ARG_ENABLE(pch,
+ AC_HELP_STRING([--enable-pch],
+ [enables precompiled header support (currently only KCC or gcc >=3.4+unsermake) [default=no]]),
+ [ kde_use_pch=$enableval ],[ kde_use_pch=no ])
+
+ HAVE_GCC_VISIBILITY=0
+ AC_SUBST([HAVE_GCC_VISIBILITY])
+
+ if test "$GXX" = "yes"; then
+ gcc_no_reorder_blocks=NO
+ KDE_CHECK_COMPILER_FLAG(fno-reorder-blocks,[gcc_no_reorder_blocks=YES])
+ if test $kde_use_debug_code != "no" && \
+ test $kde_use_debug_code != "full" && \
+ test "YES" = "$gcc_no_reorder_blocks" ; then
+ CXXFLAGS="$CXXFLAGS -fno-reorder-blocks"
+ CFLAGS="$CFLAGS -fno-reorder-blocks"
+ fi
+ KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
+ KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
+ KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
+ KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= )
+ ENABLE_PERMISSIVE_FLAG="-fpermissive"
+
+ if test "$kde_use_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c header files)
+ echo >conftest.h
+ if $CC -x c-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ if test "$kde_gcc_supports_pch" = "yes"; then
+ AC_MSG_CHECKING(whether gcc supports precompiling c++ header files)
+ if $CXX -x c++-header conftest.h >/dev/null 2>/dev/null; then
+ kde_gcc_supports_pch=yes
+ AC_MSG_RESULT(yes)
+ else
+ kde_gcc_supports_pch=no
+ AC_MSG_RESULT(no)
+ fi
+ fi
+ rm -f conftest.h conftest.h.gch
+ fi
+
+ KDE_CHECK_FOR_OPT_NOINLINE_MATCH
+ if test "x$kde_cv_opt_noinline_match" = "xno" ; then
+ CFLAGS="`echo "$CFLAGS" | sed "s/ -fno-inline//"`"
+ fi
+ fi
+ AM_CONDITIONAL(unsermake_enable_pch, test "$kde_use_pch" = "yes" && test "$kde_gcc_supports_pch" = "yes")
+ if test "$CXX" = "KCC"; then
+ dnl unfortunately we currently cannot disable exception support in KCC
+ dnl because doing so is binary incompatible and Qt by default links with exceptions :-(
+ dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"])
+ dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= )
+
+ if test "$kde_use_pch" = "yes"; then
+ dnl TODO: support --pch-dir!
+ KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"])
+ dnl the below works (but the dir must exist), but it's
+ dnl useless for a whole package.
+ dnl The are precompiled headers for each source file, so when compiling
+ dnl from scratch, it doesn't make a difference, and they take up
+ dnl around ~5Mb _per_ sourcefile.
+ dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp,
+ dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"])
+ fi
+ dnl this flag controls inlining. by default KCC inlines in optimisation mode
+ dnl all implementations that are defined inside the class {} declaration.
+ dnl because of templates-compatibility with broken gcc compilers, this
+ dnl can cause excessive inlining. This flag limits it to a sane level
+ KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"])
+ KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"])
+ KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"])
+ KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"])
+ dnl Some source files are shared between multiple executables
+ dnl (or libraries) and some of those need template instantiations.
+ dnl In that case KCC needs to compile those sources with
+ dnl --one_instantiation_per_object. To make it easy for us we compile
+ dnl _all_ objects with that flag (--one_per is a shorthand).
+ KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"])
+ fi
+ AC_SUBST(USE_EXCEPTIONS)
+ dnl obsolete macro - provided to keep things going
+ USE_RTTI=
+ AC_SUBST(USE_RTTI)
+
+ case "$host" in
+ *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;;
+ *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";;
+ *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";;
+ *-*-solaris*)
+ if test "$GXX" = yes; then
+ libstdcpp=`$CXX -print-file-name=libstdc++.so`
+ if test ! -f $libstdcpp; then
+ AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so])
+ fi
+ fi
+ ;;
+ esac
+
+ AC_VALIDIFY_CXXFLAGS
+
+ AC_PROG_CXXCPP
+
+ if test "$GCC" = yes; then
+ NOOPT_CFLAGS=-O0
+ fi
+ KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0])
+
+ AC_ARG_ENABLE(coverage,
+ AC_HELP_STRING([--enable-coverage],[use gcc coverage testing]), [
+ if test "$am_cv_CC_dependencies_compiler_type" = "gcc3"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker="-lgcc"
+ elif test "$am_cv_CC_dependencies_compiler_type" = "gcc"; then
+ ac_coverage_compiler="-fprofile-arcs -ftest-coverage"
+ ac_coverage_linker=""
+ else
+ AC_MSG_ERROR([coverage with your compiler is not supported])
+ fi
+ CFLAGS="$CFLAGS $ac_coverage_compiler"
+ CXXFLAGS="$CXXFLAGS $ac_coverage_compiler"
+ LDFLAGS="$LDFLAGS $ac_coverage_linker"
+ ])
+
+ AC_SUBST(NOOPT_CXXFLAGS)
+ AC_SUBST(NOOPT_CFLAGS)
+ AC_SUBST(ENABLE_PERMISSIVE_FLAG)
+
+ KDE_CHECK_NEW_LDFLAGS
+ KDE_CHECK_FINAL
+ KDE_CHECK_CLOSURE
+ KDE_CHECK_NMCHECK
+
+ ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), [])
+])
+
+AC_DEFUN([KDE_CHECK_VISIBILITY_GCC_BUG],
+ [
+ AC_CACHE_CHECK([for gcc -fvisibility-inlines-hidden bug], kde_cv_val_gcc_visibility_bug,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIC -fvisibility-inlines-hidden -O0"
+ LDFLAGS="$LDFLAGS -shared -fPIC"
+
+ AC_TRY_LINK(
+ [
+ /* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19664 */
+ #include <string>
+ int some_function( void ) __attribute__ ((visibility("default")));
+ int some_function( void )
+ {
+ std::string s("blafasel");
+ return 0;
+ }
+ ], [/* elvis is alive */],
+ kde_cv_val_gcc_visibility_bug=no, kde_cv_val_gcc_visibility_bug=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_cv_val_gcc_visibility_bug = xno; then
+ CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
+ fi
+ ]
+)
+
+AC_DEFUN([KDE_ENABLE_HIDDEN_VISIBILITY],
+[
+ AC_BEFORE([AC_PATH_QT_1_3], [KDE_ENABLE_HIDDEN_VISIBILITY])
+
+ AC_MSG_CHECKING([grepping for visibility push/pop in headers])
+
+ if test "x$GXX" = "xyes"; then
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_EGREP_CPP(
+ [GCC visibility push],
+ [ #include <exception>
+ ],
+ [
+ AC_MSG_RESULT(yes)
+ kde_stdc_visibility_patched=yes ],
+ [
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([Your libstdc++ doesn't appear to be patched for
+ visibility support. Disabling -fvisibility=hidden])
+
+ kde_stdc_visibility_patched=no ])
+
+ AC_LANG_RESTORE
+
+ kde_have_gcc_visibility=no
+ KDE_CHECK_COMPILER_FLAG(fvisibility=hidden,
+ [
+ kde_have_gcc_visibility=yes
+ dnl the whole toolchain is just a mess, gcc is just too buggy
+ dnl to handle STL with visibility enabled. Lets reconsider
+ dnl when gcc 4.2 is out or when things get fixed in the compiler.
+ dnl Contact mueller@kde.org for details.
+ AC_ARG_ENABLE(gcc-hidden-visibility,
+ AC_HELP_STRING([--enable-gcc-hidden-visibility],[toolchain hidden visibility [default=no]]),
+ [kde_have_gcc_visibility=$enableval],
+ [kde_have_gcc_visibility=no])
+
+ AC_CACHE_CHECK([if Qt is patched for -fvisibility], kde_cv_val_qt_gcc_visibility_patched,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ safe_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$CXXFLAGS $all_includes"
+
+ AC_TRY_COMPILE(
+ [
+#include <qglobal.h>
+#if Q_EXPORT - 0 != 0
+/* if this compiles, then Q_EXPORT is undefined */
+/* if Q_EXPORT is nonempty, this will break compilation */
+#endif
+ ], [/* elvis is alive */],
+ kde_cv_val_qt_gcc_visibility_patched=no, kde_cv_val_qt_gcc_visibility_patched=yes)
+
+ CXXFLAGS=$safe_CXXFLAGS
+ AC_LANG_RESTORE
+ ]
+ )
+
+ if test x$kde_have_gcc_visibility = "xyes" && test x$kde_stdc_visibility_patched = "xyes" && test x$kde_cv_val_qt_gcc_visibility_patched = "xyes"; then
+ CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+ KDE_CHECK_VISIBILITY_GCC_BUG
+ HAVE_GCC_VISIBILITY=1
+ AC_DEFINE_UNQUOTED(__KDE_HAVE_GCC_VISIBILITY, "$HAVE_GCC_VISIBILITY", [define to 1 if -fvisibility is supported])
+ fi
+ ])
+ fi
+])
+
+AC_DEFUN([KDE_ADD_DEPENDENCIES],
+[
+ [A]M_DEPENDENCIES(CC)
+ [A]M_DEPENDENCIES(CXX)
+])
+
+dnl just a wrapper to clean up configure.in
+AC_DEFUN([KDE_PROG_LIBTOOL],
+[
+AC_REQUIRE([AC_CHECK_COMPILERS])
+AC_REQUIRE([AC_ENABLE_SHARED])
+AC_REQUIRE([AC_ENABLE_STATIC])
+
+AC_REQUIRE([AC_LIBTOOL_DLOPEN])
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+AC_OBJEXT
+AC_EXEEXT
+
+AM_PROG_LIBTOOL
+AC_LIBTOOL_CXX
+
+LIBTOOL_SHELL="/bin/sh ./libtool"
+# LIBTOOL="$LIBTOOL --silent"
+KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)"
+AC_SUBST(KDE_PLUGIN)
+
+# This hack ensures that libtool creates shared libs for kunittest plugins. By default check_LTLIBRARIES makes static libs.
+KDE_CHECK_PLUGIN="\$(KDE_PLUGIN) -rpath \$(libdir)"
+AC_SUBST(KDE_CHECK_PLUGIN)
+
+# we patch configure quite some so we better keep that consistent for incremental runs
+AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure')
+])
+
+AC_DEFUN([KDE_CHECK_LIB64],
+[
+ AC_ARG_ENABLE(libsuffix,
+ AC_HELP_STRING([--enable-libsuffix],
+ [/lib directory suffix (64,32,none,auto[=default])]),
+ kdelibsuff=$enableval, kdelibsuff="auto")
+
+ if test "$kdelibsuff" = "auto"; then
+
+cat > conftest.c << EOF
+#include <stdio.h>
+int main() {
+ return 0;
+}
+EOF
+ kdelibsuff=`$CC conftest.c -o conftest.out; ldd conftest.out |sed -ne '/libc.so/{
+ s,.*/lib\([[^\/]]*\)/.*,\1,
+ p
+}'`
+ rm -rf conftest.*
+ fi
+
+ if test "$kdelibsuff" = "no" || test "$kdelibsuff" = "none"; then
+ kdelibsuff=
+ fi
+ if test -z "$kdelibsuff"; then
+ AC_MSG_RESULT([not using lib directory suffix])
+ AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories)
+ else
+ if test "$libdir" = '${exec_prefix}/lib'; then
+ libdir="$libdir${kdelibsuff}"
+ AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms
+ fi
+ AC_DEFINE_UNQUOTED(KDELIBSUFF, ["${kdelibsuff}"], Suffix for lib directories)
+ AC_MSG_RESULT([using lib directory suffix $kdelibsuff])
+ fi
+])
+
+AC_DEFUN([KDE_CHECK_TYPES],
+[ AC_CHECK_SIZEOF(int, 4)dnl
+ AC_CHECK_SIZEOF(short)dnl
+ AC_CHECK_SIZEOF(long, 4)dnl
+ AC_CHECK_SIZEOF(char *, 4)dnl
+])dnl
+
+dnl Not used - kept for compat only?
+AC_DEFUN([KDE_DO_IT_ALL],
+[
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AM_INIT_AUTOMAKE($1, $2)
+AM_DISABLE_LIBRARIES
+AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+AC_CHECK_COMPILERS
+KDE_PROG_LIBTOOL
+AM_KDE_WITH_NLS
+AC_PATH_KDE
+])
+
+AC_DEFUN([AC_CHECK_RPATH],
+[
+AC_MSG_CHECKING(for rpath)
+AC_ARG_ENABLE(rpath,
+ AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]),
+ USE_RPATH=$enableval, USE_RPATH=yes)
+
+if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then
+
+ KDE_RPATH="-R \$(libdir)"
+
+ if test "$kde_libraries" != "$libdir"; then
+ KDE_RPATH="$KDE_RPATH -R \$(kde_libraries)"
+ fi
+
+ if test -n "$qt_libraries"; then
+ KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)"
+ fi
+ dnl $x_libraries is set to /usr/lib in case
+ if test -n "$X_LDFLAGS"; then
+ X_RPATH="-R \$(x_libraries)"
+ KDE_RPATH="$KDE_RPATH $X_RPATH"
+ fi
+ if test -n "$KDE_EXTRA_RPATH"; then
+ KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)"
+ fi
+fi
+AC_SUBST(KDE_EXTRA_RPATH)
+AC_SUBST(KDE_RPATH)
+AC_SUBST(X_RPATH)
+AC_MSG_RESULT($USE_RPATH)
+])
+
+dnl Check for the type of the third argument of getsockname
+AC_DEFUN([AC_CHECK_SOCKLEN_T],
+[
+ AC_MSG_CHECKING(for socklen_t)
+ AC_CACHE_VAL(kde_cv_socklen_t,
+ [
+ AC_LANG_PUSH(C++)
+ kde_cv_socklen_t=no
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ socklen_t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t=yes
+ kde_cv_socklen_t_equiv=socklen_t
+ ])
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t)
+ if test $kde_cv_socklen_t = no; then
+ AC_MSG_CHECKING([for socklen_t equivalent for socket functions])
+ AC_CACHE_VAL(kde_cv_socklen_t_equiv,
+ [
+ kde_cv_socklen_t_equiv=int
+ AC_LANG_PUSH(C++)
+ for t in int size_t unsigned long "unsigned long"; do
+ AC_TRY_COMPILE([
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ ],
+ [
+ $t len;
+ getpeername(0,0,&len);
+ ],
+ [
+ kde_cv_socklen_t_equiv="$t"
+ break
+ ])
+ done
+ AC_LANG_POP(C++)
+ ])
+ AC_MSG_RESULT($kde_cv_socklen_t_equiv)
+ fi
+ AC_DEFINE_UNQUOTED(kde_socklen_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined])
+ AC_DEFINE_UNQUOTED(ksize_t, $kde_cv_socklen_t_equiv,
+ [type to use in place of socklen_t if not defined (deprecated, use kde_socklen_t)])
+])
+
+dnl This is a merge of some macros out of the gettext aclocal.m4
+dnl since we don't need anything, I took the things we need
+dnl the copyright for them is:
+dnl >
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+dnl >
+dnl for this file it is relicensed under LGPL
+
+AC_DEFUN([AM_KDE_WITH_NLS],
+ [
+ dnl If we use NLS figure out what method
+
+ AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt,
+ [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+ if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then
+ AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it])
+ GMSGFMT=":"
+ fi
+ MSGFMT=$GMSGFMT
+ AC_SUBST(GMSGFMT)
+ AC_SUBST(MSGFMT)
+
+ AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext programs is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+ AC_SUBST(XGETTEXT)
+
+ ])
+
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+# serial 1
+# Stephan Kulow: I appended a _KDE against name conflicts
+
+dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+ /*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word"
+ break
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+ AC_MSG_RESULT([$]$1)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# serial 1
+
+AC_DEFUN([AM_LC_MESSAGES],
+ [if test $ac_cv_header_locale_h = yes; then
+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+ if test $am_cv_val_LC_MESSAGES = yes; then
+ AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES])
+ fi
+ fi])
+
+dnl From Jim Meyering.
+dnl FIXME: migrate into libit.
+
+AC_DEFUN([AM_FUNC_OBSTACK],
+[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack,
+ [AC_TRY_LINK([#include "obstack.h"],
+ [struct obstack *mem;obstack_free(mem,(char *) 0)],
+ am_cv_func_obstack=yes,
+ am_cv_func_obstack=no)])
+ if test $am_cv_func_obstack = yes; then
+ AC_DEFINE(HAVE_OBSTACK)
+ else
+ LIBOBJS="$LIBOBJS obstack.o"
+ fi
+])
+
+dnl From Jim Meyering. Use this if you use the GNU error.[ch].
+dnl FIXME: Migrate into libit
+
+AC_DEFUN([AM_FUNC_ERROR_AT_LINE],
+[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line,
+ [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");],
+ am_cv_lib_error_at_line=yes,
+ am_cv_lib_error_at_line=no)])
+ if test $am_cv_lib_error_at_line = no; then
+ LIBOBJS="$LIBOBJS error.o"
+ fi
+ AC_SUBST(LIBOBJS)dnl
+])
+
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+
+# serial 1
+# Stephan Kulow: I put a KDE in it to avoid name conflicts
+
+AC_DEFUN([AM_KDE_GNU_GETTEXT],
+ [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+ AC_REQUIRE([AM_KDE_WITH_NLS])dnl
+ AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h])
+ AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+ AC_MSG_CHECKING(for stpcpy)
+ AC_CACHE_VAL(kde_cv_func_stpcpy,
+ [
+ kde_safe_cxxflags=$CXXFLAGS
+ CXXFLAGS="-Werror"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+ #include <string.h>
+ ],
+ [
+ char buffer[200];
+ stpcpy(buffer, buffer);
+ ],
+ kde_cv_func_stpcpy=yes,
+ kde_cv_func_stpcpy=no)
+ AC_LANG_RESTORE
+ CXXFLAGS=$kde_safe_cxxflags
+ ])
+ AC_MSG_RESULT($kde_cv_func_stpcpy)
+ if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then
+ AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy])
+ fi
+
+ AM_LC_MESSAGES
+
+ if test "x$CATOBJEXT" != "x"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+ *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+ esac
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ ])
+
+AC_DEFUN([AC_HAVE_XPM],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$XPM_LDFLAGS" && XPM_LDFLAGS=
+ test -z "$XPM_INCLUDE" && XPM_INCLUDE=
+
+ AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]),
+ xpm_test=$withval, xpm_test="yes")
+ if test "x$xpm_test" = xno; then
+ ac_cv_have_xpm=no
+ else
+ AC_MSG_CHECKING(for XPM)
+ AC_CACHE_VAL(ac_cv_have_xpm,
+ [
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET"
+ else
+ LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET"
+ fi
+ CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES"
+ test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <X11/xpm.h>],[],
+ ac_cv_have_xpm="yes",ac_cv_have_xpm="no")
+ LDFLAGS="$ac_save_ldflags"
+ CFLAGS="$ac_save_cflags"
+ ])dnl
+
+ if test "$ac_cv_have_xpm" = no; then
+ AC_MSG_RESULT(no)
+ XPM_LDFLAGS=""
+ XPMINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support])
+ if test "$XPM_LDFLAGS" = ""; then
+ XPMLIB='-lXpm $(LIB_X11)'
+ else
+ XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)'
+ fi
+ if test "$XPM_INCLUDE" = ""; then
+ XPMINC=""
+ else
+ XPMINC="-I$XPM_INCLUDE"
+ fi
+ AC_MSG_RESULT(yes)
+ $1
+ fi
+ fi
+ AC_SUBST(XPMINC)
+ AC_SUBST(XPMLIB)
+])
+
+AC_DEFUN([AC_HAVE_DPMS],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS=
+ test -z "$DPMS_INCLUDE" && DPMS_INCLUDE=
+ DPMS_LIB=
+
+ AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]),
+ dpms_test=$withval, dpms_test="yes")
+ if test "x$dpms_test" = xno; then
+ ac_cv_have_dpms=no
+ else
+ AC_MSG_CHECKING(for DPMS)
+ dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms.
+ dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms".
+ AC_CACHE_VAL(ac_cv_have_dpms,
+ [
+ if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then
+ AC_MSG_RESULT(no)
+ ac_cv_have_dpms="no"
+ else
+ ac_save_ldflags="$LDFLAGS"
+ ac_save_cflags="$CFLAGS"
+ ac_save_libs="$LIBS"
+ LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries"
+ LIBS="-lX11 -lXext $LIBSOCKET"
+ CFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+ AC_TRY_LINK([
+ #include <X11/Xproto.h>
+ #include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>
+ int foo_test_dpms()
+ { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+ ac_cv_have_dpms="yes", [
+ LIBS="-lXdpms $LIBS"
+ AC_TRY_LINK([
+ #include <X11/Xproto.h>
+ #include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>
+ int foo_test_dpms()
+ { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[],
+ [
+ ac_cv_have_dpms="-lXdpms"
+ ],ac_cv_have_dpms="no")
+ ])
+ LDFLAGS="$ac_save_ldflags"
+ CFLAGS="$ac_save_cflags"
+ LIBS="$ac_save_libs"
+ fi
+ ])dnl
+
+ if test "$ac_cv_have_dpms" = no; then
+ AC_MSG_RESULT(no)
+ DPMS_LDFLAGS=""
+ DPMSINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support])
+ if test "$ac_cv_have_dpms" = "-lXdpms"; then
+ DPMS_LIB="-lXdpms"
+ fi
+ if test "$DPMS_LDFLAGS" = ""; then
+ DPMSLIB="$DPMS_LIB "'$(LIB_X11)'
+ else
+ DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)'
+ fi
+ if test "$DPMS_INCLUDE" = ""; then
+ DPMSINC=""
+ else
+ DPMSINC="-I$DPMS_INCLUDE"
+ fi
+ AC_MSG_RESULT(yes)
+ $1
+ fi
+ fi
+ ac_save_cflags="$CFLAGS"
+ CFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS"
+ AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO,
+ [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSCapable,
+ AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ AH_TEMPLATE(HAVE_DPMSINFO_PROTO,
+ [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>])
+ AC_CHECK_DECL(DPMSInfo,
+ AC_DEFINE(HAVE_DPMSINFO_PROTO),,
+ [#include <X11/Xlib.h>
+ #include <X11/extensions/dpms.h>])
+ CFLAGS="$ac_save_cflags"
+ AC_SUBST(DPMSINC)
+ AC_SUBST(DPMSLIB)
+])
+
+AC_DEFUN([AC_HAVE_GL],
+ [AC_REQUIRE_CPP()dnl
+ AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+
+ test -z "$GL_LDFLAGS" && GL_LDFLAGS=
+ test -z "$GL_INCLUDE" && GL_INCLUDE=
+
+ AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]),
+ gl_test=$withval, gl_test="yes")
+ if test "x$kde_use_qt_emb" = "xyes"; then
+ # GL and Qt Embedded is a no-go for now.
+ ac_cv_have_gl=no
+ elif test "x$gl_test" = xno; then
+ ac_cv_have_gl=no
+ else
+ AC_MSG_CHECKING(for GL)
+ AC_CACHE_VAL(ac_cv_have_gl,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_ldflags=$LDFLAGS
+ ac_save_cxxflags=$CXXFLAGS
+ ac_save_libs=$LIBS
+ LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries"
+ LIBS="$LIBS -lGL -lGLU"
+ test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LIBS="$LIBS -lX11"
+ LIBS="$LIBS $LIB_XEXT -lm $LIBSOCKET"
+ CXXFLAGS="$CFLAGS $X_INCLUDES"
+ test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS"
+ AC_TRY_LINK([#include <GL/gl.h>
+#include <GL/glu.h>
+], [],
+ ac_cv_have_gl="yes", ac_cv_have_gl="no")
+ AC_LANG_RESTORE
+ LDFLAGS=$ac_save_ldflags
+ CXXFLAGS=$ac_save_cxxflags
+ LIBS=$ac_save_libs
+ ])dnl
+
+ if test "$ac_cv_have_gl" = "no"; then
+ AC_MSG_RESULT(no)
+ GL_LDFLAGS=""
+ GLINC=""
+ $2
+ else
+ AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)])
+ if test "$GL_LDFLAGS" = ""; then
+ GLLIB='-lGLU -lGL $(LIB_X11)'
+ else
+ GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)'
+ fi
+ if test "$GL_INCLUDE" = ""; then
+ GLINC=""
+ else
+ GLINC="-I$GL_INCLUDE"
+ fi
+ AC_MSG_RESULT($ac_cv_have_gl)
+ $1
+ fi
+ fi
+ AC_SUBST(GLINC)
+ AC_SUBST(GLLIB)
+])
+
+
+ dnl shadow password and PAM magic - maintained by ossi@kde.org
+
+AC_DEFUN([KDE_PAM], [
+ AC_REQUIRE([KDE_CHECK_LIBDL])
+
+ want_pam=
+ AC_ARG_WITH(pam,
+ AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]),
+ [ if test "x$withval" = "xyes"; then
+ want_pam=yes
+ pam_service=kde
+ elif test "x$withval" = "xno"; then
+ want_pam=no
+ else
+ want_pam=yes
+ pam_service=$withval
+ fi
+ ], [ pam_service=kde ])
+
+ use_pam=
+ PAMLIBS=
+ if test "x$want_pam" != xno; then
+ AC_CHECK_LIB(pam, pam_start, [
+ AC_CHECK_HEADER(security/pam_appl.h,
+ [ pam_header=security/pam_appl.h ],
+ [ AC_CHECK_HEADER(pam/pam_appl.h,
+ [ pam_header=pam/pam_appl.h ],
+ [
+ AC_MSG_WARN([PAM detected, but no headers found!
+Make sure you have the necessary development packages installed.])
+ ]
+ )
+ ]
+ )
+ ], , $LIBDL)
+ if test -z "$pam_header"; then
+ if test "x$want_pam" = xyes; then
+ AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!])
+ fi
+ else
+ AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)])
+ PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL"
+ use_pam=yes
+
+ dnl darwin claims to be something special
+ if test "$pam_header" = "pam/pam_appl.h"; then
+ AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/])
+ fi
+
+ dnl test whether struct pam_message is const (Linux) or not (Sun)
+ AC_MSG_CHECKING(for const pam_message)
+ AC_EGREP_HEADER([struct pam_message], $pam_header,
+ [ AC_EGREP_HEADER([const struct pam_message], $pam_header,
+ [AC_MSG_RESULT([const: Linux-type PAM])],
+ [AC_MSG_RESULT([nonconst: Sun-type PAM])
+ AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])]
+ )],
+ [AC_MSG_RESULT([not found - assume const, Linux-type PAM])])
+ fi
+ fi
+
+ AC_SUBST(PAMLIBS)
+])
+
+dnl DEF_PAM_SERVICE(arg name, full name, define name)
+AC_DEFUN([DEF_PAM_SERVICE], [
+ AC_ARG_WITH($1-pam,
+ AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]),
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE=$withval
+ else
+ AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected.
+You may want to enforce it by using --with-pam.])
+ fi
+ ],
+ [ if test "x$use_pam" = xyes; then
+ $3_PAM_SERVICE="$pam_service"
+ fi
+ ])
+ if test -n "$$3_PAM_SERVICE"; then
+ AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE])
+ AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2])
+ fi
+ AC_SUBST($3_PAM_SERVICE)
+])
+
+AC_DEFUN([KDE_SHADOWPASSWD], [
+ AC_REQUIRE([KDE_PAM])
+
+ AC_CHECK_LIB(shadow, getspent,
+ [ LIBSHADOW="-lshadow"
+ ac_use_shadow=yes
+ ],
+ [ dnl for UnixWare
+ AC_CHECK_LIB(gen, getspent,
+ [ LIBGEN="-lgen"
+ ac_use_shadow=yes
+ ],
+ [ AC_CHECK_FUNC(getspent,
+ [ ac_use_shadow=yes ],
+ [ ac_use_shadow=no ])
+ ])
+ ])
+ AC_SUBST(LIBSHADOW)
+ AC_SUBST(LIBGEN)
+
+ AC_MSG_CHECKING([for shadow passwords])
+
+ AC_ARG_WITH(shadow,
+ AC_HELP_STRING([--with-shadow],[If you want shadow password support]),
+ [ if test "x$withval" != "xno"; then
+ use_shadow=yes
+ else
+ use_shadow=no
+ fi
+ ], [
+ use_shadow="$ac_use_shadow"
+ ])
+
+ if test "x$use_shadow" = xyes; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords])
+ else
+ AC_MSG_RESULT(no)
+ LIBSHADOW=
+ LIBGEN=
+ fi
+
+ dnl finally make the relevant binaries setuid root, if we have shadow passwds.
+ dnl this still applies, if we could use it indirectly through pam.
+ if test "x$use_shadow" = xyes ||
+ ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then
+ case $host in
+ *-*-freebsd* | *-*-netbsd* | *-*-openbsd*)
+ SETUIDFLAGS="-m 4755 -o root";;
+ *)
+ SETUIDFLAGS="-m 4755";;
+ esac
+ fi
+ AC_SUBST(SETUIDFLAGS)
+
+])
+
+AC_DEFUN([KDE_PASSWDLIBS], [
+ AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT
+ AC_REQUIRE([KDE_PAM])
+ AC_REQUIRE([KDE_SHADOWPASSWD])
+
+ if test "x$use_pam" = "xyes"; then
+ PASSWDLIBS="$PAMLIBS"
+ else
+ PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN"
+ fi
+
+ dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but
+ dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires
+ dnl root to read, so kcheckpass needs to be root (even when using pam, since pam
+ dnl may need to read /etc/master.passwd).
+ case $host in
+ *-*-freebsd*)
+ SETUIDFLAGS="-m 4755 -o root"
+ ;;
+ *)
+ ;;
+ esac
+
+ AC_SUBST(PASSWDLIBS)
+])
+
+AC_DEFUN([KDE_CHECK_LIBDL],
+[
+AC_CHECK_LIB(dl, dlopen, [
+LIBDL="-ldl"
+ac_cv_have_dlfcn=yes
+])
+
+AC_CHECK_LIB(dld, shl_unload, [
+LIBDL="-ldld"
+ac_cv_have_shload=yes
+])
+
+AC_SUBST(LIBDL)
+])
+
+AC_DEFUN([KDE_CHECK_DLOPEN],
+[
+KDE_CHECK_LIBDL
+AC_CHECK_HEADERS(dlfcn.h dl.h)
+if test "$ac_cv_header_dlfcn_h" = "no"; then
+ ac_cv_have_dlfcn=no
+fi
+
+if test "$ac_cv_header_dl_h" = "no"; then
+ ac_cv_have_shload=no
+fi
+
+dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE
+dnl (MM)
+AC_ARG_ENABLE(dlopen,
+AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]),
+enable_dlopen=$enableval,
+enable_dlopen=yes)
+
+# override the user's opinion, if we know it better ;)
+if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then
+ enable_dlopen=no
+fi
+
+if test "$ac_cv_have_dlfcn" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn])
+fi
+
+if test "$ac_cv_have_shload" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload])
+fi
+
+if test "$enable_dlopen" = no ; then
+ test -n "$1" && eval $1
+else
+ test -n "$2" && eval $2
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING],
+[
+KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no)
+KDE_PROG_LIBTOOL
+AC_MSG_CHECKING([dynamic loading])
+eval "`egrep '^build_libtool_libs=' libtool`"
+if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then
+ dynamic_loading=yes
+ AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING)
+else
+ dynamic_loading=no
+fi
+AC_MSG_RESULT($dynamic_loading)
+if test "$dynamic_loading" = "yes"; then
+ $1
+else
+ $2
+fi
+])
+
+AC_DEFUN([KDE_ADD_INCLUDES],
+[
+if test -z "$1"; then
+ test_include="Pix.h"
+else
+ test_include="$1"
+fi
+
+AC_MSG_CHECKING([for libg++ ($test_include)])
+
+AC_CACHE_VAL(kde_cv_libgpp_includes,
+[
+kde_cv_libgpp_includes=no
+
+ for ac_dir in \
+ \
+ /usr/include/g++ \
+ /usr/include \
+ /usr/unsupported/include \
+ /opt/include \
+ $extra_include \
+ ; \
+ do
+ if test -r "$ac_dir/$test_include"; then
+ kde_cv_libgpp_includes=$ac_dir
+ break
+ fi
+ done
+])
+
+AC_MSG_RESULT($kde_cv_libgpp_includes)
+if test "$kde_cv_libgpp_includes" != "no"; then
+ all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES"
+fi
+])
+])
+
+AC_DEFUN([KDE_CHECK_LIBPTHREAD],
+[
+ dnl This code is here specifically to handle the
+ dnl various flavors of threading library on FreeBSD
+ dnl 4-, 5-, and 6-, and the (weird) rules around it.
+ dnl There may be an environment PTHREAD_LIBS that
+ dnl specifies what to use; otherwise, search for it.
+ dnl -pthread is special cased and unsets LIBPTHREAD
+ dnl below if found.
+ LIBPTHREAD=""
+
+ if test -n "$PTHREAD_LIBS"; then
+ if test "x$PTHREAD_LIBS" = "x-pthread" ; then
+ LIBPTHREAD="PTHREAD"
+ else
+ PTHREAD_LIBS_save="$PTHREAD_LIBS"
+ PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'`
+ AC_MSG_CHECKING([for pthread_create in $PTHREAD_LIBS])
+ KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [
+ LIBPTHREAD="$PTHREAD_LIBS_save"])
+ PTHREAD_LIBS="$PTHREAD_LIBS_save"
+ fi
+ fi
+
+ dnl Is this test really needed, in the face of the Tru64 test below?
+ if test -z "$LIBPTHREAD"; then
+ AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"])
+ fi
+
+ dnl This is a special Tru64 check, see BR 76171 issue #18.
+ if test -z "$LIBPTHREAD" ; then
+ AC_MSG_CHECKING([for pthread_create in -lpthread])
+ kde_safe_libs=$LIBS
+ LIBS="$LIBS -lpthread"
+ AC_TRY_LINK([#include <pthread.h>],[(void)pthread_create(0,0,0,0);],[
+ AC_MSG_RESULT(yes)
+ LIBPTHREAD="-lpthread"],[
+ AC_MSG_RESULT(no)])
+ LIBS=$kde_safe_libs
+ fi
+
+ dnl Un-special-case for FreeBSD.
+ if test "x$LIBPTHREAD" = "xPTHREAD" ; then
+ LIBPTHREAD=""
+ fi
+
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_PTHREAD_OPTION],
+[
+ USE_THREADS=""
+ if test -z "$LIBPTHREAD"; then
+ KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"])
+ fi
+
+ AH_VERBATIM(__svr_define, [
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+])
+ case $host_os in
+ solaris*)
+ KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"])
+ CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4"
+ ;;
+ freebsd*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS"
+ ;;
+ aix*)
+ CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE"
+ LIBPTHREAD="$LIBPTHREAD -lc_r"
+ ;;
+ linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT"
+ if test "$CXX" = "KCC"; then
+ CXXFLAGS="$CXXFLAGS --thread_safe"
+ NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe"
+ fi
+ ;;
+ *)
+ ;;
+ esac
+ AC_SUBST(USE_THREADS)
+ AC_SUBST(LIBPTHREAD)
+])
+
+AC_DEFUN([KDE_CHECK_THREADING],
+[
+ AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+ AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION])
+ dnl default is yes if libpthread is found and no if no libpthread is available
+ if test -z "$LIBPTHREAD"; then
+ if test -z "$USE_THREADS"; then
+ kde_check_threading_default=no
+ else
+ kde_check_threading_default=yes
+ fi
+ else
+ kde_check_threading_default=yes
+ fi
+ AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]),
+ kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default)
+ if test "x$kde_use_threading" = "xyes"; then
+ AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)])
+ fi
+])
+
+AC_DEFUN([KDE_TRY_LINK_PYTHON],
+[
+if test "$kde_python_link_found" = no; then
+
+if test "$1" = normal; then
+ AC_MSG_CHECKING(if a Python application links)
+else
+ AC_MSG_CHECKING(if Python depends on $2)
+fi
+
+AC_CACHE_VAL(kde_cv_try_link_python_$1,
+[
+kde_save_cflags="$CFLAGS"
+CFLAGS="$CFLAGS $PYTHONINC"
+kde_save_libs="$LIBS"
+LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET"
+kde_save_ldflags="$LDFLAGS"
+LDFLAGS="$LDFLAGS $PYTHONLIB"
+
+AC_TRY_LINK(
+[
+#include <Python.h>
+],[
+ PySys_SetArgv(1, 0);
+],
+ [kde_cv_try_link_python_$1=yes],
+ [kde_cv_try_link_python_$1=no]
+)
+CFLAGS="$kde_save_cflags"
+LIBS="$kde_save_libs"
+LDFLAGS="$kde_save_ldflags"
+])
+
+if test "$kde_cv_try_link_python_$1" = "yes"; then
+ AC_MSG_RESULT(yes)
+ kde_python_link_found=yes
+ if test ! "$1" = normal; then
+ LIBPYTHON="$LIBPYTHON $2"
+ fi
+ $3
+else
+ AC_MSG_RESULT(no)
+ $4
+fi
+
+fi
+
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_DIR],
+[
+AC_MSG_CHECKING([for Python directory])
+
+AC_CACHE_VAL(kde_cv_pythondir,
+[
+ if test -z "$PYTHONDIR"; then
+ kde_cv_pythondir=/usr/local
+ else
+ kde_cv_pythondir="$PYTHONDIR"
+ fi
+])
+
+AC_ARG_WITH(pythondir,
+AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]),
+[
+ ac_python_dir=$withval
+], ac_python_dir=$kde_cv_pythondir
+)
+
+AC_MSG_RESULT($ac_python_dir)
+])
+
+AC_DEFUN([KDE_CHECK_PYTHON_INTERN],
+[
+AC_REQUIRE([KDE_CHECK_LIBDL])
+AC_REQUIRE([KDE_CHECK_LIBPTHREAD])
+AC_REQUIRE([KDE_CHECK_PYTHON_DIR])
+
+if test -z "$1"; then
+ version="1.5"
+else
+ version="$1"
+fi
+
+AC_MSG_CHECKING([for Python$version])
+
+python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes"
+AC_FIND_FILE(Python.h, $python_incdirs, python_incdir)
+if test ! -r $python_incdir/Python.h; then
+ AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir)
+ python_incdir=$python_incdir/python$version
+ if test ! -r $python_incdir/Python.h; then
+ python_incdir=no
+ fi
+fi
+
+PYTHONINC=-I$python_incdir
+
+python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs"
+AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir)
+if test ! -r $python_libdir/libpython$version.so; then
+ AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir)
+ if test ! -r $python_libdir/libpython$version.a; then
+ AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir)
+ python_libdir=$python_libdir/python$version/config
+ if test ! -r $python_libdir/libpython$version.a; then
+ python_libdir=no
+ fi
+ fi
+fi
+
+PYTHONLIB=-L$python_libdir
+kde_orig_LIBPYTHON=$LIBPYTHON
+if test -z "$LIBPYTHON"; then
+ LIBPYTHON=-lpython$version
+fi
+
+AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir)
+python_moddir=$python_moddir/python$version
+if test ! -r $python_moddir/copy.py; then
+ python_moddir=no
+fi
+
+PYTHONMODDIR=$python_moddir
+
+AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir)
+
+if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then
+ LIBPYTHON=$kde_orig_LIBPYTHON
+ test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB=""
+ test "x$PYTHONINC" = "x-Ino" && PYTHONINC=""
+ $2
+else
+ dnl Note: this test is very weak
+ kde_python_link_found=no
+ KDE_TRY_LINK_PYTHON(normal)
+ KDE_TRY_LINK_PYTHON(m, -lm)
+ KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD)
+ KDE_TRY_LINK_PYTHON(tcl, -ltcl)
+ KDE_TRY_LINK_PYTHON(db2, -ldb2)
+ KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil])
+ KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm])
+ KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses])
+ KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [],
+ [AC_MSG_WARN([it seems, Python depends on another library.
+ Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this
+ and contact the authors to let them know about this problem])
+ ])
+
+ LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET"
+ AC_SUBST(PYTHONINC)
+ AC_SUBST(PYTHONLIB)
+ AC_SUBST(LIBPYTHON)
+ AC_SUBST(PYTHONMODDIR)
+ AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python])
+fi
+
+])
+
+
+AC_DEFUN([KDE_CHECK_PYTHON],
+[
+ KDE_CHECK_PYTHON_INTERN("2.5",
+ [KDE_CHECK_PYTHON_INTERN("2.4",
+ [KDE_CHECK_PYTHON_INTERN("2.3",
+ [KDE_CHECK_PYTHON_INTERN("2.2",
+ [KDE_CHECK_PYTHON_INTERN("2.1",
+ [KDE_CHECK_PYTHON_INTERN("2.0",
+ [KDE_CHECK_PYTHON_INTERN($1, $2) ])
+ ])
+ ])
+ ])
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_STL],
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`"
+
+ AC_MSG_CHECKING([if C++ programs can be compiled])
+ AC_CACHE_VAL(kde_cv_stl_works,
+ [
+ AC_TRY_COMPILE([
+#include <string>
+using namespace std;
+],[
+ string astring="Hallo Welt.";
+ astring.erase(0, 6); // now astring is "Welt"
+ return 0;
+], kde_cv_stl_works=yes,
+ kde_cv_stl_works=no)
+])
+
+ AC_MSG_RESULT($kde_cv_stl_works)
+
+ if test "$kde_cv_stl_works" = "yes"; then
+ # back compatible
+ AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI])
+ else
+ AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs.
+Check config.log for details - if you're using a Linux distribution you might miss
+a package named similar to libstdc++-dev.])
+ fi
+
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([AC_FIND_QIMGIO],
+ [AC_REQUIRE([AC_FIND_JPEG])
+AC_REQUIRE([KDE_CHECK_EXTRA_LIBS])
+AC_MSG_CHECKING([for qimgio])
+AC_CACHE_VAL(ac_cv_lib_qimgio,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+ac_save_LIBS="$LIBS"
+ac_save_CXXFLAGS="$CXXFLAGS"
+LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT"
+CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes"
+AC_TRY_RUN(dnl
+[
+#include <qimageio.h>
+#include <qstring.h>
+int main() {
+ QString t = "hallo";
+ t.fill('t');
+ qInitImageIO();
+}
+],
+ ac_cv_lib_qimgio=yes,
+ ac_cv_lib_qimgio=no,
+ ac_cv_lib_qimgio=no)
+LIBS="$ac_save_LIBS"
+CXXFLAGS="$ac_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then
+ LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG"
+ AC_MSG_RESULT(yes)
+ AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available])
+ AC_SUBST(LIBQIMGIO)
+else
+ AC_MSG_RESULT(not found)
+fi
+])
+
+AC_DEFUN([AM_DISABLE_LIBRARIES],
+[
+ AC_PROVIDE([AM_ENABLE_STATIC])
+ AC_PROVIDE([AM_ENABLE_SHARED])
+ enable_static=no
+ enable_shared=yes
+])
+
+
+AC_DEFUN([AC_CHECK_UTMP_FILE],
+[
+ AC_MSG_CHECKING([for utmp file])
+
+ AC_CACHE_VAL(kde_cv_utmp_file,
+ [
+ kde_cv_utmp_file=no
+
+ for ac_file in \
+ \
+ /var/run/utmp \
+ /var/adm/utmp \
+ /etc/utmp \
+ ; \
+ do
+ if test -r "$ac_file"; then
+ kde_cv_utmp_file=$ac_file
+ break
+ fi
+ done
+ ])
+
+ if test "$kde_cv_utmp_file" != "no"; then
+ AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries])
+ $1
+ AC_MSG_RESULT($kde_cv_utmp_file)
+ else
+ $2
+ AC_MSG_RESULT([non found])
+ fi
+])
+
+
+AC_DEFUN([KDE_CREATE_SUBDIRSLIST],
+[
+
+DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin"
+TOPSUBDIRS=""
+
+if test ! -s $srcdir/subdirs; then
+ dnl Note: Makefile.common creates subdirs, so this is just a fallback
+ files=`cd $srcdir && ls -1`
+ dirs=`for i in $files; do if test -d $i; then echo $i; fi; done`
+ for i in $dirs; do
+ echo $i >> $srcdir/subdirs
+ done
+fi
+
+ac_topsubdirs=
+if test -s $srcdir/inst-apps; then
+ ac_topsubdirs="`cat $srcdir/inst-apps`"
+elif test -s $srcdir/subdirs; then
+ ac_topsubdirs="`cat $srcdir/subdirs`"
+fi
+
+for i in $ac_topsubdirs; do
+ AC_MSG_CHECKING([if $i should be compiled])
+ if test -d $srcdir/$i; then
+ install_it="yes"
+ for j in $DO_NOT_COMPILE; do
+ if test $i = $j; then
+ install_it="no"
+ fi
+ done
+ else
+ install_it="no"
+ fi
+ AC_MSG_RESULT($install_it)
+ vari=`echo $i | sed -e 's,[[-+.@]],_,g'`
+ if test $install_it = "yes"; then
+ TOPSUBDIRS="$TOPSUBDIRS $i"
+ eval "$vari""_SUBDIR_included=yes"
+ else
+ eval "$vari""_SUBDIR_included=no"
+ fi
+done
+
+AC_SUBST(TOPSUBDIRS)
+])
+
+AC_DEFUN([KDE_CHECK_NAMESPACES],
+[
+AC_MSG_CHECKING(whether C++ compiler supports namespaces)
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AC_TRY_COMPILE([
+],
+[
+namespace Foo {
+ extern int i;
+ namespace Bar {
+ extern int i;
+ }
+}
+
+int Foo::i = 0;
+int Foo::Bar::i = 1;
+],[
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_NAMESPACES)
+], [
+AC_MSG_RESULT(no)
+])
+AC_LANG_RESTORE
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_S_ISSOCK],
+[
+AC_MSG_CHECKING(for S_ISSOCK)
+AC_CACHE_VAL(ac_cv_have_s_issock,
+[
+AC_TRY_LINK(
+[
+#include <sys/stat.h>
+],
+[
+struct stat buff;
+int b = S_ISSOCK( buff.st_mode );
+],
+ac_cv_have_s_issock=yes,
+ac_cv_have_s_issock=no)
+])
+AC_MSG_RESULT($ac_cv_have_s_issock)
+if test "$ac_cv_have_s_issock" = "yes"; then
+ AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.])
+fi
+
+AH_VERBATIM(_ISSOCK,
+[
+#ifndef HAVE_S_ISSOCK
+#define HAVE_S_ISSOCK
+#define S_ISSOCK(mode) (1==0)
+#endif
+])
+
+])
+
+dnl ------------------------------------------------------------------------
+dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([AC_CHECK_KDEMAXPATHLEN],
+[
+AC_MSG_CHECKING(for MAXPATHLEN)
+AC_CACHE_VAL(ac_cv_maxpathlen,
+[
+cat > conftest.$ac_ext <<EOF
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+#endif
+#include <stdio.h>
+#include <sys/param.h>
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+
+KDE_HELLO MAXPATHLEN
+
+EOF
+
+ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out"
+
+if AC_TRY_EVAL(ac_try) && test -s conftest.out; then
+ ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out`
+else
+ ac_cv_maxpathlen=1024
+fi
+
+rm conftest.*
+
+])
+AC_MSG_RESULT($ac_cv_maxpathlen)
+AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] )
+])
+
+AC_DEFUN([KDE_CHECK_HEADER],
+[
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADER([$1], [$2], [$3], [$4])
+ AC_LANG_RESTORE
+ CPPFLAGS=$kde_safe_cppflags
+])
+
+AC_DEFUN([KDE_CHECK_HEADERS],
+[
+ AH_CHECK_HEADERS([$1])
+ AC_LANG_SAVE
+ kde_safe_cppflags=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS $all_includes"
+ AC_LANG_CPLUSPLUS
+ AC_CHECK_HEADERS([$1], [$2], [$3], [$4])
+ CPPFLAGS=$kde_safe_cppflags
+ AC_LANG_RESTORE
+])
+
+AC_DEFUN([KDE_FAST_CONFIGURE],
+[
+ dnl makes configure fast (needs perl)
+ AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]),
+ with_fast_perl=$enableval, with_fast_perl=yes)
+])
+
+AC_DEFUN([KDE_CONF_FILES],
+[
+ val=
+ if test -f $srcdir/configure.files ; then
+ val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files`
+ fi
+ CONF_FILES=
+ if test -n "$val" ; then
+ for i in $val ; do
+ CONF_FILES="$CONF_FILES $i"
+ done
+ fi
+ AC_SUBST(CONF_FILES)
+])dnl
+
+dnl This sets the prefix, for arts and kdelibs
+dnl Do NOT use in any other module.
+dnl It only looks at --prefix, KDEDIR and falls back to /usr/local/kde
+AC_DEFUN([KDE_SET_PREFIX_CORE],
+[
+ unset CDPATH
+ dnl make $KDEDIR the default for the installation
+ AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde})
+
+ if test "x$prefix" = "xNONE"; then
+ prefix=$ac_default_prefix
+ ac_configure_args="$ac_configure_args --prefix=$prefix"
+ fi
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ kde_libs_prefix='$(prefix)'
+ kde_libs_htmldir='$(kde_htmldir)'
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+
+AC_DEFUN([KDE_SET_PREFIX],
+[
+ unset CDPATH
+ dnl We can't give real code to that macro, only a value.
+ dnl It only matters for --help, since we set the prefix in this function anyway.
+ AC_PREFIX_DEFAULT(${KDEDIR:-the kde prefix})
+
+ KDE_SET_DEFAULT_BINDIRS
+ if test "x$prefix" = "xNONE"; then
+ dnl no prefix given: look for kde-config in the PATH and deduce the prefix from it
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ else
+ dnl prefix given: look for kde-config, preferrably in prefix, otherwise in PATH
+ kde_save_PATH="$PATH"
+ PATH="$exec_prefix/bin:$prefix/bin:$PATH"
+ KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kde-config)], [], prepend)
+ PATH="$kde_save_PATH"
+ fi
+
+ kde_libs_prefix=`$KDECONFIG --prefix`
+ if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then
+ AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs.
+ This means it has been moved since you installed it.
+ This won't work. Please recompile kdelibs for the new prefix.
+ ])
+ fi
+ kde_libs_htmldir=`$KDECONFIG --install html --expandvars`
+
+ AC_MSG_CHECKING([where to install])
+ if test "x$prefix" = "xNONE"; then
+ prefix=$kde_libs_prefix
+ AC_MSG_RESULT([$prefix (as returned by kde-config)])
+ else
+ dnl --prefix was given. Compare prefixes and warn (in configure.in.bot.end) if different
+ given_prefix=$prefix
+ AC_MSG_RESULT([$prefix (as requested)])
+ fi
+
+ # And delete superfluous '/' to make compares easier
+ prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+ given_prefix=`echo "$given_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'`
+
+ AC_SUBST(KDECONFIG)
+ AC_SUBST(kde_libs_prefix)
+ AC_SUBST(kde_libs_htmldir)
+
+ KDE_FAST_CONFIGURE
+ KDE_CONF_FILES
+])
+
+pushdef([AC_PROG_INSTALL],
+[
+ dnl our own version, testing for a -p flag
+ popdef([AC_PROG_INSTALL])
+ dnl as AC_PROG_INSTALL works as it works we first have
+ dnl to save if the user didn't specify INSTALL, as the
+ dnl autoconf one overwrites INSTALL and we have no chance to find
+ dnl out afterwards
+ test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL
+ test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM
+ test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT
+ AC_PROG_INSTALL
+
+ if test -z "$kde_save_INSTALL_given" ; then
+ # OK, user hasn't given any INSTALL, autoconf found one for us
+ # now we test, if it supports the -p flag
+ AC_MSG_CHECKING(for -p flag to install)
+ rm -f confinst.$$.* > /dev/null 2>&1
+ echo "Testtest" > confinst.$$.orig
+ ac_res=no
+ if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then
+ if test -f confinst.$$.new ; then
+ # OK, -p seems to do no harm to install
+ INSTALL="${INSTALL} -p"
+ ac_res=yes
+ fi
+ fi
+ rm -f confinst.$$.*
+ AC_MSG_RESULT($ac_res)
+ fi
+ dnl the following tries to resolve some signs and wonders coming up
+ dnl with different autoconf/automake versions
+ dnl e.g.:
+ dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s
+ dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS)
+ dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s
+ dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has
+ dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the
+ dnl install-@DIR@PROGRAMS targets to explicitly use that flag
+ dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as
+ dnl INSTALL_SCRIPT, which breaks with automake <= 1.4
+ dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure
+ dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from
+ dnl automake (due to broken Makefile.am or whatever) to install programs,
+ dnl and so does not see the -s flag in automake > 1.4
+ dnl to clean up that mess we:
+ dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG
+ dnl which cleans KDE's program with automake > 1.4;
+ dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems
+ dnl with automake<=1.4
+ dnl note that dues to this sometimes two '-s' flags are used (if KDE
+ dnl properly uses install-@DIR@PROGRAMS, but I don't care
+ dnl
+ dnl And to all this comes, that I even can't write in comments variable
+ dnl names used by automake, because it is so stupid to think I wanted to
+ dnl _use_ them, therefor I have written A_M_... instead of AM_
+ dnl hmm, I wanted to say something ... ahh yes: Arghhh.
+
+ if test -z "$kde_save_INSTALL_PROGRAM_given" ; then
+ INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
+ fi
+ if test -z "$kde_save_INSTALL_SCRIPT_given" ; then
+ INSTALL_SCRIPT='${INSTALL}'
+ fi
+])dnl
+
+AC_DEFUN([KDE_LANG_CPLUSPLUS],
+[AC_LANG_CPLUSPLUS
+ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC'
+pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS])
+])
+
+pushdef([AC_LANG_CPLUSPLUS],
+[popdef([AC_LANG_CPLUSPLUS])
+KDE_LANG_CPLUSPLUS
+])
+
+AC_DEFUN([KDE_CHECK_LONG_LONG],
+[
+AC_MSG_CHECKING(for long long)
+AC_CACHE_VAL(kde_cv_c_long_long,
+[
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_LINK([], [
+ long long foo = 0;
+ foo = foo+1;
+ ],
+ kde_cv_c_long_long=yes, kde_cv_c_long_long=no)
+ AC_LANG_RESTORE
+])
+AC_MSG_RESULT($kde_cv_c_long_long)
+if test "$kde_cv_c_long_long" = yes; then
+ AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype])
+fi
+])
+
+AC_DEFUN([KDE_CHECK_LIB],
+[
+ kde_save_LDFLAGS="$LDFLAGS"
+ dnl AC_CHECK_LIB modifies LIBS, so save it here
+ kde_save_LIBS="$LIBS"
+ LDFLAGS="$LDFLAGS $all_libraries"
+ case $host_os in
+ aix*) LDFLAGS="-brtl $LDFLAGS"
+ test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS"
+ ;;
+ esac
+ AC_CHECK_LIB($1, $2, $3, $4, $5)
+ LDFLAGS="$kde_save_LDFLAGS"
+ LIBS="$kde_save_LIBS"
+])
+
+AC_DEFUN([KDE_JAVA_PREFIX],
+[
+ dir=`dirname "$1"`
+ base=`basename "$1"`
+ list=`ls -1 $dir 2> /dev/null`
+ for entry in $list; do
+ if test -d $dir/$entry/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/bin"
+ ;;
+ esac
+ elif test -d $dir/$entry/jre/bin; then
+ case $entry in
+ $base)
+ javadirs="$javadirs $dir/$entry/jre/bin"
+ ;;
+ esac
+ fi
+ done
+])
+
+dnl KDE_CHEC_JAVA_DIR(onlyjre)
+AC_DEFUN([KDE_CHECK_JAVA_DIR],
+[
+
+AC_ARG_WITH(java,
+AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]),
+[ ac_java_dir=$withval
+], ac_java_dir=""
+)
+
+AC_MSG_CHECKING([for Java])
+
+dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH
+if test "x$ac_java_dir" = "xno"; then
+ kde_java_bindir=no
+ kde_java_includedir=no
+ kde_java_libjvmdir=no
+ kde_java_libgcjdir=no
+ kde_java_libhpidir=no
+else
+ if test "x$ac_java_dir" = "x"; then
+
+
+ dnl No option set -> collect list of candidate paths
+ if test -n "$JAVA_HOME"; then
+ KDE_JAVA_PREFIX($JAVA_HOME)
+ fi
+ KDE_JAVA_PREFIX(/usr/j2se)
+ KDE_JAVA_PREFIX(/usr/lib/j2se)
+ KDE_JAVA_PREFIX(/usr/j*dk*)
+ KDE_JAVA_PREFIX(/usr/lib/j*dk*)
+ KDE_JAVA_PREFIX(/opt/j*sdk*)
+ KDE_JAVA_PREFIX(/usr/lib/java*)
+ KDE_JAVA_PREFIX(/usr/java*)
+ KDE_JAVA_PREFIX(/usr/java/j*dk*)
+ KDE_JAVA_PREFIX(/usr/java/j*re*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/SunJava*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava2*)
+ KDE_JAVA_PREFIX(/usr/lib/IBMJava*)
+ KDE_JAVA_PREFIX(/opt/java*)
+
+ kde_cv_path="NONE"
+ kde_save_IFS=$IFS
+ IFS=':'
+ for dir in $PATH; do
+ if test -d "$dir"; then
+ javadirs="$javadirs $dir"
+ fi
+ done
+ IFS=$kde_save_IFS
+ jredirs=
+
+ dnl Now javadirs contains a list of paths that exist, all ending with bin/
+ for dir in $javadirs; do
+ dnl Check for the java executable
+ if test -x "$dir/java"; then
+ sane_path=$(cd $dir; /bin/pwd)
+ dnl And also check for a libjvm.so somewhere under there
+ dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big.
+ if test "$sane_path" != "/usr/bin"; then
+ libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ if test ! -f $libjvmdir/libjvm.so; then continue; fi
+ jredirs="$jredirs $dir"
+ fi
+ fi
+ done
+
+ dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found
+ JAVAC=
+ JAVA=
+ kde_java_bindir=no
+ for dir in $jredirs; do
+ JAVA="$dir/java"
+ kde_java_bindir=$dir
+ if test -x "$dir/javac"; then
+ JAVAC="$dir/javac"
+ break
+ fi
+ done
+
+ if test -n "$JAVAC"; then
+ dnl this substitution might not work - well, we test for jni.h below
+ kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'`
+ else
+ kde_java_includedir=no
+ fi
+ else
+ dnl config option set
+ kde_java_bindir=$ac_java_dir/bin
+ if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then
+ kde_java_includedir=no
+ else
+ kde_java_includedir=$ac_java_dir/include
+ fi
+ fi
+fi
+
+dnl At this point kde_java_bindir and kde_java_includedir are either set or "no"
+if test "x$kde_java_bindir" != "xno"; then
+
+ dnl Look for libjvm.so
+ kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1`
+ dnl Look for libgcj.so
+ kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1`
+ dnl Look for libhpi.so and avoid green threads
+ kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1`
+
+ dnl Now check everything's fine under there
+ dnl the include dir is our flag for having the JDK
+ if test -d "$kde_java_includedir"; then
+ if test ! -x "$kde_java_bindir/javac"; then
+ AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.])
+ fi
+ if test ! -x "$kde_java_bindir/javah"; then
+ AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -x "$kde_java_bindir/jar"; then
+ AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+ if test ! -r "$kde_java_includedir/jni.h"; then
+ AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.])
+ fi
+
+ jni_includes="-I$kde_java_includedir"
+ dnl Strange thing, jni.h requires jni_md.h which is under genunix here..
+ dnl and under linux here..
+
+ dnl not needed for gcj
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux"
+ test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris"
+ test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix"
+ fi
+
+ else
+ JAVAC=
+ jni_includes=
+ fi
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libjvmdir/libjvm.so"; then
+ AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.])
+ fi
+ else
+ if test ! -r "$kde_java_libgcjdir/libgcj.so"; then
+ AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.])
+ fi
+ fi
+
+ if test ! -x "$kde_java_bindir/java"; then
+ AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.])
+ fi
+
+ dnl not needed for gcj compile
+
+ if test "x$kde_java_libgcjdir" = "x"; then
+ if test ! -r "$kde_java_libhpidir/libhpi.so"; then
+ AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.])
+ fi
+ fi
+
+ if test -n "$jni_includes"; then
+ dnl Check for JNI version
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_cxxflags_safe="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS $all_includes $jni_includes"
+
+ AC_TRY_COMPILE([
+ #include <jni.h>
+ ],
+ [
+ #ifndef JNI_VERSION_1_2
+ Syntax Error
+ #endif
+ ],[ kde_jni_works=yes ],
+ [ kde_jni_works=no ])
+
+ if test $kde_jni_works = no; then
+ AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h.
+ You need to have Java Development Kit (JDK) version 1.2.
+
+ Use --with-java to specify another location.
+ Use --without-java to configure without java support.
+ Or download a newer JDK and try again.
+ See e.g. http://java.sun.com/products/jdk/1.2 ])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ AC_LANG_RESTORE
+
+ dnl All tests ok, inform and subst the variables
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ if test "x$kde_java_libgcjdir" = "x"; then
+ JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi"
+ else
+ JVMLIBS="-L$kde_java_libgcjdir -lgcj"
+ fi
+ AC_MSG_RESULT([java JDK in $kde_java_bindir])
+
+ else
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([java JRE in $kde_java_bindir])
+ fi
+elif test -d "/Library/Java/Home"; then
+ kde_java_bindir="/Library/Java/Home/bin"
+ jni_includes="-I/Library/Java/Home/include"
+
+ JAVAC=$kde_java_bindir/javac
+ JAVAH=$kde_java_bindir/javah
+ JAR=$kde_java_bindir/jar
+ JVMLIBS="-Wl,-framework,JavaVM"
+
+ AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is])
+ AC_MSG_RESULT([Apple Java Framework])
+else
+ AC_MSG_RESULT([none found])
+fi
+
+AC_SUBST(JAVAC)
+AC_SUBST(JAVAH)
+AC_SUBST(JAR)
+AC_SUBST(JVMLIBS)
+AC_SUBST(jni_includes)
+
+# for backward compat
+kde_cv_java_includedir=$kde_java_includedir
+kde_cv_java_bindir=$kde_java_bindir
+])
+
+dnl this is a redefinition of autoconf 2.5x's AC_FOREACH.
+dnl When the argument list becomes big, as in KDE for AC_OUTPUT in
+dnl big packages, m4_foreach is dog-slow. So use our own version of
+dnl it. (matz@kde.org)
+m4_define([mm_foreach],
+[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])])
+m4_define([mm_car], [[$1]])
+m4_define([mm_car2], [[$@]])
+m4_define([_mm_foreach],
+[m4_if(m4_quote($2), [], [],
+ [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1],
+ mm_car2(m4_shift($2)),
+ [$3])])])
+m4_define([AC_FOREACH],
+[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])])
+
+AC_DEFUN([KDE_NEED_FLEX],
+[
+kde_libs_safe=$LIBS
+LIBS="$LIBS $USER_LDFLAGS"
+AM_PROG_LEX
+LIBS=$kde_libs_safe
+if test -z "$LEXLIB"; then
+ AC_MSG_ERROR([You need to have flex installed.])
+fi
+AC_SUBST(LEXLIB)
+])
+
+AC_DEFUN([AC_PATH_QTOPIA],
+[
+ dnl TODO: use AC_CACHE_VAL
+
+ if test -z "$1"; then
+ qtopia_minver_maj=1
+ qtopia_minver_min=5
+ qtopia_minver_pat=0
+ else
+ qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"`
+ qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"`
+ qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"`
+ fi
+
+ qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat"
+ qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat"
+
+ AC_REQUIRE([AC_PATH_QT])
+
+ AC_MSG_CHECKING([for Qtopia])
+
+ LIB_QTOPIA="-lqpe"
+ AC_SUBST(LIB_QTOPIA)
+
+ kde_qtopia_dirs="$QPEDIR /opt/Qtopia"
+
+ ac_qtopia_incdir=NO
+
+ AC_ARG_WITH(qtopia-dir,
+ AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]),
+ [ ac_qtopia_incdir="$withval"/include] )
+
+ qtopia_incdirs=""
+ for dir in $kde_qtopia_dirs; do
+ qtopia_incdirs="$qtopia_incdirs $dir/include"
+ done
+
+ if test ! "$ac_qtopia_incdir" = "NO"; then
+ qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs"
+ fi
+
+ qtopia_incdir=""
+ AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir)
+ ac_qtopia_incdir="$qtopia_incdir"
+
+ if test -z "$qtopia_incdir"; then
+ AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.])
+ fi
+
+ qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`;
+ qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`;
+ qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`;
+
+ qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat"
+ qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat"
+ if test "$qtopia_ver" -lt "$qtopia_minver"; then
+ AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr
+is required.])
+ fi
+
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+
+ ac_cxxflags_safe="$CXXFLAGS"
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes"
+ LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS"
+ LIBS="$LIBS $LIB_QTOPIA $LIBQT"
+
+ cat > conftest.$ac_ext <<EOF
+#include "confdefs.h"
+#include <qpe/qpeapplication.h>
+#include <qpe/version.h>
+
+int main( int argc, char **argv )
+{
+ QPEApplication app( argc, argv );
+ return 0;
+}
+EOF
+
+ if AC_TRY_EVAL(ac_link) && test -s conftest; then
+ rm -f conftest*
+ else
+ rm -f conftest*
+ AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at
+the end of config.log])
+ fi
+
+ CXXFLAGS="$ac_cxxflags_safe"
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ AC_LANG_RESTORE
+
+ QTOPIA_INCLUDES="-I$qtopia_incdir"
+ AC_SUBST(QTOPIA_INCLUDES)
+
+ AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir])
+])
+
+
+AC_DEFUN([KDE_INIT_DOXYGEN],
+[
+AC_MSG_CHECKING([for Qt docs])
+kde_qtdir=
+if test "${with_qt_dir+set}" = set; then
+ kde_qtdir="$with_qt_dir"
+fi
+
+AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR)
+AC_MSG_RESULT($QTDOCDIR)
+
+AC_SUBST(QTDOCDIR)
+
+KDE_FIND_PATH(dot, DOT, [], [])
+if test -n "$DOT"; then
+ KDE_HAVE_DOT="YES"
+else
+ KDE_HAVE_DOT="NO"
+fi
+AC_SUBST(KDE_HAVE_DOT)
+KDE_FIND_PATH(doxygen, DOXYGEN, [], [])
+AC_SUBST(DOXYGEN)
+
+DOXYGEN_PROJECT_NAME="$1"
+DOXYGEN_PROJECT_NUMBER="$2"
+AC_SUBST(DOXYGEN_PROJECT_NAME)
+AC_SUBST(DOXYGEN_PROJECT_NUMBER)
+
+KDE_HAS_DOXYGEN=no
+if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then
+ KDE_HAS_DOXYGEN=yes
+fi
+AC_SUBST(KDE_HAS_DOXYGEN)
+
+])
+
+
+AC_DEFUN([AC_FIND_BZIP2],
+[
+AC_MSG_CHECKING([for bzDecompress in libbz2])
+AC_CACHE_VAL(ac_cv_lib_bzip2,
+[
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+kde_save_LIBS="$LIBS"
+LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET"
+kde_save_CXXFLAGS="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES"
+AC_TRY_LINK(dnl
+[
+#define BZ_NO_STDIO
+#include<bzlib.h>
+],
+ [ bz_stream s; (void) bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2='-lbz2'",
+ eval "ac_cv_lib_bzip2=no")
+LIBS="$kde_save_LIBS"
+CXXFLAGS="$kde_save_CXXFLAGS"
+AC_LANG_RESTORE
+])dnl
+AC_MSG_RESULT($ac_cv_lib_bzip2)
+
+if test ! "$ac_cv_lib_bzip2" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2"
+ AC_SUBST(LIBBZ2)
+
+else
+
+ cxx_shared_flag=
+ ld_shared_flag=
+ KDE_CHECK_COMPILER_FLAG(shared, [
+ ld_shared_flag="-shared"
+ ])
+ KDE_CHECK_COMPILER_FLAG(fPIC, [
+ cxx_shared_flag="-fPIC"
+ ])
+
+ AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2])
+ AC_CACHE_VAL(ac_cv_lib_bzip2_prefix,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ kde_save_LIBS="$LIBS"
+ LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET"
+ kde_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES"
+
+ AC_TRY_LINK(dnl
+ [
+ #define BZ_NO_STDIO
+ #include<bzlib.h>
+ ],
+ [ bz_stream s; (void) BZ2_bzDecompress(&s); ],
+ eval "ac_cv_lib_bzip2_prefix='-lbz2'",
+ eval "ac_cv_lib_bzip2_prefix=no")
+ LIBS="$kde_save_LIBS"
+ CXXFLAGS="$kde_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])dnl
+
+ AC_MSG_RESULT($ac_cv_lib_bzip2_prefix)
+
+ if test ! "$ac_cv_lib_bzip2_prefix" = no; then
+ BZIP2DIR=bzip2
+
+ LIBBZ2="$ac_cv_lib_bzip2_prefix"
+ AC_SUBST(LIBBZ2)
+
+ AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix])
+ dnl else, we just ignore this
+ fi
+
+fi
+AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR")
+])
+
+dnl ------------------------------------------------------------------------
+dnl Try to find the SSL headers and libraries.
+dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed)
+dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed)
+dnl ------------------------------------------------------------------------
+dnl
+AC_DEFUN([KDE_CHECK_SSL],
+[
+LIBSSL="-lssl -lcrypto"
+AC_REQUIRE([KDE_CHECK_LIB64])
+
+ac_ssl_includes=NO ac_ssl_libraries=NO
+ssl_libraries=""
+ssl_includes=""
+AC_ARG_WITH(ssl-dir,
+ AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]),
+ [ ac_ssl_includes="$withval"/include
+ ac_ssl_libraries="$withval"/lib$kdelibsuff
+ ])
+
+want_ssl=yes
+AC_ARG_WITH(ssl,
+ AC_HELP_STRING([--without-ssl],[disable SSL checks]),
+ [want_ssl=$withval])
+
+if test $want_ssl = yes; then
+
+AC_MSG_CHECKING(for OpenSSL)
+
+AC_CACHE_VAL(ac_cv_have_ssl,
+[#try to guess OpenSSL locations
+
+ ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes"
+ ssl_incdirs="$ac_ssl_includes $ssl_incdirs"
+ AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir)
+ ac_ssl_includes="$ssl_incdir"
+
+ ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs"
+ if test ! "$ac_ssl_libraries" = "NO"; then
+ ssl_libdirs="$ac_ssl_libraries $ssl_libdirs"
+ fi
+
+ test=NONE
+ ssl_libdir=NONE
+ for dir in $ssl_libdirs; do
+ try="ls -1 $dir/libssl*"
+ if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi
+ done
+
+ ac_ssl_libraries="$ssl_libdir"
+
+ ac_ldflags_safe="$LDFLAGS"
+ ac_libs_safe="$LIBS"
+
+ LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries"
+ LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref"
+
+ AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();,
+ ac_ssl_rsaref="yes"
+ ,
+ ac_ssl_rsaref="no"
+ )
+
+ LDFLAGS="$ac_ldflags_safe"
+ LIBS="$ac_libs_safe"
+
+ if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then
+ have_ssl=no
+ else
+ have_ssl=yes;
+ fi
+
+ ])
+
+ eval "$ac_cv_have_ssl"
+
+ AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes])
+
+ AC_MSG_CHECKING([whether OpenSSL uses rsaref])
+ AC_MSG_RESULT($ac_ssl_rsaref)
+
+ AC_MSG_CHECKING([for easter eggs])
+ AC_MSG_RESULT([none found])
+
+else
+ have_ssl=no
+fi
+
+if test "$have_ssl" = yes; then
+ AC_MSG_CHECKING(for OpenSSL version)
+ dnl Check for SSL version
+ AC_CACHE_VAL(ac_cv_ssl_version,
+ [
+
+ cat >conftest.$ac_ext <<EOF
+#include <openssl/opensslv.h>
+#include <stdio.h>
+ int main() {
+
+#ifndef OPENSSL_VERSION_NUMBER
+ printf("ssl_version=\\"error\\"\n");
+#else
+ if (OPENSSL_VERSION_NUMBER < 0x00906000)
+ printf("ssl_version=\\"old\\"\n");
+ else
+ printf("ssl_version=\\"ok\\"\n");
+#endif
+ return (0);
+ }
+EOF
+
+ ac_save_CPPFLAGS=$CPPFLAGS
+ if test "$ac_ssl_includes" != "/usr/include"; then
+ CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes"
+ fi
+
+ if AC_TRY_EVAL(ac_link); then
+
+ if eval `./conftest 2>&5`; then
+ if test $ssl_version = error; then
+ AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !])
+ else
+ if test $ssl_version = old; then
+ AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.])
+ have_ssl=no
+ fi
+ fi
+ ac_cv_ssl_version="ssl_version=$ssl_version"
+ else
+ AC_MSG_ERROR([Your system couldn't run a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+
+ else
+ AC_MSG_ERROR([Your system couldn't link a small SSL test program.
+ Check config.log, and if you can't figure it out, send a mail to
+ David Faure <faure@kde.org>, attaching your config.log])
+ fi
+ CPPFLAGS=$ac_save_CPPFLAGS
+
+ ])
+
+ eval "$ac_cv_ssl_version"
+ AC_MSG_RESULT($ssl_version)
+fi
+
+if test "$have_ssl" != yes; then
+ LIBSSL="";
+else
+ AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL])
+ ac_cv_have_ssl="have_ssl=yes \
+ ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref"
+
+
+ ssl_libraries="$ac_ssl_libraries"
+ ssl_includes="$ac_ssl_includes"
+
+ if test "$ac_ssl_rsaref" = yes; then
+ LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref"
+ fi
+
+ if test $ssl_version = "old"; then
+ AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6])
+ fi
+fi
+
+SSL_INCLUDES=
+
+if test "$ssl_includes" = "/usr/include"; then
+ if test -f /usr/kerberos/include/krb5.h; then
+ SSL_INCLUDES="-I/usr/kerberos/include"
+ fi
+elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then
+ SSL_INCLUDES="-I$ssl_includes"
+fi
+
+if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then
+ SSL_LDFLAGS=""
+else
+ SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries"
+fi
+
+AC_SUBST(SSL_INCLUDES)
+AC_SUBST(SSL_LDFLAGS)
+AC_SUBST(LIBSSL)
+])
+
+AC_DEFUN([KDE_CHECK_STRLCPY],
+[
+ AC_REQUIRE([AC_CHECK_STRLCAT])
+ AC_REQUIRE([AC_CHECK_STRLCPY])
+ AC_CHECK_SIZEOF(size_t)
+ AC_CHECK_SIZEOF(unsigned long)
+
+ AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long])
+ AC_TRY_COMPILE(,[
+ #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG
+ choke me
+ #endif
+ ],AC_MSG_RESULT([yes]),[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([
+ Apparently on your system our assumption sizeof size_t == sizeof unsigned long
+ does not apply. Please mail kde-devel@kde.org with a description of your system!
+ ])
+ ])
+])
+
+AC_DEFUN([KDE_CHECK_BINUTILS],
+[
+ AC_MSG_CHECKING([if ld supports unversioned version maps])
+
+ kde_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
+ echo "{ local: extern \"C++\" { foo }; };" > conftest.map
+ AC_TRY_LINK([int foo;],
+[
+#ifdef __INTEL_COMPILER
+icc apparently does not support libtools version-info and version-script
+at the same time. Dunno where the bug is, but until somebody figured out,
+better disable the optional version scripts.
+#endif
+
+ foo = 42;
+], kde_supports_versionmaps=yes, kde_supports_versionmaps=no)
+ LDFLAGS="$kde_save_LDFLAGS"
+ rm -f conftest.map
+ AM_CONDITIONAL(include_VERSION_SCRIPT,
+ [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"])
+
+ AC_MSG_RESULT($kde_supports_versionmaps)
+])
+
+AC_DEFUN([AM_PROG_OBJC],[
+AC_CHECK_PROGS(OBJC, gcc, gcc)
+test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH])
+if test "x${OBJCFLAGS-unset}" = xunset; then
+ OBJCFLAGS="-g -O2"
+fi
+AC_SUBST(OBJCFLAGS)
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)])
+])
+
+AC_DEFUN([KDE_CHECK_PERL],
+[
+ KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [
+ AC_MSG_ERROR([No Perl found in your $PATH.
+We need perl to generate some code.])
+ ])
+ AC_SUBST(PERL)
+])
+
+AC_DEFUN([KDE_CHECK_LARGEFILE],
+[
+AC_SYS_LARGEFILE
+if test "$ac_cv_sys_file_offset_bits" != no; then
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+fi
+
+if test "x$ac_cv_sys_large_files" != "xno"; then
+ CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=1"
+fi
+
+])
+
+dnl A small extension to PKG_CHECK_MODULES (defined in pkg.m4.in)
+dnl which allows to search for libs that get installed into the KDE prefix.
+dnl
+dnl Syntax: KDE_PKG_CHECK_MODULES(KSTUFF, libkexif >= 0.2 glib = 1.3.4, action-if, action-not)
+dnl defines KSTUFF_LIBS, KSTUFF_CFLAGS, see pkg-config man page
+dnl also defines KSTUFF_PKG_ERRORS on error
+AC_DEFUN([KDE_PKG_CHECK_MODULES], [
+
+ PKG_CONFIG_PATH="$prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ if test "$prefix" != "$kde_libs_prefix"; then
+ PKG_CONFIG_PATH="$kde_libs_prefix/lib${kdelibsuff}/pkgconfig:$PKG_CONFIG_PATH"
+ fi
+ export PKG_CONFIG_PATH
+ PKG_CHECK_MODULES([$1],[$2],[$3],[$4])
+])
+
+
+dnl Check for PIE support in the compiler and linker
+AC_DEFUN([KDE_CHECK_PIE_SUPPORT],
+[
+ AC_CACHE_CHECK([for PIE support], kde_cv_val_pie_support,
+ [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ safe_CXXFLAGS=$CXXFLAGS
+ safe_LDFLAGS=$LDFLAGS
+ CXXFLAGS="$CXXFLAGS -fPIE"
+ LDFLAGS="$LDFLAGS -pie"
+
+ AC_TRY_LINK([int foo;], [], [kde_cv_val_pie_support=yes], [kde_cv_val_pie_support=no])
+
+ CXXFLAGS=$safe_CXXFLAGS
+ LDFLAGS=$safe_LDFLAGS
+ AC_LANG_RESTORE
+ ])
+
+ AC_MSG_CHECKING(if enabling -pie/fPIE support)
+
+ AC_ARG_ENABLE(pie,
+ AC_HELP_STRING([--enable-pie],[platform supports PIE linking [default=detect]]),
+ [kde_has_pie_support=$enableval],
+ [kde_has_pie_support=detect])
+
+ if test "$kde_has_pie_support" = "detect"; then
+ kde_has_pie_support=$kde_cv_val_pie_support
+ fi
+
+ AC_MSG_RESULT([$kde_has_pie_support])
+
+ KDE_USE_FPIE=""
+ KDE_USE_PIE=""
+
+ AC_SUBST([KDE_USE_FPIE])
+ AC_SUBST([KDE_USE_PIE])
+
+ if test "$kde_has_pie_support" = "yes"; then
+ KDE_USE_FPIE="-fPIE"
+ KDE_USE_PIE="-pie"
+ fi
+])
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+## Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007
+## Free Software Foundation, Inc.
+## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 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.
+
+# serial 51 Debian 1.5.24-1 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+ [],
+ [m4_define([AC_PROVIDE_IFELSE],
+ [m4_ifdef([AC_PROVIDE_$1],
+ [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+ AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [AC_LIBTOOL_CXX],
+ [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+ ])])
+dnl And a similar setup for Fortran 77 support
+ AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [AC_LIBTOOL_F77],
+ [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+ [AC_LIBTOOL_GCJ],
+ [ifdef([AC_PROG_GCJ],
+ [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([A][M_PROG_GCJ],
+ [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+ ifdef([LT_AC_PROG_GCJ],
+ [define([LT_AC_PROG_GCJ],
+ defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='sed -e 1s/^X//'
+[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+
+# Same as above, but do not quote variable references.
+[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ AC_PATH_MAGIC
+ fi
+ ;;
+esac
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+ [AC_HELP_STRING([--with-pic],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [pic_mode="$withval"],
+ [pic_mode=default])
+test -z "$pic_mode" && pic_mode=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+AC_DEFUN([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$rm conftest*
+])# _LT_LINKER_BOILERPLATE
+
+
+# _LT_AC_SYS_LIBPATH_AIX
+# ----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\(.*\)$/\1/
+ p
+ }
+ }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+ [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+ # Remove one level of quotation (which was required for Make).
+ ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+ ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+ # Discard the --no-reexec flag, and continue.
+ shift
+elif test "X[$]1" = X--fallback-echo; then
+ # Avoid inline document here, it may be left over
+ :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+ # Yippee, $echo works!
+ :
+else
+ # Restart under the correct shell.
+ exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+ # used as fallback echo
+ shift
+ cat <<EOF
+[$]*
+EOF
+ exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+ for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+ # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+ if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+ echo_test_string=`eval $cmd` &&
+ (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+ then
+ break
+ fi
+ done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ :
+else
+ # The Solaris, AIX, and Digital Unix default echo programs unquote
+ # backslashes. This makes it impossible to quote backslashes using
+ # echo "$something" | sed 's/\\/\\\\/g'
+ #
+ # So, first we look for a working echo in the user's PATH.
+
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for dir in $PATH /usr/ucb; do
+ IFS="$lt_save_ifs"
+ if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+ test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$dir/echo"
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ if test "X$echo" = Xecho; then
+ # We didn't find a better echo, so look for alternatives.
+ if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # This shell has a builtin print -r that does the trick.
+ echo='print -r'
+ elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+ test "X$CONFIG_SHELL" != X/bin/ksh; then
+ # If we have ksh, try running configure again with it.
+ ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+ export ORIGINAL_CONFIG_SHELL
+ CONFIG_SHELL=/bin/ksh
+ export CONFIG_SHELL
+ exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+ else
+ # Try using printf.
+ echo='printf %s\n'
+ if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+ echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ # Cool, printf works
+ :
+ elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+ export CONFIG_SHELL
+ SHELL="$CONFIG_SHELL"
+ export SHELL
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+ test "X$echo_testing_string" = 'X\t' &&
+ echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+ test "X$echo_testing_string" = "X$echo_test_string"; then
+ echo="$CONFIG_SHELL [$]0 --fallback-echo"
+ else
+ # maybe with a smaller string...
+ prev=:
+
+ for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+ if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+ then
+ break
+ fi
+ prev="$cmd"
+ done
+
+ if test "$prev" != 'sed 50q "[$]0"'; then
+ echo_test_string=`eval $prev`
+ export echo_test_string
+ exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+ else
+ # Oops. We lost completely, so just stick with echo.
+ echo=echo
+ fi
+ fi
+ fi
+ fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+ ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AC_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE="32"
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE="64"
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out which ABI we are using.
+ echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|sparc*-*linux*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ ppc64-*linux*|powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ ppc*-*linux*|powerpc*-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ ;;
+sparc*-*solaris*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*) LD="${LD-ld} -m elf64_sparc" ;;
+ *) LD="${LD-ld} -64" ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+ ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$5], , :, [$5])
+else
+ ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $rm conftest*
+ LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+ ifelse([$4], , :, [$4])
+else
+ ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring="ABCD"
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+ = "XX$teststring") >/dev/null 2>&1 &&
+ new_result=`expr "X$teststring" : ".*" 2>&1` &&
+ lt_cv_sys_max_cmd_len=$new_result &&
+ test $i != 17 # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on massive
+ # amounts of additional arguments before passing them to the linker.
+ # It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ exit (status);
+}]
+EOF
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32*)
+ lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen="dlopen"
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+ lt_cv_dlopen="dyld"
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen="shl_load"],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen="dlopen"],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test "x$lt_cv_dlopen" != xno; then
+ enable_dlopen=yes
+ else
+ enable_dlopen=no
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS="$CPPFLAGS"
+ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS="$LDFLAGS"
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS="$LIBS"
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test "x$lt_cv_dlopen_self" = xyes; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_AC_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS="$save_CPPFLAGS"
+ LDFLAGS="$save_LDFLAGS"
+ LIBS="$save_LIBS"
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $rm -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $rm conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
+ $rm out/* && rmdir out
+ cd ..
+ rmdir conftest
+ $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $rm conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test "$hard_links" = no; then
+ AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+ test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+ # We can hardcode non-existant directories.
+ if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+ test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_AC_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+ test "$enable_shared" = no; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
+ test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+ test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+ case $host_os in
+ darwin*)
+ if test -n "$STRIP" ; then
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+fi
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+m4_if($1,[],[
+if test "$GCC" = yes; then
+ case $host_os in
+ darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+ *) lt_awk_arg="/^libraries:/" ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary.
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+ else
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+ lt_foo="";
+ lt_count=0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo="/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ sys_lib_search_path_spec=`echo $lt_search_path_spec`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+
+aix4* | aix5*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test "$host_cpu" = ia64; then
+ # AIX 5 supports IA64
+ library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line `#! .'. This would cause the generated library to
+ # depend on `.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ if test "$aix_use_runtimelinking" = yes; then
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ else
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='${libname}${release}.a $libname.a'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ fi
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+
+beos*)
+ library_names_spec='${libname}${shared_ext}'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32*)
+ version_type=windows
+ shrext_cmds=".dll"
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$host_os in
+ yes,cygwin* | yes,mingw* | yes,pw32*)
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \${file}`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $rm \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+ ;;
+ mingw*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+ if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH printed by
+ # mingw gcc, but we are running on Cygwin. Gcc prints its search
+ # path with ; separators, and with drive letters. We can handle the
+ # drive letters (cygwin fileutils understands them), so leave them,
+ # especially as we might pass files found there to a mingw objdump,
+ # which wouldn't understand a cygwinified path. Ahh.
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ ;;
+ esac
+ ;;
+
+ *)
+ library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+ soname_spec='${libname}${release}${major}$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+ m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd1*)
+ dynamic_linker=no
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[123]]*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+gnu*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ if test "X$HPUX_IA64_MODE" = X32; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ fi
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ postinstall_cmds='chmod 555 $lib'
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test "$lt_cv_prog_gnu_ld" = yes; then
+ version_type=linux
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+ sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Append ld.so.conf contents to the search path
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+nto-qnx*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+openbsd*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec="/usr/lib"
+ need_lib_prefix=no
+ # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+ case $host_os in
+ openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+ *) need_version=no ;;
+ esac
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ case $host_os in
+ openbsd2.[[89]] | openbsd2.[[89]].*)
+ shlibpath_overrides_runpath=no
+ ;;
+ *)
+ shlibpath_overrides_runpath=yes
+ ;;
+ esac
+ else
+ shlibpath_overrides_runpath=yes
+ fi
+ ;;
+
+os2*)
+ libname_spec='$name'
+ shrext_cmds=".dll"
+ need_lib_prefix=no
+ library_names_spec='$libname${shared_ext} $libname.a'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=LIBPATH
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test "$with_gnu_ld" = yes; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ export_dynamic_flag_spec='${wl}-Blargedynsym'
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec ;then
+ version_type=linux
+ library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+ soname_spec='$libname${shared_ext}.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=freebsd-elf
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ hardcode_into_libs=yes
+ if test "$with_gnu_ld" = yes; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ shlibpath_overrides_runpath=no
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ shlibpath_overrides_runpath=yes
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+uts4*)
+ version_type=linux
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='${libname}${release}${shared_ext}$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
+ [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+ [include additional configurations @<:@automatic@:>@])],
+ [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+ if test ! -f "${ofile}"; then
+ AC_MSG_WARN([output file `$ofile' does not exist])
+ fi
+
+ if test -z "$LTCC"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+ if test -z "$LTCC"; then
+ AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+ else
+ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+ fi
+ fi
+ if test -z "$LTCFLAGS"; then
+ eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+ fi
+
+ # Extract list of available tagged configurations in $ofile.
+ # Note that this assumes the entire list is on one line.
+ available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for tagname in $tagnames; do
+ IFS="$lt_save_ifs"
+ # Check whether tagname contains only valid characters
+ case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+ "") ;;
+ *) AC_MSG_ERROR([invalid tag name: $tagname])
+ ;;
+ esac
+
+ if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+ then
+ AC_MSG_ERROR([tag name \"$tagname\" already exists])
+ fi
+
+ # Update the list of available tags.
+ if test -n "$tagname"; then
+ echo appending configuration tag \"$tagname\" to $ofile
+
+ case $tagname in
+ CXX)
+ if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_LIBTOOL_LANG_CXX_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ F77)
+ if test -n "$F77" && test "X$F77" != "Xno"; then
+ AC_LIBTOOL_LANG_F77_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ GCJ)
+ if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+ AC_LIBTOOL_LANG_GCJ_CONFIG
+ else
+ tagname=""
+ fi
+ ;;
+
+ RC)
+ AC_LIBTOOL_LANG_RC_CONFIG
+ ;;
+
+ *)
+ AC_MSG_ERROR([Unsupported tag name: $tagname])
+ ;;
+ esac
+
+ # Append the new tag name to the list of available tags.
+ if test -n "$tagname" ; then
+ available_tags="$available_tags $tagname"
+ fi
+ fi
+ done
+ IFS="$lt_save_ifs"
+
+ # Now substitute the updated list of available tags.
+ if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+ mv "${ofile}T" "$ofile"
+ chmod +x "$ofile"
+ else
+ rm -f "${ofile}T"
+ AC_MSG_ERROR([unable to update list of available tagged configurations.])
+ fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+ [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+ [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_static=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+ [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ for pkg in $enableval; do
+ IFS="$lt_save_ifs"
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS="$lt_save_ifs"
+ ;;
+ esac],
+ [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognize shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD="$MAGIC_CMD"
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="ifelse([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$1; then
+ lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS="$lt_save_ifs"
+ MAGIC_CMD="$lt_save_MAGIC_CMD"
+ ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognize a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+ [AC_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ darwin*)
+ if test "$GCC" = yes; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix4* | aix5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+nto-qnx*)
+ lt_cv_deplibs_check_method=unknown
+ ;;
+
+openbsd*)
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM="$NM"
+else
+ lt_nm_to_check="${ac_tool_prefix}nm"
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm="$ac_dir/$lt_tmp_nm"
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+ */dev/null* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+ done
+ test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM="-lm")
+ ;;
+esac
+])# AC_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments. Note that
+# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!). If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ case $enable_ltdl_convenience in
+ no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+ "") enable_ltdl_convenience=yes
+ ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+ esac
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments. Note that
+# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!). If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+ AC_CHECK_LIB(ltdl, lt_dlinit,
+ [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+ [if test x"$enable_ltdl_install" = xno; then
+ AC_MSG_WARN([libltdl not installed, but installation disabled])
+ else
+ enable_ltdl_install=yes
+ fi
+ ])
+ if test x"$enable_ltdl_install" = x"yes"; then
+ ac_configure_args="$ac_configure_args --enable-ltdl-install"
+ LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+ LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+ else
+ ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+ LIBLTDL="-lltdl"
+ LTDLINCL=
+ fi
+ # For backwards non-gettext consistent compatibility...
+ INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+ ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+ (test "X$CXX" != "Xg++"))) ; then
+ AC_PROG_CXXCPP
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+ [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+ [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+ [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+ [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# Report which library types will actually be built
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_LD=$LD
+lt_save_GCC=$GCC
+GCC=$GXX
+lt_save_with_gnu_ld=$with_gnu_ld
+lt_save_path_LD=$lt_cv_path_LD
+if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+else
+ $as_unset lt_cv_prog_gnu_ld
+fi
+if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+else
+ $as_unset lt_cv_path_LD
+fi
+test -z "${LDCXX+set}" || LD=$LDCXX
+CC=${CXX-"c++"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+ # Set up default GNU C++ configuration
+
+ AC_PROG_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test "$with_gnu_ld" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='${wl}'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
+ grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+fi
+
+# PORTME: fill in a description of your system's C++ link characteristics
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ 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
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ 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
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GXX" = yes ; then
+ lt_int_apple_cc_single_mod=no
+ output_verbose_link_cmd='echo'
+ if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then
+ lt_int_apple_cc_single_mod=yes
+ fi
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ fi
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ fi
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ freebsd[[12]]*)
+ # C++ shared libraries reported to be fairly broken before switch to ELF
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ freebsd-elf*)
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+ gnu*)
+ ;;
+ hpux9*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
+ if test $with_gnu_ld = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*) ;;
+ *)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test $with_gnu_ld = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ interix[[3-9]]*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+ fi
+ fi
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc*)
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+ openbsd2*)
+ # C++ shared libraries are fairly broken
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ fi
+ output_verbose_link_cmd='echo'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ osf3*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
+ $rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='echo'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if $CC --version | grep -v '^2\.7' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ else
+ # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # platform.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
+ fi
+
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ # So that behaviour is only enabled if SCOABSPATH is set to a
+ # non-empty value in the environment. Most likely only useful for
+ # creating official distributions of packages.
+ # This is a hack until libtool officially supports absolute path
+ # names for shared libraries.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+with_gnu_ld=$lt_save_with_gnu_ld
+lt_cv_path_LDCXX=$lt_cv_path_LD
+lt_cv_path_LD=$lt_save_path_LD
+lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
+# ------------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ # The `*' in the case matches for architectures that use `case' in
+ # $output_verbose_cmd can trigger glob expansion during the loop
+ # eval without this substitution.
+ output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+ for p in `eval $output_verbose_link_cmd`; do
+ case $p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test $p = "-L" \
+ || test $p = "-R"; then
+ prev=$p
+ continue
+ else
+ prev=
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ case $p in
+ -L* | -R*)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
+ _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+ else
+ _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
+ fi
+ fi
+ ;;
+
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test "$pre_test_object_deps_done" = no; then
+ if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
+ _LT_AC_TAGVAR(predep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+ _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+ else
+ _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$rm -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+ifelse([$1],[CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_AC_TAGVAR(predep_objects,$1)=
+ _LT_AC_TAGVAR(postdep_objects,$1)=
+ _LT_AC_TAGVAR(postdeps,$1)=
+ ;;
+
+linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ #
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+solaris*)
+ case $cc_basename in
+ CC*)
+ # The more standards-conforming stlport4 library is
+ # incompatible with the Cstd library. Avoid specifying
+ # it if it's in CXXFLAGS. Ignore libCrun as
+ # -library=stlport4 depends on it.
+ case " $CXX $CXXFLAGS " in
+ *" -library=stlport4 "*)
+ solaris_use_stlport4=yes
+ ;;
+ esac
+
+ # Adding this requires a known-good setup of shared libraries for
+ # Sun compiler versions before 5.6, else PIC objects from an old
+ # archive will be linked into the output, leading to subtle bugs.
+ if test "$solaris_use_stlport4" != yes; then
+ _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+esac
+])
+
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="\
+ program t
+ end
+"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+AC_MSG_CHECKING([if libtool supports shared libraries])
+AC_MSG_RESULT([$can_build_shared])
+
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case $host_os in
+aix3*)
+ test "$enable_shared" = yes && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+aix4* | aix5*)
+ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+ test "$enable_shared" = yes && enable_static=no
+ fi
+ ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
+_LT_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined. Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then create an initial libtool script
+# with a default configuration from the untagged config vars. Otherwise
+# add code to config.status for appending the configuration named by
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+ # See if we are running on zsh, and set the options which allow our commands through
+ # without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}" ; then
+ setopt NO_GLOB_SUBST
+ fi
+ # Now quote all the things that may contain metacharacters while being
+ # careful not to overquote the AC_SUBSTed values. We take copies of the
+ # variables and quote the copies for generation of the libtool script.
+ for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+ SED SHELL STRIP \
+ libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+ old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+ deplibs_check_method reload_flag reload_cmds need_locks \
+ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+ lt_cv_sys_global_symbol_to_c_name_address \
+ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+ old_postinstall_cmds old_postuninstall_cmds \
+ _LT_AC_TAGVAR(compiler, $1) \
+ _LT_AC_TAGVAR(CC, $1) \
+ _LT_AC_TAGVAR(LD, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+ _LT_AC_TAGVAR(old_archive_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+ _LT_AC_TAGVAR(predep_objects, $1) \
+ _LT_AC_TAGVAR(postdep_objects, $1) \
+ _LT_AC_TAGVAR(predeps, $1) \
+ _LT_AC_TAGVAR(postdeps, $1) \
+ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+ _LT_AC_TAGVAR(archive_cmds, $1) \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(postinstall_cmds, $1) \
+ _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+ _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+ _LT_AC_TAGVAR(no_undefined_flag, $1) \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+ _LT_AC_TAGVAR(hardcode_automatic, $1) \
+ _LT_AC_TAGVAR(module_cmds, $1) \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+ _LT_AC_TAGVAR(fix_srcfile_path, $1) \
+ _LT_AC_TAGVAR(exclude_expsyms, $1) \
+ _LT_AC_TAGVAR(include_expsyms, $1); do
+
+ case $var in
+ _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_cmds, $1) | \
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(module_cmds, $1) | \
+ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+ extract_expsyms_cmds | reload_cmds | finish_cmds | \
+ postinstall_cmds | postuninstall_cmds | \
+ old_postinstall_cmds | old_postuninstall_cmds | \
+ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+ # Double-quote double-evaled strings.
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+ ;;
+ *)
+ eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+ ;;
+ esac
+ done
+
+ case $lt_echo in
+ *'\[$]0 --fallback-echo"')
+ lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+ ;;
+ esac
+
+ifelse([$1], [],
+ [cfgfile="${ofile}T"
+ trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+ $rm -f "$cfgfile"
+ AC_MSG_NOTICE([creating $ofile])],
+ [cfgfile="$ofile"])
+
+ cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Do we need the lib prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME.
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == file_magic.
+file_magic_cmd=$lt_file_magic_cmd
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
+
+# If ld is used when linking, flag to hardcode \$libdir into
+# a binary during linking. This must work even if \$libdir does
+# not exist.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# Set to yes if building a shared library automatically hardcodes DIR into the library
+# and all subsequent libraries and executables linked against it.
+hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# Compile-time system search path for libraries
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to yes if exported symbols are required.
+always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+ case $host_os in
+ aix3*)
+ cat <<\EOF >> "$cfgfile"
+
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+EOF
+ ;;
+ esac
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" || \
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+])
+else
+ # If there is no Makefile yet, we rely on a make rule to execute
+ # `config.status --recheck' to rerun these tests and create the
+ # libtool script then.
+ ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+ if test -f "$ltmain_in"; then
+ test -f Makefile && make "$ltmain"
+ fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*) # Its linker distinguishes data from code symbols
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ ;;
+linux* | k*bsd*-gnu)
+ if test "$host_cpu" = ia64; then
+ symcode='[[ABCDGIRSTW]]'
+ lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+ lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if grep ' nm_test_var$' "$nlist" >/dev/null; then
+ if grep ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+ cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+ const char *name;
+ lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+ $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+ cat <<\EOF >> conftest.$ac_ext
+ {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_save_LIBS="$LIBS"
+ lt_save_CFLAGS="$CFLAGS"
+ LIBS="conftstm.$ac_objext"
+ CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ pipe_works=yes
+ fi
+ LIBS="$lt_save_LIBS"
+ CFLAGS="$lt_save_CFLAGS"
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -f conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test "$pipe_works" = yes; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+ # C++ specific cases for pic, static, wl, etc.
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix4* | aix5*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ icpc* | ecpc*)
+ # Intel C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC*)
+ # Portland Group C++ compiler.
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd* | netbsdelf*-gnu)
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ hpux*)
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test "$host_cpu" = ia64; then
+ # AIX 5 now supports IA64 processor
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ case $cc_basename in
+ xlc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ linux* | k*bsd*-gnu)
+ case $cc_basename in
+ icc* | ecc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Sun\ F*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec ;then
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+ _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
+ [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+ # For platforms which do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ case $host_os in
+ aix4* | aix5*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ ;;
+ cygwin* | mingw*)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ ;;
+ linux* | k*bsd*-gnu)
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+],[
+ runpath_var=
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_AC_TAGVAR(archive_cmds, $1)=
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+ _LT_AC_TAGVAR(module_cmds, $1)=
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_AC_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ` (' and `)$', so one must not match beginning or
+ # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+ # as well as any symbol that contains `d'.
+ _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_"
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ extract_expsyms_cmds=
+ # Just being paranoid about ensuring that cc_basename is set.
+ _LT_CC_BASENAME([$compiler])
+ 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
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ if test "$with_gnu_ld" = yes; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='${wl}'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v 2>/dev/null` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix3* | aix4* | aix5*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+
+ # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> 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 can't use
+ # them.
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32*)
+ # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=no
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file (1st line
+ # is EXPORTS), use it as is; otherwise, prepend...
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ interix[[3-9]]*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | k*bsd*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ tmp_addflag=
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ *)
+ tmp_sharedflag='-shared' ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+ if test $supports_anon_versioning = yes; then
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ $echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ fi
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=no
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+EOF
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+ runpath_var=
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_AC_TAGVAR(hardcode_direct, $1)=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
+ exp_sym_flag='-Bexport'
+ no_entry_flag=""
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to AIX nm, but means don't demangle with GNU nm
+ if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+ fi
+ 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
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_AC_TAGVAR(archive_cmds, $1)=''
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag="$shared_flag "'${wl}-G'
+ fi
+ else
+ # not using gcc
+ if test "$host_cpu" = ia64; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test "$aix_use_runtimelinking" = yes; then
+ shared_flag='${wl}-G'
+ else
+ shared_flag='${wl}-bM:SRE'
+ fi
+ fi
+ fi
+
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+ if test "$aix_use_runtimelinking" = yes; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ else
+ if test "$host_cpu" = ia64; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an empty executable.
+ _LT_AC_SYS_LIBPATH_AIX
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ # see comment about different semantics on the GNU ld section
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ bsdi[[45]]*)
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ 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.
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=".dll"
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
+ darwin* | rhapsody*)
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+ ;;
+ *) # Darwin 1.3 on
+ if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ else
+ case ${MACOSX_DEPLOYMENT_TARGET} in
+ 10.[[012]])
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+ ;;
+ 10.*)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ if test "$GCC" = yes ; then
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ else
+ case $cc_basename in
+ xlc*)
+ output_verbose_link_cmd='echo'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+ _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+ # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ ;;
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+ ;;
+
+ dgux*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ freebsd1*)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ fi
+ if test "$with_gnu_ld" = no; then
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ else
+ case $host_os in
+ openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+ _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ ;;
+
+ osf3*)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ else
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
+ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+ if test "$GCC" = yes; then
+ wlarc='${wl}'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+ else
+ wlarc=''
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ else
+ _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test "x$host_vendor" = xsequent; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We can NOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test "$GCC" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test "$enable_shared" = yes && test "$GCC" = yes; then
+ case $_LT_AC_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+ $rm conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+ then
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $rm conftest*
+ AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+ ;;
+ esac
+ fi
+ ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# # ifdef __CYGWIN32__
+# # define __CYGWIN__ __CYGWIN32__
+# # endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+# __hDllInstance_base = hInst;
+# return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD], [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+ test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+ as_executable_p='test -x'
+else
+ as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f $lt_ac_sed && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test $lt_ac_count -gt 10 && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test $lt_ac_count -gt $lt_ac_max; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])
+
+dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not)
+dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page
+dnl also defines GSTUFF_PKG_ERRORS on error
+AC_DEFUN([PKG_CHECK_MODULES], [
+ succeeded=no
+
+ if test -z "$PKG_CONFIG"; then
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+ fi
+
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** The pkg-config script could not be found. Make sure it is"
+ echo "*** in your path, or set the PKG_CONFIG environment variable"
+ echo "*** to the full path to pkg-config."
+ echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+ else
+ PKG_CONFIG_MIN_VERSION=0.9.0
+ if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+ AC_MSG_CHECKING(for $2)
+
+ if $PKG_CONFIG --exists "$2" ; then
+ AC_MSG_RESULT(yes)
+ succeeded=yes
+
+ AC_MSG_CHECKING($1_CFLAGS)
+ $1_CFLAGS=`$PKG_CONFIG --cflags "$2"`
+ AC_MSG_RESULT($$1_CFLAGS)
+
+ AC_MSG_CHECKING($1_LIBS)
+ $1_LIBS=`$PKG_CONFIG --libs "$2"`
+ AC_MSG_RESULT($$1_LIBS)
+ else
+ $1_CFLAGS=""
+ $1_LIBS=""
+ ## If we have a custom action on failure, don't print errors, but
+ ## do set a variable so people can do so.
+ $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+ ifelse([$4], ,echo $$1_PKG_ERRORS,)
+ fi
+
+ AC_SUBST($1_CFLAGS)
+ AC_SUBST($1_LIBS)
+ else
+ echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig"
+ fi
+ fi
+
+ if test $succeeded = yes; then
+ ifelse([$3], , :, [$3])
+ else
+ ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4])
+ fi
+])
+
+
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..2f1ca33
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,910 @@
+# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(AC_AUTOCONF_VERSION, [2.61],,
+[m4_warning([this file was generated for autoconf 2.61.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+#
+# 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.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.10.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# 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.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008 Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 13
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES(OBJC)],
+ [define([AC_PROG_OBJC],
+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# 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.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+ [[\\/$]]* | ?:[[\\/]]*) ;;
+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006 Free Software Foundation, Inc.
+#
+# 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.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# 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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..a3806e3
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,252 @@
+/* config.h.in. Generated from configure.in by autoheader. */
+
+/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
+#undef HAVE_CARBON_CARBON_H
+
+/* Define if you have the CoreAudio API */
+#undef HAVE_COREAUDIO
+
+/* Define to 1 if you have the <crt_externs.h> header file. */
+#undef HAVE_CRT_EXTERNS_H
+
+/* Defines if your system has the crypt function */
+#undef HAVE_CRYPT
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have Kimiface headers */
+#undef HAVE_KIMIFACE
+
+/* Define if you have libjpeg */
+#undef HAVE_LIBJPEG
+
+/* Define if you have libpng */
+#undef HAVE_LIBPNG
+
+/* Define if you have a working libpthread (will enable threaded code) */
+#undef HAVE_LIBPTHREAD
+
+/* Define if you have libz */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define if your system needs _NSGetEnviron to set up the environment */
+#undef HAVE_NSGETENVIRON
+
+/* Define if you have res_init */
+#undef HAVE_RES_INIT
+
+/* Define if you have the res_init prototype */
+#undef HAVE_RES_INIT_PROTO
+
+/* Define if you have a STL implementation by SGI */
+#undef HAVE_SGI_STL
+
+/* Define to 1 if you have the `snprintf' function. */
+#undef HAVE_SNPRINTF
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define if you have strlcat */
+#undef HAVE_STRLCAT
+
+/* Define if you have the strlcat prototype */
+#undef HAVE_STRLCAT_PROTO
+
+/* Define if you have strlcpy */
+#undef HAVE_STRLCPY
+
+/* Define if you have the strlcpy prototype */
+#undef HAVE_STRLCPY_PROTO
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+#undef HAVE_SYS_BITYPES_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <tgmath.h> header file. */
+#undef HAVE_TGMATH_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if you have the `vsnprintf' function. */
+#undef HAVE_VSNPRINTF
+
+/* Define if you have the XScreenSaver extension */
+#undef HAVE_XSCREENSAVER
+
+/* Suffix for lib directories */
+#undef KDELIBSUFF
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of `char *', as computed by sizeof. */
+#undef SIZEOF_CHAR_P
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `size_t', as computed by sizeof. */
+#undef SIZEOF_SIZE_T
+
+/* The size of `unsigned long', as computed by sizeof. */
+#undef SIZEOF_UNSIGNED_LONG
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* If we use arts volume */
+#undef USE_ARTS
+
+/* Define if you have KNotify */
+#undef USE_KNOTIFY
+
+/* Version number of package */
+#undef VERSION
+
+/* Defined if compiling without arts */
+#undef WITHOUT_ARTS
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+
+
+/*
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
+ * that defines bzero.
+ */
+
+#if defined(_AIX)
+#include <strings.h>
+#endif
+
+
+
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
+# include <sys/time.h>
+# include <crt_externs.h>
+# define environ (*_NSGetEnviron())
+#endif
+
+
+
+#if !defined(HAVE_RES_INIT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+int res_init(void);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCAT_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcat(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+#if !defined(HAVE_STRLCPY_PROTO)
+#ifdef __cplusplus
+extern "C" {
+#endif
+unsigned long strlcpy(char*, const char*, unsigned long);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+
+
+/*
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
+ */
+
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if __STDC__
+#include <stdarg.h>
+#include <stdlib.h>
+#else
+#include <varargs.h>
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
+#ifdef __cplusplus
+extern "C"
+#endif
+int snprintf(char *str, size_t n, char const *fmt, ...);
+#endif
+
+
+
+#if defined(__SVR4) && !defined(__svr4__)
+#define __svr4__ 1
+#endif
+
+
+/* type to use in place of socklen_t if not defined */
+#undef kde_socklen_t
+
+/* type to use in place of socklen_t if not defined (deprecated, use
+ kde_socklen_t) */
+#undef ksize_t
diff --git a/configure.files b/configure.files
new file mode 100644
index 0000000..e21fe66
--- /dev/null
+++ b/configure.files
@@ -0,0 +1,3 @@
+./admin/configure.in.min
+configure.in.in
+./konversation/configure.in.in
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..0c5f566
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,234 @@
+dnl =======================================================
+dnl FILE: ./admin/configure.in.min
+dnl =======================================================
+
+dnl This file is part of the KDE libraries/packages
+dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
+
+dnl This file is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Library General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2 of the License, or (at your option) any later version.
+
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Library General Public License for more details.
+
+dnl You should have received a copy of the GNU Library General Public License
+dnl along with this library; see the file COPYING.LIB. If not, write to
+dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+dnl Boston, MA 02110-1301, USA.
+
+# Original Author was Kalle@kde.org
+# I lifted it in some mater. (Stephan Kulow)
+# I used much code from Janos Farkas
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
+
+dnl This is so we can use kde-common
+AC_CONFIG_AUX_DIR(admin)
+
+dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
+unset CDPATH
+
+dnl Checking host/target/build systems, for make, install etc.
+AC_CANONICAL_SYSTEM
+dnl Perform program name transformation
+AC_ARG_PROGRAM
+
+dnl Automake doc recommends to do this only here. (Janos)
+AM_INIT_AUTOMAKE(konversation-1.1, "3.5.9") dnl searches for some needed programs
+
+AM_MAINTAINER_MODE
+
+KDE_SET_PREFIX
+
+dnl generate the config header
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
+
+dnl Checks for programs.
+AC_CHECK_COMPILERS
+AC_ENABLE_SHARED(yes)
+AC_ENABLE_STATIC(no)
+KDE_PROG_LIBTOOL
+
+dnl for NLS support. Call them in this order!
+dnl WITH_NLS is for the po files
+AM_KDE_WITH_NLS
+
+KDE_USE_QT(3.2)
+AC_PATH_KDE
+dnl =======================================================
+dnl FILE: configure.in.in
+dnl =======================================================
+
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+if test "$build_arts" = "yes"; then
+ AC_DEFINE(USE_ARTS, 1, [If we use arts volume])
+ LIB_ARTS="-lartskde"
+ AC_SUBST(LIB_ARTS)
+fi
+
+KDE_INIT_DOXYGEN([KEG Network API Reference], [Version $VERSION])
+
+dnl =======================================================
+dnl FILE: ./konversation/configure.in.in
+dnl =======================================================
+
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+KDE_CHECK_HEADER(knotifyclient.h,
+ [
+ AC_DEFINE(USE_KNOTIFY, 1, [Define if you have KNotify] )
+ ])
+
+
+KDE_CHECK_HEADER(kimiface.h,
+ [
+ AC_DEFINE(HAVE_KIMIFACE, 1, [Define if you have Kimiface headers] )
+ LIB_KIMIFACE="-lkimproxy"
+ AC_SUBST(LIB_KIMIFACE)
+ ])
+
+# Check for XScreenSaver
+AC_CHECK_HEADERS(tgmath.h)xss_save_ldflags="$LDFLAGS"
+LDFLAGS="$X_LDFLAGS"
+
+LIB_XSS=
+
+KDE_CHECK_HEADER(X11/extensions/scrnsaver.h,
+ [
+ AC_CHECK_LIB(Xext,XScreenSaverQueryInfo,
+ [
+ AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
+ LIB_XSS="-lXext"
+ ],
+ [
+ ld_shared_flag=
+ KDE_CHECK_COMPILER_FLAG(shared, [ld_shared_flag="-shared"])
+ AC_CHECK_LIB(Xss,XScreenSaverQueryInfo,
+ [
+ AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
+ LIB_XSS="-lXss"
+ ],
+ [],
+ [ $ld_shared_flag $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS ])
+ ],
+ [ $X_PRE_LIBS -lX11 $X_EXTRA_LIBS ])
+ ], [],
+ [
+ #include <X11/Xlib.h>
+ ] )
+
+AC_SUBST(LIB_XSS)
+LDFLAGS="$xss_save_ldflags"
+KDE_CREATE_SUBDIRSLIST
+AM_CONDITIONAL(doc_SUBDIR_included, test "x$doc_SUBDIR_included" = xyes)
+AM_CONDITIONAL(konversation_SUBDIR_included, test "x$konversation_SUBDIR_included" = xyes)
+AM_CONDITIONAL(po_SUBDIR_included, test "x$po_SUBDIR_included" = xyes)
+AC_CONFIG_FILES([ Makefile ])
+AC_CONFIG_FILES([ doc/Makefile ])
+AC_CONFIG_FILES([ doc/da/Makefile ])
+AC_CONFIG_FILES([ doc/es/Makefile ])
+AC_CONFIG_FILES([ doc/et/Makefile ])
+AC_CONFIG_FILES([ doc/it/Makefile ])
+AC_CONFIG_FILES([ doc/konversation/Makefile ])
+AC_CONFIG_FILES([ doc/pt/Makefile ])
+AC_CONFIG_FILES([ doc/ru/Makefile ])
+AC_CONFIG_FILES([ doc/sv/Makefile ])
+AC_CONFIG_FILES([ konversation/Makefile ])
+AC_CONFIG_FILES([ konversation/images/Makefile ])
+AC_CONFIG_FILES([ konversation/images/icons/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/alternative/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/christmas/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/classic/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/default/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/oxygen/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/smiling/Makefile ])
+AC_CONFIG_FILES([ konversation/images/nickicons/square/Makefile ])
+AC_CONFIG_FILES([ konversation/scripts/Makefile ])
+AC_CONFIG_FILES([ konversation/src/Makefile ])
+AC_CONFIG_FILES([ konversation/src/blowfish/Makefile ])
+AC_CONFIG_FILES([ konversation/src/config/Makefile ])
+AC_CONFIG_FILES([ konversation/src/linkaddressbook/Makefile ])
+AC_CONFIG_FILES([ po/Makefile ])
+AC_CONFIG_FILES([ po/ar/Makefile ])
+AC_CONFIG_FILES([ po/bg/Makefile ])
+AC_CONFIG_FILES([ po/ca/Makefile ])
+AC_CONFIG_FILES([ po/da/Makefile ])
+AC_CONFIG_FILES([ po/de/Makefile ])
+AC_CONFIG_FILES([ po/el/Makefile ])
+AC_CONFIG_FILES([ po/en_GB/Makefile ])
+AC_CONFIG_FILES([ po/es/Makefile ])
+AC_CONFIG_FILES([ po/et/Makefile ])
+AC_CONFIG_FILES([ po/fi/Makefile ])
+AC_CONFIG_FILES([ po/fr/Makefile ])
+AC_CONFIG_FILES([ po/gl/Makefile ])
+AC_CONFIG_FILES([ po/he/Makefile ])
+AC_CONFIG_FILES([ po/hu/Makefile ])
+AC_CONFIG_FILES([ po/it/Makefile ])
+AC_CONFIG_FILES([ po/ja/Makefile ])
+AC_CONFIG_FILES([ po/ka/Makefile ])
+AC_CONFIG_FILES([ po/ko/Makefile ])
+AC_CONFIG_FILES([ po/pa/Makefile ])
+AC_CONFIG_FILES([ po/pt/Makefile ])
+AC_CONFIG_FILES([ po/ru/Makefile ])
+AC_CONFIG_FILES([ po/sr/Makefile ])
+AC_CONFIG_FILES([ po/sr@Latn/Makefile ])
+AC_CONFIG_FILES([ po/sv/Makefile ])
+AC_CONFIG_FILES([ po/tr/Makefile ])
+AC_CONFIG_FILES([ po/zh_CN/Makefile ])
+AC_CONFIG_FILES([ po/zh_TW/Makefile ])
+AC_OUTPUT
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
+ # And if so, warn when they don't match
+ if test "$kde_libs_prefix" != "$given_prefix"; then
+ # And if kde doesn't know about the prefix yet
+ echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
+ if test $? -ne 0; then
+ echo ""
+ echo "Warning: you chose to install this package in $given_prefix,"
+ echo "but KDE was found in $kde_libs_prefix."
+ echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
+ echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
+ echo "Then restart KDE."
+ echo ""
+ fi
+ fi
+fi
+
+if test x$GXX = "xyes" -a x$kde_have_gcc_visibility = "xyes" -a x$kde_cv_val_qt_gcc_visibility_patched = "xno"; then
+ echo ""
+ echo "Your GCC supports symbol visibility, but the patch for Qt supporting visibility"
+ echo "was not included. Therefore, GCC symbol visibility support remains disabled."
+ echo ""
+ echo "For better performance, consider including the Qt visibility supporting patch"
+ echo "located at:"
+ echo ""
+ echo "http://bugs.kde.org/show_bug.cgi?id=109386"
+ echo ""
+ echo "and recompile all of Qt and KDE. Note, this is entirely optional and"
+ echo "everything will continue to work just fine without it."
+ echo ""
+fi
+
+if test "$all_tests" = "bad"; then
+ if test ! "$cache_file" = "/dev/null"; then
+ echo ""
+ echo "Please remove the file $cache_file after changing your setup"
+ echo "so that configure will find the changes next time."
+ echo ""
+ fi
+else
+ echo ""
+ echo "Good - your configure finished. Start make now"
+ echo ""
+fi
diff --git a/configure.in.in b/configure.in.in
new file mode 100644
index 0000000..a781b76
--- /dev/null
+++ b/configure.in.in
@@ -0,0 +1,11 @@
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+if test "$build_arts" = "yes"; then
+ AC_DEFINE(USE_ARTS, 1, [If we use arts volume])
+ LIB_ARTS="-lartskde"
+ AC_SUBST(LIB_ARTS)
+fi
+
+KDE_INIT_DOXYGEN([KEG Network API Reference], [Version $VERSION])
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..6812bd2
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,5 @@
+
+KDE_LANG = en
+KDE_DOCS = AUTO
+SUBDIRS = $(AUTODIRS)
+
diff --git a/doc/da/Makefile.am b/doc/da/Makefile.am
new file mode 100644
index 0000000..fc88e70
--- /dev/null
+++ b/doc/da/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = da
+KDE_DOCS = konversation
diff --git a/doc/da/index.docbook b/doc/da/index.docbook
new file mode 100644
index 0000000..0b29be3
--- /dev/null
+++ b/doc/da/index.docbook
@@ -0,0 +1,5935 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Danish "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>&konversation;-håndbogen</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+&erik.kjaer.pedersen.role;
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&konversation; er en brugervenlig &irc;-klient for K-desktopmiljøet. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>internet relay chat</keyword>
+<keyword
+>chat</keyword>
+<keyword
+>kommunikationer</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with &kaddressbook;</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&konversation; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &konversation; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &konversation;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Indledning</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>&konversation; er en &irc;-klient for &kde; 3.2 eller senere. Den tilbyder følgende funktioner. </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Støtte for SSL.</para
+></listitem>
+<listitem
+><para
+>Brugervenlig fanebladsgrænseflade.</para
+></listitem>
+<listitem
+><para
+>Brugerindstillelige hurtigknapper til ofte brugte kommandoer</para
+></listitem>
+<listitem
+><para
+>Automatisk genforbindelse og gendeltagelse i kanal.</para
+></listitem>
+<listitem
+><para
+>DCC sende og modtage.</para
+></listitem>
+<listitem
+><para
+>&Nickname;-overvågningsliste.</para
+></listitem>
+<listitem
+><para
+>Visuelle og lydmæssige påmindelser for et vidt område af begivenheder, såsom beskeder der indeholder dit alias, eller aliasser på din overvågningsliste der kommer på eller går af nettet. </para
+></listitem>
+<listitem
+><para
+>Brugerindstillelig fremhævning a beskeder efter alias eller regulært udtryk.</para
+></listitem>
+<listitem
+><para
+>&Nickname;-komplettering.</para
+></listitem>
+<listitem
+><para
+>Indfangning og gemning af &URL;'er fra meddelelser.</para
+></listitem>
+<listitem
+><para
+>Visning af meddelelser på skærmen, selv minimeret.</para
+></listitem>
+<listitem
+><para
+>&Nickname;-ignoreringsliste.</para
+></listitem>
+<listitem
+><para
+>Automatisk logning og log-håndtering.</para
+></listitem>
+<listitem
+><para
+>Markering af linjer i logger.</para
+></listitem>
+<listitem
+><para
+>Scripting.</para
+></listitem>
+<listitem
+><para
+>Integration med &kaddressbook;.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Hjemmesiden for &konversation; er <ulink url="&konviwebsite;"
+>&konviwebsite;</ulink
+>. Spørgsmål og svar om &konversation; kan diskuteres via e-mail-listen <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>&konversation;-Users</ulink
+>. Abonnér venligst for at lære om nye funktioner, fejlrapporter og lignende. For at blive informeret om nye udgaver, kan du gå med i e-mail-listen <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>&konversation;-Announce</ulink
+>. Dette er en e-mail-liste med et lille antal breve, som kun bruges til at annoncere nye udgaver eller programrettelser. </para>
+
+<para
+>Udviklere af &konversation; kan ofte kontaktes via &irc; på <ulink url="irc://irc.kde.org/%23konversation"
+>irc.kde.org kanalen #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>Brug af &konversation;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Hvis du ikke har brugt &irc; tidligere...</title>
+
+<para
+>Enkelt udtrykt er &irc; en chat-protokol, defineret af officielle Internetstandarder, med mulighed for at stjæle mange timer af dit liv. For at bruge &irc; skal du være forbundet til en server, og derefter gå med i en kanal (som svarer til et chatrum) eller blot deltage i en privat konversation.</para>
+
+<para
+>For at blive forbundet til en server og kanal, startes &konversation;. Skærmen <guilabel
+>Serverliste</guilabel
+> vises.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Serverliste</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverliste</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>Listen med indstellede &irc;-<guilabel
+>netværk</guilabel
+> angives her. Et &irc;-netværk er en samling samarbejdende servere. Du behøver kun at forbinde dig til en af serverne i netværket for at være forbundet til hele &irc;-netværket. Når du er forbundet, vil &konversation; automatisk gå med i de viste <guilabel
+>Kanaler</guilabel
+>. Når &konversation; startes for første gang, er netværket <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> og kanalen <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+> allerede skrevet indfor dig. Klik på et netværk for at vælge det.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Klik her for at definere et nyt <guilabel
+>Netværk</guilabel
+>, inklusive serveren at forbinde til, og <guilabel
+>Kanalerne</guilabel
+> som automatisk skal gås med i efter forbindelse. Se <link linkend="serverlist"
+>Definér nye netværk, servere og kanaler at gå med i automatisk</link
+> for mere information.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Klik her for at forbinde til den valgte &irc; netværk og kanal.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>Når du klikker på knappen <guibutton
+>Forbind</guibutton
+> første gang du åbner &konversation;, ser du måske følgende meddelelse, som fortæller dig at din standard<guilabel
+>identitet</guilabel
+> ikke er rigtigt indstillet.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Kontrollér identiteter</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kontrollér identiteter</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Første gang du åbner &konversation; hentes information om nuværende bruger fra operativsystemet, og standardværdier for identiteten udfyldes. Hvis brugerinformationen i operativsystemet ikke er fuldstændig, for eksempel hvis intet Fuldstændigt navn er defineret, vil du se meddelelsen ovenfor. For at rette problemet, klikkes på <guibutton
+>O.k.</guibutton
+> og så kigges i <link linkend="identity"
+>Opsætning af din identitet</link
+> for mere information.</para>
+</note>
+
+<para
+><interface
+>Hovedskærmen</interface
+> åbnes og viser meddelelser som sendes af serveren til klienten. (Hvis &konversation; ikke vil forbindes til serveren, se <link linkend="faq"
+>Ofte stillede spørgsmål</link
+>.) Når servermeddelelser er færdige med at rulle forbi, går &konversation; med i den kanal eller de kanaler som blev valgt. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kanal.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Kanal</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Dette kaldes <interface
+>indtastningslinjen</interface
+>. For at sende en meddelelse til alle på kanalen, indskrives meddelelsen her og der trykkes på &Enter;. Meddelelsen samt alle andres meddelelser ses i kanalvinduet ovenfor. Hver meddelelse indledes med tiden og brugerens alias.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Du kan gå med i yderligere servere og kanaler. Hver server, kanal, kanalliste og anden skærm får et separat faneblad her. For at vise en liste med tilgængelige kanaler, se <link linkend="list-channels"
+>Liste over tilgængelige kanaler</link
+>. For at gå med i en kanal, skriv: <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnavn</replaceable
+></userinput
+> på inddatalinjen. (Tegnet <userinput
+>#</userinput
+> kræves.) Du kan også skrive <userinput
+><command
+>/j</command
+></userinput
+> som forkortelse af <userinput
+><command
+>/join</command
+></userinput
+>. For at forlade en kanal, skrives blot <userinput
+><command
+>/part</command
+></userinput
+>. For at skifte visning til en anden server eller kanal, klikkes på det tilsvarende faneblad. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Dette kaldes <interface
+>Aliaspanelet</interface
+>. Det er en liste over aliasser for alle brugere som er gået med på kanalen, inklusive dig selv.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Dette er det grundlæggende, for mere detaljeret information, læs videre...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Indstil din identitet</title>
+
+<para
+>Inden du begynder at bruge &konversation; regelmæssigt bør du indstille hvordan du vil være identificeret på netværket.</para>
+
+<para
+>Klik på <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Identiteter</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Identiteter</guilabel
+> vises. Du kan også vise skærmen <guilabel
+>Identiteter</guilabel
+> ved at klikke på knappen <guibutton
+>Redigér</guibutton
+> på skærmen <guilabel
+>Tilføj netværk</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Identiteter (fanebladet Generelt)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fanebladet Generelt)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Klik her for at vælge en <guilabel
+>Identitet</guilabel
+> at redigere.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Brug disse knapper for at tilføje, duplikere, omdøbe eller fjerne en <guilabel
+>Identitet</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Indtast dit rigtige navn her. &irc; er ikke beregnet til skjule sig for dine venner eller fjender. Husk det hvis du bliver fristet til at opføre dig ondartet. Et forkert "rigtigt navn" kan være en god måde at skjule om du er mand eller kvinde for alle tumperne derude, men maskinen som du bruger kan altid spores, så du kan aldrig være virkeligt anonym.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Brug disse knapperne for handlingerne <guibutton
+>Tilføj</guibutton
+>, <guilabel
+>Redigér</guilabel
+> eller <guilabel
+>Slet</guilabel
+> et alias.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Dette er din liste af alsiasser. Et alias er navnet som de øvrige brugere kender dig som. Du kan indtaste hvilket som helst navn du ønsker. Det første tegn skal være et bogstav, mens øvrige tegn kan være bogstaver, tal eller specialtegn <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Eftersom aliasser skal være entydige på hele &irc;-netværket, kan dit ønskede navn måske ikke tillades af servere eftersom en anden allerede bruger det. Indtast alternative aliasser for dig selv. Hvis dit første valg ikke tillades af serveren, forsøger &konversation; med de alternative aliasser. </para>
+
+<para
+>Ifølge RFC 2812 er den maksimale aliasnavnelængde 9, men det afgøres i virkeligheden af serveren. For at afgøre maksimum for en server, forbindes til serveren. Led efter meddelelsen <computeroutput
+>[Support]</computeroutput
+> i fanebladet <interface
+>Servermeddelelsen</interface
+>. For eksempel:</para>
+
+<para>
+<computeroutput
+>[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB &irc;D=dancer </computeroutput>
+</para>
+
+<para
+>Parameteren <computeroutput
+>NICKLEN</computeroutput
+> angiver den maksimale længde på alias. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Brug disse knapper for at ændre rækkefølge på aliasser. Det øverste alias prøves først, derefter det næste, og så videre.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Hvis du har registreret dit alias med &irc;-netværket, indtastes tjenesten og kodeordet for godkende dit alias. Når &konversation; forbinder, sendes automatisk <userinput
+><command
+>/msg</command
+> <replaceable
+>tjeneste</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>kodeord</replaceable
+></userinput
+> til serveren. Hvis du ikke ved hvad dette er, så lad felterne være tomme.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Klik på fanebladet <guilabel
+>Borte</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteter (fanebladet Borte)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fanebladet Borte)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Indtast et alias som angiver at du er borte. Så snart du udfører kommandoen <userinput
+><command
+>/away </command
+><replaceable
+>meddelelse</replaceable
+></userinput
+> i en kanal som du gået med i med denne <guilabel
+>Identitet</guilabel
+>, ændrer &konversation; automatisk dit alias til <guilabel
+>Borte alias</guilabel
+>. Andre brugere mærker at du er væk fra maskinen. Så snart du udfører kommandoen <userinput
+><command
+>/away</command
+></userinput
+> i den kanal hvor du er borte, ændrer &konversation; automatisk dit alias tilbage til det normale. Hvis du ikke automatisk vil ændre dit alias når du er borte, så lad det være tomt.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Hvis du markerer dette felt, så tegnes en vandret linje i kanalen så snart du udfører kommandoen <userinput
+><command
+>/away</command
+></userinput
+>, som markerer stedet du gik væk fra. Andre &irc;-brugere ser ikke denne vandrette linje. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Hvis du markerer dette felt sender &konversation; automatisk <guilabel
+>Bortemeddelelse</guilabel
+> til alle kanaler som du gået med i med denne <guilabel
+>Identitet</guilabel
+>. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> erstattes med <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+>. Så snart du udfører kommandoen <userinput
+><command
+>/away</command
+></userinput
+>, vises <guilabel
+>Genkomstmeddelelse</guilabel
+>i alle kanaler du gået med i med denne <guilabel
+>Identitet</guilabel
+>.</para>
+
+<note
+><para
+>Borte-meddelelser anses ofte for at være irriterende af andre brugere. Brug dette med forsigtighed, og tag hensyn til andre &irc;-brugere. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Klik på fanebladet <guilabel
+>Avanceret</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteter (fanebladet Avanceret)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fanebladet Avanceret)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Du kan indtaste et kommando her som køres inden forbindelse til serveren. Hvis identiteten bruges for mere end en server, køres kommandoen for hver server.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>Denne indstilling påvirker hvordan tegn du skriver kodes når de skal sendes til serveren. Den påvirker også hvordan meddelelser vises. Når du først åbner &konversation;, hentes denne indstilling automatisk fra operativsystemet. Hvis du synes at have problemer med at se andre brugeres meddelelser rigtigt, så forsøg at ændre denne indstilling.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>Når du forbinder, spørger mange servere din maskine efter et IDENT-svar. Hvis din maskine ikke kører en IDENT-server, sendes svaret af &konversation;. Ingen mellemrum er tilladt. Et forslag er at bruge dit fornavn.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Så snart du forlader en kanal, sendes denne meddelelse til kanalen.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Så snart du sparkes ud fra en kanal (oftest af en &irc;-operatør), sendes denne meddelelse til kanalen.</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Klik for at anvende dine ændringer. For at alle ændringer skal få virkning, skal du afbryde fra serveren og forbinde igen. Den enkleste måde at gøre det er at afslutte &konversation; og starte forfra.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Definér nye netværk, servere og autodeltage-kanaler</title>
+
+<para
+>Skærmen <guilabel
+>Serverliste</guilabel
+> vises når du starter programmet &konversation;. Den vises også når du vælger <menuchoice
+><guisubmenu
+>Fil</guisubmenu
+> <guisubmenu
+>Serverliste</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Serverliste</guilabel
+></action
+> angiver de eksisterende definerede &irc;-<guilabel
+>netværk</guilabel
+>, efter gruppe. Et &irc;-netværk er en samling samarbejdende servere. Når du forbinder til en server i et netværk, kan du få adgang til alle kanaler i netværket. Eksempel på &irc;-netværk er <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> og <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Serverliste</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverliste</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>Dine eksisterende definerede <guilabel
+>netværk</guilabel
+> er på listen her sammen med den <guilabel
+>identitet</guilabel
+> som bruges til at forbinde til netværket, og de <guilabel
+>kanaler</guilabel
+> som du automatisk går med i når du er forbundet. Hvis du har angivet en gruppe for dine netværk, er netværkene indrykket på listen under gruppen. Klik på et netværk for at markere det. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Brug disse knapperne for at <guibutton
+>tilføje</guibutton
+> et nyt netværk, <guibutton
+>redigere</guibutton
+> et markeret netværk eller <guibutton
+>slette</guibutton
+> et markeret netværk. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Klik på denne knap for at forbinde til et markeret <guilabel
+>netværk</guilabel
+> og lukke skærmen <guilabel
+>Serverliste</guilabel
+>. Du kan markere mere end et netværk hvis du ønsker det, hvilket forbinder til alle de markerede netværk.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>At klikke på denne knap kasserer ikke de ændringer du har gjort. Det betyder kun at du ikke vil forbinde til noget netværk for øjeblikket.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>Når du klikker på knappen <guilabel
+>Tilføj</guilabel
+> vises skærmen <guilabel
+>Tilføj netværk</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Tilføj netværk</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Tilføj netværk</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Indtast navnet på et <guilabel
+>netværk</guilabel
+> her. Du kan oprette så mange indgange på skærmen <guilabel
+>Serverliste</guilabel
+> med samme <guilabel
+>netværk</guilabel
+> som du vil.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Valgfrit. Hvis du skriver noget her, kommer alle <guilabel
+>netværk</guilabel
+> med samme <guilabel
+>gruppe</guilabel
+> sammen på en liste på skærmen <guilabel
+>Serverliste</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Vælg en eksisterende <guilabel
+>identitet</guilabel
+> eller klik på knappen <guibutton
+>Redigér</guibutton
+> for at tilføje en ny identitet eller redigere en eksisterende. En <guilabel
+>identitet</guilabel
+> vil identificere dig og afgøre dit alias når du forbinder til netværket.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Valgfrit. Kommandoen sendes til serveren efter forbindelse. Eksempel: <userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. Eksemplet gælder for netværket freenode, som kræver at brugere registrerer deres aliasser med et kodeord og brugernavn ved forbindelse. <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> er kodeordet for aliasset som angives under <interface
+>Identitet</interface
+>. Du kan indtaste mere end en kommando ved at skille dem ad med semikolon.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Markér dette hvis du ønsker at &konversation; automatisk skal forbinde til netværket så snart du åbner &konversation;.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>Dette er en liste med &irc;-<guilabel
+>servere</guilabel
+> i netværket. Ved forbindelse til netværket, forsøger &konversation; at forbinde til den øverste server først. Hvis det mislykkes, forsøger den med den anden server. Hvis det mislykkes, forsøger den med den tredje, og så videre. I det mindste en server skal angives. Klik på en server for at markere den.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Brug disse knapper til at <guibutton
+>tilføje</guibutton
+> en server, <guibutton
+>redigere</guibutton
+> en markeret server eller <guibutton
+>slette</guibutton
+> en markeret server. Du kan også justere servernes rækkefølge, og på den måde rækkefølgen af forbindelsesforsøg.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Valgfrit. Dette er en liste over kanalerne du automatisk går med i så snart &konversation; er forbundet til en server. Du kan lade den være tom hvis du ikke vil gå med i nogen kanaler automatisk.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Brug disse knapper til at <guibutton
+>tilføje</guibutton
+> en kanal, <guibutton
+>redigere</guibutton
+> en markeret kanal eller <guibutton
+>slette</guibutton
+> en markeret kanal. Du kan også ændre rækkefølgen som du går med i kanalerne. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Undgå at blande servere på forskellige &irc;-netværk under samme <guilabel
+>netværk</guilabel
+>. Undgå at indtaste samme server under to forskellige <guilabel
+>netværk</guilabel
+>. Ellers virker &konversation;s <link linkend="linkaddressbook"
+>integration med adressbogen</link
+> og <link linkend="nicksonline"
+>overvågning af online aliasser</link
+> ikke rigtigt.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>Når du klikker på knappen <guibutton
+>Tilføj</guibutton
+> i feltet <guilabel
+>Servere</guilabel
+>, vises skærmen Tilføj server.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Tilføj server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Tilføj server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>Navnet eller IP-adressen på serveren. En <ulink url="http://www.irchelp.org/irchelp/networks/"
+>liste</ulink
+> med servere findes på irchelp.org.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Indtast portnummeret som kræves for at forbinde til serveren. For de fleste servere skal det være <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Hvis serveren kræver et kodeord for at forbinde, så indtast dette. Lad det ellers være tomt.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Markér hvis du vil bruge SSL-protokollen (Secure Socket Layer) til at kommunikere med serveren. Det beskytter kommunikationen mellem din maskine og &irc;-servern, og gør den privat. Serveren skal understøtte SSL-protokollen for at det skal virke. I de fleste tilfælde, hvis serveren ikke understøtter SSL, mislykkes forbindelsen.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>Når du klikker på knappen <guibutton
+>Tilføj</guibutton
+> i feltet <guilabel
+>Gå automatisk med i kanaler</guilabel
+>, vises skærmen <guilabel
+>Tilføj kanal</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Tilføj kanal</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Tilføj kanal</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Indtast et kanalnavn. Glem ikke det indledende tegn <userinput
+><replaceable
+>#</replaceable
+></userinput
+>. Hvis kanalen kræver et kodeord for at gå med, så indtast det, lad det ellers være tomt. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Liste over tilgængelige kanaler</title>
+
+<para
+>For at vise en liste med tilgængelige kanaler, vælges <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Kanalliste</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Efter en advarselsskærm laves et nyt faneblad som hedder <guilabel
+>Kanalliste</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fanebladet med kanallisten.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fanebladet med kanallisten.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Indtast en filterstreng her.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Her kan du begrænse kanallisten til de kanaler som har et minimalt eller maksimalt antal brugere. At vælge 0 deaktiverer det respektive kriterium.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Klik her for at hente listen over kanaler fra serveren og tilpasse filtret.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>Den filtrerede liste med kanaler vises her. Bemærk at hvis du ikke bruger regulære udtryk, giver &konversation; en liste over alle kanaler hvis navn indeholder filterstrengen som du indskrev. Kanalnavnet behøver ikke begynde med strengen du skrev.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Vælg en kanal som du vil gå med i ved at klikke på den. Højreklik på kanalen for at få en liste med alle netadresser som nævnes i kanalens emne.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Klik her for at gå med i en kanal. Et nyt faneblad laves for kanalen.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Du skal undgå at klikke på knappen <guibutton
+>Genopfrisk liste</guibutton
+>. De fleste servere har tusindvis af kanaler, og udførsel af dette giver høj belastning på serveren. Desuden kan det kræve flere minutter at udføre, afhængig af din netværksbåndbredde. Hvis din klient er for langsom, kan serveren til og med afbryde forbindelsen til dig. </para>
+
+<para
+>Sommetider er der "hemmelige" kanaler på en server. Sådanne kanaler kommer ikke på <guilabel
+>Kanallisten</guilabel
+>. Du kan stadigvæk gå med i kanalerne hvis du kender til deres navn. Skriv i en hvilken som helst <interface
+>indtastningslinje</interface
+>, <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnavn</replaceable
+></userinput
+>. (Tegnet <userinput
+>#</userinput
+> kræves.) Så laves et nyt faneblad for kanalen. Hvis du går med i en kanal og aliaspanelet kun har dit alias, betyder det at kanalen ikke fandtes tidligere. Serveren oprettede kanalen, og du er operator. I dette tilfælde vil du formodentlig lukke kanalen ved at skrive: <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>En oversigt over hovedskærmen</title>
+
+<para
+>Lad os lære mere om <interface
+>hovedskærmen</interface
+>. Skærmen vises nedenfor med en kanals faneblad valgt.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Hovedskærmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Hovedskærmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>Dette kaldes <interface
+>indtastningslinjen</interface
+>. Den vises kun hvis det nuværende faneblad er en kanal. For at sende en meddelelse til alle i kanalen, skrives meddelelsen og der trykkes på &Enter;. Meddelelsen samt alle andres meddelelser ses i kanalvinduet ovenfor. Hver meddelelse indledes med tiden og brugerens alias.</para>
+
+ <para
+>Du kan også indsætte tekst fra klippebordet. Hvis indsat tekst har mere end én line (newlines), kommer en dialog frem. Redigér teksten som ønsket og klik på <guibutton
+>O.k</guibutton
+>. </para>
+
+ <para
+>Hvis den indsatte tekst er længere end 256 tegn, eller den indeholder mere end en linje, kommer en advarselsbesked frem, der fortæller dig at store indsendelser kan forårsage nulstilling af forbindelsen og oversvømmelse. Du kan stadig fortsætte med din meddelelse, men det er en dårlig idé at gøre det, da oversvømmelse vil irritere andre brugere på kanalen, eller din forbindelse til serveren kan blive afbrudt. Det er bedre at sende beskederne i mindre stumper.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>En konvention som bruges i mange kanaler er at indlede meddelelser rettede til en bruger med deres alias. &konversation; sørger for en bekvem funktion til at komplettere aliasser. Begynd med at skrive brugerens alias, tryk derefter på <keycap
+>Tab</keycap
+>. &konversation; kompletterer så resten af brugerens alias, fulgt af et kolon. For at brugerindstille kompletteringsegenskaben, vælges <menuchoice
+> <guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+> </menuchoice
+> fra hovedmenuen, udvid <guilabel
+>Opførsel</guilabel
+>, klik på <guilabel
+>Generelt</guilabel
+>, og klik på feltet <guilabel
+>Kompletteringstilstand</guilabel
+>. </para>
+
+ <para
+>Du kan også indtaste &irc;-kommandoen her ved først at skrive <userinput
+><command
+>/</command
+></userinput
+> fulgt af en gyldig &irc;-kommando. Se <link linkend="irc-cmds"
+>Ofte brugte &irc;-kommandoer</link
+>. På visse servere kan du skrive <userinput
+><command
+>/help</command
+></userinput
+> for at få en liste over tilgængelige kommandoer, eller skrive <userinput
+><command
+>/help</command
+> <replaceable
+>kommando</replaceable
+></userinput
+> for at få hjælp med en angiven kommando. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Du kan gå med i yderligere servere og kanaler. Hver server og kanal får et separat faneblad her. For at vise en liste over tilgængelige kanaler, se <link linkend="list-channels"
+>Liste over tilgængelige kanaler</link
+>. For at gå med i en kanal, skriv: <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnavn</replaceable
+></userinput
+> på inddatalinjen. (Tegnet <userinput
+>#</userinput
+> kræves.) For at forlade en kanal, skrives blot <userinput
+><command
+>/part</command
+></userinput
+>. Faneblade vises også her hvis du åbner en <link linkend="list-channels"
+>Kanalliste</link
+>, deltager i en <link linkend="query"
+>privat konversation (query)</link
+>, åbner <link linkend="urlcatcher"
+>&URL;-indfangeren</link
+>, eller åbner en eller flere <guilabel
+>Terminaler</guilabel
+>. For at skifte til en anden skærm, klikkes på det tilsvarende faneblad, eller musehjulet bruges til at gå gennem fanebladene cyklisk. </para>
+
+<para
+>For at indstille andre tilvalg for faneblade, vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen, udvid <guilabel
+>Opførsel</guilabel
+> og klik på <guilabel
+>Generelt</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>Disse lys vil blinke når der er noget du ikke har set i dette faneblad. Lyset vil blinke langsommere når de eneste ikke sete beskeder er <command
+>join</command
+>, <command
+>part</command
+>, <command
+>quit</command
+>, eller alias ændringer. De blinker hurtigere hvis der er ikke sete regulære beskeder. Farverne er følgende: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Kanal </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Servermeddelelse</interface
+>, <link linkend="list-channels"
+>Kanalliste</link
+> eller <link linkend="urlcatcher"
+>&URL;-indfangning</link
+> </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Terminal</guilabel
+> eller <link linkend="dcc"
+>DCC Status</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+>Privat meddelelse (forespørgsel)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Klik her for at lukke nuværende faneblad. Hvis et <interface
+>kanalfaneblad</interface
+> lukkes forlades kanalen. Lukkes et faneblad med <interface
+>servermeddelelser</interface
+> forlades alle kanaler som du var gået med i, alle åbne spørgsmålskanaler på serveren lukkes og serveren afbrydes.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Klik på knappen for at ændre dit eget alias. Det vises kun når nuværende faneblad er en kanal. Vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen, udvid <guilabel
+>Opførsel</guilabel
+>, klik på <guilabel
+>Chat-vindue</guilabel
+> og afmarkér feltet <guilabel
+>Vis felt til at ændre eget alias</guilabel
+> for at skjule knappen. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>Kanalemnet vises her. Hold musen stille over emnet for at se det lange emne. Du kan ændre emnet ved at klikke på knappen til venstre for emnet. Vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen, udvid <guilabel
+>Opførsel</guilabel
+>, klik på <guilabel
+>Chat-vindue</guilabel
+> og afmarkér feltet <guilabel
+>Vis kanalemne</guilabel
+> for at skjule kanalemnerne. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Disse knapper viser nuværende status af kanaltilstande. En knap er trykket ned hvis tilstanden er aktiveret. Hvis du har de rette privilegier kan du også ændre kanaltilstande ved at klikke på knapperne, eller ved at klikke på knappen til venstre for emnet. Vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen, udvid <guilabel
+>Opførsel</guilabel
+>, klik på <guilabel
+>Chat-vindue</guilabel
+> og afmarkér feltet <guilabel
+>Vis kanaltilstandsknapper</guilabel
+> for at skjule kanaltilstandsknapperne. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Dette kaldes <interface
+>alias panelet</interface
+>. Det vises så snart det nuværende faneblad er en kanal. Det lister aliasserne for alle brugere som er gået med i kanalen, inklusive dig selv. Hold musen stille over et alias for at vise yderligere information om brugeren. Du kan ændre hvordan ikoner vises ved siden af hvert alias ved at ændre ikontemaet for alias. Se <link linkend="nickthemes"
+>Indstil aliasstemaer</link
+> for mere information. Temaet <guilabel
+>Big Bullets</guilabel
+>, som vises på skærmen ovenfor, bruger følgende ikoner: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> normale brugere </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> brugere med stemme. Brugeren kan tale i en modereret kanal. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> deloperator for kanalen </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> operator for kanalen </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> ejer af kanalen </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanaladministrator </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Derudover, hvis en bruger er borte, vil et lille rødt kryds blive tegnet i hjørnet af ikonen. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Klik med højreknappen på et hvilket som helst alias for at vise en sammenhængsafhængig menu med handlinger som du kan udføre med aliasset. Du kan for eksempel <link linkend="dcc"
+>sende en fil</link
+> til aliasset. Dette er også stedet hvor du kan <link linkend="linkaddressbook"
+>knytte et alias til en kontakt i din adressebog.</link
+> </para>
+
+<para
+>For at skjule <interface
+>alias panelet</interface
+>, vælg <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Skjul aliasliste</guisubmenu
+></menuchoice
+> i hovedmenuen. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>Disse kaldes <interface
+>Hurtigknapper</interface
+>. Normalt vises de ikke. For at vise dem, se <link linkend="quick-buttons"
+>Indstil hurtigknapper</link
+>. Du kan indstille deres definitioner til hvilken som helst kommando du vil.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Bemærk</emphasis
+>: Du kan kontrollere hvordan meddelelser vises for meddelelser som vises i kanal- og forespørgselsfaneblade. Du kan for eksempel ændre meddelelsens farve, afspille en lyd når en meddelelse som indeholder en streng modtages, eller svare på meddelelser automatisk. Se <link linkend="highlighting"
+>Fremhævning af meddelelser</link
+> for mere information. </para>
+
+<para
+>Bemærk: Kanalnavne begynder sommetider med <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+>, eller <userinput
+>!</userinput
+>. Det første tegn i et kanalnavn afgør typen af kanal (RFC 2811) ifølge følgende: <itemizedlist
+><listitem
+><para
+> <userinput
+>#</userinput
+> - Sædvanlige kanaler. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>!</userinput
+> - Sædvanlige kanaler. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&amp;</userinput
+> - Lokal. Kanaler som man kun kan gå med i fra serveren som er vært for kanalen. Alle andre kanaler kan man gå med i fra en hvilken somhelst server på netværket. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> - Kanaler som ikke understøtter kanaltilstande. Det betyder at ingen tilstande er aktiverede, med undtagelse af kanalflaget 't' som er aktiveret. </para
+></listitem
+></itemizedlist
+>Kanalnavne kan være op til 50 tegn lange og indeholde alle tegn undtagen mellemrum, kommategn og Ctrl+G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Hurtigforbind</title>
+
+<para
+>Sommetider ønsker du at forbinde til en server uden at gå gennem besværet med at oprette en ny server i <link linkend="serverlist"
+>Serverlisten</link
+>. </para>
+
+<para
+>Vælg <menuchoice
+><guisubmenu
+>Fil</guisubmenu
+> <guisubmenu
+>Hurtigforbindelse</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Hurtigforbindelse</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Hurtigforbins-skærmen.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Hurtigforbind-skærmen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Indtast serveradressen i feltet <guilabel
+>Server-vært</guilabel
+> box, dit ønskede &nickname; i <guilabel
+>Nick</guilabel
+>-feltet, og klik på <guibutton
+>Forbind</guibutton
+>-kanppen. Når &konversation; er forbundet til serveren, indtastes kommandoen <userinput
+><command
+>/join</command
+> <replaceable
+>#channelname</replaceable
+></userinput
+> for at gå med i en kanal. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Ofte brugte &irc;-kommandoer</title>
+
+<para
+>Det følgende er en kort liste over ofte brugte &irc;-kommandoer. Se <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC 2812</ulink
+> for en fuldstændig liste over alle kommandoer, eller besøg <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. For en liste af kommandoer der behandles specielt af &konversation;, se <link linkend="konvi-cmds"
+>Konversations kommandoer</link
+> </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Giver en liste over kommander tilgængelige på denne server. Understøttes ikke af alle servere.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help </command
+><replaceable
+>kommando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sørger for hjælp for <userinput
+><replaceable
+>kommando</replaceable
+></userinput
+>. Understøttes ikke af alle servere.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join <replaceable
+>#kanal</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Går med i <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+>. Hvis kanalen ikke allerede findes, oprettes den og du bliver kanaloperator.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Forlader nuværende kanal og lukker <interface
+>kanal</interface
+>-fanebladet .</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part </command
+> <replaceable
+>#kanal</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Forlader <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+> og lukker det tilsvarende <interface
+>kanal</interface
+>-faneblad. Synonym for <userinput
+><command
+>/leave</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me </command
+><replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> til kanalen ud for dit alias. Hvis dit alias for eksempel er <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, ville meddelelsen <interface
+>Tux brygger en kop te</interface
+> vises ved at skrive <userinput
+><replaceable
+>/me brygger en kop te</replaceable
+></userinput
+>. Hvis der ikke er filtre for denne slags meddelelser, ser alle brugere dem. Denne slags meddelelser bruges oftest til at udtrykke ikke-verbal information, såsom din følelsesmæssige tilstand lige nu, eller hvad du fysisk sysler med. Hvis du forlader maskinen en kort stund, så brug kommandoen /away i stedet for.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Hvis nogen forsøger at sende dig en privat meddelelse eller indbyde dig til en kanal, vil de blive fortalt at du er borte fra din maskine med <userinput
+><replaceable
+>msg</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Annullerer en <userinput
+><command
+>/away</command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+> kommando.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Opretter et nyt faneblad med brugerens <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> for en privat konversation, almindeligvis kendt på &irc; som en <link linkend="query"
+>forespørgsel</link
+>. Alt som skrives her ses kun hos dig og din partner.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>alias</replaceable
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> til brugeren med alias <userinput
+><replaceable
+>alias</replaceable
+></userinput
+>. Kun <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> ser meddelelsen. Brug <userinput
+><command
+>/query</command
+></userinput
+> til længere konversationer.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Indbyder brugeren med alias <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> til at gå med i en kanal. Kommandoen er især nyttig hvis kanalen kun er åben for indbudte.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Private konversationer (forespørgsler)</title>
+
+<para
+>En privat konversation er en som kun du og en anden person kan se. Private konversationer kalde "forespørgsler" i &konversation;. For at starte en privat konversation, skrives <userinput
+><command
+>/query </command
+><replaceable
+>alias</replaceable
+></userinput
+> på en hvilken som helst indtastningslinje, hvor <replaceable
+>alias</replaceable
+> er alias på personen som du vil tale med. Du kan også klikke med højre museknap i <guilabel
+>aliaspanelet</guilabel
+> og vælge <menuchoice
+><guisubmenu
+>Åbn forespørgsel</guisubmenu
+></menuchoice
+>. <action
+>Et nyt faneblad oprettes.</action
+>. Tilkendegiv dig ved at sende en meddelelse. </para>
+
+<para
+>Forespørgsler er nøjagtig ligesom andre kanaler, bortset fra at kun du og den anden person kan deltage i kanalen.</para>
+
+<para
+>For at forlade forespørgslen, lukkes blot fanebladet. Bemærk dog at hvis den anden person sender en meddelelse til i forespørgslen, åbnes fanebladet igen.</para>
+
+<para
+>For at forlade alle forespørgsler, vælges <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Luk alle åbne forespørgsler</guisubmenu
+></menuchoice
+> i hovedmenuen, eller tryk på <keycap
+>F11</keycap
+>. </para>
+
+<para
+>Når en anden åbner en forespørgsel til dig, laver &konversation; et nyt faneblad med deres alias. Hvis du ikke vil tale med personen, så luk fanebladet. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Indstil påmindelser</title>
+
+<para
+><guilabel
+>Påmindelser</guilabel
+> er handlinger som &konversation; udfører så snart en begivenhed indtræffer. Antag at du lader &konversation; køre, men minimeret eller skjult bagved andre programvinduer på desktoppen. Hvis nogen vil kommunikere med dig, eller hvis en ven går med i en kanal, vil du gerne have det at vide. Bekendtgørelser dørger for dette. </para>
+
+<para
+>For at indstille påmindelser, vælges <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil bekendtgørelser</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+><guilabel
+>Skærmen til opsætning af bekendtgørelser</guilabel
+> vises.</action
+> </para>
+
+<para
+>Klik med det samme på knappen <guibutton
+>Flere valgmuligheder</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skærmen til opsætning af bekendtgørelser.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skærmen til opsætning af bekendtgørelser.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Klik her for at vælge en begivenhed.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Markér de typer af påmindelser som du vil skal vises når begivenheden indtræffer. (<guilabel
+>Brug opgavelinjen til underretning om ny begivenhed</guilabel
+> får ikonen i opgavelinjen til at blinke når begivenheden indtræffer.)</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Gentag ved at vælge en anden begivenhed og afkrydse ønsket påmindelse. Når du har indstiller alle ønskede påmindelser, klik så på knappen <guibutton
+>Anvend</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>Når du har indstillet dine påmindelser, kan du aktivere eller deaktivere alle meddelelseshandlinger her. Du kan for eksempel vælge at afspille en lyd så snart dit alias nævnes i en meddelelse. Når du er ved computeren kan du deaktivere lyd, men mens du er væk fra maskinen men i nærheden, kan du aktivere lyden så den kan få din opmærksomhed.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Du kan også selv blive underrette når nogle nævner dit alias i en meddelelse med &konversation;s <link linkend="highlighting"
+>fremhævningsfunktion</link
+>.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Overvåg hvem der er på nettet</title>
+
+<para
+>&konversation; holder dig informeret om dine venner er forbundet til &irc;-netværket eller ej. </para>
+
+<para
+>Du kan tilknytte online aliasser til kontaktindgange i adressebogen. Når du gør det, skrives aliasset og &irc;-netværket hvor aliasset er forbundet til ind i adressebogens kontakt. &irc;-netværket opbevares fordi aliasser er entydige i et enkelt &irc;-netværk. Aliasser i to forskellige &irc;-netværk svarer ikke nødvendigtvis til samme person, men samme alias på to forskellige servere i samme &irc;-netværk svarer til samme person.</para>
+
+<note
+><para
+>Dette er grunden til at det er vigtigt at bruge samme <guilabel
+>netværk</guilabel
+> for alle servere i samme &irc;-netværk, når <link linkend="serverlist"
+>netværk, servere og kanaler til automatisk at gå med i</link
+> defineres.</para
+></note>
+
+<para
+>Du kan også definere aliasser som du vil overvåge som ikke findes i din adressebog. I dette tilfalde har hvert alias også et tilknyttet &irc;-netværk. Se nedenfor.</para>
+
+<para
+>For at aktivere aliasovervågningsfunktionen, vælges <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Overvågede aliasser</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Overvågede aliasser</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Overvågede online aliasser.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Overvågede online alias</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>Aliasserne i overvågningslisten og også aliasset som hører sammen med indgange i adressebogen angives her. De angives under tilhørende &irc;-netværk. Hvis ingen alias angives, har du enten ikke specificeret noget alias at overvåge, eller du har brug for at aktivere funktionen for aliasovervågning (se nedenfor). Ekspandér hvert online alias for at se en liste med kanaler som aliasset er gået med i. Ikonerne før hver kanal er de samme som ikonerne som vises i <interface
+>aliaspanelet</interface
+> på skærmene med <link linkend="channel-screen-tour"
+>kanaler</link
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>Informationen som er kendt om aliasset vises her. Når skærmen <guilabel
+>Overvågede online aliasser</guilabel
+> først vises, er informationen tynd. Hvert ottende sekund, sendes automatisk kommandoen <userinput
+><command
+>WHOIS</command
+></userinput
+> til serveren for at bede om information om aliasser som ikke har nogen information. Dette fortsætter indtil alle aliasser har information. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>Aliasser som ikke er online på et af &irc;-netværkerne du er forbundet til er under <guilabel
+>Offline</guilabel
+> i listen. </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>Aliasser som hører sammen med en kontaktindgang i din adressebog har denne ikon (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>) ved siden af informationen. </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Brug disse knapper til at tilknytte et alias til en kontakt i din adressebog, fjerne en tilknytning, eller åbne adressebogen for at redigere kontaktinformationen. Se <ulink url="help:kaddressbook"
+>&kaddressbook;-håndbogen</ulink
+> for yderligere instruktioner om hvordan man bruger &kde;'s adressebog. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>For at tilføje yderligere aliasser at overvåge, klik på knappen <guilabel
+>Redigér overvågningsliste</guilabel
+>. Så vises skærmen <guilabel
+>Overvågede aliasser</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Overvågede aliasser</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Overvågede aliasser</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Afkryds dette felt for at aktivere funktionen <guilabel
+>aliasovervågning</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Hvis du ønsker at skærmen <guilabel
+>Overvågede online aliasser</guilabel
+> automatisk skal vises når du starter &konversation;, så markér dette felt.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>Aliasserne for på brugerne som du vil overvåge er på denne liste. Hvert alias har et tilknyttet &irc;-netværk.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Klik på disse knapper for at tilføje eller fjerne at alias fra listen.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Funktionen <guilabel
+>Overvågede aliasser</guilabel
+> virker ved at periodisk at spørge serveren. Dette felt angiver hvor ofte dette sker. Undgå tal mindre end 20 sekunder, eftersom det forårsager unødig stor belastning på serveren.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>På skærmen <guilabel
+>Overvågede online aliasser</guilabel
+> ovenfor, kan du dobbeltklikke på et hvilket som helst alias, så sendes denne kommando til serveren. <userinput
+><command
+>%u</command
+></userinput
+> erstattes med aliasset. <userinput
+><command
+>%n</command
+></userinput
+> er krævet i slutningen af kommandoen.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Klik på knappen <guibutton
+>O.k.</guibutton
+> når du er færdig med at tilføje eller fjerne aliasser.</para>
+
+<para
+><emphasis
+>Bemærk: </emphasis
+>Når du viser skærmen <guilabel
+>Overvågede aliasser</guilabel
+>, kan det tage et stykke tid inden nogen aliasser vises, indtil &konversation; har spurgt serveren. Normalt lader du skærmen <guilabel
+>Overvågede aliasser</guilabel
+> være i gang. </para>
+
+<para
+>&konversation; viser også meddelelser i alle <link linkend="channel-screen-tour"
+>kanaler</link
+> så snart en bruger fra din <guilabel
+>Overvågede aliasser</guilabel
+> forbindes til eller afbryder fra serveren. Meddelelsen ser sådan her ud: </para>
+
+<para
+><computeroutput
+>[17:52] [Underretning] psn er online (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Fremhævning af meddelelser</title>
+
+<para
+>Du kan kontrollere hvordan meddelelser vises på kanal- og forespørgselsskærme.</para>
+
+<para
+>For at aktivere fremhævelsesfunktionen, vælges <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil &konversation;</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fremhævningsskærmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fremhævelsesskærmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Klik her for at vælge skærmen <guilabel
+>Fremhævelse</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Klik her for at tilføje et nyt punkt til <guilabel
+>Fremhævningslisten</guilabel
+>. Når et punkt i listen markeres, kan du redigere det i feltet nedenfor.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Indtast et strengmønster her. Alle modtagne meddelelser som matcher mønstret, noget sted i meddelelsen, aktiverer fremhævning af meddelelsen. Hvis du har værktøjet &kde;editor for regulære udtryk installeret på systemet, er knappen til højre aktiveret. Klik for at vise editoren, som hjælper dig med at oprette mere komplicerede mønstre. (&kde;editor for regulære udtryk er en del af pakken <command
+>kdeutils</command
+>.) </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Hvis mønstret findes i en meddelelse, vises hele meddelelsen med farven du vælger her.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Hvis du vil kan &konversation; afspille en lyd når mønstret matches. Klik på knappen for at vælge en lydfil at afspille. Klik på testknappen for at høre lyden.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Hvis du ønsker at &konversation; automatisk skal sende en svarmeddelelse når mønstret matches, skriv meddelelsen her. Brug denne funktion med forsigtighed eftersom du kan irritere &irc;-brugere med for meget snak hvis du ikke er forsigtig. Du kan også indtaste &irc;- eller &konversation;-kommandoer her.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Hvis du har indstillet lyd for nogle af dine fremhævninger, kan du deaktivere alle ved at afmarkere dette felt.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Hvis du markerer dette flet, og en eller anden nævner dit alias i en meddelelse, vises meddelelsen med farven som du vælger til højre.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>Normalt gælder fremhævning ikke for meddelelser du skriver ind. Hvis du vil fremhæve meddelelser du skriver ind, markeres dette felt og en farve vælges til højre.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Indstil meddelelser på skærmen (&osd;)</title>
+
+<para
+>Meddelelser på skærmen (<acronym
+>OSD</acronym
+>) er en unik funktion i &konversation;. Når &osd; er aktiveret, vises kanalmeddelelser på desktoppens skærm, også selvom &konversation; er minimeret. Her er et eksempel på &osd; i funktion. Meddelelsen længst oppe til venstre på skærmen er fra &konversation;, som kører minimeret i statusfeltet.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Eksempel på meddelelser på skærmen</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Eksempel på meddelelser på skærmen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>For at aktivere meddelelser på skærmen, vælges <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil &konversation;</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Meddelelser på skærmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Meddelelser på skærmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Klik her for at ekspandere punktet <guilabel
+>Påmindelse</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Klik her for at vælge skærmen <guilabel
+>Meddelelser på skærmen</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Markér dette felt for at aktivere meddelelser på skærmen.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Klik på denne knap for at vælge en skrifttype for meddelelser på skærmen. (<emphasis
+>Bemærk: </emphasis
+>Ikke alle skrifttyper virker. Det er kendt at Luxi Sans 22 og Impact 22 virker.)</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Markér feltet her for at vælge typerne af meddelelser som du vil skal vises på skærmen, og klik derefter på knappen <guibutton
+>Anvend</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Send farvelagte meddelelser</title>
+
+<para
+>Du kan tilføje farve til meddelelser du sender i hvilken som helst kanal. Begynd med at skrive meddelelsen i <interface
+>indtastningslinjen</interface
+> for hvilken som helst kanal. Klik så på <inlinemediaobject
+> <imageobject
+> <imagedata fileref="colorize.png" format="PNG"/> </imageobject
+> <textobject
+> <phrase
+>knappen Indsæt &irc;-farve</phrase
+> </textobject
+> </inlinemediaobject
+> knappen Indsæt &irc;-farve eller vælg <menuchoice
+><guisubmenu
+>Indsæt</guisubmenu
+> <guisubmenu
+>&irc;-farve</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>&irc;-farvevælger</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skærmen &irc;-farvevælger.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Skærmen &irc;-farvevælger</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Vælg en farve og klik på <guibutton
+>O.k</guibutton
+>. Fortsæt med at indtaste meddelelsen på <interface
+>indtastningslinjen</interface
+>. For at ændre farve igen, klikkes på knappen <guibutton
+>Indsæt &irc;-farve</guibutton
+>. Vælg en anden farve og klik på <guibutton
+>O.k</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Indstilling af &nickname;-temaer</title>
+
+<para
+>Du kan ændre ikonerne som vises ved siden af alias i <interface
+>aliaspanelet</interface
+> i kanalfanablade. For at ændre aliastema, vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vises.</action
+> Klik på <guilabel
+>Udseende</guilabel
+> for at udvide den, klik derefter på <guilabel
+>Temaer</guilabel
+> for at vis skærmen <guilabel
+>Temaer</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Temaer-kærmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Temaer-skærmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Klik her for at vælge skærmen <guilabel
+>Temaer</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Vælg et tema.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Eksempelikoner vises her med det valgte tema.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Hvis du har hentet et aliastema far et andet sted, så klik for at installere det.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Indstil hurtigknapper</title>
+
+<para
+>Du kan aktivere funktionen at vis <interface
+>hurtigknapper</interface
+> på <link linkend="channel-screen-tour"
+>hovedskærmen</link
+>. Så vises otte <interface
+>hurtigknapper</interface
+>. For at vise hurtigknapperne, vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen. Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vises. Klik på <guilabel
+>Udseende</guilabel
+> for at udvid den, og klik så på <guilabel
+>Chat-vindue</guilabel
+>. Markér feltet <guilabel
+>Vis hurtigknapper</guilabel
+> og klik på <guibutton
+>O.k</guibutton
+>. </para>
+
+<para
+>Knapperne kan indstilles som du synes til at udføre &irc;-kommandoer som ofte bruges. For at indstille <interface
+>hurtigknapperne</interface
+>, vælg <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vises.</action
+> Klik på <guilabel
+>Udseende</guilabel
+> for at udvide den, og klik så på <guilabel
+>Hurtigknapper</guilabel
+> for at vise skærmen <guilabel
+>Hurtigknapper</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skærmen hurtigknapper</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Skærmen hurtigknapper</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Der er otte <interface
+>hurtigknapper</interface
+>. Klik på en indgang for at ændre den. Søjlen <guilabel
+>Knapnavn</guilabel
+> er navnet som vises på knappen på <link linkend="channel-screen-tour"
+>hovedskærmen</link
+>. Hold navnene korte. Søjlen <guilabel
+>Knapbegivenhed</guilabel
+> er handlingen som udføres når du klikker på <interface
+>hurtigknappen</interface
+>. Vink til at oprette handlinger gives på skærmen. </para>
+
+<para
+>Klik på <guibutton
+>O.k.</guibutton
+> for at gøre ændringerne færdige. </para>
+
+<para
+>Eksempel:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Knapnavn</guilabel
+>: <userinput
+><replaceable
+>Meddelelse</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Knapbegivenhed</guilabel
+>: <userinput
+><replaceable
+>Msg %u </replaceable
+></userinput
+> (der er et mellemrum efter <userinput
+><replaceable
+>%u</replaceable
+></userinput
+>) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>For at bruge denne knap på <link linkend="channel-screen-tour"
+>hovedskærmen</link
+>, klikkes på et alias i <interface
+>aliaspanelet</interface
+>, og derefter klikkes på knappen. <computeroutput
+>/MSG </computeroutput
+> vises på <interface
+>indtastningslinjen</interface
+> fulgt af det valgte alias. Indtast en meddelelse som du vil sende til personen og tryk så på &Enter;. Meddelelsen sendes til brugeren. Kun denne bruger vil se meddelelsen. </para>
+
+<para
+><emphasis
+>Bemærk:</emphasis
+> Du kan ikke tilføje eller fjerne <interface
+>hurtigkanpper</interface
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Sende og modtage filer</title>
+
+<para
+>Du kan sende filer via &irc; til andre brugere der er forbundet, eller også kan de sende filer til dig. </para>
+
+<para>
+<emphasis
+>Advarsel: Åbn aldrig en fil nogen sender til dig hvis det ikke er en pålidelig kilde. Det kan være en virus.</emphasis>
+</para>
+
+<para
+>For at sende en fil til en i en kanal, klikkes med højre museknap på personens alias i <interface
+>aliaspanelet</interface
+> på <link linkend="channel-screen-tour"
+>hovedskærmen</link
+>. Vælg <menuchoice
+><guisubmenu
+>Send fil</guisubmenu
+></menuchoice
+>. <action
+>En dialog kommer frem hvor du kan vælge filen som skal sendes</action
+>. Derefter vises et nyt faneblad med <guilabel
+>DCC Status</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fanebladet DCC Status</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fanebladet DCC Status</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>Modtagerens alias og filnavnet vises her.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>Søjlen <guilabel
+>Status</guilabel
+> angiver status for sendingen eller modtagelsen af filen som følger:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>Tilbyder</guilabel>
+ </term>
+ <listitem>
+ <para
+>Du forsøger at sende en fil til modtageren. &konversation; venter på at modtageren skal acceptere filen. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Forbinder</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; forsøger at oprette en forbindelse med den anden ende. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Sender</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; sender filen til den anden ende. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Modtager</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; modtager filen fra den anden ende. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Færdig</guilabel>
+ </term>
+ <listitem>
+ <para
+>Filen er overført uden problemer. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Hænger</guilabel>
+ </term>
+ <listitem>
+ <para
+>Overførslen er startet men går for øjeblikket ikke videre. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Afbrudt</guilabel>
+ </term>
+ <listitem>
+ <para
+>Enten klikkede du på knappen <guibutton
+>Afbryd</guibutton
+>, eller også afbrød den anden person overførslen. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Mislykket</guilabel>
+ </term>
+ <listitem>
+ <para
+>En fejl opstod og overførslen lykkedes ikke. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>I kø</guilabel>
+ </term>
+ <listitem>
+ <para
+>Overførslen er blevet accepteret og vil begynde når programmellet på den modtagende ende anerkender det. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Slå op</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; forsøger at hente afsenderens IP-adresse. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Genoptager</guilabel>
+ </term>
+ <listitem>
+ <para
+>Når en overførsel begynder men filen allerede findes på brugerens system, vil brugeren blive spurgt <interface
+>Filen eksisterer allerede. Genoptag overførsel?</interface
+> Denne status indikerer at brugeren genoptog overførslen. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>Når nogen vil sende en fil til dig, oprettes fanebladet <guilabel
+>DCC Status</guilabel
+> (hvis det ikke allerede er der). Klik på fanebladet <guilabel
+>DCC Status</guilabel
+> for at vise det. Klik på filen for at markere den, og klik derefter på denne knap for at acceptere filen, så begynder overførslen. Bemærk: Du kan indstille &konversation; til automatisk at acceptere overførsler fra andre personer ved at vælge <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+> <guisubmenu
+>DCC-indstillinger</guisubmenu
+></menuchoice
+> i hovedmenuen. </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Hvis du har problemer med at sende eller modtage filer, så er det måske din brandmur der blokerer DCC-portene. Se <link linkend="faq"
+>Spørgsmål og svar</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Integration med &kaddressbook;.</title>
+
+<para
+>Du kan tilknytte ethvert &nickname;til en kontakt i KAddressBook. Når du har gjort dette vil &konversation; vise kontaktens rigtige navn i parentes efter &nickname; i <interface
+>Alias-Panelet</interface
+>. </para>
+
+<para
+>For at tilknytte et alias til en kontakt i adressebogen, klikkes med højreknappen på personens alias i <interface
+>aliaspanelet</interface
+> på <link linkend="channel-screen-tour"
+>hovedskærmen</link
+>. Vælg <menuchoice
+><guisubmenu
+>Hvem-er-det</guisubmenu
+></menuchoice
+> for at <action
+>vise information som hjælper dig til at afgøre brugerens rigtige navn</action
+>. Klik derefter med højreknappen på personens alias og vælg <menuchoice
+><guisubmenu
+>Adressebogstilknytninger</guisubmenu
+></menuchoice
+>. <action
+>En undermenu vises</action
+>. Hvis aliasset ikke allerede er tilknyttet en kontakt, vælges <menuchoice
+><guisubmenu
+>Opret ny kontakt</guisubmenu
+></menuchoice
+>. <action
+>Skærmen <guilabel
+>Redigér kontakt</guilabel
+> vises.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skærmen Redigér kontakter</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skærmen Redigér kontakter</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>Aliasset udfyldes automatisk her. Hvis du kender personens rigtige navn, erstattes aliasset med det rigtige navn. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Bemærk at aliasset <emphasis
+>ikke</emphasis
+> vises her. I stedet, ...</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>Klik her. Fanebladet <guilabel
+>IM-adresser</guilabel
+>-vinduet kommer frem.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Vinduet IM-adresser.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Vinduet IM-adresser.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Bemærk at &konversation; udfylder aliasset for dig med protokollen <guilabel
+>&irc;</guilabel
+>. </para>
+
+<para
+>Se <ulink url="help:kaddressbook"
+>&kaddressbook;'s håndbog</ulink
+> for yderligere instruktioner om hvordan man bruger &kde;s adressebog.</para>
+
+<para
+>Udfyld mulig yderligere information om aliasset du kender til og klik på <guilabel
+>O.k</guilabel
+>. Personens rigtige navn vises i parenteser foran aliasset i <guilabel
+>Aliaspanelet</guilabel
+> i &konversation;. Det rigtige navn vises også når musen holdes stille over aliasset.</para>
+
+<para
+>Så snart et alias er knyttet sammen med en kontakt i adressebogen, kan du højreklikke på personens alias i <interface
+>Aliaspanelet</interface
+> og redigere den tilknyttede kontakt, knytte aliasset sammen med en anden kontakt, eller fjerne tilknytningen. </para>
+
+<para
+>Hvis du har tilknyttet et alias til en kontakt, og brugeren ændrer sit alias mens du kører &konversation;, tilknyttes det nye alias automatisk til kontakten, og desuden beholdes den oprindelige tilknytning.</para>
+
+<para
+>Hvis du knytter et alias i &irc; til en kontakt i <ulink url="help:kopete"
+>Kopete</ulink
+>, vises også tilknytningen i &konversation; og modsat.</para>
+
+<para
+>Bemærk: Det er muligt at markere mere end et alias i <interface
+>Aliaspanelet</interface
+>, klik med musens højre knap, og udfør flere tilknytninger. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>Indfangning af &URL;'er fra meddelelser</title>
+
+<para
+>Brugere sender ind imellem &URL;'er for interessante steder eller andre ressourcer på nettet, i hvilken som helst <link linkend="channel-screen-tour"
+>kanal</link
+>. Du kan dobbeltklikke på alle sådanne &URL;'er så starter &konversation; programmet som hører sammen med &URL;'en. Programmet som startes afhænger af &MIME;-typen som &URL;'en har. For eksempel aktiveres din almindelige browser for en &URL; som begynder med <interface
+>http:</interface
+>, og viser den. Hvis &URL;'en ruller forbi på skærmen, kan det være svært at finde den igen. &konversation; kan gemme en bekvem liste med alle &URL;'er for dig. For at aktivere denne funktion, vælges <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>&URL;-indfangning</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Et nyt faneblad som hedder <guilabel
+>&URL;-indfangning</guilabel
+> laves.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fanebladet &URL;-indfangning.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fanebladet &URL;-indfangning.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>Dette er listen med &URL;'er som er set siden du startede &konversation;. Søjlen <guilabel
+>Alias</guilabel
+> er alias på personen som sendte &URL;'en. Hvis alias er blankt, blev &URL;'en vist i fanebladet <interface
+>Servermeddelelser</interface
+>. (&URL;'er som vises i meddelelser for at gå med i eller forlade kanaler er ikke på listen.) Klik på en &URL; for at markere den.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Klik her for at aktivere programmet som hører sammen med den markerede &URL;. Programmet som startes afhænger af &MIME;-typen som &URL;'en har. For eksempel aktiveres din almindelige browser for en &URL; som begynder med <interface
+>http:</interface
+>, og viser netsiden. For netsider kan du også specificere den <link linkend="webbrowser"
+>browser</link
+> der skal bruges.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Klik her for at kopiere markeret &URL; til &kde;'s klippebord.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Klik her for at slette markeret &URL; fra listen.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Klik her for at gemme listen med &URL;'er i en fil.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Klik her for at rydde listen.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Opsætning af din foretrukne browser</title>
+
+<para
+>Når du klikker på en fremhævet &URL; hvorsomhelst i &konversation;, vil den starte standardprogrammet i &kde; tilknyttet &MIME;-typen for denne &URL;. For eksempel, når der klikkes på en &URL; der begynder med <interface
+>http</interface
+>, startes &konqueror; for at vise netsiden. Du kan angive et andet program end &kde;'s standard. For eksempel, kan du bruge Mozilla i stedet for. </para>
+
+<para
+>For at vælge en anden browser, vælges <menuchoice
+><guisubmenu
+>Opsætning</guisubmenu
+> <guisubmenu
+>Indstil &konversation;</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Skærmen <guilabel
+>Redigér indstillinger</guilabel
+> vil så komme frem.</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>Browser-skærmen</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Browser-skærmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Klik her for at vise skærmen <guilabel
+>Browser</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Klik her for at angive at du ønsker at bruge en selvvalgt browser.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Indtast kommandoen til at starte din ønskede browser. Når du klikker på en &URL; vil <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> blive erstattet med &URL;'en.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Vink: </emphasis
+>(kun for &UNIX;-systemer) Standardkommandoen er <userinput
+>mozilla '%u'</userinput
+>, hvilket vil starte en ny udgave af Mozilla hver gang du klikker på en &URL;. Hvis du foretrækker at Mozilla viser netsiden i et nyt faneblad af en allerede-kørende udgave, så lav en fil der indeholder følgende: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Navngiv filen <userinput
+><replaceable
+>moz</replaceable
+></userinput
+>, placér den i din PATH, og gør den kørbar (<userinput
+>chmod a+x moz</userinput
+>). Skriv så <userinput
+> <replaceable
+>moz '%u'</replaceable
+></userinput
+> for browser-kommandoen i skærmen ovenfor. </para>
+
+<para
+><emphasis
+>Bemærk: </emphasis
+><guilabel
+>Browser</guilabel
+>-opsætningen kommer ikke til at gælde <interface
+>mailto:</interface
+> &URL;'er. <interface
+>mailto:</interface
+> &URL;'er starter altid &kde;s standardprogram. </para>
+
+<para
+>Klik på <guibutton
+>Anvend</guibutton
+> for at gemme dine ændringer. Du skal forbinde til hver server igen for at alle ændringer skal få virkning. Den nemmeste måde at gøre det er at afslutte &konversation; og starte forfra. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Markering af kanaler og forespørgselslogger</title>
+
+<para
+>Du kan indsætte en markering i <link linkend="channel-screen-tour"
+>channel</link
+> og <link linkend="query"
+>query</link
+> skærmene for at hjælpe dig til hurtigt at finde information. For at gøre dette vælg <menuchoice
+> <guisubmenu
+>Indsæt</guisubmenu
+> <guisubmenu
+>Huskelinje</guisubmenu
+> </menuchoice
+> i hovedmenuen, eller tryk på <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>En linje vil så komme frem for neden af teksten på skærmen. Linjen vil rulle med resten af teksten på skærmen.</action
+> </para>
+
+<para
+>For at få en <interface
+>Huske-linje</interface
+> til at blive indsat i alle kanaler og spørgsmål samtidigt, vælges <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+></menuchoice
+> i hovedmenuen, ekspandér <guilabel
+>Opførsel</guilabel
+>, klik på <guilabel
+>Chat-vindue</guilabel
+> og markér feltet <guilabel
+>Vis en huske-linje for alle kanaler og spørgsmål</guilabel
+>. </para>
+
+<para
+>For at få &konversation; til automatisk at indsætte en <interface
+>huske-linje</interface
+> så snart du sender kommandoen <userinput
+><command
+>/away</command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+>, se <link linkend="identity-away"
+>Opsætning af din identitet</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Logning</title>
+
+<para
+>Hvis logning er aktiveret, logger &konversation; hver <interface
+>server</interface
+>, <link linkend="channel-screen-tour"
+>kanal</link
+> og <link linkend="query"
+>privat konversation (spørgsmål)</link
+>. Hver session opbevares i en logfil på disken. Når du åbner samme session igen, tilføjer &konversation; til loggen. Loggen vokser til en grænse som du kan indstille (se nedenfor). Når grænsen nås, kasseres de ældste meddelelser. </para>
+
+<para
+>Så snart du åbner en session igen, læses cirka de sidste 1024 tegn af foregående session fra slutningen af loggen og vises på skærmen. </para>
+
+<para
+>Mens sessionen er i gang, ruller meddelelser væk højst oppe på skærmen. Du kan rulle baglæns for at se disse meddelelser. Før eller siden, for at spare hukommelse, tages de ældste meddelelser væk fra skærmen. Dette kaldes for <guilabel
+>historikgrænsen</guilabel
+>. Meddelelser som forsvinder fra skærmen på grund af denne <guilabel
+>historikgrænse</guilabel
+> er stadigvæk tilgængelige i logfilen, hvis logning er aktiveret.</para>
+
+<para
+>For at vise logfilen for en session, klikkes på sessionens faneblad for at gøre den til aktuel session og så vælges <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Åbn logfil</guisubmenu
+></menuchoice
+> i hovedmenuen. <action
+>Et nyt faneblad åbnes</action
+> som viser logfilen. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Logfil</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Logfil</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>Meddelelser fra logfilen vises her. De ældste meddelelser er højst oppe og de seneste forneden.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Klik på denne knap for at gemme logfilen til en anden fil.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Klik for at opdatere visningen af logfilen. Mens du kigger på en logfil, tilføjes nye meddelelser i tilsvarende session <emphasis
+>ikke</emphasis
+> automatisk til visningen af logfilen. Brug denne knap for at kigge på de seneste meddelelser.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Klik for at rydde skærmen med logfilen og fjerne logfilen på disken.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Brug dette felt til at indstille maksimal størrelse på logfilen. Indstillingen får ingen effekt førend du genstarter &konversation;. Hver logfil kan have en separat indstilling.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+><guilabel
+>Historikgrænsen</guilabel
+> kan ændres ved at vælge <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil &konversation;</guisubmenu
+></menuchoice
+> i hovedmenuen, og derefter ekspandere <guilabel
+>Opførsel</guilabel
+> og klikke på <guilabel
+>Chat-vindue</guilabel
+>. Feltet <guilabel
+>Historikgrænse</guilabel
+> vises så på skærmen. Hvis du indstiller den til <guilabel
+>Ubegrænset</guilabel
+>, tages meddelelser ikke bort fra skærmen. </para>
+
+<para
+>Du kan aktivere eller deaktivere logning og indstille andre logningstilvalg ved at vælge <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil &konversation;</guisubmenu
+></menuchoice
+> i hovedmenuen, og derefter ekspandere <guilabel
+>Opførsel</guilabel
+> og klikke på <guilabel
+>Logning</guilabel
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>&konversation;'s kommandoer</title>
+
+<para
+>Følgende kommandoer tolkes af &konversation; og kan være forskellige fra almindelige &irc;-kommandoer. Flag indenfor forkantede parenteser er valgfrie. Flag adskilte med en lodret streg (|) er forskellige former af kommandoen. Kommandoer som ikke er på denne liste, sendes til serveren som de skrives ind. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> til kanalen ud for dit alias. Hvis dit alias for eksempel er <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, ville meddelelsen <interface
+>Tux brygger en kop te</interface
+> vises ved at skrive <userinput
+><replaceable
+>/me brygger en kop te</replaceable
+></userinput
+>. Hvis der ikke er filtre for denne slags meddelelser, ser alle brugere dem. Denne slags meddelelser bruges oftest til at udtrykke ikke-verbal information, såsom din følelsesmæssige tilstand lige nu, eller hvad du fysisk sysler med. Hvis du forlader maskinen en kort stund, så brug kommandoen /away i stedet for.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame </command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ligesom kommandoen <userinput
+><command
+>/me</command
+></userinput
+> ovenfor, undtagen at meddelelsen sendes til alle kanaler og forespørgsler som er åbne på alle servere du er tilsluttet i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[pwd]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Går med i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Hvis serveren tillader det, og hvis kanalen ikke allerede findes, laves den og du bliver kanaloperator. Hvis kanalen kræver et kodeord for at gå med, angives det som <userinput
+><replaceable
+>kodeord</replaceable
+></userinput
+>. De fleste kanalnavne begynder med <userinput
+><replaceable
+>#</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[pwd]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samme som <userinput
+><command
+>/join</command
+></userinput
+> ovenfor.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[grund]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Forlader <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> med <userinput
+><replaceable
+>grund</replaceable
+></userinput
+> og lukker tilsvarende <interface
+>kanalfaneblad</interface
+>. Inde i en &konversation; kanal eller et forespørgselsfaneblad, kan du kun indtaste <userinput
+><command
+>/part</command
+></userinput
+> hvilket lukker kanalen eller forespørgslen med din standardbegrundelse som angivet i <link linkend="identity"
+>Indstillinger</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[grund]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samme som <userinput
+><command
+>/part</command
+></userinput
+> ovenfor.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>Når dette indtastes i et kanalfaneblad, forespørgselsfaneblad eller DCC-faneblad, afbrydes forbindelsen til den tilsvarende server og alle kanalfaneblade, forespørgselsfaneblade eller DCC-faneblade som er åbne for denne server lukkes.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>alias|kanal</replaceable
+> <replaceable
+>msg</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> til brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> eller til alle i en <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Det følgende er et eksempel på hvad du ser i kanalfanebladet</para>
+
+<para
+><computeroutput
+>[17:14] [Notits] Sender meddelelse "Jeg tror jeg forstår" til #konversation</computeroutput
+></para>
+
+<para
+>Og dette er hvad modtagerne ser</para>
+
+<para
+><computeroutput
+>[17:15] [Notits] -Eisfuchs- Jeg tror jeg forstår</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Opretter et nyt faneblad med brugerens <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> for en privat konversation, almindeligvis kendt på &irc; som en <link linkend="query"
+>forespørgsel</link
+>. Alt som skrives her ses kun hos dig og din partner. Du kan indtaste mere end et &nickname; adskilt af mellemrum og et forspørgselsfanebald for hvert &nickname;. Hver sådan forespørgselsfaneblad vil være privat mellem dig og den forespurgte partner.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg</command
+> <replaceable
+>alias|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender en privat meddelelse til brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> eller til alle brugere i <userinput
+><replaceable
+>kanalen</replaceable
+></userinput
+>. I modsætning til <userinput
+><command
+>/query</command
+></userinput
+> åbner det ikke et nyt faneblad. Hvis <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> begynder med <userinput
+><command
+>/me</command
+></userinput
+>, formateres meddelelsen på samme måde som en <userinput
+><command
+>/me</command
+></userinput
+>-kommando.</para>
+
+<para
+>Eksempler</para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs Jeg har brug for en del hjælp med kommandoen msg</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation Ny version af Konvi er online!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs /me kompilerer håndbogen lige nu.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg</command
+> <replaceable
+>alias|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samme som <userinput
+><command
+>/msg</command
+></userinput
+> undtagen at meddelelsen ikke vises på din skærm. Dette er nyttigt for at forhindre at kodeord og anden følsom information forbliver synlig på din skærm eller logges.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg</command
+> <replaceable
+>alias|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samme som <userinput
+><command
+>/msg</command
+></userinput
+> kommandoen ovenfor, undtagen at meddelelsen sendes til alle kanaler og forespørgsler som du har åbnet på alle servere du er tilknyttet i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op</command
+> <replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Når dette indtastes i et kanalfaneblad, forsøges det at give <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> operatorrettigheder for kanalen. Måske virker dette ikke hvis du mangler tilstrækkelige rettigheder til kanalen (du skal selv være kanaloperator). Du kan indtaste mere end et alias adskilt med mellemrum.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop</command
+> <replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Når dette indtastes i et kanalfaneblad, fjernes operatorrettigheder fra <userinput
+><replaceable
+>alias</replaceable
+></userinput
+>. Du kan indtaste mere end et alias adskilt med mellemrum.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper</command
+> <replaceable
+>[alias]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Giver brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> &irc;-op rettigheder (administrator). Dette virker kun hvis aliasset er på listen på servernes O:-linje. En &irc;-op har ret til at udføre <userinput
+><command
+>/kill</command
+></userinput
+> for et alias, forbinde servere til &irc;-netværket med <userinput
+><command
+>/connect</command
+></userinput
+> med mere. Hvis <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> ikke indtastes, forsøges det at give dig selv &irc;-op rettigheder. Du bliver spurgt om dit &irc;-op brugernavn og kodeord i begge tilfælde.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice</command
+> <replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>I visse kanaler (med +m flag) kan brugere ikke sende meddelelser hvis de ikke har stemmeret. Denne kommandoen forsøger at give <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> stemmeret. Du skal have kanaloperatorrettigheder for at udføre kommandoen. Kommandoen bruges oftest når du er operator på en modereret kanal.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice</command
+> <replaceable
+>alias</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Fjerner stemmeret fra <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> i kanalen.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[meddelelse]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Forsøger at ændre emnet i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> til <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+>. Når det indtastes i et kanalfaneblad, kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> udelades, og bliver som standard til kanalen som er aktiv i fanebladet. Hvis <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> udelades, vises kanalens nuværende emne. Ændring af kanalens emne kan mislykkes hvis du mangler tilstrækkelige rettigheder.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>grund</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Hvis nogen forsøger at sende dig en privat meddelelse eller indbyde dig til en kanal, vil de blive fortalt at du er borte fra din maskine med <userinput
+><replaceable
+>grund</replaceable
+></userinput
+>. For at ændre din tilstand tilbage til det normale indtastes <userinput
+><command
+>/away</command
+></userinput
+> uden en grund.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway</command
+> <replaceable
+>grund</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ligesom kommandoen <userinput
+><command
+>/away</command
+></userinput
+> ovenfor, bortset fra at kommandoen sendes til alle servere du er forbundet til i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite</command
+> <replaceable
+>alias</replaceable
+> <replaceable
+>[kanal]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Indbyder brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> til at gå med i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Kommandoen er særlig nyttig hvis kanalen kun er åben for indbudte. Når indtastes i et kanalfaneblad kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> udelades.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec</command
+> <replaceable
+>script</replaceable
+> <replaceable
+>[parametre]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kører et skalscript som virker sammen med &konversation; som hedder <userinput
+><replaceable
+>script</replaceable
+></userinput
+>, og sender det <userinput
+><replaceable
+>parametre</replaceable
+></userinput
+>. Se <link linkend="scripting"
+>Scripter</link
+> for mere information om at bruge og skrive scripter.</para>
+<para
+>Eksempler:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Sender dit systems &kde;- og &Qt;-versionsnummer til kanalen.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Sender din Linux-versionsstreng til kanalen.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify</command
+> <replaceable
+>[alias]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tilføjer eller fjerner <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> fra listen <link linkend="nicksonline"
+>Overvågede tilsluttede aliasser</link
+>. Hvis aliasset allerede er på listen, fjernes det. Hvis det ikke er på listen, tilføjes det. Hvis <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> udelades, vises den nuværende liste over overvågede aliasser.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>gruppe</replaceable
+>] [<command
+>liste</command
+>|<replaceable
+>flag</replaceable
+>] [<replaceable
+>værdi</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Viser eller indstiller opsætning af &konversation; uden at bruge opsætningsskærmen. Hvis en parameter indeholder mellemrum, omgive den med citationstegn.</para>
+
+<para
+>Eksempler:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>giver en liste af tilgængelige alternative grupper.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" list</replaceable
+></userinput
+></para>
+
+<para
+>giver en liste af valgmulighederne tilgængelige i gruppen<userinput
+><replaceable
+>General Options</replaceable
+></userinput
+> sammen med deres aktuelle værdier</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon</replaceable
+></userinput
+></para>
+
+<para
+>Viser nuværende værdi af indstillingen som viser &konversation;s ikon i statusfeltet.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon false</replaceable
+></userinput
+></para>
+
+<para
+>Lukker for &konversation;s ikon i statusfeltet.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick</command
+> <replaceable
+>alias</replaceable
+> <replaceable
+>grund</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Når dette indtastes i et kanalfaneblad, forsøges det at sparke brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> væk fra kanalen med <userinput
+><replaceable
+>grund</replaceable
+></userinput
+> som begrundelse. Hvis <userinput
+><replaceable
+>grund</replaceable
+></userinput
+> ikke indskrives, bruges standardgrunden fra <link linkend="identity"
+>Indstillinger</link
+>. Kommandoen må kun bruges i et kanalfaneblad.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[kanal]</replaceable
+> <replaceable
+>brugere</replaceable
+>|<replaceable
+>mask</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Forsøger at bandlyse <userinput
+><replaceable
+>bruger</replaceable
+></userinput
+> eller <userinput
+><replaceable
+>mask</replaceable
+></userinput
+> fra <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Når dette indtastes i et kanalfaneblad, kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> udelades. For mere information om værter, domæner og masker, se dokumenterne på <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. For at hente den nuværende bandlysningsliste for en kanal, indtastes <userinput
+><command
+>/mode</command
+> <replaceable
+>kanal</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>mønster</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tager en en tidligere bandlysning tilbage fra en kanal. Når dette indtastes i et kanalfaneblad kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> udelades. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore</command
+> [<command
+>-all</command
+>] <replaceable
+>alias</replaceable
+> </userinput
+></term>
+<listitem
+><para
+>Tilføjer <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> til din ignorér-liste. Du kan angive mere end et alias adskilt af mellemrum. Kanalmeddelelser fra brugere på din ignorér-liste vises ikke. Hvis du desuden indtaster <userinput
+><command
+>-all</command
+></userinput
+>, ignoreres alle typer af meddelelser fra brugeren (spørgsmål, notitser, CRCP, DCC og undtagelser) så vel som kanalmeddelelser. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote</command
+> <replaceable
+>kommando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>kommando</replaceable
+></userinput
+> til serveren. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say</command
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Når dette indtastes i et kanalfaneblad, sendes <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> til kanalen. Dette er det samme som at indtaste <userinput
+><replaceable
+>meddelelse</replaceable
+></userinput
+> i kanalens <interface
+>indtastningsfelt</interface
+>. Nyttigt for at sende &irc;-kommandoer når du ikke vil udføre kommandoen. To kommandotegn efter hinanden (//) gør samme som <userinput
+><command
+>/say</command
+></userinput
+>. Bruges også af <link linkend="scripting"
+>script</link
+> til at sende meddelelser. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Indstiller serverloggen til ubehandlet tilstand (<command
+>open</command
+>) eller afslutter ubehandlet tilstand (<command
+>close</command
+>). Hvis hverken <command
+>open</command
+> eller <command
+>close</command
+> indtastes, er standardværdien <command
+>open</command
+>. I ubehandlet tilstand viser loggen alle meddelelser som modtages fra serveren i rigtigt &irc;-format. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Åbner et nyt faneblad som kører en &kde;-terminal. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server</command
+> <replaceable
+>[url]</replaceable
+> <replaceable
+>[kodeord]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Forbinder til serveren på adressen <userinput
+><replaceable
+>url</replaceable
+></userinput
+>. Hvis <userinput
+><replaceable
+>url</replaceable
+></userinput
+> udelades, forbindes til serveren som hører sammen med fanebladet hvor du indtastede kommandoen. Dette er nyttigt for at forbinde til en server igen hvis du blev afbrudt. Hvis serveren kræver et kodeord for at forbinde til den, indtastes det som <userinput
+><replaceable
+>kodeord</replaceable
+></userinput
+>. Hvis serveren kræver et andet portnummer end standardnummeret (6667), indtastes <userinput
+><replaceable
+>url</replaceable
+></userinput
+> sådan her: <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc</command
+> <command
+>SEND</command
+> <replaceable
+>alias</replaceable
+> <replaceable
+>[filnavn]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender <userinput
+><replaceable
+>filnavn</replaceable
+></userinput
+> til brugeren med aliasset <userinput
+><replaceable
+>alias</replaceable
+></userinput
+>. Hvis <userinput
+><replaceable
+>filnavn</replaceable
+></userinput
+> udelades, vises en dialog så du kan vælge en fil. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Åbner et DCC-statusfaneblad </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp</command
+> <replaceable
+>alias|kanal</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Sender en PING-meddelelse til <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> eller <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Dette er nyttigt for at afgøre om nogen som du taler med har en lang netværksforsinkelse eller (når det sendes til en kanal) om dit system har en lang forsinkelse. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp</command
+> <replaceable
+>alias|kanal</replaceable
+> <replaceable
+>meddelelse</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sender en meddelelse til <userinput
+><replaceable
+>alias</replaceable
+></userinput
+> eller alle brugere i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Det ligner kommandoen <userinput
+><command
+>/msg</command
+></userinput
+> ovenfor, bortset fra at meddelelsen sendes med CTCP-protokollen. Svaret fra den anden side afhænger af &irc;-klientprogrammet brugeren kører. Hvis du for eksempel taler med en anden brugere af &konversation;, returneres <userinput
+><replaceable
+>/ctcp Eisfuchs TIME</replaceable
+></userinput
+> systemtiden på Eisfuchs maskine. <userinput
+><replaceable
+>/ctcp Eisfuchs VERSION</replaceable
+></userinput
+> returnerer versionsnumret for &konversation; fra Eisfuchs maskine. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Scripter</title>
+
+<para
+>&konversation; levereres med nogle praktiske scripter som du kan køre fra programmet. For at køre et script i et kanalfaneblad, DCC-faneblad eller serverfaneblad, indtastes en kommando på formen</para>
+
+<para
+><userinput
+><command
+>/exec </command
+> <replaceable
+>script</replaceable
+> [<replaceable
+>parametre</replaceable
+>]</userinput
+></para>
+
+<para
+>som kører et script som hedder <userinput
+><replaceable
+>script</replaceable
+></userinput
+> og sender det (valgfrie) <userinput
+><replaceable
+>parametre</replaceable
+></userinput
+>.</para>
+
+<para
+>Skriv for eksempel følgende kommandoer i et kanalfaneblad</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>for at sende dine &kde;- og &Qt;-versionsnumre til kanalen.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>kører scriptet <userinput
+><replaceable
+>cmd</replaceable
+></userinput
+>, og sender <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+> til det. Det sender din Linux-versionsstreng til kanalen.</para>
+
+<para
+>For at få en liste over alle tilgængelige scripter, indtastes følgende kommando i en terminal:</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Du kan skrive dine egne scripter. Scripter er skalscripter og kan skrives med hvilket som helst skalsprog, såsom bash, perl eller python. Når &konversation; kører et script, er de første tre parametre som sendes til scriptet:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>Portnumret for &irc;-serveren i fanebladet hvor kommandoen <userinput
+><command
+>/exec</command
+></userinput
+> blev skrevet.</para>
+</listitem>
+
+<listitem
+><para
+>Serverens adresse.</para
+></listitem>
+
+<listitem
+><para
+>Kanalens navn.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Her er et eksempel på et skalscript (cmd).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Kører en kommando og skriver resultatet ud i Konversation.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para
+>Bemærk at scriptet bruger DCOP til at kommunikere med &konversation;. Kommandoen <computeroutput
+>/say</computeroutput
+> gør at udskriften sendes til kanalen som en normal meddelelse. For at vise noget i fanebladet uden at sende det til andre brugere, bruges <computeroutput
+>info</computeroutput
+> i stedet. Kig i eksisterende scriptfiler for flere eksempler på at skrive scripter.</para>
+
+<para
+>For at kunne køre et script som du har skrevet, skal du installere det ved at kopiere det til $KDEDIR/share/apps/konversation/scripts eller til $HOME/.kde/share/apps/konversation/scripts. Du skal også give filen kørerettigheder, for eksempel med <userinput
+><replaceable
+>chmod a+x mit_script</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Kommandoreference</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>Hovedvinduet for &konversation;</title>
+
+<sect2>
+<title
+>Fil-menuen</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F2</keycap
+> </shortcut
+> <guimenu
+>Fil</guimenu
+> <guimenuitem
+>Serverliste</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Viser <link linkend="irc-basics"
+>listen med servere og kanaler</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F7</keycap
+> </shortcut
+> <guimenu
+>Fil</guimenu
+> <guimenuitem
+>Hurtigforbindelse</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Viser <link linkend="quickconnect"
+>Hurtigforbind</link
+>-skærmen til at forbinde til en server. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Fil</guimenu
+> <guimenuitem
+>Forbind igen</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Forbinder igen til alle servere som blev afbrudt på grund af en netværksfejl eller andet problem. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fil</guimenu
+> <guimenuitem
+>Gå med i kanal</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Viser en dialog hvor du kan indtaste navnet på en kanal at gå med i. Gør det samme som at indtaste <command
+>/join <userinput
+>#kanalnavn</userinput
+></command
+> i en kanal eller er serverfaneblad.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fil</guimenu
+> <guimenuitem
+> Angiv som borte globalt</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Ændrer status for dit alias til borte i alle kanaler. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fil</guimenu
+> <guimenuitem
+>Afslut</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Afslutter</action
+> &konversation;</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menuen <guimenu
+>Redigér</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigér</guimenu
+> <guimenuitem
+>Søg</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Søger efter tekststrenge på nuværende skærm.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F3</keycap
+> </shortcut
+> <guimenu
+>Redigér</guimenu
+> <guimenuitem
+>Søg igen</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Søger igen efter tekststrenge på nuværende skærm ved brug af den tidligere søgestreng.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigér</guimenu
+> <guimenuitem
+>Ryd vindue</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Rydder nuværende skærm.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigér</guimenu
+> <guimenuitem
+>Tøm alle vinduer</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Tømmer alle skærme.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menuen <guimenu
+>Indsæt</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Indsæt</guimenu
+> <guimenuitem
+>&irc;-farve</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Se <link linkend="color-msgs"
+>Send farvelagte meddelelser</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Indsæt</guimenu
+> <guimenuitem
+>Huske-linje</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Se <link linkend="rememberlines"
+>Markering af kanal- og forspørgselslogger</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Indsæt</guimenu
+> <guimenuitem
+> Specialtegn</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Bruges til at indtaste specialtegn, såsom tegn på fremmede sprog.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menuen <guimenu
+>Bogmærker</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Bogmærker</guimenu
+> <guimenuitem
+>Tilføj bogmærke</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lægger et bogmærke til for nuværende netværk og kanal</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Bogmærker</guimenu
+> <guimenuitem
+>Redigér bogmærker</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Åbner bogmærkeeditoren</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Bogmærker</guimenu
+> <guimenuitem
+>Ny bogmærkemappe</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Opretter en ny bogmærkemappe</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+><guimenu
+>Opsætnings</guimenu
+>menuen</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Indstillinger</guimenu
+> <guimenuitem
+>Skjul menulinje</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Skjuler hovedmenuen. Tryk på <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> for at vise den igen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Skjul værktøjslinje</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Skjuler værktøjslinjen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Skjul statuslinjen</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Skjuler statuslinjen for neden på hovedskærmen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætning</guimenu
+> <guimenuitem
+>Identiteter</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Viser skærmen <link linkend="identity"
+>Identiteter</link
+> til indstilling af din identifikationsinformation. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætnings</guimenu
+> <guimenuitem
+>Indstil genveje</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Tillader dig at ændre tastaturgenveje for &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætnings</guimenu
+> <guimenuitem
+>Indstil værktøjslinjer</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Tillader dig at tilføje eller fjerne knapper fra &konversation;'s værktøjslinje.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætnings</guimenu
+> <guimenuitem
+>Indstil påmindelser</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen <link linkend="cfg-notifications"
+>Opsætning af påmindelser</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Opsætnings</guimenu
+> <guimenuitem
+>Indstil &konversation;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen <guilabel
+>Redigér indstillinger</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+><guimenu
+>Vinduer</guimenu
+>-menuen</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Foregående faneblad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen som svarer til foregående faneblad.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Næste faneblad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen som svarer til næste faneblad.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Luk faneblad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lukker den nuværende skærm. Hvis en kanal lukkes, forlades kanalen. Hvis et faneblad med <interface
+>Servermeddelelser</interface
+> lukkes, lukkes alle åbne kanaler på serveren og afbryder fra serveren. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F11</keycap
+></shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Luk alle åbne forespørgsler</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lukker for alle <link linkend="query"
+>Private konversationer (spørgsmål)</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Skjul aliasliste</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Skjuler (eller viser) panelet med aliasser i kanalfaneblade. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F4</keycap
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Overvågede tilkoblede aliasser</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen <guilabel
+>Overvågede aliasser</guilabel
+>. Se <link linkend="nicksonline"
+>Overvåg hvem der er på</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Kanaler</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser en <link linkend="list-channels"
+>liste over kanaler</link
+> tilgængelige på serveren.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F6</keycap
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>URL-indfangning</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser skærmen <link linkend="urlcatcher"
+>&URL;-indfangning</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Ny terminal</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser en terminalskærm. Du kan åbne så mange <guilabel
+>konsoller</guilabel
+> som du vil.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Vindue</guimenu
+> <guimenuitem
+>Åbn logfil</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Viser en skærm med meddelelsesloggen fra nuværende faneblad. Virker kun for fanebladene <interface
+>kanal</interface
+>, <interface
+>servermeddelelser</interface
+> og <interface
+>spørgsmålskanal</interface
+>. Logning skal være aktiveret med <menuchoice
+><guisubmenu
+>Indstillinger</guisubmenu
+> <guisubmenu
+>Indstil Konversation</guisubmenu
+> <guisubmenu
+>Logning</guisubmenu
+></menuchoice
+> i hovedmenuen. </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+><guimenu
+>Hjælpe</guimenu
+>menuen</title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Spørgsmål of svar</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>Når jeg starter &konversation; vil jeg forbindes til en server uden at gå med i nogen kanaler. Hvordan gør jeg det?</para>
+</question>
+<answer>
+<para
+>Efterlad feltet <guilabel
+>Kanaler</guilabel
+> tomt på skærmen <link linkend="serverlist-addnetwork"
+>Redigér server</link
+>.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>&konversation; forbinder ikke til nogen server. Hvad er der galt?</para>
+</question>
+<answer>
+<para
+>Der er flere ting som kan være galt.</para>
+<orderedlist>
+<listitem>
+<para
+>Sørg for dig at du har indtastet det rigtige <guilabel
+>Servernavn</guilabel
+> og den rigtige <guilabel
+>Port</guilabel
+> på skærmen <link linkend="serverlist-addserver"
+>Tilføj server</link
+>. </para>
+</listitem>
+<listitem>
+<para
+>Kontrollér udskriften på skærmen <link linkend="channel-screen-tour"
+>Servermeddelelser</link
+> for om der er nogen fejlmeddelelser. Afslog serveren forbindelsen på grund af et forkert kodeord? Afslog serveren forbindelsen fordi den kræver <acronym
+>IDENTD</acronym
+> og din maskine ikke svarede på forespørgsler om <acronym
+>IDENT</acronym
+>? Markerede du feltet SSL-protokol, men serveren understøtter ikke SSL? </para>
+</listitem>
+<listitem>
+<para
+>Hvis du er bag en brandmur, så sørg for at de rigtige porte er aktiverede. &konversation; kræver at følgende porte er aktiverede: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Udgående TCP 6667 (eller porten på serveren som du forbinder til)</para
+></listitem>
+<listitem
+><para
+>Indkommende TCP 113 (hvis serveren kræver IDENTD)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>For mere information om &irc;-forbindelsesproblemer, se <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>Når jeg går til <menuchoice
+><guisubmenu
+>Vindue</guisubmenu
+> <guisubmenu
+>Kanalliste</guisubmenu
+></menuchoice
+>, kan jeg ikke vælge den. Hvad skyldes det?</para>
+</question>
+<answer>
+<para
+>Menupunktet <menuchoice
+><guisubmenu
+>Vinduer</guisubmenu
+> <guisubmenu
+>Kanalliste</guisubmenu
+></menuchoice
+> er gråt hvis et faneblad som ikke er en kanal, f.eks. <guilabel
+>Overvågede forbundne aliasser</guilabel
+> vises for øjeblikket. For at gøre det muligt at vælge igen, gå tilbage til et kanalfaneblad eller serverfanebladet. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Medvirkende og licens</title>
+
+<para
+>Konversation </para>
+<para
+>Program ophavsret 2002-2005 ved Konversation-gruppen. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Bidragydere: <itemizedlist>
+<listitem
+><para
+>Dario Abatianni <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Peter Simonsson <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Christian Muehlhaeuser <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>John Tapsel <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Ismail Donmez <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Shintaro Matsuoka <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Gary Cramblitt <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Matthias Gierlings <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Alex Zepeda <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Stanislav Karchebny <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Mickael Marchand <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Tak til: <itemizedlist>
+<listitem
+><para
+>Michael Goettsche <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Benjamin Meyer <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Jacub Stachowski <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Sabastian Sariego <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Olivier Bedard <email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Frauke Oster <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Lucijan Busch <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Sascha Cunz <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Steve Wollkind <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Thomas Nagy <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Tobias Olry <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Ruud Nabben <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Dokumentation ophavsret &copy; 2003-2005 Gary R. Cramblitt <email
+>garycramblitt@comcast.net</email
+> </para>
+
+&erik.kjaer.pedersen.credit;
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>Hvordan får man fat på &konversation;</title>
+&install.intro.documentation; <para
+>Den seneste version af &konversation;, inklusive kildekode og byggeinstruktioner kan også hentes fra <ulink url="&konviwebsite;"
+>&konviwebsite; hjemmeside</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Krav</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>For at det skal lykkes at bruge &konversation; har du brug for &kde; 3.2 eller senere, og en netværksforbindelse. For tidligere &kde;-versioner kan visse funktioner mangles. Hvis du vil køre &konversation; bag en brandmur, så se <link linkend="faq"
+>Spørgsmål og svar</link
+>. Hvis du ønsker at bruge SSL-protokollen, vil du måske have brug for OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/es/Makefile.am b/doc/es/Makefile.am
new file mode 100644
index 0000000..212bba7
--- /dev/null
+++ b/doc/es/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = es
+KDE_DOCS = konversation
diff --git a/doc/es/addchannel.png b/doc/es/addchannel.png
new file mode 100644
index 0000000..08fde93
--- /dev/null
+++ b/doc/es/addchannel.png
Binary files differ
diff --git a/doc/es/addnetwork_co.png b/doc/es/addnetwork_co.png
new file mode 100644
index 0000000..fe1c959
--- /dev/null
+++ b/doc/es/addnetwork_co.png
Binary files differ
diff --git a/doc/es/addserver_co.png b/doc/es/addserver_co.png
new file mode 100644
index 0000000..1b0bfc3
--- /dev/null
+++ b/doc/es/addserver_co.png
Binary files differ
diff --git a/doc/es/channel_screen_tour_co.png b/doc/es/channel_screen_tour_co.png
new file mode 100644
index 0000000..f97a28f
--- /dev/null
+++ b/doc/es/channel_screen_tour_co.png
Binary files differ
diff --git a/doc/es/channellist_screen_co.png b/doc/es/channellist_screen_co.png
new file mode 100644
index 0000000..65a3ef6
--- /dev/null
+++ b/doc/es/channellist_screen_co.png
Binary files differ
diff --git a/doc/es/checkidentities.png b/doc/es/checkidentities.png
new file mode 100644
index 0000000..eaa7342
--- /dev/null
+++ b/doc/es/checkidentities.png
Binary files differ
diff --git a/doc/es/colorchooser_screen.png b/doc/es/colorchooser_screen.png
new file mode 100644
index 0000000..0ceedae
--- /dev/null
+++ b/doc/es/colorchooser_screen.png
Binary files differ
diff --git a/doc/es/colorize.png b/doc/es/colorize.png
new file mode 100644
index 0000000..ec6bf07
--- /dev/null
+++ b/doc/es/colorize.png
Binary files differ
diff --git a/doc/es/common/1.png b/doc/es/common/1.png
new file mode 100644
index 0000000..4d8ae23
--- /dev/null
+++ b/doc/es/common/1.png
Binary files differ
diff --git a/doc/es/common/2.png b/doc/es/common/2.png
new file mode 100644
index 0000000..b42b4d1
--- /dev/null
+++ b/doc/es/common/2.png
Binary files differ
diff --git a/doc/es/common/3.png b/doc/es/common/3.png
new file mode 100644
index 0000000..42797b5
--- /dev/null
+++ b/doc/es/common/3.png
Binary files differ
diff --git a/doc/es/common/4.png b/doc/es/common/4.png
new file mode 100644
index 0000000..c2da7bf
--- /dev/null
+++ b/doc/es/common/4.png
Binary files differ
diff --git a/doc/es/common/5.png b/doc/es/common/5.png
new file mode 100644
index 0000000..10430be
--- /dev/null
+++ b/doc/es/common/5.png
Binary files differ
diff --git a/doc/es/common/6.png b/doc/es/common/6.png
new file mode 100644
index 0000000..35c4ea7
--- /dev/null
+++ b/doc/es/common/6.png
Binary files differ
diff --git a/doc/es/common/7.png b/doc/es/common/7.png
new file mode 100644
index 0000000..61e7ada
--- /dev/null
+++ b/doc/es/common/7.png
Binary files differ
diff --git a/doc/es/common/8.png b/doc/es/common/8.png
new file mode 100644
index 0000000..6c8ab5b
--- /dev/null
+++ b/doc/es/common/8.png
Binary files differ
diff --git a/doc/es/common/9.png b/doc/es/common/9.png
new file mode 100644
index 0000000..78a87c0
--- /dev/null
+++ b/doc/es/common/9.png
Binary files differ
diff --git a/doc/es/configure.png b/doc/es/configure.png
new file mode 100644
index 0000000..a5135e8
--- /dev/null
+++ b/doc/es/configure.png
Binary files differ
diff --git a/doc/es/dccstatus_screen_co.png b/doc/es/dccstatus_screen_co.png
new file mode 100644
index 0000000..8442c4d
--- /dev/null
+++ b/doc/es/dccstatus_screen_co.png
Binary files differ
diff --git a/doc/es/first_channel_co.png b/doc/es/first_channel_co.png
new file mode 100644
index 0000000..88dd2c4
--- /dev/null
+++ b/doc/es/first_channel_co.png
Binary files differ
diff --git a/doc/es/first_serverlist_co.png b/doc/es/first_serverlist_co.png
new file mode 100644
index 0000000..fbabfbe
--- /dev/null
+++ b/doc/es/first_serverlist_co.png
Binary files differ
diff --git a/doc/es/highlighting_screen_co.png b/doc/es/highlighting_screen_co.png
new file mode 100644
index 0000000..a5897db
--- /dev/null
+++ b/doc/es/highlighting_screen_co.png
Binary files differ
diff --git a/doc/es/identities_adv_co.png b/doc/es/identities_adv_co.png
new file mode 100644
index 0000000..e411f27
--- /dev/null
+++ b/doc/es/identities_adv_co.png
Binary files differ
diff --git a/doc/es/identities_away_co.png b/doc/es/identities_away_co.png
new file mode 100644
index 0000000..4b523e0
--- /dev/null
+++ b/doc/es/identities_away_co.png
Binary files differ
diff --git a/doc/es/identities_gen_co.png b/doc/es/identities_gen_co.png
new file mode 100644
index 0000000..a53c03e
--- /dev/null
+++ b/doc/es/identities_gen_co.png
Binary files differ
diff --git a/doc/es/irc_admin.png b/doc/es/irc_admin.png
new file mode 100644
index 0000000..3aeef2e
--- /dev/null
+++ b/doc/es/irc_admin.png
Binary files differ
diff --git a/doc/es/irc_away.png b/doc/es/irc_away.png
new file mode 100644
index 0000000..ad9044d
--- /dev/null
+++ b/doc/es/irc_away.png
Binary files differ
diff --git a/doc/es/irc_halfop.png b/doc/es/irc_halfop.png
new file mode 100644
index 0000000..d0ea2b6
--- /dev/null
+++ b/doc/es/irc_halfop.png
Binary files differ
diff --git a/doc/es/irc_normal.png b/doc/es/irc_normal.png
new file mode 100644
index 0000000..d3aaee6
--- /dev/null
+++ b/doc/es/irc_normal.png
Binary files differ
diff --git a/doc/es/irc_op.png b/doc/es/irc_op.png
new file mode 100644
index 0000000..b00f5d4
--- /dev/null
+++ b/doc/es/irc_op.png
Binary files differ
diff --git a/doc/es/irc_owner.png b/doc/es/irc_owner.png
new file mode 100644
index 0000000..2e2bd40
--- /dev/null
+++ b/doc/es/irc_owner.png
Binary files differ
diff --git a/doc/es/irc_voice.png b/doc/es/irc_voice.png
new file mode 100644
index 0000000..1fc438b
--- /dev/null
+++ b/doc/es/irc_voice.png
Binary files differ
diff --git a/doc/es/kaddressbook.png b/doc/es/kaddressbook.png
new file mode 100644
index 0000000..2954cd0
--- /dev/null
+++ b/doc/es/kaddressbook.png
Binary files differ
diff --git a/doc/es/kimproxy_create_screen2.png b/doc/es/kimproxy_create_screen2.png
new file mode 100644
index 0000000..26fb2af
--- /dev/null
+++ b/doc/es/kimproxy_create_screen2.png
Binary files differ
diff --git a/doc/es/kimproxy_create_screen_co.png b/doc/es/kimproxy_create_screen_co.png
new file mode 100644
index 0000000..b023890
--- /dev/null
+++ b/doc/es/kimproxy_create_screen_co.png
Binary files differ
diff --git a/doc/es/led_blue_off.png b/doc/es/led_blue_off.png
new file mode 100644
index 0000000..2a9beb7
--- /dev/null
+++ b/doc/es/led_blue_off.png
Binary files differ
diff --git a/doc/es/led_blue_on.png b/doc/es/led_blue_on.png
new file mode 100644
index 0000000..24ea507
--- /dev/null
+++ b/doc/es/led_blue_on.png
Binary files differ
diff --git a/doc/es/led_green_off.png b/doc/es/led_green_off.png
new file mode 100644
index 0000000..0a5e99e
--- /dev/null
+++ b/doc/es/led_green_off.png
Binary files differ
diff --git a/doc/es/led_green_on.png b/doc/es/led_green_on.png
new file mode 100644
index 0000000..b075e3b
--- /dev/null
+++ b/doc/es/led_green_on.png
Binary files differ
diff --git a/doc/es/led_red_off.png b/doc/es/led_red_off.png
new file mode 100644
index 0000000..36ade01
--- /dev/null
+++ b/doc/es/led_red_off.png
Binary files differ
diff --git a/doc/es/led_red_on.png b/doc/es/led_red_on.png
new file mode 100644
index 0000000..fc39e10
--- /dev/null
+++ b/doc/es/led_red_on.png
Binary files differ
diff --git a/doc/es/led_yellow_off.png b/doc/es/led_yellow_off.png
new file mode 100644
index 0000000..e51d9e4
--- /dev/null
+++ b/doc/es/led_yellow_off.png
Binary files differ
diff --git a/doc/es/led_yellow_on.png b/doc/es/led_yellow_on.png
new file mode 100644
index 0000000..58fc244
--- /dev/null
+++ b/doc/es/led_yellow_on.png
Binary files differ
diff --git a/doc/es/logviewer_co.png b/doc/es/logviewer_co.png
new file mode 100644
index 0000000..17288b9
--- /dev/null
+++ b/doc/es/logviewer_co.png
Binary files differ
diff --git a/doc/es/nicksonline_co.png b/doc/es/nicksonline_co.png
new file mode 100644
index 0000000..1e6c91b
--- /dev/null
+++ b/doc/es/nicksonline_co.png
Binary files differ
diff --git a/doc/es/nickthemes_screen_co.png b/doc/es/nickthemes_screen_co.png
new file mode 100644
index 0000000..f3cb041
--- /dev/null
+++ b/doc/es/nickthemes_screen_co.png
Binary files differ
diff --git a/doc/es/notification_screen_co.png b/doc/es/notification_screen_co.png
new file mode 100644
index 0000000..ea8aeb1
--- /dev/null
+++ b/doc/es/notification_screen_co.png
Binary files differ
diff --git a/doc/es/notifylist_screen_co.png b/doc/es/notifylist_screen_co.png
new file mode 100644
index 0000000..3ad4587
--- /dev/null
+++ b/doc/es/notifylist_screen_co.png
Binary files differ
diff --git a/doc/es/osd_demo.png b/doc/es/osd_demo.png
new file mode 100644
index 0000000..03061f2
--- /dev/null
+++ b/doc/es/osd_demo.png
Binary files differ
diff --git a/doc/es/osd_screen_co.png b/doc/es/osd_screen_co.png
new file mode 100644
index 0000000..142a7dd
--- /dev/null
+++ b/doc/es/osd_screen_co.png
Binary files differ
diff --git a/doc/es/quickbuttons_screen.png b/doc/es/quickbuttons_screen.png
new file mode 100644
index 0000000..1d400e6
--- /dev/null
+++ b/doc/es/quickbuttons_screen.png
Binary files differ
diff --git a/doc/es/quickconnect_screen.png b/doc/es/quickconnect_screen.png
new file mode 100644
index 0000000..d2f7d41
--- /dev/null
+++ b/doc/es/quickconnect_screen.png
Binary files differ
diff --git a/doc/es/serverlist_co.png b/doc/es/serverlist_co.png
new file mode 100644
index 0000000..eadf213
--- /dev/null
+++ b/doc/es/serverlist_co.png
Binary files differ
diff --git a/doc/es/urlcatcher_screen_co.png b/doc/es/urlcatcher_screen_co.png
new file mode 100644
index 0000000..35d7abc
--- /dev/null
+++ b/doc/es/urlcatcher_screen_co.png
Binary files differ
diff --git a/doc/es/webbrowser_screen_co.png b/doc/es/webbrowser_screen_co.png
new file mode 100644
index 0000000..a2430c0
--- /dev/null
+++ b/doc/es/webbrowser_screen_co.png
Binary files differ
diff --git a/doc/et/Makefile.am b/doc/et/Makefile.am
new file mode 100644
index 0000000..1284321
--- /dev/null
+++ b/doc/et/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = et
+KDE_DOCS = konversation
diff --git a/doc/et/index.docbook b/doc/et/index.docbook
new file mode 100644
index 0000000..ad85732
--- /dev/null
+++ b/doc/et/index.docbook
@@ -0,0 +1,5981 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Estonian "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>&konversation;i käsiraamat</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+<othercredit role="translator"
+><firstname
+>Marek</firstname
+> <surname
+>Laane</surname
+> <affiliation
+><address
+><email
+>bald@starman.ee</email
+></address
+></affiliation
+><contrib
+>Tõlge eesti keelde</contrib
+></othercredit
+>
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&konversation; on K Töölaua Keskkonna kasutajasõbralik &irc; klient. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>interneti retranslatsioonivestlus</keyword>
+<keyword
+>vestlus</keyword>
+<keyword
+>side</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with &kaddressbook;</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&konversation; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &konversation; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &konversation;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Sissejuhatus</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>&konversation; on &irc; klient &kde; töökeskkonnale (versioon 3.2 või uuem). See pakub järgmisi võimalusi: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>SSL toetus.</para
+></listitem>
+<listitem
+><para
+>Kasutajasõbralik kaartidega liides.</para
+></listitem>
+<listitem
+><para
+>Kohandatavad kiirnupud sagedamini kasutatavatele käskudele.</para
+></listitem>
+<listitem
+><para
+>Automaatne taasühendumine ja taasliitumine.</para
+></listitem>
+<listitem
+><para
+>Failide saatmine ja saamine (DCC).</para
+></listitem>
+<listitem
+><para
+>Võimalus jälgida, millises olekus on teised kasutajad.</para
+></listitem>
+<listitem
+><para
+>Visuaalsed ja helilised märguanded paljudele sündmustele, näiteks sõnumitele, kus esineb sinu hüüdnimi või kui hüüdnimi, mis on sinu jälgitavate hüüdnimede nimekirjas, tuleb võrku või lahkub võrgust. </para
+></listitem>
+<listitem
+><para
+>Kohandatav sõnumite esiletõstmine hüüdnime või regulaaravaldise alusel.</para
+></listitem>
+<listitem
+><para
+>Võimalus hüüdnime automaatselt lõpetada.</para
+></listitem>
+<listitem
+><para
+>Kõigi &URL;-ide hankimine sõnumist ja nende salvestamine.</para
+></listitem>
+<listitem
+><para
+>Sõnumite esitamine ekraanil isegi rakenduse minimeerimisel.</para
+></listitem>
+<listitem
+><para
+>Võimalus panna hüüdnimesid ignoreeritavate nimekirja.</para
+></listitem>
+<listitem
+><para
+>Automaatne logimine ja logide haldamise võimalused.</para
+></listitem>
+<listitem
+><para
+>Ridade märkimine logifailides.</para
+></listitem>
+<listitem
+><para
+>Skriptide kasutamine.</para
+></listitem>
+<listitem
+><para
+>Põimimine &aadressiraamat;uga.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>&konversation;i veebilehekülg on <ulink url="&konviwebsite;"
+>&konviwebsite;</ulink
+>. &konversation;i kohta käivaid küsimusi ja vastuseid saab esitada <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>&konversation;-Users</ulink
+> meililistis. Palun liitu sellega, kui soovid teada saada uutest võimalustest või anda teada vigadest jne. Ainult uutest väljalasetest saab teada, kui liituda meililistiga <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>&konversation;-Announce</ulink
+>. See on üsna väikese mahuga list, kus antakse ainult teada uutest väljalasetest või parandustest. </para>
+
+<para
+>&konversation;i arendajatega saab enamasti ühendust &irc; vahendusel <ulink url="irc://irc.kde.org/%23konversation"
+>irc.kde.org kanalil #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>&konversation;i kasutamine</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Kui sa ei ole varem &irc;-d kasutanud...</title>
+
+<para
+>Hästi lihtsalt öelduna on &irc; Interneti ametlike standarditega kindlaks määratud vestlusprotokoll, mis võib endale nõuda päris palju tunde sinu elust. &irc; kasutamiseks tuleb ühenduda serveriga ja seejärel kanaliga (see on umbes sama, mis jututuba) või siis alustada eravestlust.</para>
+
+<para
+>Serveri ja kanaliga ühendumiseks ava &konversation;. Ilmub <guilabel
+>serverite nimekiri</guilabel
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Serverite nimekiri</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverite nimekiri</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>Siin on kirjas seadistatud &irc; <guilabel
+>võrgud</guilabel
+>. &irc; võrk kujutab endast koostööd tegevate serverite kogumit. Sul tuleb võtta ühendust ainult ühe võrku kuuluva serveriga ning sa oled kohe ühendatud terve &irc; võrguga. Ühendumise järel võtab &konversation; automaatselt ühendust kõigi näidatud <guilabel
+>kanal</guilabel
+>itega. &konversation;i esmakordsel käivitamisel ootab sind juba ees <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+>'i võrk ja <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+> kanal. Valimiseks klõpsa võrgule.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Siia klõpsates on võimalik määrata uus <guilabel
+>võrk</guilabel
+>, sealhulgas server, millega ühendus luuakse, ning <guilabel
+>kanalid</guilabel
+>, millega ühenduse loomise järel automaatselt liitutakse. Täpsemalt räägib sellest osa <link linkend="serverlist"
+>Uute võrkude, serverite ja automaatselt liituvate kanalite määramine</link
+>.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Klõpsa siia valitud &irc; võrgu ja kanaliga ühendumiseks.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>Kui klõpsad nupule <guibutton
+>Ühenda</guibutton
+> &konversation;i esmakordsel käivitamisel, näed järgmist teadet, mis ütleb, et sinu vaikimisi <guilabel
+>identiteet</guilabel
+> ei ole korrektselt määratud.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Kontrolli identiteeti</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kontrolli identiteeti</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>&konversation; hangib esmakordsel käivitamisel info kasutaja kohta operatsioonisüsteemist ja täidab saadud infoga vaikimisi identiteedi. Kui operatsioonisüsteemi info kasutaja kohta pole täielik (puudub näiteks tegelik nimi), näed mainitud teadet. Probleemi lahendamiseks klõpsa nupule <guibutton
+>OK</guibutton
+> ja uuri lähemalt <link linkend="identity"
+>Identiteedi määramine</link
+>.</para>
+</note>
+
+<para
+>Ilmub <interface
+>peaaken</interface
+>, mis näitab serverilt kliendile saadetavaid teateid (kui &konversation; serveriga ühendust ei saa, uuri osa <link linkend="faq"
+>Küsimused ja vastused</link
+>). Kui serveri teated on üle ekraani jooksnud, liitub &konversation; valitud kanali või kanalitega. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kanal.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Kanal</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Seda nimetatakse <interface
+>sisendreaks</interface
+>. Sõnumi saatmiseks kõigile kanalil viibijatele kirjuta siia ona sõnum ja vajuta klahvi &Enter;. Nagu kõigil teistelgi, ilmub sinu sõnum ülal pidevalt edasiliikuvasse kanaliaknasse. Igale sõnumile eelneb selle kirjutamise aeg ja kasutaja hüüdnimi.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Võimalik on liituda mitme serveri ja kanaliga. Iga server, kanal, kanalite nimekiri või üldse mis tahes ekraan saab omaette kaardi. Kõigi saadaolevate kanalite nägemiseks vaata <link linkend="list-channels"
+>saadaolevate kanalite nimekirja</link
+>. Kanaliga ühinemiseks kirjuta sisendreale <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalinimi</replaceable
+></userinput
+> (pane tähele, et <userinput
+>#</userinput
+> on kindlasti vajalik). Käsu <userinput
+><command
+>/join</command
+></userinput
+> asemel võib anda ka lühema <userinput
+><command
+>/j</command
+></userinput
+>. Kanalilt lahkumiseks kirjuta <userinput
+><command
+>/part</command
+></userinput
+>. Mõnele muule serverile või kanalile lülitumiseks klõpsa vastavat kaarti. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Seda nimetatakse <interface
+>hüüdnimede paneeliks</interface
+>. Siin on kirjas iga kanaliga ühinenud kasutaja hüüdnimi, kaasa arvatud sinu enda oma.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Need olid kõige olulisemad asjad. Kui soovid rohkem teada saada, loe edasi...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Identiteedi määramine</title>
+
+<para
+>Enne seda, kui hakkad regulaarselt &konversation;it kasutama, peaksid seadistustes kindlaks määrama, kuidas, kellena ja mismoodi sa võrgus esined.</para>
+
+<para
+>Vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Identiteedid</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Identiteedid</guilabel
+>. Dialoogi <guilabel
+>Identiteedid</guilabel
+> saab avada ka klõpsuga nupule <guibutton
+>Muuda</guibutton
+> dialoogis <guilabel
+>Võrgu lisamine</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Identiteedid (kaart Üldine)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteedid (kaart Üldine)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Klõpsa siia muudetava <guilabel
+>identiteedi</guilabel
+> valimiseks.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Nende nuppudega saab <guilabel
+>identiteet</guilabel
+>i lisada, duubeldada, ümber nimetada või eemaldada.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Kirjuta siia oma pärisnimi. &irc; ei ole mõeldud sinu varjamiseks sõprade või vaenlaste eest. Pea seda meeles, kui tekib kiusatus midagi kurja ette võtta. Võltsitud "pärisnimi" võib muidugi hoida sind eemal kõikvõimalikest sulle ebameeldivatest tegelastest, aga arvuti, mille taga sa töötad, on nagunii võimalik alati üles leida, nii et päris anonüümseks ei õnnestu sul nii või teisiti jääda.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Nuppudega <guibutton
+>Lisa</guibutton
+>, <guilabel
+>Muuda</guilabel
+> ja <guilabel
+>Kustuta</guilabel
+> saab hüüdnimega vastavaid toiminguid ette võtta.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Kirjuta siia oma hüüdnimed. Hüüdnimi on nimi, mille all teised kasutajad sind näevad. Võid siin määrata just sellise nime, nagu soovid. Esimene märk peab olema täht, ülejäänud võivad olla tähed, numbrid või ka erimärgid <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Kuna hüüdnimi peab olema serveri ulatuses unikaalne, võib juhtuda, et server keeldub seda aktsepteerimast, kui kellelgi on juba samasugune hüüdnimi. Selleks oleks mõttekas lisada vastavatesse kastidesse alternatiivsed hüüdnimed. Kui server lükkab esimesena sisestatu tagasi, on valmis järgmine hüüdnimi, mida &konversation; sellisel juhul serverile saadab. </para>
+
+<para
+>RFC 2812 kohaselt võib hüüdnimi olla maksimaalselt üheksamärgiline, kuid tegelikult on see serveri otsustada. Serveri maksimumi selgitamiseks võta serveriga ühendust. <interface
+>Serveri sõnumite</interface
+> kaardil otsi üles sõnum <computeroutput
+>[Support]</computeroutput
+>. See võib olla näiteks selline:</para>
+
+<para>
+<computeroutput
+>[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer </computeroutput>
+</para>
+
+<para
+><computeroutput
+>NICKLEN</computeroutput
+> määrab antud juhul, kui pikk tohib olla hüüdnimi. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Nende nuppudega saab muuta hüüdnimede järjekorda. Kõigepealt üritatakse kasutada esimesena seisvat hüüdnime, seejärel teist ja nii edasi.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Kui oled oma hüüdnime &irc; võrgus registreerinud, sisesta ka teenus ja oma hüüdnime autentimisel kasutatav parool. Kui &konversation; ühendust loob, saadab rakendus automaatselt serverile <userinput
+><command
+>/msg</command
+> <replaceable
+>teenus</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>parool</replaceable
+></userinput
+>. Kui sa ei tea, mida see tähendab, jäta need sisestamata.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Klõpsa kaardile <guilabel
+>Eemalolek</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteedid (kaart Eemalolek)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteedid (kaart Eemalolek)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Kirjuta hüüdnimi, mis osutab, et oled eemal. Kui annad käsu <userinput
+><command
+>/away </command
+><replaceable
+>sõnum</replaceable
+></userinput
+> mis tahes kanalil, millega oled ühinenud antud <guilabel
+>identiteet</guilabel
+>i kasutades, asub tegevusse &konversation; ja sinu hüüdnimi asendatakse <guilabel
+>eemaloleku hüüdnimega</guilabel
+>. Ühtlasi saadetakse <guilabel
+>eemalolekusõnum</guilabel
+> kõigile kanalitele, millega oled antud <guilabel
+>identiteeti</guilabel
+> kasutades liitunud. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> asemele pannakse <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>. Kui annad käsu <userinput
+><command
+>/away</command
+></userinput
+>, muutub sinu hüüdnimi taas tavaliseks ja <guilabel
+>naasmissõnum</guilabel
+> saadetakse kõigile kanalitele, millega oled antud <guilabel
+>identiteeti</guilabel
+> kasutades liitunud.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Selle kasti märkimisel lisatakse kanali aknasse alati rõhtrida, kui annad käsu <userinput
+><command
+>/away</command
+></userinput
+>. See tähistab kohta, kus sa eemale läksid. Teised &irc; kasutajad seda ei näe. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Selle kasti märkimisel saadab &konversation; automaatselt <guilabel
+>eemalolekusõnum</guilabel
+>i kõigile kanalitele, millega oled antud <guilabel
+>identiteeti</guilabel
+> kasutades liitunud. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> asemele pannakse <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>. Kui annad käsu <userinput
+><command
+>/away</command
+></userinput
+>, muutub sinu hüüdnimi taas tavaliseks ja <guilabel
+>naasmissõnum</guilabel
+> saadetakse kõigile kanalitele, millega oled antud <guilabel
+>identiteeti</guilabel
+> kasutades liitunud.</para>
+
+<note
+><para
+>Paljud kasutajad peavad eemalolekusõnumeid päris häirivaks, seepärast kasuta seda võimalust ettevaatlikult ja ürita arvestada teiste &irc; kasutajate huvidega. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Klõpsa kaardile <guilabel
+>Muud</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteedid (kaart Muud)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteedid (kaart Muud)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Siia saab sisestada käsu, mis täidetakse enne serveriga ühendumist. Kui kasutad antud identiteeti mitmes serveris, täidetakse käsk neis kõigis.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>See mõjutab seda, millises kodeeringus saadetakse sinu kirjutatud märgid serverile. Samuti mõjutab see sõnumite näitamist. &konversation;i esmakordsel käivitamisel hangib rakendus kodeeringu operatsioonisüsteemist. Kui sul aga tekib raskusi teiste kasutajate sõnumite nägemisega, võiksid proovida kodeeringut vahetad.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>Ühendumisel esitavad paljud serverid sinu arvutile IDENT-päringu. Kui sinu arvutis IDENT-serverit ei tööta, saadab &konversation; siinmääratud vastuse. Tühikud ei ole vastuses lubatud. Vaikimisi kasutatakse sinu eesnime.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Kui lahkud kanalilt, saadetakse kanalile siinmääratud sõnum.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Kui sind kanalilt välja visatakse (tavaliselt saab seda teha &irc; operaator), saadetakse see sõnum kanalile.</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Klõpsa siia tehtud muudatuste rakendamiseks. Et kõik rakenduks, tuleb ühendus serveriga katkestada ja siis uuesti ühendust võtta. Lihtsaim viis selleks on väljuda &konversation;ist ja see uuesti käivitada.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Uute võrkude, serverite ja automaatselt liituvate kanalite määramine</title>
+
+<para
+>&konversation;i käivitamisel avatakse aken <guilabel
+>Serverite nimekiri</guilabel
+>. See avatakse ka menüükäsuga <menuchoice
+> <guisubmenu
+>Fail</guisubmenu
+> <guisubmenu
+>Serverite nimekiri</guisubmenu
+> </menuchoice
+>. <action
+>The <guilabel
+>Serverite nimekiri</guilabel
+></action
+> näitab gruppidesse jagatult sinu olemasolevaid &irc; <guilabel
+>võrk</guilabel
+>e. &irc; võrk on koostööd tegevate serverite kogum. Võrgu mis tahes serveriga ühendudes saad ligipääsu kõigile võrgu kanalitele. &irc; võrgud on näiteks <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> ja <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Serverite nimekiri</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverite nimekiri</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>Siin on kirjas sinu juba olemasolev <guilabel
+>võrk</guilabel
+> või võrgud, samuti <guilabel
+>identiteet</guilabel
+>, millega sa võrku ühendud, ning <guilabel
+>kanalid</guilabel
+>, millega ühendumisel automaatselt liitutakse. Kui oled määranud võrkudele grupi, näidatakse võrke grupis. Valimiseks klõpsa võrgu nimele. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Nupuga <guibutton
+>Lisa</guibutton
+> saab lisada uue võrgu, nupuga <guibutton
+>Muuda</guibutton
+> muuta valitud võrku ning nupuga <guibutton
+>Kustuta</guibutton
+> eemaldada valitud võrgu. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Sellele nupule klõpsates luuakse ühendus valitud <guilabel
+>võrguga</guilabel
+> ja suletakse <guilabel
+>serverite nimekiri</guilabel
+>. Soovi korral võid valida ka mitu võrku, sellisel juhul luuakse ühendus nende kõigiga.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>Klõps sellele nupule ei tähenda mitte tehtud muudatustest loobumist, vaid lihtsalt seda, et sa ei soovi hetkel ühegi võrguga ühenduda.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>Klõpsuga nupule <guilabel
+>Lisa</guilabel
+> ilmub dialoog <guilabel
+>Võrgu lisamine</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Võrgu lisamine</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Võrgu lisamine</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Siia tuleb kirjutada <guilabel
+>võrgu</guilabel
+> nimi. <guilabel
+>Serverite nimekirjas</guilabel
+> võib olla ka ühesuguse nimega <guilabel
+>võrk</guilabel
+>e just nii palju, kui sa vaid soovid.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Lisavõimalus. Kui siia midagi kirjutada, näidatakse <guilabel
+>serverite nimekirjas</guilabel
+> samasse <guilabel
+>grupp</guilabel
+>i kuuluvaid <guilabel
+>võrk</guilabel
+>e üheskoos.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Vali olemasolev <guilabel
+>identiteet</guilabel
+> või klõpsa nupule <guibutton
+>Muuda</guibutton
+>, kui soovid lisada uue identiteedi või olemasolevat muuta. <guilabel
+>Identiteet</guilabel
+>i kasutatakse sinu tuvastamiseks ja sinu hüüdnime määramiseks ühenduse loomisel võrguga.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Lisavõimalus. See käsk saadetakse serverile pärast ühendumist. Näide: <userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. See näide käib freenode võrgu kohta, mis nõuab, et kasutaja ühendumisel oma hüüdnime parooli ja kasutajanimega registreeriks. <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> on parool hüüdnimele, mis on antud kaardil <guilabel
+>Vaikeidentiteet</guilabel
+>. Korraga võib anda ka mitu käsku, eraldades need semikooloniga.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Selle kasti märkimisel loob &konversation; automaatselt ühenduse antud võrguga &konversation;i käivitamisel.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>See on võrgusolevate &irc; <guilabel
+>serverite</guilabel
+> nimekiri. Võrguga ühendumisel püüab &konversation; ühenduda nimekirjas kõige esimesena seisva serveriga. Kui see ei õnnestu, üritatakse ühenduda nimekirjas teisel kohal seisva serveriga, seejärel kolmandaga ja nii edasi. Määrata tuleb vähemalt üks server. Serveri saab valida selle nimele klõpsates.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Nupuga <guibutton
+>Lisa</guibutton
+> saab serveri lisada, nupuga <guibutton
+>Muuda</guibutton
+> valitud serverit muuta ning nupuga <guibutton
+>Kustuta</guibutton
+> valitud serveri eemaldada. Samuti saab muuta serverite järjekorda nimekirjas, mis muudab ka järjekorda, milles püütakse nendega ühendust luua.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Lisavõimalus. See on kanalite nimekiri, millega liitutakse automaatselt pärast seda, kui &konversation; on serveriga ühenduse loonud. Kui see tühjaks jätta, ei liituta automaatselt ühegi kanaliga.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Nupuga <guibutton
+>Lisa</guibutton
+> saab kanali lisada, nupuga <guibutton
+>Muuda</guibutton
+> valitud kanalit muuta ning nupuga <guibutton
+>Kustuta</guibutton
+> valitud kanali eemaldada. Muuta saab ka järjekorda, millega kanalitega liitutakse. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Püüa mitte seada ühe ja sama <guilabel
+>võrgu</guilabel
+> alla erinevate &irc; võrkude kanaleid. Ürita vältida ühe ja sama serveri lisamist erinevatesse <guilabel
+>võrk</guilabel
+>udesse. Vastasel juhul ei pruugi korralikult toimida &konversation;i <link linkend="linkaddressbook"
+>koostöö sinu aadressiraamatuga</link
+> ning <link linkend="nicksonline"
+>võrgusviibijate jälgimine</link
+>.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>Klõpsuga nupule <guibutton
+>Lisa</guibutton
+> sektsioonis <guilabel
+>Serverid</guilabel
+> ilmub serveri lisamise dialoog.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Serveri lisamine</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serveri lisamine</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>Serveri nimi või IP aadress. Serverite <ulink url="http://www.irchelp.org/irchelp/networks/"
+>nimekirja</ulink
+> haldab irchelp.org.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Sisesta port, mida on vaja serveriga ühendumiseks. Enamasti peaks sobima <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Kui server nõuab ühinemiseks parooli, anna see siin, muidu jäta tühjaks.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Selle märkimisel saab serveriga suhtlemiseks kasutada turvalise soklikihi (SSL) protokolli. See tagab sinu arvuti ja &irc; serveri suhtlemise privaatsuse. Selleks peab aga SSL protokolli toetama ka server. Kui server seda ei toeta, siin enamasti ei õnnestugi ühendust luua.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>Klõpsuga nupule <guibutton
+>Lisa</guibutton
+> sektsioonis <guilabel
+>Automaatne liitumine kanalitega</guilabel
+> ilmub <guilabel
+>kanali lisamise</guilabel
+> dialoog.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Kanali lisamine</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kanali lisamine</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Kirjuta siia kanali nimi. Ära unusta selle ette lisamast märki <userinput
+><replaceable
+>#</replaceable
+></userinput
+>. Kui kanal nõuab liitumiseks parooli, anna ka see siin, vastasel juhul jäta vastav lahter tühjaks. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Saadaolevate kanalite nimekiri</title>
+
+<para
+>Saadaolevate kanalite nägemiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Aknad</guisubmenu
+> <guisubmenu
+>Kanalite nimekiri</guisubmenu
+> </menuchoice
+>. <action
+>Pärast hoiatusdialoogi luuakse uus kaart nimetusega <guilabel
+>Kanalite nimekiri</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kanalite nimekirja kaart.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Kanalite nimekirja kaart.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Sisesta siia filtristring.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Kanalite nimekirja saab kärpida, kui siin määrata sellel olevate kasutajate miinimum või maksimum. 0 tühistab vastava parameetri kasutamise.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Klõpsa siia serverist kanalite nimekirja tõmbamiseks ja filtri rakendamiseks.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>Siin on näha kanalite nimekiri. Pane tähele, et kui sa ei kasuta regulaaravaldisi, näitab &konversation; kõiki kanaleid, mille nimi sisaldab sisestatud filtristringi. Kanali nimi ei pea ilmtingimata algama sisestatud filtristringiga.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Vali klõpsuga kanal, millega soovid liituda. Paremklõps kanali nimel näitab kõiki kanali teemas mainitud veebiaadresse.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Klõpsa siia kanaliga liitumiseks. Kanalile luuakse uus kaart.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Võimaluse korral tuleks vältida nupu <guibutton
+>Värskenda nimekirja</guibutton
+> kasutamist. Enamikul serveritest on tuhandeid kanaleid ning selle käsu andmine paneb serverile korraliku koormuse. Pealegi kulub selleks sõltuvalt sinu internetiühenduse võimekusest päris mitu minutit. Kui klient on liiga aeglane, võib server isegi sinuga ühenduse katkestada. </para>
+
+<para
+>Mõnikord on serveris "salajasi kanaleid", mida mõistagi <guilabel
+>kanalite nimekiri</guilabel
+> ei näita. Nendega saab siiski liituda, kui tead kanali täpset nime. Selleks kirjuta <interface
+>sisendreale</interface
+> <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalinimi</replaceable
+></userinput
+> (<userinput
+>#</userinput
+> on kindlasti vajalik). Kanalile luuakse uus kaart. Kui liitud kanaliga ja hüüdnimede paneelil asetseb ainult sinu enda &nickname;, tähendab see, et antud kanalit ei olnud varem olemas. Server lõi selle ja sina oled sellel nüüd operaator. Sellisel juhul on usutavasti mõttekas kanal sulgeda, kirjutades käsu <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>Peaakna tutvustus</title>
+
+<para
+>Vaatame lähemalt, mida siis sisaldab <interface
+>peaaken</interface
+>. Alltoodud pildil on see näha avatud kanalikaardiga.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Peaaken.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Peaaken</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>See kannab nimetust <interface
+>sisendrida</interface
+>. See on näha ainult siis, kui tegemist on kanalikaardiga. Sõnumi saatmiseks kõigile kanalil viibijatele kirjuta siia oma sõnum ja vajuta klahvi &Enter;. Nagu teiste, nii ka sinu sõnum ilmub üleval vastavalt sõnumite kirjutamisele pidevalt edasiliikuvasse aknasse. Igale sõnumile eelneb selle kirjutamise aeg ja kirjutaja hüüdnimi.</para>
+
+ <para
+>Teksti võib asetada ka lõikepuhvrist. Kui asetatud tekstis on enam kui üks rida (see tähendab, reavahetusi), ilmub dialoog. Redigeeri teksti, et see võtaks sulle meelepärase kuju ja klõpsa <guibutton
+>OK</guibutton
+>. </para>
+
+ <para
+>Kui asetatud tekst on pikem kui 256 sümbolit või sisaldab enam kui ühe rea, ilmub hoiatus, mis teatab, et pikad sõnumid võivad põhjustada ühenduse katkestusi ja üleujutusi. Sa võid muidugi ka sellisel juhul sõnumi teele saata, kuid see pole üldse eriti hea mõte, sest üleujutus ei meeldi kindlasti teistele kasutajatele ja pealegi võib server sinuga ühenduse katkestada. Märksa mõttekam oleks saata sõnum teele lühemate tükkidena.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>Paljudel kanalitel on kombeks lisada konkreetsele kasutajale mõeldud sõnumi ette ka tema hüüdnimi. &konversation; pakub mugava võimaluse hüüdnimi automaatselt lõpetada. Alusta kirjutamist ja kui hüüdnime on juba paari tähe jagu kirja pandud, vajuta klahvi <keycap
+>Tab</keycap
+>. &konversation; hoolitseb ise selle eest, et hüüdnimi saaks korrektselt lõpetatud ja ka koolon selle järele lisatud. Lõpetamisvõimaluse kohandamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>, ava ilmuvas dialoogis kaart <guilabel
+>Käitumine</guilabel
+>, seejärel <guilabel
+>Üldine</guilabel
+>ning siis <guilabel
+>Lõpetamise režiim</guilabel
+> </para>
+
+ <para
+>Siia võib ka sisestada mõne &irc; käsu, kirjutades kõigepealt <userinput
+><command
+>/</command
+></userinput
+> ja seejärel mõne kehtiva &irc; käsu (vaata osa <link linkend="irc-cmds"
+>Sagedamini kasutatavad &irc; käsud</link
+>). Mõne serveri korral võib anda käsu <userinput
+><command
+>/help</command
+></userinput
+>, mis näitab saadaolevaid käske, või siis <userinput
+><command
+>/help</command
+> <replaceable
+>käsk</replaceable
+></userinput
+>, mis näitab abi konkreetse käsu kohta. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Liituda võib mitme serveri ja kanaliga. Iga server ja kanal saab peaaknas eraldi kaardi. Kõigi kanalite nimekirja saamise kohta vaata osa <link linkend="list-channels"
+>Saadaolevate kanalite nimekiri</link
+>. Kanaliga liitumiseks anna sisendreal käsk <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalinimi</replaceable
+></userinput
+> (<userinput
+>#</userinput
+> on kindlasti vajalik). Kanalilt lahkumiseks anna käsk <userinput
+><command
+>/part</command
+></userinput
+>. Kaardid on näha ka siis, kui avad <guilabel
+>kanalite nimekirja</guilabel
+>, pead <link linkend="query"
+>privaatvestlust</link
+>, avad <guilabel
+>&URL; püüdja</guilabel
+> või ühe või rohkem <guilabel
+>konsooli</guilabel
+>. Teisele kaardile lülitumiseks klõpsa vastava kaardi tähisele või kasuta nende vahel liikumiseks hiireratast. </para>
+
+<para
+>Kaartide kohandamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+></menuchoice
+> ning ilmuvast dialoogist <guilabel
+>Käitumine</guilabel
+> ja <guilabel
+>Üldine</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>Need tulukesed (&led;) hakkavad vilkuma, kui kaardil juhtub midagi, mida sa veel näinud pole. &led; vilgub aeglasemalt, kui nägemata sõnumid on kõigest käsud <command
+>join</command
+>, <command
+>part</command
+>, <command
+>quit</command
+> või on kellegi hüüdnimi muutunud. Nad vilguvad aga kiiremini, kui tegemist on päris sõnumiga. Värvid tähendavad järgmist: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Kanal </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Serveri sõnumid</interface
+>, <link linkend="list-channels"
+>kanalite nimekiri</link
+> või <guilabel
+>&URL; püüdja</guilabel
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Konsool</guilabel
+> või <link linkend="dcc"
+>DCC olek</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+>Privaatsõnum (päring)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Klõpsa siia kaardi sulgemiseks. <interface
+>Kanal</interface
+>i kaardi sulgemisega lahkud kanalilt. <interface
+>Serveri sõnumite</interface
+> kaardi sulgemisega lahkud kõigilt kanalitelt, millega olid liitunud, sulged kõik avatud päringud antud serveris ja katkestad ühenduse serveriga.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Sellele nupule klõpsates saad muuta oma hüüdnime. See on näha ainult siis, kui tegemist on kanalikaardiga. Nupu peitmiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>, ava kaart <guilabel
+>Välimus</guilabel
+> ja seejärel <guilabel
+>Vestlusaken</guilabel
+> ning eemalda märge kastist <guilabel
+>Kasti näitamine oma hüüdnime muutmiseks</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>Siin näeb kanali teemat. Hiirt teema kohal seisma jättes näeb seda täies pikkuses. Teemat saab muuta sellest vasakul asuvale nupule klõpsates. Kanali teema peitmiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>, ava kaart <guilabel
+>Välimus</guilabel
+> ja seejärel <guilabel
+>Vestlusaken</guilabel
+> ning eemalda märge kastist <guilabel
+>Kanali teema näitamine</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Need nupud näitavad kanalirežiimide parajasti kehtivat olekut. Kui režiim kehtib, on nupp alla vajutatud. Kui sul on vastavad õigused, võid kanali režiime muuta neile nuppudele või siis teemast vasakul asuvale nupule klõpsates. Kanalirežiimi nuppude peitmiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>, ava kaart <guilabel
+>Välimus</guilabel
+> ja seejärel <guilabel
+>Vestlusaken</guilabel
+> ning eemalda märge kastist <guilabel
+>Kanalirežiimi nuppude näitamine</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Seda nimetatakse <interface
+>hüüdnimede paneel</interface
+>iks. Seda näidatakse alati, kui avatud on kanalikaart. Siin on kirjas iga kanaliga liitunud kasutaja hüüdnimi, kaasa arvatud sinu enda oma. Hiirt mõne hüüdnime kohale viies näeb antud kasutaja kohta lisainfot. Seda, millist ikooni näidatakse hüüdnimede juures, saab muuta hüüdnimede ikooniteemat vahetades. Täpsemalt räägib sellest osa <link linkend="nickthemes"
+>Hüüdnimeteemade seadistamine</link
+>. Teema <guilabel
+>Big Bullets</guilabel
+> korral, mida näeb siinsel pildi, kasutatakse järgmisi ikoone: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> tavaline kasutaja </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> häälega kasutaja, kes võib kõnelda modereeritaval kanalil. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanali pooloperaator </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanali operaator </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanali omanik </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanali administraator </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Kui kasutaja on eemal, näidatakse ikooni peal väikest punast risti. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Kui valida mõni hüüdnimi ja klõpsata sellel &HPN;ga, ilmub kontekstimenüü operatsioonidega, mida antud hüüdnime puhul on võimalik ette võtta. Näiteks on võimalik <link linkend="dcc"
+>saata fail</link
+> hüüdnimele. Samuti saab nii <link linkend="linkaddressbook"
+>luua seose hüüdnime ja sinu aadressiraamatus oleva kontakti vahel.</link
+> </para>
+
+<para
+><interface
+>Hüüdnimede paneel</interface
+>i peitmiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Aken</guisubmenu
+> <guisubmenu
+>Peida hüüdnimede nimekiri</guisubmenu
+> </menuchoice
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>Need on niinimetatud <interface
+>kiirnupud</interface
+>. Vaikimisi neid ei näidata. Sellest, kuidas neid näha, räägib <link linkend="quick-buttons"
+>Kiirnuppude seadistamine</link
+>. Sul on võimalik kõiki nendega seotud käske omatahtsi määrata.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Märkus</emphasis
+>: sul on võimalik määrata, kuidas näidatakse kanali- ja päringuakendes üle ekraani kerivaid sõnumeid. Sa võid näiteks muuta sõnumite värvi, lasta esitada heli teatud stringi sisaldava sõnumi saabumisel või lasta automaatselt teatud sõnumitele vastata. Täpsemalt räägib sellest osa <link linkend="highlighting"
+>Sõnumite esiletõstmine</link
+>. </para>
+
+<para
+><emphasis
+>Märkus:</emphasis
+> kanalinimede alguses seisab mõnikord <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+> või <userinput
+>!</userinput
+>. Kanalinime esimene märk määrab selle tüübi (RFC 2811 kohaselt) järgmiselt: <itemizedlist
+> <listitem
+><para
+> <userinput
+>#</userinput
+> -tavalised kanalid. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>!</userinput
+> -tavalised kanalid. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&amp;</userinput
+> - kohalikud kanalid, nendega saab ühineda ainult kanalit pakkuvast serverist (kõigi muude kanalitega saab liituda mis tahes serverist). </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> - kanalid, mis ei toeta kanalirežiime. See tähendab, et sisse ei ole lülitatud ühtki režiimi, välja arvatud kanali lipp 't'. </para
+></listitem
+> </itemizedlist
+> Kanalinimed võivad olla kuni 200 sümbolit pikad ning sisaldada mis tahes sümboleid, välja arvatud tühik, koma ja Ctrl+G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Kiirühendumine</title>
+
+<para
+>Võib juhtuda, et sul on soov ühineda serveriga ilma kogu uue serveri loomist <link linkend="serverlist"
+>serverite nimekirjas</link
+> läbi tegemata. </para>
+
+<para
+>Selleks vali menüükäsk <menuchoice
+> <guisubmenu
+>Fail</guisubmenu
+> <guisubmenu
+>Kiirühendus</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Kiirühendus</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kiirühenduse aken.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kiirühenduse aken</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Sisesta serveri aadress kasti <guilabel
+>Server</guilabel
+>, meelepärane hüüdnimi kasti <guilabel
+>Hüüdnimi</guilabel
+> ja klõpsa nupule <guibutton
+>Ühenda</guibutton
+>. Kui &konversation; on serveriga ühenduse loonud, anna kanaliga liitumiseks käsk <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalinimi</replaceable
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Sagedamini kasutatavad &irc; käsud</title>
+
+<para
+>Siin on ära toodud sagedamini kasutatavad &irc; käsud. Nende täieliku nimekirja annab <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC 2812</ulink
+>, samuti leiab selle veebileheküljelt <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Kui soovid näha käske, mida &konversation; spetsiaalselt kohtleb, vaata osa <link linkend="konvi-cmds"
+>&konversation;i käsud</link
+>. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Näitab kõiki antud serveris saadaolevaid käske. Kõik serverid seda käsku ei toeta.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+> <replaceable
+>käsk</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Näitab abi <userinput
+><replaceable
+>käsu</replaceable
+></userinput
+> kohta. Kõik serverid seda käsku ei toeta.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join <replaceable
+>#kanal</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Käsk <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+>iga liitumiseks. Kui kanalit ei ole olemas, see luuakse ja sa saad selle operaatoriks.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Käsk antud kanalilt lahkumiseks, sulgeb ka <interface
+>peaakna</interface
+> kaardi.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part </command
+> <replaceable
+>#kanal</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Käsk <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+>ilt lahkumiseks, sulgeb <interface
+>peaakna</interface
+> kaardi. Sama, mis <userinput
+><command
+>/leave</command
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me </command
+><replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kanalile, selle ette lisatakse sinu hüüdnimi. Kui näiteks hüüdnimi on <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, siis kirjutades <userinput
+><replaceable
+>/me joob parajasti teed</replaceable
+></userinput
+>, ilmub sõnum <interface
+>Tux joob parajasti teed</interface
+>. Kui kasutajad ei ole just mingil põhjusel rakendanud filtrit teatud sõnumite mittenäitamiseks, peaksid seda nägema kõik kanalil viibijad. Tavaliselt kasutatakse selliseid sõnumeid mitteverbaalse info edastamiseks, näiteks enda tunnete edastamiseks või teatamiseks, mida parajasti tehakse. Kui lahkud aga mõneks ajaks arvuti juurest, kasuta käsku /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kui keegi püüab sulle privaatsõnumit saata või sind mõnele kanalile kutsuda, saab ta <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>iga teada, et oled parajasti eemal.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Katkestab käsu <command
+>/away </command
+> <replaceable
+>sõnum</replaceable
+> kehtivuse.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Loob uue kaardi kasutajaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> privaatvestluse alustamiseks. Tavaliselt nimetatakse seda &irc;-s <link linkend="query"
+>päringuks</link
+>. Kõik, mida siin kirjutatakse, on näha ainult sulle ja sinu partnerile.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>hüüdnimi</replaceable
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kasutajale, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>. Ainult <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> näeb seda sõnumit. Pikema vestluse jaoks kasuta käsku <userinput
+><command
+>/query</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kutsub kasutaja, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>, kanaliga liituma. See on eriti kasulik siis, kui kanaliga saabki liituda ainult kutse alusel.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Privaatvestlused (päringud)</title>
+
+<para
+>Privaatvestlus on vestlus, mida näed ainult sina ja sinu partner. &konversation; nimetab privaatvestlusi "päringuks". Selle alustamiseks kirjuta sisendreale <userinput
+><command
+>/query</command
+> <replaceable
+>hüüdnimi</replaceable
+></userinput
+>, kus <replaceable
+>hüüdnimi</replaceable
+> on selle kasutaja hüüdnimi, kellega soovid vestlust alustada. Võimalik on ka leida kasutaja hüüdnimi <guilabel
+>hüüdnimede paneel</guilabel
+>il, klõpsata sellel &HPNga; ja valida <menuchoice
+><guisubmenu
+>Ava päring</guisubmenu
+></menuchoice
+>. <action
+>Luuakse uus kaart.</action
+> Anna seejärel endast teada juba sõnumit saates. </para>
+
+<para
+>Päringud on nagu kanalid, ainult et sellel kanalil on võimalik tegutseda vaid sinul ja veel ühel isikul.</para>
+
+<para
+>Päringu lõpetamiseks sulge lihtsalt kaart. Pane siiski tähele, et kui sinu partner saadab sulle veel sõnumeid, avatakse see kaart uuesti.</para>
+
+<para
+>Kõigi päringute sulgemiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Aken</guisubmenu
+> <guisubmenu
+>Sulge kõik avatud päringud</guisubmenu
+></menuchoice
+> või vajuta klahvi <keycap
+>F11</keycap
+>.</para>
+
+<para
+>Kui keegi tahab sinuga privaatvestlust alustada, loob &konversation; uue kaardi, kus osaleb siis see kasutaja ja sina. Kui sa ei soovi vestelda, sulge kaart. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Märguannete määramine</title>
+
+<para
+><guilabel
+>Märguanded</guilabel
+> on toimingud, mida &konversation; võtab ette teatud sündmuste toimumisel. Oletame, et &konversation; töötab, kuid on minimeeritud või varjatud töölaual teiste avatud akende taha. Kui keegi soovib nüüd sinuga suhelda või mõni sinu sõber kanaliga liitub, oleks hea, kui sa sellest teada saaksid. Selleks ongi märguanded. </para>
+
+<para
+>Märguannete seadistamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Märguannete seadistamine</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Märguannete seadistused</guilabel
+>.</action
+> </para>
+
+<para
+>Klõpsa kohe nupule <guibutton
+>Muud valikud</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Märguannete seadistustedialoog.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Märguannete seadistustedialoog</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Klõpsa siia sündmuse valimiseks.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Märgi, millist tüüpi märguannet peaks kasutama, kui vastav sündmus toimub (<guilabel
+>Näidatakse tegumireal</guilabel
+> paneb ikooni tegumireal vastava sündmuse korral vilkuma).</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Korda seda, valides uue sündmuse ja meelepärase märguande. Kui oled seadistanud kõik vajalikud märguanded, klõpsa nupule <guibutton
+>Rakenda</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>Kui oled juba märguanded seadistanud, saad siin lubada või keelata mis tahes toimingud. Näiteks võid soovida, et kõlaks mingi heli, kui sinu hüüdnimi esineb mõnes sõnumis. Kui oled oma arvuti taga, võid helid välja lülitada, aga näiteks arvuti juurest kuhugi lähedusse ära minnes need sisse lülitada, et huvipakkuvast sündmusest kohe teada saada.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Sa võid lasta ka endale märku anda, kui keegi mainib sinu hüüdnime oma sõnumis. kasutades selleks &konversation;i <link linkend="highlighting"
+>esiletõstmise võimalust</link
+>.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Võrgusviibijate jälgimine</title>
+
+<para
+>&konversation; võib sulle teada anda, kas sinu sõbrad on parajasti &irc; võrguga ühenduses või mitte. </para>
+
+<para
+>Sa võid seostada hüüdnimed oma aadressiraamatu kirjetega. Sellisel juhul lisatakse aadressiraamatu kontaktile sinu sõbra hüüdnimi ja &irc; võrk, milles hüüdnimi parajasti tegutseb. &irc; võrk pannakse kirja seepärast, et hüüdnimi on konkreetses &irc; võrgus unikaalne. Üks ja sama hüüdnimi kahes erinevas &irc; võrgus ei pruugi olla sugugi üks ja sama isik, kuid üldjuhul on üks ja sama hüüdnimi ühe ja sama &irc; võrgu erinevates serverites just üks ja sama isik.</para>
+
+<note
+><para
+>Seepärast ongi oluline kasutada sama <guilabel
+>võrk</guilabel
+>u kõigi ühe ja sama &irc; võrgu serverite jaoks <link linkend="serverlist"
+> võrke, servereid ja automaatselt liituvaid kanaleid määrates</link
+>.</para
+></note>
+
+<para
+>Sa võid muidugi lasta jälgida ka sellist hüüdnime, keda sinu aadressiraamatus ei esine. Sellisel juhul on iga hüüdnimi seotud &irc; võrguga. Vaata täpsemalt allpool.</para>
+
+<para
+>Hüüdnime jälgimiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Aknad</guisubmenu
+> <guisubmenu
+>Jälgitavad hüüdnimed võrgus</guisubmenu
+></menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Jälgitavad hüüdnimed võrgus.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Jälgitavad hüüdnimed võrgus</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>Siin on kirjas sinu jälgimisnimekirjas olevad hüüdnimed, samuti sinu aadressiraamatu kirjetega seostatud hüüdnimed. Need on ära toodud nendega seotud &irc; võrkude all. Kui kirjas pole ühtegi hüüdnime, siis sa kas pole määranud ühtegi hüüdnime, mida jälgida, või tuleb sul veel hüüdnime jälgimise võimalsus aktiveerida (vaata allpool). Võrgusolevaid hüüdnimesid avades näed kanaleid, millega antud hüüdnimi on parajasti liitunud. Ikoonid kanalite ees on samad ikoonidega <link linkend="channel-screen-tour"
+>kanaliakende</link
+> <interface
+>hüüdnimede paneel</interface
+>il. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>Siin näeb hüüdnime kohta teadaolevat infot. Dialoogi <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+> esmakordsel avamisel on info üsna kesine. Iga 8 sekundi järel saadetakse serverile automaatselt käsk <userinput
+><command
+>WHOIS</command
+></userinput
+> kõigi hüüdnimede kohta, kelle kohta info puudub. Seda käsku korratakse seni, kuni kõigi hüüdnimede kohta on info olemas. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>Hüüdnimed, kes ei ole ühenduses ühegi &irc; võrguga, millega sina oled ühenduses, on kirjas sektsioonis <guilabel
+>Pole võrgus</guilabel
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>Hüüdnimede juures, mis on seotud kirjega sinu aadressiraamatus, näeb vastavat ikooni (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>). </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Nende nuppudega saab siduda hüüdnime kirjega aadressiraamatus, seose eemaldada või avada aadressiraamatu, et kontakti infot muuta. Vaata ka <ulink url="help:kaddressbook"
+>&aadressiraamat;u käsiraamatut</ulink
+>, kus saad põhjalikumalt teada, kuidas ja mida aadressiraamatuga saab ette võtta. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>Uute jälgitavate hüüdnimede lisamiseks klõpsa nupule <guilabel
+>Muuda jälgimisnimekirja</guilabel
+>. Ilmub dialoog <guilabel
+>Jälgitavad hüüdnimed</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Jälgitavad hüüdnimed</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Jälgitavad hüüdnimed</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Märgi see kastike <guilabel
+>hüüdnimede jälgimise</guilabel
+> sisselülitamiseks.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Kui soovid, et aken <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+> avataks automaatselt &konversation;i käivitamisel, märgi ära see kastike.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>Siin on kirjas nende kasutajate hüüdnimed, keda soovid jälgida. Iga hüüdnimega on seotud &irc; võrk.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Nende nuppudega on võimalik hüüdnimi nimekirja lisada või sealt eemaldada.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Võimalus <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+> saadab perioodiliselt vastava päringu serverile. Siin saab määrata, kui sageli selline päring saadetakse. Ära anna vähemat väärtust kui 20 sekundit, sest see seab serverile muidu liiga ränga koormuse.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Ülalnäidatud aknas <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+> võib hüüdnimel topeltklõpsu tehes saata serverile päringu. Muutuja <userinput
+><command
+>%u</command
+></userinput
+> asendatakse hüüdnimga. Käsu lõpus peab olema <userinput
+><command
+>%n</command
+></userinput
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Klõpsa <guibutton
+>OK</guibutton
+>, kui iga soovitud hüüdnimi on nimekirja lisatud või sealt eemaldatud.</para>
+
+<para
+><emphasis
+>Märkus:</emphasis
+> kui avad akna <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+>, kulub veidi aega, enne kui iga vajalik hüüdnimi seal näha on, sest &konversation; peab kõigepealt serverilt andmed hankima. Tavaliselt oleks mõttekas aken <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+> üldse lahti jätta. </para>
+
+<para
+>&konversation; näitab ka teadet kõigil <link linkend="channel-screen-tour"
+>kanalitel</link
+>, kui kasutaja, kes on sinu <guilabel
+>jälgitavate hüüdnimede</guilabel
+> nimekirjas, serveriga liitub või lahkub. See sõnum näeb välja umbes selline: </para>
+
+<para
+><computeroutput
+>[17:52] [Märguanne] psn on võrgus (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Sõnumite esiletõstmine</title>
+
+<para
+>Sul on võimalik määrata, kuidas näidatakse sõnumeid kanali- ja päringuaknas.</para>
+
+<para
+>Esiletõstmise sisselülitamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>&konversation;i seadistamine</guisubmenu
+></menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Esiletõstmiste dialoog.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Esiletõstmiste dialoog</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Klõpsa siia <guilabel
+>Esiletõstmiste</guilabel
+> dialoogi valimiseks.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Klõpsa siia uue elemendi lisamiseks <guilabel
+>esiletõstude nimekirja</guilabel
+>. Nimekirjas mõne elemendi valimisel saab seda allpool muuta.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Kirjuta siia otsingumuster. Kõik saabuvad sõnumid, milles leitakse antud mustrile vastav tekst, tõstetakse esile. Kui sinu süsteemi on paigaldatud &kde; regulaaravaldiste redaktor, saad seda kasutada mustrist paremal asuvale nupule klõpsates. See redaktor aitab sul vähese vaevaga luua ka väga keerulisi mustreid (&kde; regulaaravaldiste redaktor kuulub paketti <command
+>kdeutils</command
+>). </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Kui sõnumis leitakse muster, näidatakse kogu sõnumit siin valitud värviga.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Soovi korral võib &konversation; mustri esinemisel ka heli esitada. Klõpsa sellele nupule esitatava helifaili valimiseks. Testinupule klõpsates saad heli kuulda.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Kui soovid, et &konversation; saadaks mustri esinemisel automaatselt vastussõnumi, kirjuta selle tekst siia. Kasuta seda võimalust siiski ettevaatlikult, sest sellised sõnumid võivad pahandada teisi &irc; kasutajaid, eriti kui neid peaks sageli saadetama. Siin võib anda ka &irc; või &konversation;i käske.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Kui oled mõne esiletõstu jaoks määranud heli, saad kõik need keelata sellest kastist märget eemaldades.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Selle kasti märkimisel näidatakse juhul, kui keegi mainib sinu hüüdnime oma sõnumis, antud sõnum paremal valitavas värviga.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>Tavaliselt ei tõsteta esile sõnumeid, mida sa ise kirjutad. Kui aga soovid lasta esile tõsta ka enda kirjutatud sõnumeid, märgi see kast ja vali paremal pool värv.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Ekraaniesituse (&osd;) seadistamine</title>
+
+<para
+>Ekraaniesitus (<acronym
+>On Screen Display</acronym
+> ehk &osd;) on &konversation;i unikaalne omadus. &osd; sisselülitamisel ilmuvad kanali sõnumid otse ekraanile ka siis, kui &konversation; on minimeeritud. Siin on näha &osd; tegevus. Sõnum ekraani ülemises vasakpoolses osas on pärit &konversation;ist, mis ise aga töötab süsteemsesse salve minimeerituna.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Ekraaniesituse näide</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Ekraaniesituse näide</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>&osd; sisselülitamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>&konversation;i seadistamine</guisubmenu
+></menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Ekraaniesituse dialoog.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Ekraaniesituse dialoog</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Klõpsa siia elemendi <guilabel
+>Märguanne</guilabel
+> avamiseks.</para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Klõpsa siia <guilabel
+>OSD</guilabel
+> valimiseks.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Märgi see kastike &osd; sisselülitamiseks.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Klõpsa sellele nupule &osd; fondi valimiseks. <emphasis
+>Märkus:</emphasis
+> mitte kõik fondid ei sobi; kindlasti sobivad näiteks Luxi Sans 22 ja Impact 22.</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Märgi siin kastid vastavalt sellele, millist laadi sõnumeid soovid ekraanile ilmumas näha, ja klõpsa siis nupule <guibutton
+>Rakenda</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Värviliste sõnumite saatmine</title>
+
+<para
+>Iga sõnumi võib saata ka värvilisena. Selleks hakka mis tahes kanali <interface
+>sisendreal</interface
+> sõnumit kirjutama. Klõpsa <inlinemediaobject
+> <imageobject
+> <imagedata fileref="colorize.png" format="PNG"/> </imageobject
+> <textobject
+> <phrase
+>&irc; värvi lisamise nupp</phrase
+> </textobject
+> </inlinemediaobject
+> &irc; värvi lisamise nupule või vali menüükäsk <menuchoice
+> <guisubmenu
+>Lisamine</guisubmenu
+> <guisubmenu
+>&irc; värv</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub <guilabel
+>&irc; värvivalija</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>&irc; värvivalija.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>&irc; värvivalija</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Vali värv ja klõpsa nupule <guibutton
+>OK</guibutton
+>. Jätka sõnumi kirjutamist <interface
+>sisendireal</interface
+>. Kui soovid uuesti värvi muuta, klõpsa taas nupule <guibutton
+>Lisa &irc; värv</guibutton
+>. Vali mõni muu värv ja klõpsa nupule <guibutton
+>OK</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Hüüdnimeteemade seadistamine</title>
+
+<para
+>Sul on võimalik muuta ikoone, mida näidatakse kanalikaartidel <interface
+>hüüdnimede paneel</interface
+>il hüüdnimede juures. Hüüdnimeteema muutmiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> Klõpsa kirjele <guilabel
+>Välimus</guilabel
+> ja seejärel <guilabel
+>Teemad</guilabel
+>, mis avab dialoogi <guilabel
+>Teemad</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Teemade dialoog.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Teemade dialoog</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Klõpsa siia hüüdnimede <guilabel
+>teema</guilabel
+> valimiseks.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Vali teema.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Teema valimisel näidatakse mõningaid näidisikoone.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Kui oled tõmmanud hüüdnimedeteema kusagilt mujalt, klõpsa selle paigaldamiseks.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Kiirnuppude seadistamine</title>
+
+<para
+>Kui valida <link linkend="channel-screen-tour"
+>peaaknas</link
+> kanali kaart, ilmub nähtavale kaheksa <interface
+>kiirnuppu</interface
+>. <interface
+>Kiirnuppude</interface
+> näitamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> Vali kaart <guilabel
+>Käitumine</guilabel
+> ja seejärel <guilabel
+>Vestlusaken</guilabel
+>, märgi ära kasti <guilabel
+>Kiirnuppude näitamine</guilabel
+> ja klõpsa <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>Kiirnuppe võib oma maitse järgi seadistada, pannes nad sooritama &irc; mõningaid kõige sagedamini ettetulevaid käske. <interface
+>Kiirnuppude</interface
+> seadistamiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+></menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> Klõpsa kirjele <guilabel
+>Käitumine</guilabel
+> ja seejärel <guilabel
+>Kiirnupud</guilabel
+>, mis avab dialoogi <guilabel
+>Kiirnupud</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kiirnupud</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kiirnupud</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Siin on kaheksa <interface
+>kiirnuppu</interface
+>. Muutmiseks klõpsa vajalikule kirjele. Veerus <guilabel
+>Nupu nimi</guilabel
+> on nimi, mille all nupp on näha <link linkend="channel-screen-tour"
+>peaaknas</link
+>. Püüa nimed võimalikult lühikesed hoida. Veerus <guilabel
+>Nupu toiming</guilabel
+> on toiming, mis sooritatakse, kui klõpsad <interface
+>kiirnupule</interface
+>. Toimingute määramisel saab näha ka vihjeid. </para>
+
+<para
+>Muudatuste rakendamiseks klõpsa nupule <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>Näide:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Nupu nimi</guilabel
+>: <userinput
+><replaceable
+>Sõnum</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Nupu toiming</guilabel
+>: <userinput
+><replaceable
+>Msg %u </replaceable
+></userinput
+> (siin tuleb jätta tühik <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> järele) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>Nupu kasutamiseks <link linkend="channel-screen-tour"
+>peaaknas</link
+> vali hüüdnimi <interface
+>hüüdnimede paneelilt</interface
+> ja klõpsa siis nupule. Näed, et <interface
+>sisendreale</interface
+> ilmub <computeroutput
+>/MSG </computeroutput
+>, millele järgneb valitud hüüdnimi. Kirjuta nüüd sõnum, mida soovid antud isikule saata, ja vajuta klahvi &Enter;. Sõnum saadetakse valitud kasutajale ja seda sõnumit näebki peale sinu veel ainult tema. </para>
+
+<para
+><emphasis
+>Märkus: </emphasis
+><interface
+>kiirnuppe</interface
+> ei saa lisada ega kustutada. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Failide saatmine ja saamine</title>
+
+<para
+>&irc; võimaldab saata faile teistele võrgusviibivatele kasutajatele või neilt faile vastu võtta. </para>
+
+<para>
+<emphasis
+>HOIATUS: ära kunagi ava sulle saadetud faili, kui seda ei ole saatnud usaldusväärne isik. Nii võidakse levitada ka viiruseid.</emphasis>
+</para>
+
+<para
+>Faili saatmiseks mõnele kanalilviibijale vali &HPN;ga klõpsates soovitud isiku hüüdnimi <interface
+>hüüdnimede paneelil</interface
+> (<link linkend="channel-screen-tour"
+>peaaknas</link
+>). Vali käsk <menuchoice
+> <guisubmenu
+>Saada fail</guisubmenu
+> </menuchoice
+>. <action
+>Ilmuvas dialoogis saad valida, millist faili saata.</action
+> Seejärel ilmub uus kaart <guilabel
+>DCC olek</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>DCC oleku kaart</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>DCC oleku kaart</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>Siin on näha vastuvõtja hüüdnimi ja faili nimi.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>Veerg <guilabel
+>Olek</guilabel
+> näitab faili saatmise või vastuvõtmise olekut järgmiselt:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>Pakkumine</guilabel>
+ </term>
+ <listitem>
+ <para
+>Püüad saata faili ja &konversation; ootab vastuvõtmisega soostumist. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ühendumine</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; püüab luua partneriga ühendust. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Saatmine</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; saadab faili. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Saamine</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; saab faili. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Tehtud</guilabel>
+ </term>
+ <listitem>
+ <para
+>Fail on edukalt edastatud. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Seiskunud</guilabel>
+ </term>
+ <listitem>
+ <para
+>Edastus algas, aga peatus mingil põhjusel. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Katkestatud</guilabel>
+ </term>
+ <listitem>
+ <para
+>Kas klõpsasid sina nupule <guibutton
+>Katkesta</guibutton
+> või katkestas partner edastuse. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ebaõnnestus</guilabel>
+ </term>
+ <listitem>
+ <para
+>Tekkis viga, edastus ei õnnestunud. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Järjekorras</guilabel>
+ </term>
+ <listitem>
+ <para
+>Edastusega oldi nõus ning see algab kohe, kui selleks on valmis saaja tarkvara. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Otsimine</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; püüab leida saatja IP aadressi. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Jätkamine</guilabel>
+ </term>
+ <listitem>
+ <para
+>Kui edastuse alates leitakse, et fail on juba kasutaja süsteemis olemas, päritakse kasutajalt: <interface
+>Fail on juba olemas. Kas jätkata edastust?</interface
+> See staatus annab märku, et kasutaja on edastust jätkanud. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>Kui keegi soovib sulle faili saata, luuakse kaart <guilabel
+>DCC olek</guilabel
+> (kui seda juba olemas ei ole). Klõpsa selle nägemiseks kaardi <guilabel
+>DCC olek</guilabel
+> tähisel ja kui seejärel klõpsad faili vastuvõtmisega nõustumise nuppu, algabki edastus. <emphasis
+>Märkus:</emphasis
+> &konversation; on võimalik panna faile automaatselt vastu võtma (<menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> <guisubmenu
+>DCC seadistused</guisubmenu
+> </menuchoice
+>). </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Kui sul on failide saatmise või saamisega probleeme, blokeerib võib-olla tulemüür või ruuter DCC porte. Vaata osa <link linkend="faq"
+>Küsimused ja vastused</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Põimimine &aadressiraamat;uga.</title>
+
+<para
+>Iga hüüdnimi on võimalik seostada &aadressiraamat;us leiduva kontaktiga. Kui oled seda teinud, näitab &konversation; <interface
+>hüüdnimede paneelil</interface
+> hüüdnime järel sulgudes ka tema tegelikku nime. </para>
+
+<para
+>Et seostada hüüdnimi kontaktiga &aadressiraamat;us, klõpsa &HPNga; <link linkend="channel-screen-tour"
+>peaakna</link
+> <interface
+>hüüdnimede paneelil</interface
+> vajaliku isiku hüüdnimel. Vali <menuchoice
+> <guisubmenu
+>Keson</guisubmenu
+> </menuchoice
+>, mis <action
+>näitab infot, mille põhjal saad kindlaks teha kasutaja tegeliku nime</action
+>. Nüüd tee &HPNga; veel kord klõps isiku hüüdnimel ja vali <menuchoice
+> <guisubmenu
+>Aadressiraamatu seosed</guisubmenu
+> </menuchoice
+>. <action
+>Avaneb alammenüüd</action
+>. Kui hüüdnimi ei ole veel seotud mõne kontaktiga, vali <menuchoice
+> <guisubmenu
+>Loo uus kontakt</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Kontakti muutmine</guilabel
+></action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kontakti muutmise dialoog.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Kontakti muutmise dialoog.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>Siin on hüüdnimi automaatselt ette antud. Kui tead isiku tegelikku nime, kustuta hüüdnimi ja kirjuta tegelik nimi asemele. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Pane tähele, et hüüdnimi <emphasis
+>ei ole</emphasis
+> siin näha. Selleks...</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>klõpsa siia akna <guilabel
+>IM aadressid</guilabel
+> avamiseks.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>IM aadresside aken.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>IM aadresside aken.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Pane tähele, et &konversation; annab ise hüüdnime <guilabel
+>IRC</guilabel
+> protokolli tarbeks juba ette. </para>
+
+<para
+>Vaata ka <ulink url="help:kaddressbook"
+>&aadressiraamat;u käsiraamatut</ulink
+>, kus saad põhjalikumalt teada, kuidas ja mida &kde; aadressiraamatuga saab ette võtta.</para>
+
+<para
+>Anna hüüdnime kohta kõikvõimalik lisainfo, mida soovid ja tead, ning klõpsa nupule <guilabel
+>OK</guilabel
+>. Seejärel näitab &konversation; <guilabel
+>hüüdnimede paneel</guilabel
+>il hüüdnime järel sulgudes ka isiku tegelikku nime. Tegelik nimi ilmub nähtavale ka siis, kui viia hiirekursor hüüdnime kohale.</para>
+
+<para
+>Kui hüüdnimi on seostatud kontaktiga &aadressiraamat;us, võid teha <guilabel
+>hüüdnimede paneel</guilabel
+>il isiku hüüdnime peal klõpsu &HPNga; ning muuta seostatud kontakti, seostada hüüdnime mõne muu kontaktiga või seose kustutada. </para>
+
+<para
+>Kui hüüdnimi on kontaktiga seostatud, aga kasutaja muudab oma hüüdnime ajal, mil sinul &konversation; töötab, muudetakse automaatselt seost ning uus hüüdnimi seostatakse kontaktiga, säilitades samas ka algse seose.</para>
+
+<para
+>Kui seostada &irc; hüüdnimi kontaktiga <ulink url="help:kopete"
+>&kopete;s</ulink
+>, näeb seda seost ka &konversation;is ning vastupidi.</para>
+
+<para
+>Märkus: <guilabel
+>hüüdnimede paneel</guilabel
+>il on võimalik ära märkida ka enam kui üks hüüdnimi, klõpsata neil &HPN;ga ja luua mitmikseosed. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>&URL;-i hankimine sõnumist</title>
+
+<para
+>Igal <link linkend="channel-screen-tour"
+>kanalil</link
+> edastavad kasutajad mõnikord huvipakkuvate veebilehekülgede või muude internetiressursside &URL;-e. Kui teed sellisel &URL;-il topeltklõpsu, käivitab &konversation; &URL;-iga seonduva rakenduse. Käivitatav rakendus sõltub &URL;-i &MIME; tüübist. Näiteks &URL;, mille alguses seisab <interface
+>http:</interface
+>, avab sinu vaikeveebilehitseja ja näitab veebilehekülge (sa võid ka määrata, millist <link linkend="webbrowser"
+>veebilehitsejat</link
+> kasutada). Kui &URL; sõnumite reas üle ekraani libiseb, võib olla üpris keeruline seda uuesti üles leida. &konversation; suudab aga sinu eest mugavalt vajalikud &URL;-id meeles pidada. Selleks vali menüükäsk <menuchoice
+> <guisubmenu
+>Aknad</guisubmenu
+> <guisubmenu
+>&url; püüdja</guisubmenu
+> </menuchoice
+>. <action
+>Luuakse uus kaart nimetusega <guilabel
+>&url; püüdja</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>&url; püüdja.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>&url; püüdja.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>See on &URL;-ide nimekiri, mis on esinenud alates &konversation;i käivitamisest. Veerus <guilabel
+>Hüüdnimi</guilabel
+> on selle isiku hüüdnimi, kes &URL;-i edastas. Kui hüüdnimi puudub, esines see <interface
+>serveri sõnumite</interface
+> kaardil (&URL;-e, mis esinevad liitumis- ja lahkumisteadetes, nimekiri ei kajasta). Valimiseks klõpsa soovitud &URL;-il.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Klõpsa siia valitud &URL;-iga seonduva rakenduse käivitamiseks. Käivitatav rakendus sõltub antud &URL;-i &MIME; tüübist. Näiteks &URL;, mille alguses seisab <interface
+>http:</interface
+>, käivitab sinu vaikeveebilehitseja ja avab vastava veebilehekülje. Veebiviitade puhul on sul võimalik ka määrata, millist <link linkend="webbrowser"
+>veebilehitsejat</link
+> kasutada.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Klõpsa siia valitud &URL;-i kopeerimiseks &kde; lõikepuhvrisse.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Klõpsa siia valitud &URL;-i kustutamiseks nimekirjast.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Klõpsa siia &URL;-ide nimekirja salvestamiseks failina.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Klõpsa siia nimekirja puhastamiseks.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Eelistatud veebilehitseja määramine</title>
+
+<para
+>Kui klõpsad &konversation;is esile tõstetud &URL;-ile, avatakse see rakendusega, mida &kde; vaikimisi seostab antud &URL;-i &MIME; tüübiga. Näiteks klõps &URL;-ile, mille alguses seisab <interface
+>http</interface
+>, avab &konqueror;i ja näitab veebilehekülge. Sa võid siiski määrata mõne muu rakenduse kui &kde; vaikevalik, näiteks kasutada veebilehitsejat Mozilla. </para>
+
+<para
+>Muu veebilehitseja määramiseks vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>&konversation;i seadistamine</guisubmenu
+></menuchoice
+>. <action
+>Ilmub dialoog <guilabel
+>Seadistused</guilabel
+>.</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>Veebilehitseja dialoog</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Veebilehitseja dialoog</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Klõpsa siia <guilabel
+>veebilehitseja</guilabel
+> dialoogi avamiseks.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Klõpsa siia kinnitamaks, et soovid kasutada muud veebilehitsejat.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Kirjuta käsk, millega soovitud veebilehitseja käivitada. Kui klõpsad &URL;-ile, asendatakse <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> &URL;-iga.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Vihje: </emphasis
+>(ainult &UNIX; süsteemides) Vaikekäsk on <userinput
+>mozilla '%u'</userinput
+>, mis käivitab uue Mozilla protsessi iga kord, kui klõpsad &URL;-ile. Kui eelistad, et Mozilla näitaks veebilehekülge juba töötava akna uuel kaardil, loo järgmise sisuga fail: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Anna failile nimeks <userinput
+><replaceable
+>moz</replaceable
+></userinput
+>, kontrolli, et see asuks sinu otsinguteel (PATH) ja tee fail käivitataks (<userinput
+>chmod a+x moz</userinput
+>). Seejärel kirjuta ülalolevasse veebilehitseja käsureale <userinput
+> <replaceable
+>moz '%u'</replaceable
+></userinput
+>. </para>
+
+<para
+><emphasis
+>Märkus:</emphasis
+> <guilabel
+>veebilehitseja</guilabel
+> seadistused ei rakendu <interface
+>mailto:</interface
+> &URL;-idele. <interface
+>mailto:</interface
+> &URL;-id käivitavad alati &kde; vaikimisi e-posti rakenduse. </para>
+
+<para
+>Klõpsa muudatuste rakendamiseks nupule <guibutton
+>Rakenda</guibutton
+>. Et kõik rakenduks, tuleb ühendus kõigi serverite ja kanalitega katkestada ja siis uuesti ühendust võtta. Lihtsaim viis selleks on väljuda &konversation;ist ja see uuesti käivitada. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Kanali- ja päringulogide märkimine</title>
+
+<para
+>Sul on võimalik lisada marker <link linkend="channel-screen-tour"
+>kanali</link
+> ja <link linkend="query"
+>päringu</link
+> aknasse, mis aitab kiiresti vajaliku info üles leida. Selleks vali menüükäsk <menuchoice
+> <guisubmenu
+>Lisamine</guisubmenu
+> <guisubmenu
+>Meelespidamisrida</guisubmenu
+> </menuchoice
+> või kasuta kiirklahvi <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>See tekitab aknas teksti alla rea, mis kerib edasi koos ülejäänud tekstiga.</action
+> </para>
+
+<para
+>Kui soovid lisada <interface
+>meelespidamisrea</interface
+> kõigile kanalitele ja päringutele korraga, vali menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> </menuchoice
+>, ava kaart <guilabel
+>Käitumine</guilabel
+> ja seejärel <guilabel
+>Vestlusaken</guilabel
+> ning märgi ära kast <guilabel
+>Meelespidamisrea näitamine kõigil kanalitel/päringutes</guilabel
+>. </para>
+
+<para
+>Seda, kuidas &konversation; lisab automaatselt <interface
+>meelespidamisrea</interface
+>, kui annad käsu <userinput
+><command
+>/away</command
+> <replaceable
+>sõnum</replaceable
+></userinput
+>. selgitab <link linkend="identity-away"
+>Identiteedi määramine</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Logimine</title>
+
+<para
+>Kui logimine on lubatud, peab &konversation; logi iga <interface
+>server</interface
+>i, <link linkend="channel-screen-tour"
+>kanal</link
+>i ja <link linkend="query"
+>privaatvestluse (päringu)</link
+> seansi kohta. Kõik seansid salvestatakse kettal logifaili. Kui avad sama seansi uuesti, lisab &konversation; uued andmed logifaili lõppu. Logi kasvab suuruseni, mille sa saad ise kindlaks määrata (vaata allpool). Suuruspiirini jõudes hakatakse vanemaid teateid kustutama. </para>
+
+<para
+>Seansi taasavamisel loetakse eelmise seansi lõpust umbkaudu 1024 märki ning näidatakse ekraanil. </para>
+
+<para
+>Seansi kestel liiguvad sõnumid üle ekraani ja kaovad silmist. Nende nägemiseks saad tagasi kerida. Lõpuks hakatakse siiski selleks, et mälu mitte liigselt kurnata, vanemaid sõnumeid kustutamata. See kannabki nime <guilabel
+>tagasikerimise limiit</guilabel
+>. Sõnumid, mis <guilabel
+>tagasikerimise limiidi</guilabel
+> tõttu ekraanilt kaovad, jäävad siiski alles logifaili - seda mõistagi juhul, kui logimine on sisse lülitatud.</para>
+
+<para
+>Seansi logifaili nägemiseks klõpsa seansi kaardil, millega muudad antud seansi aktiivseks seansiks, ning vali menüükäsk <menuchoice
+> <guisubmenu
+>Aken</guisubmenu
+> <guisubmenu
+>Ava logifail</guisubmenu
+> </menuchoice
+>. <action
+>Ilmub uus kaart</action
+>, mis näitabki logifaili. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Logifail</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Logifail</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>Siin näeb logifaili sõnumeid. Vanemad teated on ülal, uusimad all.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Klõpsa sellele nupule logifaili salvestamiseks teise failina.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Klõpsa siia logifaili värskendamiseks. Logifaili vaatamise ajal <emphasis
+>ei lisata</emphasis
+> pärast faili avamist seanssi tekkinud sõnumeid automaatselt vaatesse. Selle nupuga saab neid aga näidata lasta.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Klõpsa siia logifaili vaate ning kettale salvestatud logifaili puhastamiseks.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Siin saab määrata logifaili maksimaalse suuruse. See hakkab kehtima pärast &konversation;i taaskäivitamist. Igal logifailil võib maksimaalne suurus olla teistest erinev.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+><guilabel
+>Tagasikerimise limiit</guilabel
+>i saab muuta, kui valida menüükäsk <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>&konversation;i seadistamine</guisubmenu
+> </menuchoice
+> ning ilmuvast dialoogist <guilabel
+>Käitumine</guilabel
+> ja <guilabel
+>Vestlusaken</guilabel
+>. Kui kastis <guilabel
+>Tagasikerimise limiit</guilabel
+> valida <guilabel
+>Piiramatu</guilabel
+>, ei hakatagi ekraanil sõnumeid kustutama. </para>
+
+<para
+>Logimise saab lubada või keelata ning selle valikuid määrata menüükäsuga <menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>&konversation;i seadistamine</guisubmenu
+></menuchoice
+> ning ilmuvast dialoogist <guilabel
+>Käitumine</guilabel
+> ja <guilabel
+>Logimine</guilabel
+> valides. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>&konversation;i käsud</title>
+
+<para
+>Allpool on toodud käsud, mida &konversation; iseseisvalt tõlgendab ja mis võivad erineda standardsetest &irc; käskudest. Nurksulgudes asuv osa ei ole kohustuslik. Püstkriipsuga (|) on eraldatud käsu erinevad vormid. Käsud, mida siin ei leitud, saadetakse serverile nii, nagu need sisestatakse. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kanalile, selle ette lisatakse sinu hüüdnimi. Kui näiteks hüüdnimi on <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, siis kirjutades <userinput
+><replaceable
+>/me joob parajasti teed</replaceable
+></userinput
+>, ilmub sõnum <interface
+>Tux joob parajasti teed</interface
+>. Kui kasutajad ei ole just mingil põhjusel rakendanud filtrit teatud sõnumite mittenäitamiseks, peaksid seda nägema kõik kanalil viibijad. Tavaliselt kasutatakse selliseid sõnumeid mitteverbaalse info edastamiseks, näiteks enda tunnete edastamiseks või teatamiseks, mida parajasti tehakse. Kui lahkud aga mõneks ajaks arvuti juurest, kasuta käsku /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame</command
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Nagu käsk <userinput
+><command
+>/me</command
+></userinput
+>, ainult et sõnum saadetakse kõigile kanalitele ja päringutele, mis on avatud ükspuha millises serveris, millega &konversation; on ühendatud.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[parool]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ühineb <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>iga. Kui server seda lubab ja kanalit ei ole olemas, luuakse sellenimeline kanal ja sa saad selle operaatoriks. Kui kanal nõuab liitumiseks parooli, anna see pärast kanali nime (<userinput
+><replaceable
+>parool</replaceable
+></userinput
+>). Enamasti seisab kanalinime alguses <userinput
+><replaceable
+>#</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[parool]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sama, mis <userinput
+><command
+>/join</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[põhjus]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lahkub <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>ilt toodud <userinput
+><replaceable
+>põhjus</replaceable
+></userinput
+>el ja sulgeb vastava <interface
+>kanal</interface
+>i kaardi. &konversation;i kanali või päringukaardil võib anda lihtsalt käsu <userinput
+><command
+>/part</command
+></userinput
+>, mis sulgeb antud kanali või päringu vaikepõhjusega, mille saab määrata kindlaks <link linkend="identity"
+>seadistustedialoogis</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[põhjus]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sama, mis <userinput
+><command
+>/part</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>Kanali, päringu või DCC kaardil antuna katkestab ühenduse vastava serveriga ja sulgeb kõik sellel serveril avatud kanali-, päringu- või DCC kaardid.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>hüüdnimi|kanal</replaceable
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kasutajale, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> või kõigile antud <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>il. See võib välja näha näiteks selline (kanalikaardil):</para>
+
+<para
+><computeroutput
+>[17:14] [Teade] Teate "Ma arvan, et ma saan aru" saatmine kanalile #konversation</computeroutput
+></para>
+
+<para
+>Ja saajad näevad seda sellisena:</para>
+
+<para
+><computeroutput
+>[17:15] [Teade] -Eisfuchs- Ma arvan, et ma saan aru</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Loob uue kaardi kasutajaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> privaatvestluse alustamiseks. Tavaliselt nimetatakse seda &irc;-s <link linkend="query"
+>päringuks</link
+>. Kõik, mida siin kirjutatakse, on näha ainult sulle ja sinu partnerile. Kui siin anda tühikutega eraldatult enam kui üks hüüdnimi, avatakse päringukaart iga hüüdnime tarbeks. Iga päringukaart ja seal kõneldav on nähtav ainult sulle ja konkreetsele partnerile.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>hüüdnimi|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kasutajale, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>, või kõigile kasutajatele <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>il. Erinevalt käsust <userinput
+><command
+>/query</command
+></userinput
+> ei avata uut kaarti. Kui <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+> algab käsuga <userinput
+><command
+>/me </command
+></userinput
+>, vormindatakse sõnum samamoodi, nagu käsu <userinput
+><command
+>/me</command
+></userinput
+> korral.</para>
+
+<para
+>Näited:</para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs Mul läheks vaja veidi abi msg käsuga</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation Uus Konvi versioon on üleval!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs /me kompileerib parajasti käsiraamatut.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg </command
+><replaceable
+>hüüdnimi|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sama, mis <userinput
+><command
+>/msg</command
+></userinput
+>, ainult et sõnumit sinu ekraanil ei näidata. See on mõttekas näiteks paroolide ja muu tundliku info varjamiseks ekraanil või logimise vältimiseks.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg </command
+><replaceable
+>hüüdnimi|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sama, mis <userinput
+><command
+>/msg</command
+></userinput
+>, ainult et sõnum saadetakse kõigile kanalitele ja päringutele kõigis serverites, millega &konversation; on ühendatud.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op </command
+> <replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kanalikaardil sisestatuna püüab anda kasutajale <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> kanali operaatori õigusi. See ei pruugi toimida, kui käsu andjal ei ole kanalil vastavaid õigusi (selleks peab ise olema eelnevalt kanali operaator). Soovi korral võib anda enam kui ühe hüüdnime, eraldajaks tühikud.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kanalikaardil sisestatuna võtab kasutajalt <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> kanali operaatori õigused. Soovi korral võib anda enam kui ühe hüüdnime, eraldajaks tühikud.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper </command
+><replaceable
+>[hüüdnimi]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Annab kasutajale, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> &irc;-Op ehk administraatori privileegid. See on võimalik ainult siis, kui hüüdnimi esineb serveri O: real. &irc; operaatoritel on õigus suvaline hüüdnimi kõrvaldada (<userinput
+><command
+>/kill</command
+></userinput
+>), ühendada serverid &irc; võrguga (<userinput
+><command
+>/connect</command
+></userinput
+>) ja veel palju muid õigusi. Kui jätta <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> sisestamata, püütakse &irc;-Op privileegid anda sulle endale. Nii või teisiti päritakse sinu käest igal juhul &irc;-Op kasutajanime ja parooli.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Teatud kanalitel (lipuga +m) ei saa kasutajad sõnumeid saata, kui neil ei ole niinimetatud hääleprivileegi. Selle käsuga püütakse anda kasutajale <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> just selline õigus. Selle andmiseks peab olema kanali operaator. Enamasti pruugitakse seda siis, kui tegemist on modereeritava kanaliga.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice </command
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Võtab kasutajalt <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> kanalil hääleprivileegi.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic </command
+><replaceable
+>[kanal]</replaceable
+> <replaceable
+>[sõnum]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Püüab määrata <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>i teemaks <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i. Kanalikaardil sisestatuna võib <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>i ära jätta, sellisel juhul eeldatakse vaikimisi kaardil aktiivset kanalit. Kui ära jätta <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>, näidatakse kanali parajasti kehtivat teemat. Kanali teema muutmine ei pruugi aga õnnestuda, kui sul selleks õigusi pole.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>põhjus</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kui keegi püüab sulle privaatsõnumit saata või sind mõnele kanalile kutsuda, saab ta teada, et oled parajasti arvutist eemal toodud <userinput
+><replaceable
+>põhjus</replaceable
+></userinput
+>el. Oleku muutmiseks tagasi normaalseks anna käsk <userinput
+><command
+>/away</command
+></userinput
+> ilma põhjuseta.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway </command
+> <replaceable
+>põhjus</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sama, mis <userinput
+><command
+>/away</command
+></userinput
+>, ainult et käsk saadetakse kõigile serveritele, millega &konversation; on ühendatud.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>hüüdnimi</replaceable
+> <replaceable
+>[kanal]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kutsub kasutaja, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>, <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>iga liituma. See on eriti kasulik siis, kui kanaliga saabki liituda ainult kutse alusel. Kanalikaardil sisestatuna võib <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>i ära jätta.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec </command
+><replaceable
+>skript</replaceable
+> <replaceable
+>[parameetrid]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Käivitab &konversation;iga ühilduva skripti nimega <userinput
+><replaceable
+>skript</replaceable
+></userinput
+> ja annab sellele vajadusel <userinput
+><replaceable
+>parameetrid</replaceable
+></userinput
+>. Rohkem infot skriptide kasutamise ja kirjutamise kohta annab osa <link linkend="scripting"
+>Skriptide kasutamine</link
+>.</para>
+<para
+>Näited:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Saadab kanalile sinu süsteemi &kde; ja &Qt; versiooni info.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Saadab kanalile sinu &Linux; versiooni info.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify </command
+><replaceable
+>[hüüdnimi]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lisab või eemaldab kasutaja <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> sinu loendist <link linkend="nicksonline"
+>Jälgitavad hüüdnimed võrgus</link
+>. Kui hüüdnimi on juba nimekirjas, eemaldatakse ta sealt, kui mitte, siis lisatakse. Kui <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> ära jätta, näidatakse nimekirja, kus on kirjas iga parajasti jälgitav hüüdnimi.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>grupp</replaceable
+>] [<command
+>list</command
+>|<replaceable
+>võti</replaceable
+>] [<replaceable
+>väärtus</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Näitab või kehtestab &konversation;i seadistusi ilma seadistustedialoogi avamata. Kui parameetris esineb tühikuid, aseta see jutumärkidesse.</para>
+
+<para
+>Näited:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>Näitab saadaolevaid võtmegruppe.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" list</replaceable
+></userinput
+></para>
+
+<para
+>Näitab võtmeid grupis <userinput
+><replaceable
+>General Options</replaceable
+></userinput
+> koos nende parajasti kehtivate väärtustega.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon</replaceable
+></userinput
+></para>
+
+<para
+>Näitab parajasti kehtivat väärtust &konversation;i ikooni süsteemses salves näitamise seadistuse kohta.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon false</replaceable
+></userinput
+></para>
+
+<para
+>Lülitab &konversation;i ikooni näitamise süsteemses salves välja.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick </command
+><replaceable
+>hüüdnimi</replaceable
+> <replaceable
+>põhjus</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kanalikaardil sisestatuna püüab lüüa kasutaja, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>, kanalilt minema toodud <userinput
+><replaceable
+>põhjus</replaceable
+></userinput
+>el. Kui jätta <userinput
+><replaceable
+>põhjus</replaceable
+></userinput
+> andmata, kasutatakse vaikepõhjust, mida saab määrata <link linkend="identity"
+>seadistustedialoogis</link
+>. Seda käsku saab kasutada ainult kanalikaardil.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[kanal]</replaceable
+> <replaceable
+>kasutaja</replaceable
+>|<replaceable
+>mask</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Püüab pagendada <userinput
+><replaceable
+>kasutaja</replaceable
+></userinput
+> või <userinput
+><replaceable
+>mask</replaceable
+></userinput
+>i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>ilt. Kanalikaardil sisestatuna võib <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>i ära jätta. Rohkem infot masinate, domeenide ja maskide kohta leiab veebist <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Kanalilt parajasti pagendatute nimekirja näeb käsuga <userinput
+><command
+>/mode </command
+><replaceable
+>kanal</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban </command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>muster</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tühistab varasema kanalilt pagendamise. Kanalikaardil sisestatuna võib <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>i ära jätta. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore </command
+> [<command
+>-all</command
+>] <replaceable
+>hüüdnimi</replaceable
+> </userinput
+></term>
+<listitem
+><para
+><userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> lisatakse sinu ignoreeritavate loendisse. Anda võib ka enam kui ühe hüüdnime, eraldajaks tühikud. Kanali sõnumeid ignoreeritavate loendis olevatelt kasutajatelt ei näidata. Lisaks sellele ignoreeritakse <userinput
+><command
+>-all</command
+></userinput
+> andmisel üldse igasuguseid kasutajalt pärit sõnumeid (päringud, teadaanded, &CTCP;, DCC, erandid). </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote </command
+> <replaceable
+>käsk</replaceable
+></userinput
+></term>
+<listitem
+><para
+><userinput
+><replaceable
+>käsk</replaceable
+></userinput
+> saadetakse serverile. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say </command
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kanalikaardil sisestatuna saadab <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i kanalile. Sama, mis <userinput
+><replaceable
+>sõnum</replaceable
+></userinput
+>i sisestamine kanali <interface
+>sisendreal</interface
+>. Mõttekas &irc; käskude saatmiseks, kui sa ei soovi käske käivitada. Kaks käsumärki üksteise järel (//) tähendavad samuti <userinput
+><command
+>/say</command
+></userinput
+>. Seda kasutatakse ka <link linkend="scripting"
+>skriptides</link
+> sõnumite saatmiseks. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Seab serveri logi toorrežiimi (<command
+>open</command
+>) või peatab selle (<command
+>close</command
+>). Kui antud pole ei <command
+>open</command
+> ega <command
+>close</command
+>, eeldatakse vaikimisi, et mõeldud oli <command
+>open</command
+>. Toorrežiimis näitab logi iga serverilt saadud sõnumit &irc; loomupärases vormingus. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Avab uue kaardi &kde; Konsooliga. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server </command
+> <replaceable
+>[url]</replaceable
+> <replaceable
+>[parool]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Võtab ühendust serveriga aadressil <userinput
+><replaceable
+>url</replaceable
+></userinput
+>. Kui <userinput
+><replaceable
+>url</replaceable
+></userinput
+> ära jätta, võetakse ühendust serveriga, mis on seotud kaardiga, millel käsk sisestati. See on kasulik taasühendumiseks serveriga, kui ühendus mingil põhjusel katkes. Kui server nõuab ühendumiseks parooli, anna see muutujaga <userinput
+><replaceable
+>parool</replaceable
+></userinput
+>. Kui server nõuab mingit muud porti kui vaikeport (6667), sisesta <userinput
+><replaceable
+>url</replaceable
+></userinput
+> kujul <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+> <command
+>SEND </command
+><replaceable
+>hüüdnimi</replaceable
+> <replaceable
+>[failinimi]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab faili <userinput
+><replaceable
+>failinimi</replaceable
+></userinput
+> kasutajale, kelle hüüdnimi on määratud muutujaga <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+>. Kui <userinput
+><replaceable
+>failinimi</replaceable
+></userinput
+> ära jätta, ilmub dialoog, kus saab faili valida. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Avab DCC oleku kaardi, </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>hüüdnimi|kanal</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Saadab PING sõnumi kasutajale <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> või <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>ile. Sellest on abi selgitamisel, kas isikul, kellega vestled, on äkki suur võrguviivitus või kas see on sul endal (kui saata käsk kanalile). </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>hüüdnimi|kanal</replaceable
+> <replaceable
+>sõnum</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Saadab sõnumi kasutajale <userinput
+><replaceable
+>hüüdnimi</replaceable
+></userinput
+> või kõigile kasutajatele <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>il. Sama, mis <userinput
+><command
+>/msg</command
+></userinput
+>, ainult et sõnum saadetakse &CTCP; protokolli kasutades. Vastus sellele oleneb teise poole kasutatavast &irc; klientprogrammist. Näiteks teise &konversation;i kasutajaga vesteldes tagastab <userinput
+><replaceable
+>/ctcp Eisfuchs TIME</replaceable
+></userinput
+> Eisfuchsi arvuti süsteemse aja, <userinput
+><replaceable
+>/ctcp Eisfuchs VERSION</replaceable
+></userinput
+> aga Eisfuchsi arvutis töötava &konversation;i versiooni. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Skriptide kasutamine</title>
+
+<para
+>&konversation; pakub mitu vahvat skripti, mida saab käivitada otse rakendusest. Skripti käivitamiseks kanali-, päringu-, DCC või serverikaardil anna käsk kujul</para>
+
+<para
+><userinput
+><command
+>/exec </command
+> <replaceable
+>skript</replaceable
+> [<replaceable
+>parameetrid</replaceable
+>]</userinput
+></para>
+
+<para
+>mis käivitab skripti nimega <userinput
+><replaceable
+>skript</replaceable
+></userinput
+>, edastades sellele (kui on määratud) <userinput
+><replaceable
+>parameetrid</replaceable
+></userinput
+>.</para>
+
+<para
+>Kirjuta näiteks kanalikaardil käsk</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>mis edastab kanalile sinu süsteemi &kde; ja &Qt; versiooni.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>käivitab skripti <userinput
+><replaceable
+>cmd</replaceable
+></userinput
+>, edastades sellele parameetri <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+>. See saadab kanalile sinu &Linux; versiooni.</para>
+
+<para
+>Kõigi saadaolevate skriptide nägemiseks anna Konsoolis järgmine käsk:</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Skripte võib ka ise kirja panna. Need on shelliskriptid ning neid võib kirjutada mis tahes shellikeeles, näiteks bash, perl või python. Kui &konversation; skripti käivitab, saadetakse skriptile kõigepealt kolm parameetrit:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>Selle kaardi &irc; serveri pordi number, millel käsk <userinput
+><command
+>/exec</command
+></userinput
+> anti.</para>
+</listitem>
+
+<listitem
+><para
+>Serveri aadress.</para
+></listitem>
+
+<listitem
+><para
+>Kanali nimi.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Toome siin näite shelliskriptist (cmd).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Käivitab käsu ja saadab väljundi Konversationi.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para
+>Pane tähele, et skript kasutab &konversation;iga suhtlemisel &DCOP;-i. Käsk <computeroutput
+>say</computeroutput
+> sunnib väljundi kanalile tavalise sõnumina saatma. Millegi näitamiseks kaardil ilma seda teistele kasutajatele saatmata kasuta käsku <computeroutput
+>info</computeroutput
+>. Skriptide kirjutamisega aitab kindlasti paremini tutvuda näiteskriptide põhjalik uurimine.</para>
+
+<para
+>Kui soovid enda loodud skripti käivitada, tuleb see sul paigadalda, kopeerides skripti kataloogi $KDEDIR/share/apps/konversation/scripts või $HOME/.kde/share/apps/konversation/scripts. Failile tuleb anda ka käivitamisõigused, näiteks käsuga <userinput
+><replaceable
+>chmod a+x minuskript</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Käskude seletused</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>&konversation;i peaaken</title>
+
+<sect2>
+<title
+>Failimenüü</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F2</keycap
+></shortcut
+> <guimenu
+>Fail</guimenu
+> <guimenuitem
+>Serverite nimekiri</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Näitab <link linkend="irc-basics"
+>serverite ja kanalite nimekirja</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F7</keycap
+></shortcut
+> <guimenu
+>Fail</guimenu
+> <guimenuitem
+>Kiirühendus</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Avab <link linkend="quickconnect"
+>kiirühenduse</link
+> dialoogi serveriga ühendumiseks. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Fail</guimenu
+> <guimenuitem
+>Ühenda uuesti</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Loob uuesti ühenduse kõigi serveritega, millega see katkes võrguvea või mõne muu probleemi tõttu. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fail</guimenu
+> <guimenuitem
+>Liitu kanaliga</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Avab dialoogi, kus saad määrata kanali nime, millega soovid liituda. Sama, mis käsk <command
+>/join <userinput
+>#kanalinimi</userinput
+></command
+> kanali- või serverikaardil.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fail</guimenu
+> <guimenuitem
+>Määra globaalselt eemalolevaks</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Muudab sinu hüüdnime oleku kõigil kanalitel eemalolevaks. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fail</guimenu
+> <guimenuitem
+>Välju</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Lõpetab</action
+> &konversation;i töö.</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menüü <guimenu
+>Redigeerimine</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigeerimine</guimenu
+> <guimenuitem
+>Otsi</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Otsib vajalikku teksti aktiivsel ekraanil.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F3</keycap
+></shortcut
+> <guimenu
+>Redigeerimine</guimenu
+> <guimenuitem
+>Otsi järgmine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Otsib uuesti vajalikku teksti aktiivsel ekraanil, kasutades varem määratud otsingustringi.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigeerimine</guimenu
+> <guimenuitem
+>Puhasta aken</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Puhastab aktiivse akna sisu.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigeerimine</guimenu
+> <guimenuitem
+>Puhasta kõik aknad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Puhastab kõigi akende sisu.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menüü <guimenu
+>Lisamine</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Lisamine</guimenu
+> <guimenuitem
+>&irc; värv</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Vaata osa <link linkend="color-msgs"
+>Värviliste sõnumite saatmine</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Lisamine</guimenu
+> <guimenuitem
+>Meelespidamisrida</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Vaata osa <link linkend="rememberlines"
+>Kanali- ja päringulogide märkimine</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Lisamine</guimenu
+> <guimenuitem
+>Erisümbol</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lisab erimärgi, näiteks klaviatuuril mitteleiduva tähe.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menüü <guimenu
+>Järjehoidjad</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Järjehoidjad</guimenu
+> <guimenuitem
+>Lisa järjehoidja</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lisab aktiivse võrgu ja kanali järjehoidjatesse</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Järjehoidjad</guimenu
+> <guimenuitem
+>Redigeeri järjehoidjaid</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab järjehoidjate redaktori</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Järjehoidjad</guimenu
+> <guimenuitem
+>Uus järjehoidjate kataloog</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Loob uue järjehoidjate kataloogi</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menüü <guimenu
+>Seadistused</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Menüüriba peitmine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Peidab menüüriba. Selle taasnägemiseks kasuta kiirklahvi <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Tööriistariba peitmine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Peidab tööriistariba.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Olekuriba peitmine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Peidab akna allservas asuva olekuriba.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Identiteedid</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Avab <link linkend="quickconnect"
+>identiteetide</link
+> dialoogi oma identiteediinfo määramiseks. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Kiirklahvide seadistamine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Võimaldab muuta &konversation;i kiirklahve.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Tööriistaribade seadistamine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Võimaldab lisada nuppe &konversation;i tööriistaribale või neid sealt eemaldada.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>Märguannete seadistamine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab <link linkend="cfg-notifications"
+>märguannete seadistamise</link
+> dialoogi.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Seadistused</guimenu
+> <guimenuitem
+>&konversation;i seadistamine</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab dialoogi <guilabel
+>Seadistused</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menüü <guimenu
+>Aken</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Eelmine kaart</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Näitab järjekorras eelmist kaarti.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Järgmine kaart</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Näitab järjekorras järgmist kaarti.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Sulge kaart</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Sulgeb aktiivse kaardi. Kui see on kanal, lahkub kanalilt. Kui see on <interface
+>serveri teadete</interface
+> kaart, sulgeb kõik antud serveri avatud kanalid ja katkestab ühenduse serveriga. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F11</keycap
+></shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Sulge kõik avatud päringud</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Sulgeb kõik <link linkend="query"
+>privaatvestlused (päringud)</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Peida hüüdnimede nimekiri</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Peidab või toob nähtavale hüüdnimede paneeli kanalikaartidel. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F4</keycap
+></shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Jälgitavad hüüdnimed võrgus</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Näitab dialoogi <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+>. Vaata osa <link linkend="nicksonline"
+>Võrgusviibijate jälgimine</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F5</keycap
+></shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Kanalite nimekiri</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Näitab serveris saadaolevate <link linkend="list-channels"
+>kanalite nimekirja</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F6</keycap
+></shortcut
+> <guimenu
+>Redigeerimine</guimenu
+> <guimenuitem
+>&url; püüdja</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab <link linkend="urlcatcher"
+>&url; püüdja</link
+> dialoogi.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Aken</guimenu
+> <guimenuitem
+>Uus konsool</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab terminaliakna. Avada võib nii mitu <guilabel
+>konsool</guilabel
+>iakent, kui süda lustib.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Aken</guimenu
+> <guimenuitem
+>Ava logifail</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Avab dialoogi aktiivse kaardi logiteadetega. Toimib ainult <interface
+>kanal</interface
+>i, <interface
+>serveri teadete</interface
+> ja <interface
+>päring</interface
+>ute kaartide korral. Logimine peab olema sisse lülitatud (<menuchoice
+> <guisubmenu
+>Seadistused</guisubmenu
+> <guisubmenu
+>Konversationi seadistamine</guisubmenu
+> <guisubmenu
+>Käitumine</guisubmenu
+> <guisubmenu
+>Logimine</guisubmenu
+> </menuchoice
+>). </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+><guimenu
+>Abi</guimenu
+>menüü</title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Küsimused ja vastused</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>Tahaksin &konversation;i käivitades kohe ühenduda serveriga, aga mitte mõne konkreetse kanaliga. Kuidas seda teha?</para>
+</question>
+<answer>
+<para
+>Jäta dialoogis <link linkend="serverlist-addnetwork"
+>Serveri redigeerimine</link
+> sektsioon <guilabel
+>Kanalid</guilabel
+> puutumata.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>&konversation; ei saa ühegi serveriga ühendust. Milles asi?</para>
+</question>
+<answer>
+<para
+>Sellel võib olla mitu põhjust.</para>
+<orderedlist>
+<listitem>
+<para
+>Kontrolli, et <guilabel
+>serveri nimi</guilabel
+> ja <guilabel
+>port</guilabel
+> on dialoogis <link linkend="serverlist-addserver"
+>Serveri lisamine</link
+> korrektselt sisestatud. </para>
+</listitem>
+<listitem>
+<para
+>Kontrolli kaardi <link linkend="channel-screen-tour"
+>Serveri sõnumid</link
+> teateid. Kas seal on teateid mingitest vigadest? Kas server keeldus ühendusest vigase parooli tõttu? Kas server keeldus seepärast, et talle on vajalik <acronym
+>IDENTD</acronym
+>, aga sinu arvuti serveri <acronym
+>IDENTD</acronym
+> soovile ei vastanud? Kas oled märkinud SSL protokolli kasutamist lubava kasti, aga server ei toeta SSL-i? </para>
+</listitem>
+<listitem>
+<para
+>Kui oled tulemüüri taga, kontrolli, et korrektsed pordid oleks ikka lubatud. &konversation; vajab tööks järgmisi porte: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Väljapoole TCP 6667 (või selle serveri port, millega ühendust soovid võtta)</para
+></listitem>
+<listitem
+><para
+>Sissepoole TCP 113 (kui serverile on vajalik IDENTD)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>Rohkem infot &irc; ühenduse probleemide kohta annab <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>Kui ma püüan valida käsku <menuchoice
+> <guisubmenu
+>Aken</guisubmenu
+> <guisubmenu
+>Kanalite nimekiri</guisubmenu
+> </menuchoice
+>, ei saa ma seda teha. Miks?</para>
+</question>
+<answer>
+<para
+><menuchoice
+> <guisubmenu
+>Aken</guisubmenu
+> <guisubmenu
+>Kanalite nimekiri</guisubmenu
+></menuchoice
+> on hall ja mittekasutatav, kui parajasti on avatud mingi kanaliväline kaart, näiteks <guilabel
+>Jälgitavad hüüdnimed võrgus</guilabel
+>. Et seda käsku valida, muuda aktiivseks mõne kanali või serveri kaart. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Autorid ja litsents</title>
+
+<para
+>&konversation; </para>
+<para
+>Rakenduse autoriõigus 2002-2005: &konversation;i meeskond. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Kaasautorid: <itemizedlist>
+<listitem
+><para
+>Dario Abatianni <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Peter Simonsson <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Christian Muehlhaeuser <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>John Tapsel <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Ismail Donmez <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Shintaro Matsuoka <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Gary Cramblitt <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Matthias Gierlings <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>&Alex.Zepeda; <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Stanislav Karchebny <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Mickael Marchand <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Tänusõnad: <itemizedlist>
+<listitem
+><para
+>Michael Goettsche <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Benjamin Meyer <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Jacub Stachowski <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Sabastian Sariego <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Olivier Bedard <email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Frauke Oster <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Lucijan Busch <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Sascha Cunz <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Steve Wollkind <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Thomas Nagy <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Tobias Olry <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Ruud Nabben <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Dokumentatsiooni autoriõigus &copy; 2003-2005: Gary R. Cramblitt <email
+>garycramblitt@comcast.net</email
+> </para>
+
+<para
+>Tõlge eesti keelde: Marek Laane <email
+>bald@starman.ee</email
+></para
+>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Paigaldamine</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>&konversation;i hankimine</title>
+&install.intro.documentation; <para
+>&konversation;i uusima versiooni, sealhulgas lähtekoodi ja paigaldamise juhised leiab ka <ulink url="&konviwebsite;"
+>&konversation;i koduleheküljelt</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Nõuded</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>&konversation;i edukaks kasutamiseks on vajalik &kde; 3.2 või uuem ning internetiühendus. Varasematel &kde; versioonidel puudusid mitmed huvitavad võimalused. Kui kasutad &konversation;i tulemüüri taga asudes, vaata osa <link linkend="faq"
+>Küsimused ja vastused</link
+>. Kui soovid kasutada SSL protokolli, on vajalik OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/it/Makefile.am b/doc/it/Makefile.am
new file mode 100644
index 0000000..9871d98
--- /dev/null
+++ b/doc/it/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = it
+KDE_DOCS = konversation
diff --git a/doc/it/addchannel.png b/doc/it/addchannel.png
new file mode 100644
index 0000000..caaebaf
--- /dev/null
+++ b/doc/it/addchannel.png
Binary files differ
diff --git a/doc/it/addnetwork_co.png b/doc/it/addnetwork_co.png
new file mode 100644
index 0000000..902ec13
--- /dev/null
+++ b/doc/it/addnetwork_co.png
Binary files differ
diff --git a/doc/it/addserver_co.png b/doc/it/addserver_co.png
new file mode 100644
index 0000000..7ef6faf
--- /dev/null
+++ b/doc/it/addserver_co.png
Binary files differ
diff --git a/doc/it/channel_screen_tour_co.png b/doc/it/channel_screen_tour_co.png
new file mode 100644
index 0000000..8f286a2
--- /dev/null
+++ b/doc/it/channel_screen_tour_co.png
Binary files differ
diff --git a/doc/it/channellist_screen_co.png b/doc/it/channellist_screen_co.png
new file mode 100644
index 0000000..581f86a
--- /dev/null
+++ b/doc/it/channellist_screen_co.png
Binary files differ
diff --git a/doc/it/checkidentities.png b/doc/it/checkidentities.png
new file mode 100644
index 0000000..f2f30cd
--- /dev/null
+++ b/doc/it/checkidentities.png
Binary files differ
diff --git a/doc/it/colorchooser_screen.png b/doc/it/colorchooser_screen.png
new file mode 100644
index 0000000..24a899c
--- /dev/null
+++ b/doc/it/colorchooser_screen.png
Binary files differ
diff --git a/doc/it/first_channel_co.png b/doc/it/first_channel_co.png
new file mode 100644
index 0000000..a9ffdbe
--- /dev/null
+++ b/doc/it/first_channel_co.png
Binary files differ
diff --git a/doc/it/first_serverlist_co.png b/doc/it/first_serverlist_co.png
new file mode 100644
index 0000000..5d2127b
--- /dev/null
+++ b/doc/it/first_serverlist_co.png
Binary files differ
diff --git a/doc/it/identities_adv_co.png b/doc/it/identities_adv_co.png
new file mode 100644
index 0000000..a7158ff
--- /dev/null
+++ b/doc/it/identities_adv_co.png
Binary files differ
diff --git a/doc/it/identities_away_co.png b/doc/it/identities_away_co.png
new file mode 100644
index 0000000..fae3f4f
--- /dev/null
+++ b/doc/it/identities_away_co.png
Binary files differ
diff --git a/doc/it/identities_gen_co.png b/doc/it/identities_gen_co.png
new file mode 100644
index 0000000..47128f0
--- /dev/null
+++ b/doc/it/identities_gen_co.png
Binary files differ
diff --git a/doc/it/index.docbook b/doc/it/index.docbook
new file mode 100644
index 0000000..de091b0
--- /dev/null
+++ b/doc/it/index.docbook
@@ -0,0 +1,5935 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Italian "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Manuale di &konversation;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+<othercredit role="translator"
+><firstname
+>Federico</firstname
+><surname
+>Zenith</surname
+><affiliation
+><address
+><email
+>zenith@chemeng.ntnu.no</email
+></address
+></affiliation
+><contrib
+>Traduzione della documentazione in italiano</contrib
+></othercredit
+>
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&konversation; è un client &irc; facile da usare per l'ambiente desktop KDE. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>internet relay chat</keyword>
+<keyword
+>chat</keyword>
+<keyword
+>comunicazioni</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with &kaddressbook;</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&konversation; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &konversation; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &konversation;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Introduzione</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>&konversation; è un client &irc; per &kde; 3.2 o successivi. Offre le seguenti funzionalità: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Supporto SSL.</para
+></listitem>
+<listitem
+><para
+>Interfaccia a schede facile da usare.</para
+></listitem>
+<listitem
+><para
+>Pulsanti rapidi personalizzabili per comandi usati di frequente</para
+></listitem>
+<listitem
+><para
+>Riconnessione e riaccesso automatici.</para
+></listitem>
+<listitem
+><para
+>Invio e ricezione DCC.</para
+></listitem>
+<listitem
+><para
+>Elenco dei nick sorvegliati.</para
+></listitem>
+<listitem
+><para
+>Notificazioni visive e sonore per un'ampia varietà di eventi, come messaggi contenenti il tuo nick, o nick nel tuo elenco di sorveglianza che si collegano o scollegano. </para
+></listitem>
+<listitem
+><para
+>Evidenziazione personalizzabile dei messaggi per nick o espressione regolare.</para
+></listitem>
+<listitem
+><para
+>Completamento dei nick.</para
+></listitem>
+<listitem
+><para
+>Cattura e salvataggio di tutti gli &URL; che appaiono nei messaggi.</para
+></listitem>
+<listitem
+><para
+>Vista a schermo dei messaggi, anche quando minimizzato.</para
+></listitem>
+<listitem
+><para
+>Elenco dei nick ignorati.</para
+></listitem>
+<listitem
+><para
+>Accesso automatico e gestione degli accessi.</para
+></listitem>
+<listitem
+><para
+>Segnare le linee nei log.</para
+></listitem>
+<listitem
+><para
+>Scripting.</para
+></listitem>
+<listitem
+><para
+>Integrazione con &kaddressbook;.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Il sito Web di &konversation; è <ulink url="&konviwebsite;"
+>&konviwebsite;</ulink
+>. Si possono discutere domande e risposte su &konversation; sulla <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>mailing list degli utenti di &konversation;</ulink
+>. Iscrivitici per avere informazioni su nuove funzionalità, segnalare errori e così via. Per tenerti informato sulle nuove versioni, puoi entrare nella nostra <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>mailing list degli annunci di &konversation;</ulink
+>. È una mailing list a basso volume di traffico, usata solo per annunciare nuove versioni o correzioni. </para>
+
+<para
+>Gli sviluppatori di &konversation; possono spesso essere contattati su &irc; a <ulink url="irc://irc.kde.org/%23konversation"
+>irc.kde.org canale #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>Uso di &konversation;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Se non hai mai usato &irc; prima d'ora...</title>
+
+<para
+>In parole povere, &irc; è un protocollo di chat, definito da standard Internet ufficiali, e capace di rubare parecchie ore della tua vita. Per usare &irc;, devi connetterti a un server, e quindi accedere a un canale (equivalente a una chat room) o limitarti a conversazioni private.</para>
+
+<para
+>Per connetterti a un server e a un canale, apri &konversation;. Apparirà la schermata <guilabel
+>Elenco dei Server</guilabel
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Elenco dei server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Elenco dei server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>L'elenco di <guilabel
+>Reti</guilabel
+> &irc; configurate è mostrato qui. Una rete &irc; è una raccolta di server che collaborano. Devi connetterti a solo uno dei server nella rete per essere connesso all'intera rete &irc;. Una volta connesso, &konversation; entrerà automaticamente nei <guilabel
+>Canali</guilabel
+> mostrati. Quanto &konversation; viene avviato per la prima volta, la rete <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> e il canale <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+> sono già stati inseriti per te. Fai clic su una rete per selezionarla.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Fai clic qui per definire una nuova <guilabel
+>Rete</guilabel
+>, incluso il server a cui connettersi, e i <guilabel
+>Canali</guilabel
+> in cui entrare automaticamente una volta connesso. Vedi <link linkend="serverlist"
+>Definire nuove reti, server ed entrare automaticamente nei canali</link
+> per maggiori informazioni.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Fai clic qui per connetterti al server e canale &irc; selezionati.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>Quando fai clic sul pulsante <guibutton
+>Connetti</guibutton
+> la prima volta che apri &konversation;, potresti vedere il messaggio seguente, che ti dice che la tua <guilabel
+>identità</guilabel
+> predefinita non è impostata correttamente.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Controlla le identità</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Controlla le identità</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>La prima volta che &konversation; viene aperto, ottiene delle informazione sull'utente attuale dal sistema operativo e inserisce dei valori predefiniti per l'identità. Se le informazioni sull'utente del sistema operativo non sono complete (per esempio, se non è definito un nome completo) potresti vedere il messaggio sopra. Per correggere il problema, fai clic su <guibutton
+>OK</guibutton
+> e vedi <link linkend="identity"
+>Impostare la tua identità</link
+> per maggiori informazioni.</para>
+</note>
+
+<para
+>La schermata <interface
+>Principale</interface
+> mostrerà i messaggi inviati dal server al client (se &konversation; non si dovesse connettere al server, vedi <link linkend="faq"
+>Domande e risposte</link
+>). Quando i messaggi del server avranno finito di scorrere, &konversation; entrerà nei canali scelti. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Canale.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Canale</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Questa è chiamata la <interface
+>Linea di input</interface
+>. Per inviare un messaggio a tutti nel canale, scrivi qui il messaggio e premi &Enter;. Il tuo messaggio, come quelli di tutti gli altri, appare nella schermata del canale sopra. Ogni messaggio è preceduto dall'ora e dal nick dell'utente.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Puoi entrare in altri server e canali aggiuntivi. Ogni server, canale, elenco di canali, e altri schermi hanno qui una linguetta separata. Per mostrare un elenco dei canali disponibili, vedi <link linkend="list-channels"
+>Elencare i canali disponibili</link
+>. Per entrare in un canale, scrivi: <userinput
+><command
+>/join</command
+> <replaceable
+>#nomecanale</replaceable
+></userinput
+> nella Linea di input (il segno <userinput
+>#</userinput
+> è necessario). Puoi anche scrivere <userinput
+><command
+>/j</command
+></userinput
+> come abbreviazione di <userinput
+><command
+>/join</command
+></userinput
+>. Per lasciare un canale, scrivi <userinput
+><command
+>/part</command
+></userinput
+>. Per passare a un server o canale diverso, fai clic sulla linguetta corrispondente. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Questo è chiamato il <interface
+>Pannello dei nick</interface
+>. Elenca i nick di tutti gli utenti che sono entrati nel canale, incluso te stesso.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Questi sono i fondamenti, per informazioni più dettagliate, continua a leggere...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Impostare la tua identità</title>
+
+<para
+>Prima di iniziare a usare &konversation; regolarmente, dovresti impostare come sarai identificato sulla rete.</para>
+
+<para
+>Fai clic su <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Identità</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Identità</guilabel
+>. Puoi visualizzare la schermata <guilabel
+>Identità</guilabel
+> anche facendo clic sul pulsante <guibutton
+>Modifica</guibutton
+> nella schermata <guilabel
+>Aggiungi rete</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Identità (scheda generale)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identità (scheda generale)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Fai clic qui per selezionare un'<guilabel
+>Identità</guilabel
+> da modificare.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Usa questi pulsanti per aggiungere, duplicare, rinominare o rimuovere un'<guilabel
+>Identità</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Inserisci qui il tuo vero nome. &irc; non è fatto per nasconderti dai tuoi amici o nemici. Tienilo a mente se ti tenta l'idea di comportarti male. Un falso "nome vero" può essere un buon modo di nascondere il tuo sesso a tutti gli sfigati che ci sono là fuori, ma il computer che usi può sempre essere tracciato, quindi non sarai mai del tutto anonimo.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Usa questi pulsanti per aggiungere, modificare o eliminare un nick.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Questo è il tuo elenco di nick. Un nick è il nome con il quale sarai noto agli altri utenti. Puoi inserire qualsiasi nome tu desideri. Il primo carattere deve essere una lettera, gli altri caratteri possono essere lettere, numeri, o i caratteri speciali <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Siccome i nick devono essere univoci all'interno di un'intera rete &irc;, il nome che vuoi potrebbe essere respinto dal server perché qualcun altro sta già usando quel nick. Inserisci i tuoi nick alternativi nelle caselle apposite. Se la tua prima scelta è rifiutata dal server, &konversation; proverà con i nick alternativi. </para>
+
+<para
+>Secondo la RFC 2812, la lunghezza massima di un nick è 9, ma ciò in realtà è determinato dal server. Per determinare il massimo per un server, connettiti al server. Nella linguetta <interface
+>Messaggi del server</interface
+>, cerca un messaggio <computeroutput
+>[Support]</computeroutput
+>. Per esempio</para>
+
+<para>
+<computeroutput
+>[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer </computeroutput>
+</para>
+
+<para
+>Il parametro <computeroutput
+>NICKLEN</computeroutput
+> specifica la lunghezza massima dei nick. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Usa questi pulsanti per cambiare l'ordine dei nick. Il nick in cima viene provato per primo, quindi verrà provato il prossimo, e così via.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Se hai registrato il tuo nick sulla rete &irc;, inserisci il servizio e la password per autenticare il tuo nick. Quando &konversation; si connetterà, invierà automaticamente <userinput
+><command
+>/msg</command
+> <replaceable
+>servizio</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>password</replaceable
+></userinput
+> al server. Se non sai cosa vuol dire, lascia queste caselle vuote.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Fai clic sulla linguetta <guilabel
+>Assente</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identità (scheda Assente)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identità (scheda Assente)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Inserisci un nick che indichi che sei assente. Ogni volta che eseguirai un comando <userinput
+><command
+>/away</command
+><replaceable
+>msg</replaceable
+></userinput
+> in qualsiasi canale in cui sei entrato con questa <guilabel
+>Identità</guilabel
+>, &konversation; cambierà automaticamente il tuo nick nel <guilabel
+>Nick di assenza</guilabel
+>. Gli altri utenti potranno vedere che sei assente dal tuo computer. Ogni volta che effettui un comando <userinput
+><command
+>/away</command
+></userinput
+> in qualsiasi canale nel quale sei assente, &konversation; farà tornare automaticamente il tuo nick quello originale. Se non vuoi cambiare automaticamente il tuo nick quando sei assente, lascia in bianco.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Se segni questa casella, ogni volta che effettuerai un comando <userinput
+><command
+>/away</command
+></userinput
+>, apparirà una riga orizzontale nel canale, che segnerà il punto in cui te ne sei andato. Gli altri utenti &irc; non vedono questa riga. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Se segni questa casella, &konversation; invierà automaticamente il <guilabel
+>Messaggio di assenza</guilabel
+> a tutti i canali in cui sei entrato con questa <guilabel
+>Identità</guilabel
+>. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> è sostituito con <userinput
+><replaceable
+>msg</replaceable
+></userinput
+>. Ogni volta che eseguirai un comando <userinput
+><command
+>/away</command
+></userinput
+>, il <guilabel
+>Messaggio di ritorno</guilabel
+> sarà mostrato in tutti i canali in cui sei entrato con questa <guilabel
+>Identità</guilabel
+>.</para>
+
+<note
+><para
+>I messaggi di assenza sono spesso considerati fastidiosi dagli altri utenti. Usa questa opzione con attenzione, e con rispetto degli altri utenti &irc;. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Fai clic sulla linguetta <guilabel
+>Avanzate</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identità (scheda Avanzate)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identità (scheda Avanzate)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Qui puoi inserire un comando che sarà eseguito prima di connettersi al server. Se questa identità viene usata per più di un server, il comando sarà eseguito per ogni server.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>Questa impostazione influenza come sono codificati i caratteri che scrivi quando vengono inviati al server. Influenza anche come sono visualizzati i messaggi. Quando apri &konversation; per la prima volta, questa impostazione viene recuperata automaticamente dal sistema operativo. Se sembra che ci siano problemi a leggere i messaggi degli altri utenti, prova a cambiare questa impostazione.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>Quando ti connetti, molti server interrogano il tuo computer per avere una risposta IDENT. Se il tuo computer non ha un server IDENT in esecuzione, questa risposta è inviata da &konversation;. Non sono ammessi spazi. Si suggerisce di usare il tuo nome.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Ogni volta che lasci un canale, questo messaggio sarà inviato al canale.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Ogni volta che sei cacciato da un canale (normalmente da un operatore &irc;), questo messaggio verrà inviato al canale.</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Fai clic per applicare i tuoi cambiamenti. Per attivare tutti i cambiamenti, devi disconnetterti dal server e riconnetterti. Il modo più semplice per farlo è terminare &konversation; e riavviare.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Definire nuove reti, server ed entrare automaticamente nei canali</title>
+
+<para
+>La schermata <guilabel
+>Elenco dei server</guilabel
+> appare quando apri il programma &konversation;. Appare anche quando scegli <menuchoice
+><guisubmenu
+>File</guisubmenu
+><guisubmenu
+>Elenco dei server</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>La schermata <guilabel
+>Elenco dei file</guilabel
+></action
+> elenca le tue reti &irc; definite esistenti, elencate per gruppo. Una rete &irc; è una raccolta di server cooperanti. Quando ti connetti a qualsiasi server in una rete, hai accesso a tutti i canali della rete. Esempi di reti &irc; sono <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> e <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Elenco dei server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Elenco dei server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>Le tue reti esistenti definite sono elencate qui insieme all'<guilabel
+>Identità</guilabel
+> usata per connettersi alla rete, e i <guilabel
+>Canali</guilabel
+> in cui entri automaticamente quando ti connetti. Se hai specificato un gruppo delle tue reti, esse sono elencate indentate sotto il gruppo. Fai clic su una rete per selezionarla. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Usa questi pulsanti per aggiungere una nuova rete, modificare una rete evidenziata, o eliminare una rete evidenziata. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Fai clic su questo pulsante per connetterti alla <guilabel
+>Rete</guilabel
+> evidenziata e chiudere la schermata <guilabel
+>Elenco dei server</guilabel
+>. Puoi evidenziare più di una rete se vuoi, cosa che ti connetterà a tutte le reti evidenziate.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>Fare clic su questo pulsante non cancella i cambiamenti che hai apportato. Significa semplicemente che in questo momento non vuoi connetterti a nessuna rete.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>Quando fai clic sul pulsante <guilabel
+>Aggiungi</guilabel
+>, appare la schermata <guilabel
+>Aggiungi rete</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Aggiungi rete</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Aggiungi rete</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Inserisci qui il nome della <guilabel
+>Rete</guilabel
+>. Puoi creare tante voci quante ne vuoi nella schermata <guilabel
+>Elenco dei server</guilabel
+> all'interno della stessa <guilabel
+>Rete</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Opzionale: se inserisci qualcosa qui, tutte le reti nello stesso <guilabel
+>Gruppo</guilabel
+> saranno elencate insieme nella schermata <guilabel
+>Elenco dei server</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Scegli un'<guilabel
+>Identità</guilabel
+> esistente o fai clic sul pulsante <guibutton
+>Modifica</guibutton
+> per aggiungerne una nuova o modificare una esistente. L'<guilabel
+>Identità</guilabel
+> ti identificherà e determinerà il tuo nick quando ti connetti alla rete.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Opzionale: questo comando sarà inviato al server dopo la connessione. Esempio: <userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. Questo esempio è è per la rete Freenode, che richiede che gli utenti registrino il loro nick con una password e accedano alla connessione. <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> è la password per il nick dell'<guilabel
+>Identità</guilabel
+>. Puoi inserire più di un comando separandoli con punti e virgola.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Segna qui se vuoi che &konversation; si connetta automaticamente a questa rete ogni volta che apri &konversation;.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>Questo è un elenco di <guilabel
+>Server</guilabel
+> &irc; nella rete. Quando si connetterà alla rete, &konversation; proverà a connettersi al server in alto per primo. Se non funziona, proverà con il secondo. Se non funziona, proverà con il terzo, e così via. Deve essere specificato almeno un server. Fai clic su un server per evidenziarlo.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Usa questi pulsanti per aggiungere un server, modificare un server evidenziato, o eliminare un server evidenziato. Puoi anche regolare l'ordine dell'elenco dei server, e quindi l'ordine dei tentativi di connessione.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Opzionale: questo è un elenco dei canali in cui &konversation; entrerà automaticamente una volta connesso a un server. Puoi lasciarlo in bianco se non vuoi entrare automaticamente in nessun canale.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Usa questi pulsanti per aggiungere un canale, modificare un canale evidenziato, o eliminare un canale evidenziato. Puoi anche cambiare l'ordine in cui si entra nei canali. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Evita di mischiare server su diverse reti &irc; sotto la stessa <guilabel
+>Rete</guilabel
+>. Evita di inserire lo stesso server in due reti diverse. Altrimenti, <link linkend="linkaddressbook"
+>l'integrazione con la tua rubrica</link
+> e <link linkend="nicksonline"
+>il controllo dei nick collegati</link
+> di &konversation; non funzioneranno correttamente.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>Quando fai clic sul pulsante <guibutton
+>Aggiungi</guibutton
+>, nel riquadro <guibutton
+>Server</guibutton
+>, appare la schermata Aggiungi server.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Aggiungi server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Aggiungi server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>Il nome o numero IP del server. irchelp.org mantiene un <ulink url="http://www.irchelp.org/irchelp/networks/"
+>elenco</ulink
+> di server.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Inserisci il numero della porta che deve connettersi al server. Per la maggior parte dei server, dovrebbe essere <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Se il server richiede una password per connettersi, inseriscila qui, altrimenti lascia in bianco.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Segna se vuoi usare il protocollo SSL (<foreignphrase lang="en"
+>Secure Socket Layer</foreignphrase
+>) con il server. Ciò protegge la privacy delle comunicazioni tra il tuo computer e il server &irc;. Il server deve supportare il protocollo SSL affinché funzioni. La maggior parte dei casi, se il server non supporta SSL, la connessione cadrà.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>Quando fai clic sul pulsante <guilabel
+>Aggiungi</guilabel
+> nel riquadro <guilabel
+>Entra nel canali automaticamente</guilabel
+>, appare la schermata <guilabel
+>Aggiungi canale</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Aggiungi canale</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Aggiungi canale</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Inserisci un nome di canale. Non dimenticarti del <userinput
+><replaceable
+>#</replaceable
+></userinput
+> di testa. Se il canale richiede una password per poterci entrare, inseriscila, altrimenti lascia in bianco. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Elencare i canali disponibili</title>
+
+<para
+>Per mostrare un elenco dei canali disponibili, scegli <menuchoice
+><guisubmenu
+>Finestre</guisubmenu
+><guisubmenu
+>Elenco canali</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Dopo una schermata d'avvertimento, viene creata una nuova scheda chiamata <guilabel
+>Elenco canali</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La scheda Elenco canali.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La scheda Elenco canali.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Inserisci qui una stringa di filtraggio.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Puoi qui limitare l'elenco canali a quei canali con un numero minimo o massimo di utenti. Scegliere 0 disattiva il criterio corrispondente.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Fai clic qui per recuperare l'elenco dei canali dal server e applicare il filtro.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>L'elenco filtrato dei canali viene mostrato qui. Nota che se non usi espressioni regolari, &konversation; elenca ogni canale che contenga la stringa di filtraggio che hai inserito. Il nome del canale non deve necessariamente iniziare con la stringa che hai inserito.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Scegli un canale in cui vuoi entrare facendoci clic. Fai clic destro sul canale per avere un elenco di tutti gli indirizzi Web menzionati nel titolo del canale.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Fai clic qui per entrare nel canale. Verrà creata una nuova scheda per il canale.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Dovresti evitare di fare clic sul pulsante <guibutton
+>Aggiorna elenco</guibutton
+>. La maggior parte dei server hanno migliaia di canali, e fare questa operazione carica molto il server. D'altro canto, può richiedere diversi minuti per essere completata, a seconda della tua larghezza di banda di rete. Se il tuo client è troppo lento, il server potrebbe anche disconnetterti. </para>
+
+<para
+>A volte ci sono canali "segreti" sui server. Questi canali non sono elencati nella <guilabel
+>Elenco canali</guilabel
+>. Puoi però entrare in questi canali se ne conosci il nome. In una <interface
+>Linea di input</interface
+>, scrivi: <userinput
+><command
+>/join</command
+> <replaceable
+>#nomeDelCanale</replaceable
+></userinput
+> (il segno <userinput
+>#</userinput
+> è necessario). Viene creata una nuova scheda per il canale. Se entri in un canale e il Pannello dei nick elenca solo il tuo nick, significa che il canale prima non esisteva. Il server ha creato il canale e tu ne sei l'operatore. In questo caso, probabilmente vorrai chiudere il canale scrivendo: <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>Una panoramica della schermata principale</title>
+
+<para
+>Impariamo di più sulla schermata <interface
+>Principale</interface
+>. La schermata è mostrata sotto con una scheda di canale selezionata.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Principale.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Principale</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>Questa è chiamata la <interface
+>Linea di input</interface
+>. Appare solo quando la scheda corrente è un canale. Per mandare un messaggio a tutti quelli che sono nel canale, scrivi qui il messaggio e premi &Enter;. Il tuo messaggio, come quello di chiunque altro, appare nella finestra del canale sovrastante. Ogni messaggio è preceduto dall'ora e dal nick dell'utente.</para>
+
+ <para
+>Puoi anche incollare testo dagli appunti. Se il testo incollato ha più di una riga (ritorni a capo), apparirà una finestra di dialogo. Modifica il testo come desideri e fai clic su <guibutton
+>OK</guibutton
+>. </para>
+
+ <para
+>Se il testo incollato è più lungo di 256 caratteri, o contiene più di una riga, apparirà un messaggio di avvertimento che ti avvertirà che gli interventi di grandi dimensioni possono causare reimpostazioni della connessione e flooding. Puoi procedere con l'inserimento, ma farlo è una cattiva idea, perché il flooding darà fastidio agli altri nel canale, o potresti essere disconnesso dal server. È meglio mandare il messaggio in spezzoni più corti.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>Una convenzione usata in molti canali è far precedere i messaggi diretti a un utente dal suo nick. &konversation; fornisce una comoda funzionalità di completamento nick. Inizia a scrivere il nick dell'utente, quindi premi <keycap
+>Tab</keycap
+>. &konversation; completerà il resto del nick dell'utente seguito da due punti. Per personalizzare la funzionalità di completamento, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> dal menu principale, espandi <guilabel
+>Comportamento</guilabel
+>, fai clic su <guilabel
+>Generale</guilabel
+>, e fai clic sul riquadro <guilabel
+>Modalità di completamento</guilabel
+>. </para>
+
+ <para
+>Qui puoi anche inserire un comando &irc; scrivendo prima <userinput
+><command
+>/</command
+></userinput
+> seguito da un comando &irc; valido. Vedi <link linkend="irc-cmds"
+>Comandi &irc; usati frequentemente</link
+>. Su alcuni server, puoi scrivere <userinput
+><command
+>/help</command
+></userinput
+> per un elenco dei comandi disponibili, o scrivere <userinput
+><command
+>/help</command
+><replaceable
+>comando</replaceable
+></userinput
+> per avere aiuto su un comando specifico. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Puoi entrare in server e canali aggiuntivi. Ogni server e ogni canale ha qui una scheda separata. Per mostrare un elenco di canali disponibili, vedi <link linkend="list-channels"
+>Elencare i canali disponibili</link
+>. Per entrare in un canale, scrivi: <userinput
+><command
+>/join</command
+> <replaceable
+>#nomeCanale</replaceable
+></userinput
+> nella linea di input (il segno <userinput
+>#</userinput
+> è necessario). Per lasciare un canale, scrivi <userinput
+><command
+>/part</command
+></userinput
+>. Qui appaiono schede anche quando apri un <link linkend="list-channels"
+>Elenco canali</link
+>, partecipi in una <link linkend="query"
+>conversazione privata</link
+>, apri il <link linkend="urlcatcher"
+>Raccoglitore di &URL;</link
+>, o apri una o più <guilabel
+>Konsole</guilabel
+>. Per far passare la vista schermo a un'altra schermata, fai clic sulla linguetta corrispondente, o usa la ruota del mouse per ruotare attraverso le schede. </para>
+
+<para
+>Per impostare altre opzioni per le schede, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale, espandi <guilabel
+>Comportamento</guilabel
+> e fai clic su <guilabel
+>Generale</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>Questi &led; lampeggeranno quando ci sarà qualcosa che non hai visto in quella scheda. Il &led; lampeggerà più lentamente quando i soli messaggi non visti sono <command
+>join</command
+>, <command
+>part</command
+>, <command
+>quit</command
+> o cambiamenti di nick. Lampeggeranno più velocemente se ci sono messaggi normali non visti. I colori sono come segue: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Canale </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Messaggi del server</interface
+>, <link linkend="list-channels"
+>Elenco canali</link
+>, o <link linkend="urlcatcher"
+>Raccoglitore di &URL;</link
+> </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Konsole</guilabel
+> o <link linkend="dcc"
+>Stato DCC</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+>Messaggio privato (query)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Fai clic qui per chiudere la scheda attuale. Chiudere una scheda <interface
+>Canale</interface
+> abbandonerà il canale. Chiudere una scheda <interface
+>Messaggi del server</interface
+> abbandonerà tutti i canali in cui sei entrato, tutte le conversazioni private aperte in quel server, e disconnetterà dal server.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Fai clic su questo pulsante per cambiare il tuo nick. Appare solo quando la scheda attuale è un canale. Per nascondere questo pulsante, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale, espandi <guilabel
+>Aspetto</guilabel
+>, fai clic su <guilabel
+>Finestra di chat</guilabel
+>, e deseleziona la casella <guilabel
+>Mostra il riquadro per cambiare il proprio nick</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>Qui viene visualizzato il titolo del canale. Passa il mouse sul titolo per vedere il titolo esteso. Puoi cambiare il titolo facendo clic sul pulsante alla sua sinistra. Per nascondere i titoli dei canali, scegli <menuchoice
+> <guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale, espandi <guilabel
+>Aspetto</guilabel
+>, fai clic su <guilabel
+>Finestra di chat</guilabel
+>, e deseleziona la casella <guilabel
+>Mostra il titolo del canale</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Questi pulsanti visualizzano lo stato attuale delle modalità dei canali. Un pulsante è premuto se quella modalità è attiva. Se hai i privilegi giusti, puoi anche cambiare le modalità dei canali facendoci clic, o facendo clic sul pulsante alla sinistra del titolo. Per nascondere i pulsanti delle modalità dei canali, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale, espandi <guilabel
+>Aspetto</guilabel
+>, fai clic su <guilabel
+>Finestra di chat</guilabel
+>, e deseleziona la casella <guilabel
+>Mostra i pulsanti per le modalità dei canali</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Questo è detto il <interface
+>Pannello dei nick</interface
+>. È visualizzato ogni qualvolta la scheda corrente sia un canale. Elenca i nick di tutti gli utenti che sono entrati nel canale, incluso te. Passa il puntatore del mouse su un nick per visualizzare informazioni aggiuntive sull'utente. Puoi cambiare come sono visualizzate le icone di fianco a ogni nick cambiando il tema di icone dei nick. Vedi <link linkend="nickthemes"
+>Configurare i temi dei nick</link
+> per maggiori informazioni. Il tema <guilabel
+>Big Bullets</guilabel
+>, come mostrato nella schermata sopra, usa le icone seguenti: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> utente normale </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> utente con parola. L'utente può parlare in un canale moderato. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> semioperatore del canale </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> operatore del canale </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> proprietario del canale </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> amministratore del canale </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Inoltre, se un utente è assente, sarà disegnata una crocetta rossa nell'angolo dell'icona. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Fai clic con il &RMB; su un nick qualsiasi per far apparire un menu contestuale di operazioni che puoi effettuare con quel nick. Per esempio, puoi <link linkend="dcc"
+>inviare un file</link
+> al nick. Questo è anche il posto dove puoi <link linkend="linkaddressbook"
+>associare un nick a un contatto nella tua rubrica.</link
+> </para>
+
+<para
+>Per nascondere il <interface
+>Pannello dei nick</interface
+>, scegli <menuchoice
+> <guisubmenu
+>Finestra</guisubmenu
+><guisubmenu
+>Nascondi l'elenco dei nick</guisubmenu
+></menuchoice
+> dal menu principale. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>Questi sono chiamati i <interface
+>Pulsanti rapidi</interface
+>. Come impostazione predefinita, non sono visualizzati. Per visualizzarli, vedi <link linkend="quick-buttons"
+>Configurare i pulsanti rapidi</link
+>. Puoi personalizzare le loro definizioni a qualsiasi comando tu voglia.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Nota:</emphasis
+> puoi controllare quanti messaggi sono visualizzati nel registro dei messaggi delle schede dei canali e delle conversazioni private. Per esempio, puoi cambiare il colore dei messaggi, riprodurre un suono quando viene ricevuto un messaggio che contiene una certa stringa, o rispondere automaticamente ai messaggi. Vedi <link linkend="highlighting"
+>l'evidenziazione dei messaggi</link
+> per maggiori informazioni. </para>
+
+<para
+><emphasis
+>Nota:</emphasis
+> a volte i nomi dei canali cominciano con <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+>, o <userinput
+>!</userinput
+>. Il primo carattere del nome di un canale ne determina il tipo (RFC 2811) come segue: <itemizedlist
+><listitem
+><para
+> <userinput
+>#</userinput
+> - Canali normali.</para
+></listitem
+> <listitem
+><para
+> <userinput
+>!</userinput
+> - Canali normali.</para
+></listitem
+> <listitem
+><para
+> <userinput
+>&amp;</userinput
+> - Canali locali. Canali in cui si può entrare solo dal server che li ospita. Si può entrare in tutti gli altri canali da qualsiasi server nella rete.</para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> - Canali che non supportano le modalità dei canali. Significa che tutte le modalità sono disattivate, con l'eccezione del flag di canale 't' che è attivo.</para
+></listitem
+></itemizedlist
+> I nomi dei canali sono lunghi fino a 50 caratteri e possono contenere qualsiasi carattere tranne spazio, virgola e Ctrl-G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Connessione rapida</title>
+
+<para
+>A volte vorrai connetterti a un server senza passare di nuovo dalla creazione di un nuovo server nell'<link linkend="serverlist"
+>Elenco dei server</link
+>. </para>
+
+<para
+>Scegli <menuchoice
+><guisubmenu
+>File</guisubmenu
+><guisubmenu
+>Connessione rapida</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Connessione rapida</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Connessione rapida.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>La schermata Connessione rapida</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Inserisci l'indirizzo del server nella casella <guilabel
+>hHost del server</guilabel
+>, il nick che desideri vuoi nella casella <guilabel
+>Nick</guilabel
+>, e fai clic sul pulsante <guibutton
+>Connetti</guibutton
+>. Quando &konversation; si sarà connesso al server, inserisci il comando <userinput
+><command
+>/join</command
+> <replaceable
+>#nomeCanale</replaceable
+></userinput
+> per entrare in un canale. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Comandi &irc; usati di frequente</title>
+
+<para
+>Quello che segue è un breve elenco di comandi &irc; usati frequentemente. Vedi <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC 2812</ulink
+> per un elenco completo di tutti i comandi, o visita <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Per un elenco dei comandi trattati specialmente da , vedi <link linkend="konvi-cmds"
+>comandi di &konversation;</link
+>. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Elenca i comandi disponibili sul server attuale. Non supportato da tutti i server.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help </command
+> <replaceable
+>comando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Fornisce aiuto per <userinput
+><replaceable
+>comando</replaceable
+></userinput
+>. Non supportato da tutti i server.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join <replaceable
+>#canale</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Entra in <userinput
+><replaceable
+>#canale</replaceable
+></userinput
+>. Se il canale non esiste già, viene creato e tu ne divieni l'operatore.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Abbandona il canale attuale e chiude la scheda <interface
+>canale</interface
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>#canale</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Abbandona <userinput
+><replaceable
+>#canale</replaceable
+></userinput
+> e chiude la scheda <interface
+>canale</interface
+> corrispondente. Sinonimo di <userinput
+><command
+>/leave</command
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> al canale preceduto dal tuo nick. Per esempio, se il tuo nick fosse <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, scrivere <userinput
+><replaceable
+>/me fa una tazza di tè</replaceable
+></userinput
+> mostrerebbe il messaggio <interface
+>Tux fa una tazza di tè</interface
+>. A meno che abbiano filtrato questo tipo di messaggi, tutti gli utenti lo vedranno. Questo genere di messaggi è tipicamente usato per inviare messaggi non verbali, come il tuo stato emozionale attuale, o cosa stai facendo fisicamente. Se stai lasciando la tua macchina per poco tempo, usa piuttosto il comando /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Se qualcuno cerca di inviarti un messaggio privato o ti invita a un canale, gli sarà detto che sei via dalla tua macchina con <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Annulla un comando <userinput
+><command
+>/away</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query</command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Crea una nuova scheda con il <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> dell'utente per una conversazione privata, su &irc; nota anche come <link linkend="query"
+>query</link
+>. Ogni cosa scritta qui è visibile solo a te a al tuo compagno di conversazione privata.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg</command
+> <replaceable
+>nick</replaceable
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> all'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>. Solo <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> vede il messaggio. Usa <userinput
+><command
+>/query</command
+></userinput
+> per conversazioni più lunghe.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite</command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invita l'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> a entrare in un canale. Questo comando è particolarmente utile se il canale è solo su invito.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Conversazioni private (query)</title>
+
+<para
+>Una conversazione privata è una che solo tu e l'altra persona potete vedere. Le conversazioni private sono spesso chiamate "query" in &irc;. Per avviare una conversazione privata, scrivi <userinput
+><command
+>/query</command
+> <replaceable
+>nick</replaceable
+></userinput
+> in una qualsiasi linea di input, dove <replaceable
+>nick</replaceable
+> è il nick della persona con cui vuoi parlare. Puoi anche fare clic con il &RMB; sul nick della persona nel <guilabel
+>Pannello dei nick</guilabel
+> e scegliere <menuchoice
+><guisubmenu
+>Apri conversazione privata</guisubmenu
+></menuchoice
+>. <action
+>Una nuova scheda sarà creata</action
+>. Annunciati mandando un messaggio. </para>
+
+<para
+>Le conversazioni private sono come i canali, eccetto che solo tu e l'altra persona potete partecipare al canale.</para>
+
+<para
+>Per abbandonare la conversazione privata, chiudi semplicemente la scheda. Tuttavia, nota che se l'altra persona ti invia un altro messaggio nella conversazione privata, la scheda si riaprirà.</para>
+
+<para
+>Per abbandonare tutte le conversazioni private, scegli <menuchoice
+><guisubmenu
+>Finestre</guisubmenu
+><guisubmenu
+>Chiudi tutte le conversazioni private aperte</guisubmenu
+></menuchoice
+> nel menu principale, o premi <keycap
+>F11</keycap
+>.</para>
+
+<para
+>Quando qualcun altro inizia una conversazione privata con te, &konversation; crea una nuova scheda con il suo nick. Se non vuoi parlare con quella persona, chiudi la scheda. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Impostare le notifiche</title>
+
+<para
+>Le <guilabel
+>Notifiche</guilabel
+> sono azioni che &konversation; eseguirà ogni qualvolta avviene un evento. Immagina di avere &konversation; in esecuzione, ma minimizzato o nascosto dietro a alle finestre di altre applicazioni sul tuo desktop. Se qualcuno vuole comunicare con te, o un tuo amico entra in un canale, vorresti esserne avvertito. Le notifiche fanno questo. </para>
+
+<para
+>Per configurare le notifiche, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura notifiche</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Impostazioni di notifica</guilabel
+>.</action
+> </para>
+
+<para
+>Fai subito clic sul pulsante <guibutton
+>Più opzioni</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Impostazioni di notifica.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Impostazioni di notifica</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Fai clic qui per selezionare un evento.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Segna il tipo di notifiche che vorresti avvenissero quando avviene l'evento (<guilabel
+>Segna la voce della barra delle applicazioni</guilabel
+> fa lampeggiare la voce nella barra delle applicazioni quando avviene l'evento).</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Ripeti selezionando un altro evento e controllando le notifiche desiderate. Quando hai configurato tutte le notifiche desiderate, fai clic sul pulsante <guibutton
+>Applica</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>Una volta che hai impostato le tue notifiche, puoi attivare o disattivare tutte le notifiche qui. Per esempio, puoi scegliere di riprodurre un suono ogni volta che il tuo nick viene nominato in un messaggio. Quando sei alla tua macchina, puoi disattivare i suoni, ma mentre sei nelle vicinanze puoi attivarli per avere la tua attenzione.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Puoi anche farti avvertire quando qualcuno nomina il tuo nick in un messaggio usando la <link linkend="highlighting"
+>funzionalità di evidenziazione</link
+> di &konversation;.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Controllare chi è collegato</title>
+
+<para
+>&konversation; ti terrà informato su quando i tuoi amici sono connessi alla rete &irc;. </para>
+
+<para
+>Puoi associare i nick in rete a dei contatti nella tua rubrica. Quando lo fai, il nick e la rete &irc; dove il nick è collegato sono inseriti nel contatto della rubrica. La rete &irc; è registrata perché i nick sono univoci all'interno di una singola rete &irc;. Il nick in due reti &irc; diverse non è necessariamente la stessa persona, ma lo stesso nick all'interno della stessa rete &irc; è di solito la stessa persona.</para>
+
+<note
+><para
+>Per questo è importante usare la stessa <guilabel
+>Rete</guilabel
+> per tutti i server nella stessa rete &irc;, quando si <link linkend="serverlist"
+>definiscono reti, server e l'ingresso automatico nei canali</link
+>.</para
+></note>
+
+<para
+>Puoi anche definire dei nick che vuoi sorvegliare che non sono nella tua rubrica. Anche in questo caso, ogni nick ha una rete &irc; associata. Vedi sotto.</para>
+
+<para
+>Per attivare la funzionalità di sorveglianza dei nick, scegli <menuchoice
+> <guisubmenu
+>Finestre</guisubmenu
+> <guisubmenu
+>Nick sorvegliati collegati</guisubmenu
+> </menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Nick sorvegliati collegati.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Nick sorvegliati collegati</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>I nick nel tuo elenco di sorveglianza, e anche i nick associati a voci della tua rubrica, sono elencati qui. Sono elencati sotto la loro rete &irc; associata. Se non c'è nessun nick elencato, significa che non ne hai specificato nessuno da sorvegliare, o che devi attivare la funzionalità di sorveglianza dei nick (vedi sotto). Espandi ogni nick collegato per vedere un elenco di canali in cui il nick è entrato. Le icone di fianco a ogni canale sono le stesse che appaiono nel <interface
+>Pannello dei nick</interface
+> nelle schermate dei <link linkend="channel-screen-tour"
+>canali</link
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>Le informazioni note sul nick sono visualizzate qui. Quando la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+> è visualizzata per la prima volta, queste informazioni sono scarse. Ogni otto secondi, viene automaticamente inviato al server un comando <userinput
+><command
+>WHOIS</command
+></userinput
+> per richiedere informazioni sui nick che non ne hanno. Questo continua fino a quando tutti i nick hanno informazioni. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>I nick che non sono collegati a nessuna rete &irc; a cui sei connesso tu sono elencati nella parte <guilabel
+>Scollegati</guilabel
+> dell'elenco. </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>I nick che sono associati a contatti della tua rubrica hanno questa icona (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>) di fianco alle loro informazioni. </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Usa questi pulsanti per associare un nick a un contatto della tua rubrica, rimuovere un'associazione, o aprire la rubrica per modificare le informazioni del contatto. Vedi il <ulink url="help:kaddressbook"
+>Manuale di &kaddressbook;</ulink
+> per istruzioni aggiuntive sull'uso della rubrica di &kde;. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>Per aggiungere altri nick da sorvegliare, fai clic sul pulsante <guilabel
+>Modifica l'elenco dei nick sorvegliati</guilabel
+>. Apparirà la schermata <guilabel
+>Nick sorvegliati</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Nick sorvegliati</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Nick sorvegliati</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Segna questa casella per attivare la funzionalità <guilabel
+>Sorveglianza dei nick</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Se vuoi che la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+> sia visualizzata automaticamente quando apri &konversation;, segna questa casella.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>I nick degli utenti che vuoi controllare sono elencati qui. Ogni nick ha una rete &irc; associata.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Fai clic su questi pulsanti per aggiungere o rimuovere nick dall'elenco.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>La funzionalità <guilabel
+>Nick sorvegliati collegati</guilabel
+> funziona interrogando periodicamente il server. Questa casella imposta quanto spesso ciò avviene. Evita numeri inferiori a 20 secondi perché impongono un carico eccessivo sul server.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Nella schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+> sopra, puoi fare doppio clic su qualsiasi nick, e questo comando sarà inviato al server. <userinput
+><command
+>%u</command
+></userinput
+> sarà sostituito con il nick. La <userinput
+><command
+>%n</command
+></userinput
+> è necessaria alla fine del comando.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Fai clic sul pulsante <guibutton
+>OK</guibutton
+> quando hai finito di aggiungere o rimuovere nick.</para>
+
+<para
+><emphasis
+>Nota:</emphasis
+> ogni qualvolta che mostri la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+>, ci potrebbe volere un po' prima che qualsiasi nick sia mostrato, fino a quando &konversation; non avrà interrogato il server. Normalmente, lascerai la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+> in esecuzione. </para>
+
+<para
+>&konversation; mostra inoltre un messaggio in tutti i <link linkend="channel-screen-tour"
+>canali</link
+> ogni qualvolta un utente nel tuo elenco di <guilabel
+>Nick sorvegliati</guilabel
+> si connette o disconnette dal server. Il messaggio assomiglia a questo: </para>
+
+<para
+><computeroutput
+>[17:52] [Notifica] psn è collegato (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Evidenziazione dei messaggi</title>
+
+<para
+>Puoi controllare come sono visualizzati i messaggi nei canali e nelle schermate delle conversazioni private.</para>
+
+<para
+>Per attivare la funzionalità di evidenziazione, scegli <menuchoice
+> <guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura &konversation;</guisubmenu
+></menuchoice
+> dal menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Evidenziazione.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Evidenziazione</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Fai clic qui per selezionare la schermata <guilabel
+>Evidenziazione</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Fai clic qui per aggiungere un nuovo elemento nell'<guilabel
+>Elenco delle evidenziazioni</guilabel
+>. Quando viene selezionato un elemento dell'elenco, puoi modificarlo nel pannello sotto.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Inserisci qui uno schema di stringa. Ogni messaggio ricevuto che corrisponda a questo schema, in qualsiasi parte, attiverà l'evidenziazione del messaggio. Se hai il programma di modifica delle espressioni regolari di &kde; installato sul tuo sistema, il pulsante a destra dello schema sarà abilitato. Facci clic per visualizzare l'editor, che ti aiuterà a preparare degli schemi complessi. L'editor delle espressioni regolari di &kde; fa parte del pacchetto <command
+>kdeutils</command
+>. </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Se lo schema viene trovato in un messaggio, tutto il messaggio sarà visualizzato nel colore che selezioni qui.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Se vuoi, &konversation; riprodurrà un suono quando si troverà una corrispondenza allo schema. Fai clic sul pulsante per scegliere un file audio da riprodurre. Fai clic sul pulsante di prova per sentire il suono.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Se volessi che &konversation; inviasse automaticamente un messaggio di risposta quando viene trovata una corrispondenza allo schema, inserisci qui il messaggio. Usa questa funzionalità con prudenza, perché potresti infastidire gli utenti &irc; con troppi messaggi. Qui puoi anche inserire comandi &irc; o di &konversation;.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Se hai configurato dei suoni per una qualsiasi delle tue evidenziazioni, puoi disabilitarli tutti deselezionando questa casella.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Se segni questa casella, ogni volta che qualcuno scriverà il tuo nick in un messaggio, il messaggio sarà visualizzato sulla destra nel colore che scegli.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>Normalmente, l'evidenziazione non si applica ai messaggi che scrivi tu. Se vuoi evidenziare i messaggi che scrivi tu, segna questa casella e scegli un colore a destra.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Configurazione della vista a schermo (&osd;)</title>
+
+<para
+>La <acronym
+>Vista a schermo</acronym
+> o <foreignphrase lang="en"
+>On Screen Display</foreignphrase
+> (&osd;) è una funzionalità unica di &konversation;. Con l'&osd; attivato, i messaggi dei canali appariranno sul tuo desktop, anche se &konversation; è minimizzato. Ecco un esempio dell'&osd; in azione. Il messaggio nella parte in alto a sinistra dello schermo viene da &konversation;, che è in esecuzione minimizzata nel vassoio di sistema.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Esempio di vista a schermo</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Esempio di vista a schermo</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Per attivare l'&osd;, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura &konversation;</guisubmenu
+></menuchoice
+> sul menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Vista a schermo.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Vista a schermo</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Fai clic qui per espandere l'elemento <guilabel
+>Notifica</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Fai clic qui per selezionare la schermata <guilabel
+>Vista a schermo</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Segna questa casella per attivare l'&osd;.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Fai clic su questo pulsante per scegliere un tipo di carattere per l'&osd; (<emphasis
+>Nota:</emphasis
+> non tutti i tipi di carattere funzionano. È verificato che Luxi Sans 22 e Impact 22 funzionano).</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Segna queste caselle per selezionare i tipi di messaggi che vorresti veder apparire sullo schermo, quindi fai clic sul pulsante <guibutton
+>Applica</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Inviare messaggi colorati</title>
+
+<para
+>Puoi aggiungere dei colori ai messaggi che invii in qualsiasi canale. Nella <interface
+>Linea di input</interface
+> di qualsiasi canale, inizia a scrivere il tuo messaggio. Fai clic sul <inlinemediaobject
+><imageobject
+><imagedata fileref="colorize.png" format="PNG"/></imageobject
+><textobject
+><phrase
+>Pulsante Inserisci colore &irc;</phrase
+></textobject
+></inlinemediaobject
+> pulsante Inserisci colore &irc; o scegli <menuchoice
+><guisubmenu
+>Inserisci</guisubmenu
+><guisubmenu
+>Colore &irc;</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Scelta Colori &irc;</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Scelta Colori &irc;.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>La schermata Scelta Colori &irc;</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Scegli un colore e fai clic su <guibutton
+>OK</guibutton
+>. Continua a scrivere il tuo messaggio nella <interface
+>Linea di input</interface
+>. Per cambiare ancora il tuo colore, fai clic sul pulsante <guibutton
+>Inserisci colore &irc;</guibutton
+>. Scegli un colore diverso e fai clic su <guibutton
+>OK</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Configurare i temi dei nick</title>
+
+<para
+>Puoi cambiare le icone visualizzate di fianco ai nick nel <interface
+>Pannello dei nick</interface
+> delle schede dei canali. Per cambiare il tema dei nick, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> dal menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> Fai clic su<guilabel
+>Aspetto</guilabel
+> per espanderlo, quindi fai clic su <guilabel
+>Temi</guilabel
+> per visualizzare la schermata <guilabel
+>Temi</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Temi.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Temi</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Fai clic per selezionare la schermata <guilabel
+>Temi</guilabel
+> dei nick.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Seleziona un tema.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Qui sono visualizzate icone campione del tema scelto.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Se hai scaricato un tema di nick da un'altra parte, fai clic per installarlo.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Configurare i pulsanti rapidi</title>
+
+<para
+>Puoi abilitare la funzionalità di visualizzare i <interface
+>Pulsanti rapidi</interface
+> nella schermata <link linkend="channel-screen-tour"
+>principale</link
+>; appariranno allora otto <interface
+>Pulsanti rapidi</interface
+>. Per visualizzare i pulsanti rapidi, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> Fai clic su <guilabel
+>Aspetto</guilabel
+> per espanderlo, quindi fai clic su <guilabel
+>Finestra di chat</guilabel
+>. Segna la casella <guilabel
+>Mostra i pulsanti rapidi</guilabel
+> e fai clic su <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>I pulsanti possono essere personalizzati come vuoi per effettuare comandi &irc; usati di frequente. Per personalizzare i <interface
+>Pulsanti rapidi</interface
+>, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> dal menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> Fai clic su <guilabel
+>Comportamento</guilabel
+> per espanderlo, quindi fai clic su <guilabel
+>Pulsanti rapidi</guilabel
+> per mostrare la schermata <guilabel
+>Pulsanti rapidi</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Pulsanti rapidi</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>La schermata Pulsanti rapidi</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Ci sono 8 <interface
+>Pulsanti rapidi</interface
+>. Fai clic su di uno per cambiarlo. La colonna <guilabel
+>Nome del pulsante</guilabel
+> è il nome che apparirà sul pulsante nella schermata <link linkend="channel-screen-tour"
+>Principale</link
+>. Usa nomi brevi. La colonna <guilabel
+>Azione del pulsante</guilabel
+> è l'azione che sarà effettuata quando farai clic sul <interface
+>Pulsante rapido</interface
+>. Sullo schermo sono dati dei suggerimenti per creare azioni. </para>
+
+<para
+>Fai clic su <guibutton
+>OK</guibutton
+> per completare i cambiamenti. </para>
+
+<para
+>Esempio:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Nome del pulsante</guilabel
+>: <userinput
+><replaceable
+>Msg</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Azione del pulsante</guilabel
+>: <userinput
+><replaceable
+>Msg %u </replaceable
+></userinput
+> (c'è uno spazio dopo <userinput
+><replaceable
+>%u</replaceable
+></userinput
+>) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>Per usare questo pulsante nella schermata <link linkend="channel-screen-tour"
+>Principale</link
+>, fai clic su un nick nel <interface
+>Pannello dei nick</interface
+>, quindi fai clic sul pulsante. Apparirà <computeroutput
+>/MSG </computeroutput
+> nella <interface
+>Linea di input</interface
+> seguito dal nick scelto. Scrivi un messaggio che vuoi inviare a quella persona e premi &Enter;. Il messaggio sarà inviato all'utente. Solo quell'utente vedrà il messaggio. </para>
+
+<para
+><emphasis
+>Nota:</emphasis
+> non puoi aggiungere o eliminare i <interface
+>Pulsanti rapidi</interface
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Inviare e ricevere file</title>
+
+<para
+>Puoi inviare file via &irc; ad altri utenti collegati, o loro possono mandare dei file a te. </para>
+
+<para>
+<emphasis
+>ATTENZIONE: Non aprire mai un file che qualcuno ti invia a meno che sia una fonte fidata. Potrebbe essere un virus.</emphasis>
+</para>
+
+<para
+>Per inviare un file a qualcuno in un canale, fai clic con il &RMB; sul nick della persona nel <interface
+>Pannello dei nick</interface
+>della schermata <link linkend="channel-screen-tour"
+>Principale</link
+>. Scegli <menuchoice
+><guisubmenu
+>Invia file</guisubmenu
+></menuchoice
+>. <action
+>Apparirà una finestra di dialogo per farti scegliere un file da inviare.</action
+> Poi, apparirà una nuova scheda <guilabel
+>Stato DCC</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La scheda Stato DCC</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La scheda Stato DCC</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>Il nick del destinatario e il nome del file appaiono qui.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>La colonna <guilabel
+>Stato</guilabel
+> indica lo stato dell'invio o della ricezione del file come segue:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>Offerta</guilabel>
+ </term>
+ <listitem>
+ <para
+>Stai cercando di inviare un file al destinatario. &konversation; sta aspettando che il destinatario accetti il file. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Connessione</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; sta cercando di stabilire una connessione con l'altro terminale. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Invio</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; sta inviando il file all'altro terminale. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ricezione</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; sta ricevendo il file dall'altro terminale. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Fatto</guilabel>
+ </term>
+ <listitem>
+ <para
+>Il file è stato trasferito con successo. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>In stallo</guilabel>
+ </term>
+ <listitem>
+ <para
+>Il trasferimento è stato avviato ma attualmente non sta procedendo. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Interrotto</guilabel>
+ </term>
+ <listitem>
+ <para
+>O hai fatto clic sul pulsante <guibutton
+>Interrompi</guibutton
+>, o l'altra persona ha interrotto il trasferimento. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Non riuscito</guilabel>
+ </term>
+ <listitem>
+ <para
+>È avvenuto un errore e il trasferimento non è riuscito. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>In coda</guilabel>
+ </term>
+ <listitem>
+ <para
+>Il trasferimento è stato accettato e comincerà quando il software sul lato ricevente risponderà. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ricerca</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; sta cercando di ottenere il numero IP del mittente. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ripristino</guilabel>
+ </term>
+ <listitem>
+ <para
+>Quando comincia un trasferimento ma il file esiste già sul sistema dell'utente, verrà chiesto all'utente <interface
+>Il file esiste già. Riprendere il trasferimento?</interface
+> Questo stato indica che l'utente ha ripreso il trasferimento. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>Quando qualcuno vuole inviarti un file, sarà creata la scheda <guilabel
+>Stato DCC</guilabel
+> (se non è già stata creata). Fai clic sulla scheda <guilabel
+>Stato DCC</guilabel
+> per mostrarla. Fai clic sul file per selezionarlo, quindi fai clic su questo pulsante per accettare il file e il trasferimento avrà inizio. <emphasis
+>Nota:</emphasis
+> Puoi configurare &konversation; per accettare automaticamente invii da altre persone scegliendo <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura Konversation</guisubmenu
+><guisubmenu
+>Impostazioni DCC</guisubmenu
+></menuchoice
+> nel menu principale. </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Se hai problemi a inviare o ricevere file, potrebbe essere il tuo firewall o router che sta bloccando le porte DCC. Vedi <link linkend="faq"
+>Domande e risposte</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Integrazione con &kaddressbook;</title>
+
+<para
+>Puoi associare qualsiasi nick con un contatto di &kaddressbook;. Una volta che l'hai fatto, &konversation; mostrerà il vero nome del contatto tra parentesi dopo il nick, nel <interface
+>Pannello dei nick</interface
+>. </para>
+
+<para
+>Per associare un nick con un contatto di &kaddressbook;, fai clic con il &RMB; sul nick della persona nel <interface
+>Pannello dei nick</interface
+> della schermata <link linkend="channel-screen-tour"
+>Principale</link
+>. Scegli <menuchoice
+><guisubmenu
+>Chi è</guisubmenu
+></menuchoice
+> per <action
+>mostrare delle informazioni per aiutarti a determinare il vero nome dell'utente</action
+>. Poi, rifai clic con il &RMB; sul nick della persona e scegli <menuchoice
+><guisubmenu
+>Associazioni della rubrica</guisubmenu
+></menuchoice
+>. <action
+>Apparirà un sottomenu</action
+>. Se il nick non è già associato a un contatto, scegli <menuchoice
+><guisubmenu
+>Crea nuovo contatto</guisubmenu
+></menuchoice
+>. <action
+>Apparirà la schermata <guilabel
+>Modifica contatto</guilabel
+></action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La schermata Modifica contatto.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata Modifica contatto.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>Il nick è inserito automaticamente qui. Se conosci il nome vero della persona, sostituiscilo al nick. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Nota che il nick <emphasis
+>non</emphasis
+> appare qui. Invece, ..</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>Fai clic qui. Apparirà la finestra <guilabel
+>Indirizzi IM</guilabel
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>La finestra Indirizzi IM.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>La finestra Indirizzi IM.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Nota che &konversation; ti inserisce il nick con il protocollo <guilabel
+>IRC</guilabel
+>. </para>
+
+<para
+>Vedi il <ulink url="help:kaddressbook"
+>Manuale di &kaddressbook;</ulink
+> per istruzioni aggiuntive sull'uso della rubrica di &kde;.</para>
+
+<para
+>Inserisci qualsiasi informazione aggiuntiva sul nick che sai e fai clic su <guilabel
+>OK</guilabel
+>. Il nome vero della persona apparirà tra parentesi di fianco al nick nel <guilabel
+>Pannello dei nick</guilabel
+> di &konversation;. Il nome vero apparirà anche quando il mouse passerà sopra il nick.</para>
+
+<para
+>Una volta che un nick è stato associato a un contatto di &kaddressbook;, puoi fare clic con il &RMB; sul nick della persona nel <interface
+>Pannello dei nick</interface
+> e modificare il contatto associato, associare in nick a un contatto diverso, o eliminare l'associazione. </para>
+
+<para
+>Se hai associato un nick con un contatto e l'utente cambia il suo nick mentre stai usando &konversation;, &konversation; assocerà automaticamente il nuovo nick con il contatto, mantenendo anche l'associazione originale.</para>
+
+<para
+>Se associ un nick &irc; con un contatto in <ulink url="help:kopete"
+>&kopete;</ulink
+>, l'associazione apparirà anche in &konversation; e viceversa.</para>
+
+<para
+>Nota: è possibile evidenziare più di un nick nel <interface
+>Pannello dei nick</interface
+>, fai clic con il &RMB; e fai associazioni multiple. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>Raccogliere &URL; dai messaggi</title>
+
+<para
+>In qualsiasi <link linkend="channel-screen-tour"
+>canale</link
+>, gli utenti a volte pubblicano gli &URL; di siti interessanti o altre risorse del Web. Puoi fare doppio clic su uno qualsiasi di questi &URL;, e &konversation; avvierà l'applicazione associata con l'&URL;. L'applicazione dipende dal tipo &MIME; dell'&URL;. Per esempio un &URL; che cominci per <interface
+>http:</interface
+> attiverà il tuo browser Web predefinito di &kde; e mostrerà la pagina web (Puoi anche specificare quale <link linkend="webbrowser"
+>browser Web</link
+> usare). Se l'&URL; scorre oltre la schermata, potresti aver problemi a ritrovarlo. &konversation; può tenerti un comodo elenco di tutti gli &URL;. Per attivare questa funzionalità, scegli <menuchoice
+><guisubmenu
+>Finestre</guisubmenu
+><guisubmenu
+>Raccoglitore di &url;</guisubmenu
+></menuchoice
+> nel menu principale. <action
+>Sarà creata una nuova scheda chiamata <guilabel
+>Raccoglitore di &url;</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>La scheda Raccoglitore di &url;.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La scheda Raccoglitore di &url;.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>Questo è l'elenco di &URL; visti da quando hai avviato &konversation;. La colonna <guilabel
+>Nick</guilabel
+> è il nick della persona che ha pubblicato la &nickname;. Se il nick è vuoto, la &url; è apparsa in una scheda <interface
+>Messaggi del server</interface
+> (gli &URL; che appaiono in messaggi di entrata e di uscita non sono elencati). Fai clic su un &URL; per selezionarlo.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Fai clic qui per attivare l'applicazione associata con l'&URL; selezionato. L'applicazione avviata dipende dal tipo &MIME; dell'&URL;. Per esempio, un &URL; che comincia per <interface
+>http:</interface
+> attiverà il tuo browser Web predefinito e mostrerà la pagina Web. Per le pagine Web, puoi anche specificare il <link linkend="webbrowser"
+>browser Web</link
+> da usare.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Fai clic qui per copiare l'&URL; selezionato agli appunti di &kde;.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Fai clic qui per eliminare l'&URL; selezionato dall'elenco.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Fai clic qui per salvare l'elenco di &URL; su un file.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Fai clic qui per pulire l'elenco.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Impostare il tuo browser Web preferito</title>
+
+<para
+>Quando fai clic su un &URL; evidenziato da qualsiasi parte in &konversation;, verrà avviata l'applicazione predefinita di &kde; associata al tipo &MIME; dell'&URL;. Per esempio, quando si fa clic su un &URL; che comincia per <interface
+>http</interface
+>, viene avviato &konqueror; per mostrare la pagina Web. Puoi specificare un'applicazione diversa da quella predefinita di &kde;. Per esempio, puoi usare Mozilla. </para>
+
+<para
+>Per scegliere un browser diverso, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+><guisubmenu
+>Configura &konversation;</guisubmenu
+></menuchoice
+> sul menu principale. <action
+>Apparirà la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>La schermata browser Web</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>La schermata browser Web</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Fai clic qui per mostrare la schermata <guilabel
+>Browser Web</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Fai clic qui per specificare che vuoi usare un browser Web personalizzato.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Inserisci il comando per lanciare il tuo browser desiderato. Quando fai clic su un &URL; <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> sarà sostituito con l'&URL;.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Suggerimento:</emphasis
+> (solo sistemi &UNIX;) il comando predefinito è <userinput
+>mozilla '%u'</userinput
+>, che avvierà una nuova sessione di Mozilla ogni volta che fai clic su un &URL;. Se preferisci che Mozilla mostri la pagina Web in una nuova scheda di una sessione già avviata, crea un file contenente ciò che segue: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Chiama il file <userinput
+><replaceable
+>moz</replaceable
+></userinput
+>, mettilo nel PATH, e rendilo eseguibile (<userinput
+>chmod a+x moz</userinput
+>). Quindi inserisci <userinput
+><replaceable
+>moz '%u'</replaceable
+></userinput
+> per il comando per il browser Web nella schermata sopra. </para>
+
+<para
+><emphasis
+>Nota:</emphasis
+> l'impostazione <guilabel
+>Browser Web</guilabel
+> non si applica a &URL; <interface
+>mailto:</interface
+>. <interface
+>mailto:</interface
+> avvierà sempre il programma di posta predefinito di &kde;. </para>
+
+<para
+>Fai clic su <guibutton
+>Applica</guibutton
+> per salvare i tuoi cambiamenti. Devi riconnetterti a ciascun server e canale per rendere effettivi i cambiamenti. Il modo più semplice di farlo è terminare e riavviare &konversation;. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Segnale i log dei canali e delle conversazioni private</title>
+
+<para
+>Puoi un inserire un marcatore nelle schermate <link linkend="channel-screen-tour"
+>canale</link
+> e <link linkend="query"
+>conversazione privata</link
+> per aiutarti a localizzare rapidamente delle informazioni. Per farlo, scegli <menuchoice
+> <guisubmenu
+>Inserisci</guisubmenu
+><guisubmenu
+>Segnariga</guisubmenu
+> </menuchoice
+> nel menu principale, o premi <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>Apparirà una riga in fondo al testo dello schermo. La riga scorrerà con il resto del testo nello schermo.</action
+> </para>
+
+<para
+>Per fare in modo che il <interface
+>Segnariga</interface
+> sia subito inserito in tutti i canali e conversazioni private, scegli <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+></menuchoice
+> nel menu principale, espandi <guilabel
+>Comportamento</guilabel
+>, fai clic su <guilabel
+>Finestra di chat</guilabel
+>, e segna la casella <guilabel
+>Mostra i segnarighe in tutti i canali/conversazioni private</guilabel
+>. </para>
+
+<para
+>Per far inserire a &konversation; un <interface
+>Segnariga</interface
+> ogni volta che esegui un comando <userinput
+><command
+>/away</command
+> <replaceable
+>msg</replaceable
+></userinput
+>, vedi <link linkend="identity-away"
+>Impostare la tua identità</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Log</title>
+
+<para
+>Se il log è abilitato, &konversation; manterrà un registro di ogni sessione dei <interface
+>Server</interface
+>, <link linkend="channel-screen-tour"
+>Canale</link
+>, e <link linkend="query"
+>Conversazione privata</link
+>. Ogni sessione è conservata su disco in un file di log. Quando riapri la stessa sessione, &konversation; aggiunge al log. Il log cresce fino a un limite che puoi impostare (vedi sotto). Quando il limite è raggiunto, vengono cancellati i messaggi più vecchi. </para>
+
+<para
+>Ogni volta che riapri una sessione, circa gli ultimi 1024 caratteri della sessione precedente sono letti dalla coda del log e visualizzati sullo schermo. </para>
+
+<para
+>Mentre la tua sessione continua, i messaggi scorrono dalla cima dello schermo. Puoi scorrere all'indietro per vedere questi messaggi. Alla fine, per risparmiare memoria, i messaggi più vecchi sono cancellati dallo schermo. Questo si chiama <guilabel
+>Limite di scorrimento all'indietro</guilabel
+>. I messaggi che spariscono dallo schermo a causa del <guilabel
+>Limite di scorrimento all'indietro</guilabel
+> sono ancora disponibili nel file di log, se il log è abilitato.</para>
+
+<para
+>Per visualizzare il file di log di una sessione, fai clic sulla linguetta della sessione per renderla la sessione corrente, e scegli <menuchoice
+> <guisubmenu
+>Finestra</guisubmenu
+><guisubmenu
+>Apri file di log</guisubmenu
+> </menuchoice
+> dal menu principale. <action
+>Apparirà una nuova scheda</action
+> che visualizzerà il file di log. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>File di log</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>File di log</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>I messaggi nel file di log sono visualizzati qui. I messaggi più vecchi sono in cima, e quelli più recenti sono in fondo.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Fai clic su questo pulsante per salvare il file di log in un altro file.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Fai clic per aggiornare la visualizzazione del file di log. Mentre guardi un file di log, i nuovi messaggi nella sessione corrispondente <emphasis
+>non</emphasis
+> sono aggiunti automaticamente alla visualizzazione del file di log. Usa questo pulsante per vedere i messaggi più recenti.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Fai clic per cancellare la visualizzazione del file di log e il file di log sul disco.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Usa questa casella per impostare la dimensione massima del file di log. Questa impostazione non avrà effetto finché non riavvierai &konversation;. Ogni file di log può avere un'impostazione diversa.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>Il <guilabel
+>Limite di scorrimento all'indietro</guilabel
+> può essere cambiato scegliendo <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura &konversation;</guisubmenu
+></menuchoice
+> nel menu principale, quindi espandendo <guilabel
+>Comportamento</guilabel
+> e facendo clic su <guilabel
+>Finestra di chat</guilabel
+>. La casella <guilabel
+>Limite di scorrimento all'indietro</guilabel
+> appare in questa schermata. Se la imposti a <guilabel
+>Illimitato</guilabel
+>, i messaggi non sono cancellati dallo schermo. </para>
+
+<para
+>Puoi abilitare o disabilitare il log e impostare altre opzioni di log scegliendo <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura &konversation;</guisubmenu
+></menuchoice
+> nel menu principale, quindi espandendo <guilabel
+>Comportamento</guilabel
+> e facendo clic su <guilabel
+>Log</guilabel
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>Comandi di &konversation;</title>
+
+<para
+>I comandi seguenti sono interpretati da &konversation; e potrebbero essere diversi dai comandi &irc; standard. Gli elementi tra parentesi quadre sono opzionali. Gli elementi separati da barre (|) sono forme alternative del comando. I comandi non elencati qui sono inviati al server come sono stati inseriti. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> al canale preceduto dal tuo nick. Per esempio, se il tuo nick fosse <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, scrivere <userinput
+><replaceable
+>/me fa una tazza di tè</replaceable
+></userinput
+> mostrerebbe il messaggio <interface
+>Tux fa una tazza di tè</interface
+>. A meno che abbiano filtrato questo tipo di messaggi, tutti gli utenti lo vedranno. Questo genere di messaggi è tipicamente usato per inviare messaggi non verbali, come il tuo stato emozionale attuale, o cosa stai facendo fisicamente. Se stai lasciando la tua macchina per poco tempo, usa piuttosto il comando /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Come il comando <userinput
+><command
+>/me</command
+></userinput
+> sopra, tranne che il messaggio è inviato a tutti i canali e conversazioni private che sono aperte su tutti i server con cui sei connesso con &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>canale</replaceable
+> <replaceable
+>[password]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Entra nel <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. Se il server lo permette, e se il canale non esiste già, viene creato e ne sei l'operatore. Se il canale richiede una password per poterci entrare, specificala con <userinput
+><replaceable
+>password</replaceable
+></userinput
+>. La maggior parte dei nomi dei canali comincia per <userinput
+><replaceable
+>#</replaceable
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>canale</replaceable
+> <replaceable
+>[password]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lo stesso di <userinput
+><command
+>/join</command
+></userinput
+> sopra.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[canale]</replaceable
+> <replaceable
+>[ragione]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lascia il <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> per una <userinput
+><replaceable
+>ragione</replaceable
+></userinput
+> e chiude la scheda <interface
+>canale</interface
+> corrispondente. All'interno di un canale di &konversation; o di una scheda di conversazione privata, puoi semplicemente inserire <userinput
+><command
+>/part</command
+></userinput
+> che chiude quel canale o conversazione privata con la tua ragione predefinita come data nelle <link linkend="identity"
+>Impostazioni</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[canale]</replaceable
+> <replaceable
+>[ragione]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lo stesso di <userinput
+><command
+>/part</command
+></userinput
+> sopra.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>Quando inserito in qualsiasi canale, conversazione privata o scheda DCC, disconnette dal server corrispondente e chiude tutte le schede di canali, conversazioni private, o DCC aperte su quel server.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>nick|canale</replaceable
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia il <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> all'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> o a tutti nel <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. Ciò che segue è un esempio di cosa appare quando sei nella scheda dei canali</para>
+
+<para
+><computeroutput
+>[17:14] [Comunicazione] Invio della comunicazione "Penso di capire" a #konversation</computeroutput
+></para>
+
+<para
+>E questo è quello che i destinatari vedono</para>
+
+<para
+><computeroutput
+>[17:15] [Comunicazione] -Eisfuchs- Penso di capire</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query</command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Crea una nuova scheda con il <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> dell'utente per una conversazione privata, comunemente nota su &irc; anche come <link linkend="query"
+>query</link
+>. Tutto ciò che è scritto qui è visibile solo a te a al tuo compagno di conversazione privata. Puoi inserire più di nick separati da spazi e una scheda di conversazione privata sarà aperta per ogni nick. Ognuna di queste schede saranno private tra te e il compagno di conversazione.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg</command
+> <replaceable
+>nick|canale</replaceable
+></userinput
+> <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia un messaggio privato all'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> o a tutti gli utenti nel <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. Al contrario di <userinput
+><command
+>/query</command
+></userinput
+>, non apre una nuova scheda. Se il <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> comincia con <userinput
+><command
+>/me </command
+></userinput
+>, il messaggio viene formattato allo stesso modo del comando <userinput
+><command
+>/me</command
+></userinput
+>.</para>
+
+<para
+>Esempi</para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs Ho bisogno di aiuto per il comando msg</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation È disponibile la nuova versione di Konvi!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs /me sta compilando adesso il manuale.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg </command
+><replaceable
+>nick|canale</replaceable
+></userinput
+> <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lo stesso che <userinput
+><command
+>/msg</command
+></userinput
+> eccetto che il messaggio non viene mostrato sul tuo schermo. È utile per evitare che password e altre informazioni sensibili rimangano esposte sul tuo schermo o siano registrate.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg </command
+><replaceable
+>nick|canale</replaceable
+></userinput
+> <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Come il comando <userinput
+><command
+>/msg</command
+></userinput
+> sopra, eccetto che il messaggio è inviato a tutti i canali e conversazioni private che hai aperto su tutti i server su cui sei connesso in &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op </command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando inserito in una scheda di canale, prova a dare privilegi di operatore del canale a <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>. Potrebbe non funzionare se ti mancano i privilegi sufficienti nel canale (devi essere tu stesso un operatore del canale). Puoi inserire più nick separati da spazi.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop </command
+><replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando inserito in una scheda di canale, toglie i privilegi di operatore del canale da <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>. Puoi inserire più nick separati da spazi.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper </command
+><replaceable
+>[nick]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Concede all'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> privilegi di operatore &irc; (amministratore). Funziona soltanto se il nick è elencato nella riga O: del server. Gli operatori &irc; hanno il privilegio di eseguire <userinput
+><command
+>/kill</command
+></userinput
+> sui nick, <userinput
+><command
+>/connect</command
+></userinput
+> sui server per connetterli alla rete &irc;, e altro. Se <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> non è inserito, cerca di concederti i privilegi di operatore &irc;. In ogni caso ti sarà chiesto il tuo nome utente da operatore &irc; e la password.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice </command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>In certi canali (con il flag +m), gli utenti non possono inviare messaggi a meno che abbiano i privilegi di parola. Questo comando prova a dare i privilegi di parola a <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>. Devi avere privilegi di operatore di canale per eseguire questo comando. Questo comando è usato per lo più quando sei operatore di un canale moderato.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice </command
+> <replaceable
+>nick</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Togli i privilegi di parola nel canale da <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic </command
+><replaceable
+>[canale]</replaceable
+> <replaceable
+>[messaggio]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Prova a impostare il titolo del <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> a <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+>. Quando inserito in una scheda di un canale, <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> può essere omesso e assume come valore predefinito il canale attivo della scheda. Se il <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> è omesso, mostra il titolo attuale del canale. Potrebbe non essere possibile cambiare il titolo di un canale se ti mancano i privilegi sufficienti.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>ragione</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Se qualcuno cerca di inviarti un messaggio privato o ti invita a un canale, gli sarà detto che sei via dalla tua macchina per una <userinput
+><replaceable
+>ragione</replaceable
+></userinput
+>. Per far tornare il tuo stato alla normalità, inserisci <userinput
+><command
+>/away</command
+></userinput
+> senza una ragione.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway </command
+> <replaceable
+>ragione</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Come il comando <userinput
+><command
+>/away</command
+></userinput
+> sopra, eccetto che il comando è inviato a tutti i server con cui sei connesso in &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>nick</replaceable
+> <replaceable
+>[canale]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invita l'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> a entrare in un <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. Questo comando è particolarmente utile se il canale è solo su invito. Quando inserito in una scheda di canale, <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> si può omettere.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec </command
+><replaceable
+>script</replaceable
+> <replaceable
+>[parametri]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Esegue lo script di shell compatibile di &konversation; chiamato <userinput
+><replaceable
+>script</replaceable
+></userinput
+>, passandogli dei <userinput
+><replaceable
+>parametri</replaceable
+></userinput
+>. Vedi <link linkend="scripting"
+>Scripting</link
+> per maggiori informazioni sull'uso e la scrittura degli script.</para>
+<para
+>Esempi:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Invia i numeri di versione di &kde; e &Qt; del tuo sistema al canale.</para>
+
+<para
+><userinput
+><replaceable
+>/exec comando uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Invia la tua stringa di versione di &Linux; al canale.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify </command
+><replaceable
+>[nick]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Aggiunge o rimuove un <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> dal tuo elenco dei <link linkend="nicksonline"
+>nick sorvegliati collegati</link
+>. Se il nick è già nell'elenco, ne è rimosso. Se non è nell'elenco, viene aggiunto. Se <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> è omesso, mostra l'elenco corrente dei nick sorvegliati.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>gruppo</replaceable
+>] [<command
+>list</command
+>|<replaceable
+>opzione</replaceable
+>] [<replaceable
+>valore</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Mostra o imposta le impostazioni di &konversation; senza usare la schermata Impostazioni. Se un parametro contiene spazi, mettilo tra virgolette.</para>
+
+<para
+>Esempi:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>elenca i gruppi di opzioni disponibili.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "Opzioni generali" list</replaceable
+></userinput
+></para>
+
+<para
+>elenca le opzioni disponibili nel gruppo <userinput
+><replaceable
+>Opzioni generali</replaceable
+></userinput
+> insieme ai loro valori attuali</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "Opzioni generali" MostraIconaVassoio</replaceable
+></userinput
+></para>
+
+<para
+>Mostra il valore attuale dell'impostazione per mostrare l'icona di &konversation; nel vassoio di sistema.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "Opzioni generali" MostraIconaVassoio false</replaceable
+></userinput
+></para>
+
+<para
+>Togli l'icona di &konversation; dal vassoio di sistema.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick </command
+><replaceable
+>nick</replaceable
+> <replaceable
+>ragione</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando inserito in una scheda di canale, prova a cacciare l'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> dal canale con una <userinput
+><replaceable
+>ragione</replaceable
+></userinput
+>. Se la <userinput
+><replaceable
+>ragione</replaceable
+></userinput
+> non è inserita, assume come valore predefinito la ragione nelle <link linkend="identity"
+>Impostazioni</link
+>. Questo comando può essere usato solo all'interno di una scheda di canale.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[canale]</replaceable
+> <replaceable
+>utente</replaceable
+>|<replaceable
+>maschera</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Prova a mettere al bando l'<userinput
+><replaceable
+>utente</replaceable
+></userinput
+> o la <userinput
+><replaceable
+>maschera</replaceable
+></userinput
+> dal <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. Quando inserito in una scheda di canale, <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> può essere omesso. Per maggiori informazioni su host, domini e maschere, vedi il documento a <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Per avere l'elenco attuale degli utenti messi al bando di un canale, inserisci <userinput
+><command
+>/mode</command
+><replaceable
+>canale</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban </command
+> <replaceable
+>[canale]</replaceable
+> <replaceable
+>schema</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Annulla una messa al bando antecedente nel canale. Quando inserito in una scheda di canale, <userinput
+><replaceable
+>canale</replaceable
+></userinput
+> può essere omesso. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore </command
+> [<command
+>-all</command
+>] <replaceable
+>nick</replaceable
+> </userinput
+></term>
+<listitem
+><para
+>Aggiunge <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> al tuo elenco da ignorare. Puoi specificare più nick separati da spazi. I messaggi sul canale provenienti da utenti nel tuo elenco da ignorare non sono visualizzati. Inoltre, se inserisci <userinput
+><command
+>-all</command
+></userinput
+>, tutti i tipi di messaggio (conversazioni private, &CTCP;, DCC ed eccezioni) dall'utente sono ignorati come i messaggi sul canale. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote </command
+> <replaceable
+>comando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia un <userinput
+><replaceable
+>comando</replaceable
+></userinput
+> al server. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say</command
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando inserito in una scheda di canale, invia un <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> al canale. Ciò è lo stesso che inserire il <userinput
+><replaceable
+>messaggio</replaceable
+></userinput
+> nella <interface
+>linea di input</interface
+> del canale. Utile per inviare comandi &irc; quando non vuoi eseguire il comando. Due caratteri di comando (//) in fila fanno la stessa cosa di <userinput
+><command
+>/say</command
+></userinput
+>. Usato anche dagli <link linkend="scripting"
+>script</link
+> per inviare messaggi. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Mette il log del server in modalità grezza (<command
+>open</command
+>) o chiude la modalità grezza (<command
+>close</command
+>). Se non viene specificato né <command
+>open</command
+> né <command
+>close</command
+>, assume <command
+>open</command
+>. In modalità grezza, il log visualizza ogni messaggio ricevuto dal server in formato &irc; nativo. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Apre una nuova scheda con la &konsole; di &kde;. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server </command
+> <replaceable
+>[url]</replaceable
+> <replaceable
+>[password]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Connette al server all'indirizzo <userinput
+><replaceable
+>url</replaceable
+></userinput
+>. Se <userinput
+><replaceable
+>url</replaceable
+></userinput
+> è omesso, connette al server associato alla scheda dove inserisci il comando. È utile per riconnettersi a un server dopo una disconnessione. Se il server richiede una password per connettersi, inseriscila al posto di <userinput
+><replaceable
+>password</replaceable
+></userinput
+>. Se il server richiede un numero di porta diverso dal predefinito (6667), inserisci l'<userinput
+><replaceable
+>url</replaceable
+></userinput
+> come segue <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+> <command
+>SEND </command
+><replaceable
+>nick</replaceable
+> <replaceable
+>[nome file]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia <userinput
+><replaceable
+>nome file</replaceable
+></userinput
+> all'utente con nick <userinput
+><replaceable
+>nick</replaceable
+></userinput
+>. Se <userinput
+><replaceable
+>nome file</replaceable
+></userinput
+> è omesso, appare un dialogo per selezionare un file. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Apre una scheda di stato DCC. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>nick|canale</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Invia un messaggio di PING a un <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> o <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. È utile per determinare se qualcuno con cui stai parlando ha un grande ritardo di connessione, o (quando inviato a un canale) se è il tuo sistema ad avere un grande ritardo. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>nick|canale</replaceable
+> <replaceable
+>messaggio</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Invia un messaggio a <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> o a tutti gli utenti nel <userinput
+><replaceable
+>canale</replaceable
+></userinput
+>. È simile al comando <userinput
+><command
+>/msg</command
+></userinput
+> sopra, eccetto che il messaggio è inviato usando il protocollo &CTCP;. La risposta dall'altro capo dipende dal programma client &irc; che l'utente sta usando. Per esempio, quando stai conversando con un altro utente di &konversation;, <userinput
+><replaceable
+>/ctcp Eisfuchs TIME</replaceable
+></userinput
+> restituirà l'ora di sistema sul computer di Eisfuchs. <userinput
+><replaceable
+>/ctcp Eisfuchs VERSION</replaceable
+></userinput
+> restituirà il numero di versione di &konversation; sul computer di Eisfuchs. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Scripting</title>
+
+<para
+>&konversation; ha alcuni script utili che puoi eseguire dal programma. Per eseguire uno script in una scheda di canale, conversazione privata, DCC o server, scrivi un comando nella forma</para>
+
+<para
+><userinput
+><command
+>/exec </command
+> <replaceable
+>script</replaceable
+> [<replaceable
+>parametri</replaceable
+>]</userinput
+></para>
+
+<para
+>che esegue lo script chiamato <userinput
+><replaceable
+>script</replaceable
+></userinput
+> passandogli dei <userinput
+><replaceable
+>parametri</replaceable
+></userinput
+> (opzionali).</para>
+
+<para
+>Per esempio, scrivi il comando seguente nella scheda di un canale</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>per inviare i tuoi numeri di versione di &kde; e &Qt; al canale.</para>
+
+<para
+><userinput
+><replaceable
+>/exec comando uname -a</replaceable
+></userinput
+></para>
+
+<para
+>esegue lo script <userinput
+><replaceable
+>commando</replaceable
+></userinput
+>, passandogli <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+>. Invia la tua stringa della versione di &Linux; al canale.</para>
+
+<para
+>Per avere un elenco di tutti gli script disponibili, scrivi il comando seguente in uno schermo di &konsole;.</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Puoi scrivere i tuoi script. Gli script sono script di shell e possono essere scritti in qualsiasi linguaggio di shell, come bash, perl, o python. Quando &konversation; esegue uno script, i primi tre parametri inviati allo script sono:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>Il numero di porta per il server &irc; della scheda dove è stato inserito il comando <userinput
+><command
+>/exec</command
+></userinput
+>.</para>
+</listitem>
+
+<listitem
+><para
+>L'indirizzo del server.</para
+></listitem>
+
+<listitem
+><para
+>Il nome del canale.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Ecco uno script shell di esempio (comando).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Esegue un comando e stampa l'output in Konversation.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para
+>Nota che lo script usa &DCOP; per comunicare con &konversation;. Il comando <computeroutput
+>say</computeroutput
+> fa inviare l'output al canale come messaggio normale. Per mostrare qualcosa nella scheda senza inviarla ad altri utenti, usa piuttosto <computeroutput
+>info</computeroutput
+>. Guarda i file script esistenti per ulteriori esempi di come scrivere script.</para>
+
+<para
+>Per poter eseguire uno script che hai scritto tu, devi installarlo copiandolo in $KDEDIR/share/apps/konversation/scripts o in $HOME/.kde/share/apps/konversation/scripts. Devi anche dare al file privilegi di esecuzione, per esempio <userinput
+><replaceable
+>chmod a+x mioscript</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Riferimento comandi</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>La finestra principale di &konversation;</title>
+
+<sect2>
+<title
+>Il menu File</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F2</keycap
+> </shortcut
+> <guimenu
+>File</guimenu
+> <guimenuitem
+>Elenco dei server</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra l'<link linkend="irc-basics"
+>elenco dei server e canali</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F7</keycap
+> </shortcut
+> <guimenu
+>File</guimenu
+> <guimenuitem
+>Connessione rapida</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra la schermata <link linkend="list-channels"
+>Connessione rapida</link
+> per connettersi a un server. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>File</guimenu
+> <guimenuitem
+>Riconnetti</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Si riconnette a tutti i server che sono stati disconnessi per un errore di rete o per un altro problema. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>File</guimenu
+> <guimenuitem
+>Entra nel canale</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Visualizza una finestra per inserire il nome di un canale in cui entrare. Fa la stessa cosa di inserire <command
+>/join <userinput
+>#nomecanale</userinput
+></command
+> in una scheda di canale o server.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>File</guimenu
+> <guimenuitem
+>Imposta come assente globalmente</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Cambia lo stato del tuo nick ad assente in tutti i canali. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+></shortcut
+> <guimenu
+>File</guimenu
+> <guimenuitem
+>Esci</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Esce</action
+> da &konversation;</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Modifica</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Modifica</guimenu
+> <guimenuitem
+>Trova</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Cerca stringhe di testo nella schermata attuale.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F3</keycap
+> </shortcut
+> <guimenu
+>Modifica</guimenu
+> <guimenuitem
+>Trova successivo</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Cerca di nuovo stringhe di testo nella schermata attuale usando la stringa di ricerca precedente.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Modifica</guimenu
+> <guimenuitem
+>Pulisci finestra</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Pulisce la schermata corrente.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Modifica</guimenu
+> <guimenuitem
+>Pulisci tutte le finestre</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Pulisce tutte le schermate.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Inserisci</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserisci</guimenu
+> <guimenuitem
+>Colore &irc;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Vedi <link linkend="color-msgs"
+>Inviare messaggi colorati</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserisci</guimenu
+> <guimenuitem
+>Segnariga</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Vedi <link linkend="rememberlines"
+>Segnare log di canali e conversazioni private</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserisci</guimenu
+> <guimenuitem
+>Carattere speciale</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Usato per inserire caratteri speciali, come i caratteri stranieri.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Segnalibri</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Segnalibri</guimenu
+> <guimenuitem
+>Aggiungi segnalibro</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Aggiunge un segnalibro per la rete e il canale attuali</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Segnalibri</guimenu
+> <guimenuitem
+>Modifica segnalibri</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Apre l'editor dei segnalibri</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Segnalibri</guimenu
+> <guimenuitem
+>Nuova cartella di segnalibri</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Crea una nuova cartella di segnalibri</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Impostazioni</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Nascondi la barra dei menu</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Nasconde la barra dei menu. Premi <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> per farla riapparire.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Nascondi barra degli strumenti</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Nasconde la barra degli strumenti.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+><guimenuitem
+>Nascondi la barra di stato</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Nasconde la barra di stato in fondo allo schermo principale.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Identità</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra la schermata <link linkend="identity"
+>Identità</link
+> per impostare le tue informazioni di identificazione. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+><guimenuitem
+>Configura scorciatoie</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Ti permette di cambiare le scorciatoie da tastiera di &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+> <guimenuitem
+>Configura barre degli strumenti</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Ti permette di aggiungere o rimuovere pulsanti dalla barra degli strumenti di &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+><guimenuitem
+>Configura notifiche</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata <link linkend="cfg-notifications"
+>Impostazioni notifiche</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Impostazioni</guimenu
+><guimenuitem
+>Configura &konversation;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata <guilabel
+>Modifica preferenze</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Finestra</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Scheda precedente</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata corrispondente alla scheda precedente.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Scheda successiva</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata corrispondente alla scheda successiva.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Chiudi scheda</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Chiude la schermata attuale. Se si chiude un canale, lascia il canale. Se si chiude una scheda <interface
+>Messaggi del server</interface
+>, chiude tutti i canali aperti su quel server e si disconnette dal server. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F11</keycap
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Chiudi tutte le conversazioni private aperte</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Chiude tutte le <link linkend="query"
+>conversazioni private</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Nascondi l'elenco dei nick</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Nasconde (o visualizza) il pannello dei nick nelle schede dei canali. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F4</keycap
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Nick sorvegliati collegati</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata <guilabel
+>Nick sorvegliati collegati</guilabel
+>. Vedi <link linkend="nicksonline"
+>Controllare chi è collegato</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Elenco dei canali</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra un <link linkend="list-channels"
+>elenco di canali</link
+> disponibili sul server.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F6</keycap
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Raccogliotore di &url;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra la schermata <link linkend="urlcatcher"
+>Raccoglitore di &url;</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Nuova Konsole</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra una schermata di terminale. Puoi aprire tante schede <guilabel
+>Konsole</guilabel
+> quante vuoi.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Finestra</guimenu
+> <guimenuitem
+>Apri file di log</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra una schermata con il log dei messaggi della scheda attuale. Funziona solo per schede di <interface
+>Canale</interface
+>, <interface
+>Messaggi del server</interface
+> e <interface
+>Conversazioni private</interface
+>. L'attività di log deve essere attivata in <menuchoice
+><guisubmenu
+>Impostazioni</guisubmenu
+> <guisubmenu
+>Configura Konversation</guisubmenu
+> <guisubmenu
+>Comportamento</guisubmenu
+> <guisubmenu
+>Log</guisubmenu
+></menuchoice
+> nel menu principale. </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Il menu <guimenu
+>Aiuto</guimenu
+></title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Domande e risposte</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>Quando avvio &konversation;, vorrei connettermi a un server senza entrare in nessun canale. Come si fa?</para>
+</question>
+<answer>
+<para
+>Nella schermata <link linkend="serverlist-addnetwork"
+>Modifica server</link
+>, lascia vuoto il riquadro <guilabel
+>Canali</guilabel
+>.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>&konversation; non vuole connettersi a nessun server. Cosa c'è che non va?</para>
+</question>
+<answer>
+<para
+>Potrebbero non andare un po' di cose.</para>
+<orderedlist>
+<listitem>
+<para
+>Assicurati di aver inserito il <guilabel
+>Nome del server</guilabel
+> giusto e la <guilabel
+>Porta</guilabel
+> giusta nella schermata <link linkend="serverlist-addserver"
+>Elenco dei server</link
+>. </para>
+</listitem>
+<listitem>
+<para
+>Controlla se ci sono messaggi d'errore nell'output nella schermata <link linkend="channel-screen-tour"
+>Messaggi del server</link
+>. Il server ha rifiutato la connessione a causa di una password sbagliata? Il server ha rifiutato la connessione perché richiede <acronym
+>IDENTD</acronym
+> e il tuo sistema non ha risposto alla richiesta <acronym
+>IDENT</acronym
+>? Hai segnato la casella del protocollo SSL ma il server non supporta SSL? </para>
+</listitem>
+<listitem>
+<para
+>Se sei dietro un firewall, assicurati che le porte giuste siano attivate. &konversation; ha bisogno delle seguenti porte attivate: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>TCP 6667 in uscita (o la porta del server a cui ti connetti)</para
+></listitem>
+<listitem
+><para
+>TCP 113 in arrivo (se il server richiede IDENTD)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>Per maggiori informazioni sui problemi di connessione in &irc;, riferisciti a <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>Quando vado a <menuchoice
+><guisubmenu
+>Finestra</guisubmenu
+><guisubmenu
+>Elenco dei canali</guisubmenu
+></menuchoice
+>, non posso selezionarlo. Perché?</para>
+</question>
+<answer>
+<para
+>La voce di menu <menuchoice
+><guisubmenu
+>Finestre</guisubmenu
+><guisubmenu
+>Elenco dei canali</guisubmenu
+></menuchoice
+> sarà scritta in grigio e inaccessibile se una scheda non di canale, per esempio <guilabel
+>Nick sorvegliati collegati</guilabel
+>, è attualmente visualizzata. Per farla tornare selezionabile, torna a una scheda di canale o alla scheda dei server. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Riconoscimenti e licenza</title>
+
+<para
+>&konversation; </para>
+<para
+>Copyright del programma 2002-2005 della squadra di &konversation;. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Hanno contribuito: <itemizedlist>
+<listitem
+><para
+>Dario Abatianni <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Peter Simonsson <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Christian Muehlhaeuser <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>John Tapsel <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Ismail Donmez <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Shintaro Matsuoka <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Gary Cramblitt <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Matthias Gierlings <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>&Alex.Zepeda; <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Stanislav Karchebny <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Mickael Marchand <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Grazie a: <itemizedlist>
+<listitem
+><para
+>Michael Goettsche <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Benjamin Meyer <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Jacub Stachowski <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Sabastian Sariego <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Olivier Bedard <email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Frauke Oster <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Lucijan Busch <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Sascha Cunz <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Steve Wollkind <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Thomas Nagy <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Tobias Olry <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Ruud Nabben <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Copyright della documentazione &copy; 2003-2005 di Gary R. Cramblitt <email
+>garycramblitt@comcast.net</email
+> </para>
+
+<para
+>Federico Zenith<email
+>zenith@chemeng.ntnu.no</email
+></para
+>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installazione</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>Come ottenere &konversation;</title>
+&install.intro.documentation; <para
+>Le ultime versioni di &konversation;, inclusi il codice sorgente e istruzioni di compilazione, possono essere ottenute dalla <ulink url="&konviwebsite;"
+>pagina Web di &konversation;</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Requisiti</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>Per usare &konversation;, hai bisogno di &kde; 3.2 o successivo, e di una connessione di rete. Su versioni precedenti di &kde; alcune funzionalità potrebbero mancare. Se userai &konversation; da dietro un firewall, vedi <link linkend="faq"
+>Domande e risposte</link
+>. Se vuoi usare un protocollo SSL, potresti aver bisogno di OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/it/nicksonline_co.png b/doc/it/nicksonline_co.png
new file mode 100644
index 0000000..72cb251
--- /dev/null
+++ b/doc/it/nicksonline_co.png
Binary files differ
diff --git a/doc/it/notification_screen_co.png b/doc/it/notification_screen_co.png
new file mode 100644
index 0000000..0214750
--- /dev/null
+++ b/doc/it/notification_screen_co.png
Binary files differ
diff --git a/doc/it/notifylist_screen_co.png b/doc/it/notifylist_screen_co.png
new file mode 100644
index 0000000..ebb9547
--- /dev/null
+++ b/doc/it/notifylist_screen_co.png
Binary files differ
diff --git a/doc/it/osd_demo.png b/doc/it/osd_demo.png
new file mode 100644
index 0000000..f5ff785
--- /dev/null
+++ b/doc/it/osd_demo.png
Binary files differ
diff --git a/doc/it/osd_screen_co.png b/doc/it/osd_screen_co.png
new file mode 100644
index 0000000..666b7e2
--- /dev/null
+++ b/doc/it/osd_screen_co.png
Binary files differ
diff --git a/doc/it/quickbuttons_screen.png b/doc/it/quickbuttons_screen.png
new file mode 100644
index 0000000..cf7eaaa
--- /dev/null
+++ b/doc/it/quickbuttons_screen.png
Binary files differ
diff --git a/doc/it/quickconnect_screen.png b/doc/it/quickconnect_screen.png
new file mode 100644
index 0000000..fe5f8b2
--- /dev/null
+++ b/doc/it/quickconnect_screen.png
Binary files differ
diff --git a/doc/it/serverlist_co.png b/doc/it/serverlist_co.png
new file mode 100644
index 0000000..b12b553
--- /dev/null
+++ b/doc/it/serverlist_co.png
Binary files differ
diff --git a/doc/konversation/Makefile.am b/doc/konversation/Makefile.am
new file mode 100644
index 0000000..e76f3ec
--- /dev/null
+++ b/doc/konversation/Makefile.am
@@ -0,0 +1,9 @@
+####### kdevelop will overwrite this part!!! (begin)##########
+
+SUBDIRS =
+
+####### kdevelop will overwrite this part!!! (end)############
+
+KDE_LANG = en
+KDE_DOCS = konversation
+
diff --git a/doc/konversation/addchannel.png b/doc/konversation/addchannel.png
new file mode 100644
index 0000000..e8a4727
--- /dev/null
+++ b/doc/konversation/addchannel.png
Binary files differ
diff --git a/doc/konversation/addnetwork_co.png b/doc/konversation/addnetwork_co.png
new file mode 100644
index 0000000..e9e8ae7
--- /dev/null
+++ b/doc/konversation/addnetwork_co.png
Binary files differ
diff --git a/doc/konversation/addserver_co.png b/doc/konversation/addserver_co.png
new file mode 100644
index 0000000..5dead32
--- /dev/null
+++ b/doc/konversation/addserver_co.png
Binary files differ
diff --git a/doc/konversation/channel_screen_co.png b/doc/konversation/channel_screen_co.png
new file mode 100644
index 0000000..6d70be8
--- /dev/null
+++ b/doc/konversation/channel_screen_co.png
Binary files differ
diff --git a/doc/konversation/channel_screen_tour_co.png b/doc/konversation/channel_screen_tour_co.png
new file mode 100644
index 0000000..fba877d
--- /dev/null
+++ b/doc/konversation/channel_screen_tour_co.png
Binary files differ
diff --git a/doc/konversation/channellist_screen_co.png b/doc/konversation/channellist_screen_co.png
new file mode 100644
index 0000000..b816da9
--- /dev/null
+++ b/doc/konversation/channellist_screen_co.png
Binary files differ
diff --git a/doc/konversation/checkidentities.png b/doc/konversation/checkidentities.png
new file mode 100644
index 0000000..1e00219
--- /dev/null
+++ b/doc/konversation/checkidentities.png
Binary files differ
diff --git a/doc/konversation/colorchooser_screen.png b/doc/konversation/colorchooser_screen.png
new file mode 100644
index 0000000..6fb1d15
--- /dev/null
+++ b/doc/konversation/colorchooser_screen.png
Binary files differ
diff --git a/doc/konversation/colorize.png b/doc/konversation/colorize.png
new file mode 100644
index 0000000..f03856d
--- /dev/null
+++ b/doc/konversation/colorize.png
Binary files differ
diff --git a/doc/konversation/configure.png b/doc/konversation/configure.png
new file mode 100644
index 0000000..7dce556
--- /dev/null
+++ b/doc/konversation/configure.png
Binary files differ
diff --git a/doc/konversation/dccstatus_screen_co.png b/doc/konversation/dccstatus_screen_co.png
new file mode 100644
index 0000000..983b3ff
--- /dev/null
+++ b/doc/konversation/dccstatus_screen_co.png
Binary files differ
diff --git a/doc/konversation/editserver_screen_co.png b/doc/konversation/editserver_screen_co.png
new file mode 100644
index 0000000..6fc3932
--- /dev/null
+++ b/doc/konversation/editserver_screen_co.png
Binary files differ
diff --git a/doc/konversation/first_channel_co.png b/doc/konversation/first_channel_co.png
new file mode 100644
index 0000000..7f897c9
--- /dev/null
+++ b/doc/konversation/first_channel_co.png
Binary files differ
diff --git a/doc/konversation/first_serverlist_co.png b/doc/konversation/first_serverlist_co.png
new file mode 100644
index 0000000..58c2995
--- /dev/null
+++ b/doc/konversation/first_serverlist_co.png
Binary files differ
diff --git a/doc/konversation/highlighting_screen_co.png b/doc/konversation/highlighting_screen_co.png
new file mode 100644
index 0000000..b78f6aa
--- /dev/null
+++ b/doc/konversation/highlighting_screen_co.png
Binary files differ
diff --git a/doc/konversation/identities_adv_co.png b/doc/konversation/identities_adv_co.png
new file mode 100644
index 0000000..7a09f04
--- /dev/null
+++ b/doc/konversation/identities_adv_co.png
Binary files differ
diff --git a/doc/konversation/identities_away_co.png b/doc/konversation/identities_away_co.png
new file mode 100644
index 0000000..aa6af8b
--- /dev/null
+++ b/doc/konversation/identities_away_co.png
Binary files differ
diff --git a/doc/konversation/identities_gen_co.png b/doc/konversation/identities_gen_co.png
new file mode 100644
index 0000000..c38511e
--- /dev/null
+++ b/doc/konversation/identities_gen_co.png
Binary files differ
diff --git a/doc/konversation/index.docbook b/doc/konversation/index.docbook
new file mode 100644
index 0000000..42f3a92
--- /dev/null
+++ b/doc/konversation/index.docbook
@@ -0,0 +1,3483 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym>IRC</acronym>">
+ <!ENTITY CTCP "<acronym>CTCP</acronym>">
+ <!ENTITY nickname "<acronym>nickname</acronym>">
+ <!ENTITY Nickname "<acronym>Nickname</acronym>">
+ <!ENTITY led "<acronym>LED</acronym>">
+ <!ENTITY osd "<acronym>OSD</acronym>">
+ <!ENTITY url "<acronym>URL</acronym>">
+ <!ENTITY mime "<acronym>MIME</acronym>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % English "INCLUDE"> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title>The &konversation; Handbook</title>
+
+<authorgroup>
+<author>
+<!-- This is just put in as an example. For real documentation, please
+ define a general entity in entities/contributor.entities, e.g.
+<!ENTITY George.N.Ugnacious "<personname><firstname>George</firstname><othername>N.</othername><surname>Ugnacious</surname></personname>">
+<!ENTITY George.N.Ugnacious.mail "<email>gnu@kde.org</email>">
+and use `&George.N.Ugnacious; &George.N.Ugnacious.mail;' in the author element.
+ -->
+<personname>
+<firstname>Gary</firstname>
+<othername>R.</othername>
+<surname>Cramblitt</surname>
+</personname>
+<email>garycramblitt@comcast.net</email>
+</author>
+<!-- TRANS:ROLES_OF_TRANSLATORS -->
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year>2003-2005</year>
+<holder>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date>2005-05-23</date>
+<releaseinfo>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para>
+&konversation; is a user-friendly &irc; client for the K Desktop Environment.
+</para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword>KDE</keyword>
+<keyword>kdeextragear-2</keyword>
+<keyword>Konversation</keyword>
+<keyword>irc</keyword>
+<keyword>internet relay chat</keyword>
+<keyword>chat</keyword>
+<keyword>communications</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics">If you haven't used &irc; before...</link> for more information
+See <link linkend="identity">Setting your identity</link> for more information
+See <link linkend="identity-away">Setting your identity</link> for more information
+See <link linkend="identity-advanced">Setting your identity</link> for more information
+See <link linkend="serverlist">Defining new networks, servers and auto join channels</link> for more information
+See <link linkend="serverlist-addnetwork">Defining new networks, servers and auto join channels</link> for more information
+See <link linkend="serverlist-addserver">Defining new networks, servers and auto join channels</link> for more information
+See <link linkend="serverlist-addchannel">Defining new networks, servers and auto join channels</link> for more information
+See <link linkend="list-channels">Listing available channels</link> for more information
+See <link linkend="channel-screen-tour">A tour of the main screen</link> for more information
+See <link linkend="quickconnect">Quick Connect</link> for more information
+See <link linkend="irc-cmds">Frequently-used &irc; commands</link> for more information
+See <link linkend="query">Private conversations (queries)</link> for more information
+See <link linkend="cfg-notifications">Setting notifications</link> for more information
+See <link linkend="nicksonline">Monitoring who is online</link> for more information
+See <link linkend="highlighting">Message highlighting</link> for more information
+See <link linkend="cfg-osd">Configuring On Screen Display (&osd;)</link> for more information
+See <link linkend="color-msgs">Sending colorful messages</link> for more information
+See <link linkend="nickthemes">Configuring &nickname; themes</link> for more information.
+See <link linkend="quick-buttons">Configuring Quick Buttons</link> for more information
+See <link linkend="dcc">Sending and receiving files</link> for more information
+See <link linkend="linkaddressbook">Integrating with &kaddressbook;</link> for more information
+See <link linkend="urlcatcher">Capturing &URL;s from messages.</link> for more information
+See <link linkend="webbrowser">Setting your preferred web browser.</link> for more information
+See <link linkend="rememberlines">Marking Channel and Query Logs</link> for more information
+See <link linkend="logging">Logging</link> for more information
+See <link linkend="konvi-cmds">&konversation; commands</link> for more information
+See <link linkend="scripting">Scripting</link> for more information
+See <link linkend="kapp-mainwindow">The main &konversation; window</link> for more information
+See <link linkend="getting-kapp">How to obtain &konversation;</link> for more information
+See <link linkend="requirements">Requirements</link> for more information
+
+-->
+
+<chapter id="introduction">
+<title>Introduction</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para>
+&konversation; is an &irc; client for &kde; 3.2 or later. It offers the following features:
+</para>
+
+<para>
+<itemizedlist>
+<listitem><para>SSL support.</para></listitem>
+<listitem><para>User-friendly tabbed interface.</para></listitem>
+<listitem><para>Customizable Quick Buttons for often-used commands</para></listitem>
+<listitem><para>Automatic reconnect and rejoin.</para></listitem>
+<listitem><para>DCC send and receive.</para></listitem>
+<listitem><para>&Nickname; watch list.</para></listitem>
+<listitem><para>Visual and auditory notifications for a wide variety of events, such as messages containing
+ your &nickname;, or &nickname;s on your watch list going online or offline.
+</para></listitem>
+<listitem><para>Customizable highlighting of messages by &nickname; or
+regular expression pattern.</para></listitem>
+<listitem><para>&Nickname; completion.</para></listitem>
+<listitem><para>Capture and save all &URL;s appearing in messages.</para></listitem>
+<listitem><para>On-screen display of messages, even when minimized.</para></listitem>
+<listitem><para>&Nickname; ignore list.</para></listitem>
+<listitem><para>Automatic logging and log management.</para></listitem>
+<listitem><para>Marking of lines in logs.</para></listitem>
+<listitem><para>Scripting.</para></listitem>
+<listitem><para>Integration with &kaddressbook;.</para></listitem>
+</itemizedlist>
+</para>
+
+<para>The &konversation; website is
+<ulink url="&konviwebsite;">&konviwebsite;</ulink>.
+ Questions and answers for &konversation; can be discussed on the
+ <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users">&konversation;-Users</ulink> mailing list. Please subscribe to learn about new features, bug reports and the like. To stay informed of new releases, you can join our
+ <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce">&konversation;-Announce</ulink> mailing list. This is a low volume mailing list only used to announce new releases or patches.
+</para>
+
+<para>Developers for &konversation; can often be contacted via &irc; at <ulink url="irc://irc.kde.org/%23konversation">irc.kde.org channel #konversation</ulink>.
+</para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title>Using &konversation;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title>If you haven't used &irc; before...</title>
+
+<para>Simply put, &irc; is a chat protocol, defined by official Internet
+standards, and capable of stealing many hours of your life. To use
+&irc;, you must connect to a server, and then join a channel (equivalent
+to a chat room) or just engage in private conversations.</para>
+
+<para>To connect to a server and channel, open &konversation;. The <guilabel>Server List</guilabel> screen appears.</para>
+
+<para>
+<screenshot>
+<screeninfo>Server List</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Server List</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"><para>The list of configured &irc;
+<guilabel>Networks</guilabel> are listed here. An &irc; network is a collection of cooperating servers. You need
+only connect to one of the servers in the network to be connected to the entire
+&irc; network. Once connected, &konversation; will automatically join the
+<guilabel>Channels</guilabel> shown. When &konversation; is started for the first time, the
+<userinput><replaceable>Freenode</replaceable></userinput> network
+and <userinput><replaceable>#kde</replaceable></userinput> channel are already entered for you. Click on a network to select it.</para></callout>
+<callout arearefs="pt-first-serverlist-2"><para>Click here to define a new <guilabel>Network</guilabel>, including the server
+to connect to, and the <guilabel>Channels</guilabel> to automatically join once connected. See <link linkend="serverlist">Defining new networks, servers, and auto join channels</link> for more information.</para></callout>
+<callout arearefs="pt-first-serverlist-3"><para>Click here to connect to the selected &irc; network and channel.</para></callout>
+</calloutlist>
+</para>
+
+<note>
+<para>When you click the <guibutton>Connect</guibutton> button the first time you open
+&konversation;, you may see the following message, telling you that your
+default <guilabel>identity</guilabel> is not set up correctly.</para>
+
+<para>
+<screenshot>
+ <screeninfo>Check Identities</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Check Identities</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>The first time you open &konversation; it obtains information
+about the current user from the operating system and fills in defaults
+for the Identity. If the operating system user information is not
+complete, for example, no Full Name is defined, you may see the message
+above. To correct this problem, click <guibutton>OK</guibutton> and
+see <link linkend="identity">Setting your identity</link> for more
+information.</para>
+</note>
+
+<para>
+The <interface>Main</interface> screen will be displayed showing the messages sent by the server to the client.
+(If &konversation; will not connect to the server, see <link linkend="faq">Questions and Answers</link>.) When the server messages have finished scrolling past, &konversation; will join the channel or channels chosen.
+</para>
+
+<para>
+<screenshot>
+<screeninfo>Channel.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Channel</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"><para>This is called the <interface>Input Line</interface>. To send a message to everyone in the channel, type the message here and press &Enter;.
+ Your message, as well as everyone else's messages appear in the channel scroll above.
+ Each message is preceded by the time and user's &nickname;.</para></callout>
+
+<callout arearefs="pt-first-channel-2"><para>You may join additional servers and channels. Each server, channel, channel list, and other screen gets a separate tab here.
+To display a list of available channels, see <link linkend="list-channels">Listing available channels</link>.
+To join a channel,
+type: <userinput><command>/join</command> <replaceable>#channelname</replaceable></userinput> in
+the Input Line. (The <userinput>#</userinput> is required.) You may also type <userinput><command>/j</command></userinput> as a shorthand to <userinput><command>/join</command></userinput>. To leave a channel, just type <userinput><command>/part</command></userinput>. To switch the display to a different server or channel, click the corresponding tab.
+</para></callout>
+
+<callout arearefs="pt-first-channel-3"><para>This is called the <interface>Nick Panel</interface>. It lists the &nickname;s of all the users who have joined the channel, including yourself.</para></callout>
+
+</calloutlist>
+</para>
+
+<para>That's the basics, for more detailed information, read on...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title>Setting your identity</title>
+
+<para>Before you start using &konversation; regularly, you should set how you will be identified on the network.</para>
+
+<para>Click
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Identities</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Identities</guilabel> screen will appear. You can also display the <guilabel>Identities</guilabel> screen by clicking the <guibutton>Edit</guibutton> button on the
+ <guilabel>Add Network</guilabel> screen.</action>
+</para>
+
+<para>
+<screenshot>
+<screeninfo>Identities (General tab)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Identities (General tab)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"><para>Click here to select an <guilabel>Identity</guilabel> to edit.</para></callout>
+<callout arearefs="pt-identity-gen-2"><para>Use these buttons to add,
+duplicate, rename, or remove an <guilabel>Identity</guilabel>.</para></callout>
+<callout arearefs="pt-identity-gen-3"><para>Enter your real name here. &irc; is not intended to keep you hidden from your friends or enemies. Keep this in mind if you are tempted to behave maliciously. A fake "real name" can be a good way to mask your gender from all the nerds out there, but the PC you use can always be traced so you will never be truly anonymous.</para></callout>
+<callout arearefs="pt-identity-gen-4"><para>Use these buttons to
+<guibutton>Add</guibutton>, <guilabel>Edit</guilabel>, or <guilabel>Delete</guilabel> a &nickname;.</para></callout>
+<callout arearefs="pt-identity-gen-5"><para>This is your list of &nickname;s.
+A &nickname; is the name that other users will know you by.
+You may use any name you desire. The first character must be a letter. Other characters may be letters, numbers, or the special characters <literal>-[]\`_^{}|</literal>.</para>
+
+<para>Since &nickname;s must be unique across an entire &irc; network, your desired name may be rejected by the server because someone else is already using that &nickname;. Enter alternate &nickname;s for yourself. If your first choice is rejected by the server, &konversation; will try the alternate &nickname;s.
+</para>
+
+<para>
+According to RFC 2812, the maximum &nickname; length is 9, but
+this is actually determined by the server. To determine the maximum for a server, connect to the server. In the
+<interface>Server Messages</interface> tab, look for a <computeroutput>[Support]</computeroutput> message.
+For example</para>
+
+<para>
+<computeroutput>
+[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer
+</computeroutput>
+</para>
+
+<para>
+The <computeroutput>NICKLEN</computeroutput> parameter specifies the maximum &nickname; length.
+</para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"><para>Use these buttons to change the
+order of the &nickname;s. The top &nickname; is tried first, then the next
+&nickname;, and so on.</para></callout>
+<callout arearefs="pt-identity-gen-7"><para>If you have registered your &nickname; with the &irc; network, enter the service and password to authenticate your &nickname;.
+When &konversation; connects, it will automatically send
+<userinput><command>/msg</command> <replaceable>service</replaceable> <command>IDENTIFY</command> <replaceable>password</replaceable></userinput> to the server.
+If you don't know what this is, leave these boxes blank.</para></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para>Click the <guilabel>Away</guilabel> tab.</para>
+
+<para>
+ <screenshot>
+ <screeninfo>Identities (Away tab)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Identities (Away tab)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"><para>
+Enter a &nickname; that indicates you are away. Whenever you perform an
+<userinput><command>/away </command><replaceable>msg</replaceable></userinput> command in
+any channel joined with this <guilabel>Identity</guilabel>,
+&konversation; will automatically change your &nickname; to the <guilabel>Away nickname</guilabel>. Other users will be able to tell you are away
+from your computer.
+Whenever you perform an <userinput><command>/away</command></userinput> command
+in any channel in which
+you are away, &konversation; will automatically change your &nickname; back
+to the original. If you do not wish to automatically change your
+&nickname; when going away, leave blank.</para></callout>
+<callout arearefs="pt-identity-away-2"><para>If you check this box,
+whenever you perform an <userinput><command>/away</command></userinput> command, a horizontal line will appear in the channel, marking the point where you
+went away. Other &irc; users do not see this horizontal line.
+</para></callout>
+<callout arearefs="pt-identity-away-3"><para>If you check this box,
+&konversation; will automatically send the <guilabel>Away message</guilabel> to all channels joined with this <guilabel>Identity</guilabel>.
+<userinput><replaceable>%s</replaceable></userinput> is replaced with
+<userinput><replaceable>msg</replaceable></userinput>.
+Whenever you perform an
+<userinput><command>/away</command></userinput> command, the <guilabel>Return message</guilabel> will be displayed in all channels joined with this <guilabel>Identity</guilabel>.</para>
+
+<note><para>Away messages are often considered annoying by other users.
+Use this option carefully, with consideration for your fellow &irc; users.
+</para></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para>Click the <guilabel>Advanced</guilabel> tab.</para>
+
+<para>
+ <screenshot>
+ <screeninfo>Identities (Advanced tab)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Identities (Advanced tab)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"><para>You can enter a command
+here that will be executed before connecting to the server. If this identity
+is used for more than one server, the command will be executed for
+each server.</para></callout>
+<callout arearefs="pt-identity-adv-2"><para>This setting affects how
+characters you type are encoded for sending to the server. It also affects
+how messages are displayed. When you first open &konversation;, it
+automatically retrieves this setting from the operating system. If you
+seem to be having trouble seeing other user's messages correctly, try
+changing this setting.</para></callout>
+<callout arearefs="pt-identity-adv-3"><para>When you connect, many servers
+query your computer for an IDENT response. If you computer is not running
+an IDENT server, this response is sent by &konversation;. No spaces
+are allowed. Your first name is suggested.</para></callout>
+<callout arearefs="pt-identity-adv-4"><para>Whenever you leave a channel,
+this message is sent to the channel.</para></callout>
+<callout arearefs="pt-identity-adv-5"><para>Whenever you are kicked from
+a channel (usually by an &irc; operator), this message is sent to the
+channel.</para></callout>
+<callout arearefs="pt-identity-adv-6"><para>Click to apply your changes. In order for all the changes to take effect, you must disconnect from the server and re-connect. The easiest way to do that is to quit &konversation; and restart.</para></callout>
+</calloutlist>
+</para>
+
+<!--
+<para>TODO:
+<itemizedlist>
+
+<listitem><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para></listitem>
+
+<listitem><para>
+Limits on Real Name and Ident?
+</para></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title>Defining new networks, servers and auto join channels</title>
+
+<para>The <guilabel>Server List</guilabel> screen appears when you open the
+&konversation; program. It also appears when you choose
+<menuchoice>
+<guisubmenu>File</guisubmenu>
+<guisubmenu>Server List</guisubmenu>
+</menuchoice>
+on the main menu. <action>The <guilabel>Server List</guilabel></action> screen
+lists your existing defined &irc; <guilabel>Network</guilabel>s, listed by group.
+An &irc; network is a collection of cooperating servers. When you connect
+to any server in a network, you have access to all the channels of the network.
+Examples of &irc; networks are
+<userinput><replaceable>Freenode</replaceable></userinput> and
+<userinput><replaceable>Undernet</replaceable></userinput>.
+</para>
+
+<para>
+<screenshot>
+ <screeninfo>Server List</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Server List</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"><para>Your existing defined
+<guilabel>Network</guilabel>s are listed here along with
+the <guilabel>Identity</guilabel> used to connect to the network,
+and the <guilabel>Channels</guilabel> automatically joined when connected.
+If you have specified a group for your networks, networks are listed
+indented under the group. Click on a network to select it.
+</para></callout>
+<callout arearefs="pt-serverlist-2"><para>Use these buttons to
+<guibutton>Add</guibutton> a new network, <guibutton>Edit</guibutton>
+a highlighted network, or <guibutton>Delete</guibutton> a highlighted network.
+</para></callout>
+<callout arearefs="pt-serverlist-3"><para>Click this button to connect
+to the highlighted <guilabel>Network</guilabel> and close the
+<guilabel>Server List</guilabel> screen. You may highlight
+more than one network if you wish, which will connect to all the
+highlighted networks.</para></callout>
+<callout arearefs="pt-serverlist-4"><para>Clicking this button does not
+discard the changes you have made. It merely means you do not wish to
+connect to any networks at this time.</para></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork" />
+
+<para>When you click the <guibutton>Add</guibutton> button,
+the <guilabel>Add Network</guilabel> screen appears.</para>
+
+<para>
+<screenshot>
+ <screeninfo>Add Network</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Add Network</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"><para>Enter the name of the
+<guilabel>Network</guilabel> here. You may create as many entries
+in the <guilabel>Server List</guilabel> screen with the same
+<guilabel>Network</guilabel> as you like.</para></callout>
+<callout arearefs="pt-addnetwork-2"><para>Optional. If you enter something
+here, all the <guilabel>Network</guilabel>s with the same
+<guilabel>Group</guilabel> will be listed together in the
+<guilabel>Server List</guilabel> screen.</para></callout>
+<callout arearefs="pt-addnetwork-3"><para>Choose an existing
+<guilabel>Identity</guilabel> or click the <guibutton>Edit</guibutton>
+button to add a new Identity or edit an existing one. The
+<guilabel>Identity</guilabel> will identify you and determine
+your &nickname; when you connect to the network.</para></callout>
+<callout arearefs="pt-addnetwork-4"><para>Optional. This command will be sent to the server after connecting. Example: <userinput>/msg NickServ IDENTIFY
+<replaceable>konvirocks</replaceable></userinput>. This example is for the freenode network, which requires users to register their &nickname;
+with a password and login when connecting. <userinput><replaceable>konvirocks</replaceable></userinput>
+is the password for the &nickname; given in <guilabel>Identity</guilabel>.
+You may enter more than one command by separating them with semicolons.</para></callout>
+<callout arearefs="pt-addnetwork-5"><para>Check here if you want
+&konversation; to automatically connect to this network whenever
+you open &konversation;.</para></callout>
+<callout arearefs="pt-addnetwork-6"><para>This is a list of &irc;
+<guilabel>Servers</guilabel> in the network. When connecting to the network,
+&konversation; will
+attempt to connect to the top server first. If this fails,
+it will attempt the second server. If this fails, it will attempt
+the third, and so on. At least one server must be specified.
+Click a server to highlight it.</para></callout>
+<callout arearefs="pt-addnetwork-7"><para>Use these buttons to
+<guibutton>Add</guibutton> a server, <guibutton>Edit</guibutton> a
+highlighted server, or <guibutton>Delete</guibutton> a highlighted
+server. You can also adjust the order of the server list and therefore
+the order of connection attempts.</para></callout>
+<callout arearefs="pt-addnetwork-8"><para>Optional. This is a list of the
+channels that will be automatically joined once &konversation;
+has connected to a server. You may leave this blank if you
+wish to not automatically join any channels.</para></callout>
+<callout arearefs="pt-addnetwork-9"><para>Use these buttons to
+<guibutton>Add</guibutton> a channel, <guibutton>Edit</guibutton> a
+highlighted channel, or <guibutton>Delete</guibutton> a highlighted
+channel. You may also change the order the channels are joined.
+</para></callout>
+</calloutlist>
+</para>
+
+<note><para>Avoid mixing servers on different &irc; networks under the same
+<guilabel>Network</guilabel>. Avoid entering the same server under
+two different <guilabel>Network</guilabel>s. Otherwise, &konversation;
+<link linkend="linkaddressbook">integration with your address book</link> and
+<link linkend="nicksonline">monitoring of online &nickname;s</link> will not function
+correctly.</para>
+</note>
+
+<anchor id="serverlist-addserver" />
+
+<para>When you click the <guibutton>Add</guibutton> button in the <guilabel>Servers</guilabel> frame, the Add Server screen appears.</para>
+
+<para>
+<screenshot>
+ <screeninfo>Add Server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Add Server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"><para>The name or IP number of the server. irchelp.org maintains a
+<ulink url="http://www.irchelp.org/irchelp/networks/">list</ulink> of servers.</para></callout>
+<callout arearefs="pt-addserver-2"><para>Enter the port number required to connect to the server. For most servers, this should be <userinput>6667</userinput>.</para></callout>
+<callout arearefs="pt-addserver-3"><para>If the server requires a password
+in order to connect, enter it here, otherwise leave blank.</para></callout>
+<callout arearefs="pt-addserver-4"><para>Check if you want to use
+Secure Socket Layer (SSL) protocol to communicate with the server.
+This protects the privacy of your communications between your computer
+and the &irc; server. The server must
+support SSL protocol for this to work. In most cases, if the server
+does not support SSL, the connection will fail.</para></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel" />
+
+<para>When you click the <guibutton>Add</guibutton> button in the
+<guilabel>Auto Join Channels</guilabel> frame, the <guilabel>Add Channel</guilabel>
+screen appears.</para>
+
+<para>
+<screenshot>
+ <screeninfo>Add Channel</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Add Channel</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>Enter a channel name. Do not forget leading <userinput><replaceable>#</replaceable></userinput>. If the channel requires
+a password in order to join, enter it, otherwise leave blank.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title>Listing available channels</title>
+
+<para>To display a list of available channels, choose
+<menuchoice>
+ <guisubmenu>Windows</guisubmenu>
+ <guisubmenu>Channel List</guisubmenu>
+</menuchoice> on the main menu.
+ <action>After a warning screen, a new tab is created called the <guilabel>Channel List</guilabel>.</action>
+</para>
+
+<para>
+<screenshot>
+<screeninfo>The Channel List tab.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Channel List tab.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"><para>Enter a filter string here.</para></callout>
+
+<callout arearefs="pt-channellist-2"><para>You can limit the channel list to those channels with a minimum or maximum number of users here. Choosing 0 disables the respective criteria.</para></callout>
+
+<callout arearefs="pt-channellist-3"><para>Click here to retrieve the list of channels from the server and apply the filter.</para></callout>
+
+<callout arearefs="pt-channellist-4"><para>The filtered list of channels is displayed here. Notice that if you don't use regular expressions, &konversation; lists any channel whose name contains the filter string you entered. The channel name does not have to start with the string you entered.</para></callout>
+
+<callout arearefs="pt-channellist-5"><para>Select a channel you want to join by clicking on it. Right click on the channel to get a list of all web addresses mentioned in the channel's topic.</para></callout>
+
+<callout arearefs="pt-channellist-6"><para>Click here to join the channel. A new tab is created for the channel.</para></callout>
+
+</calloutlist>
+</para>
+
+<para>You should avoid clicking the <guibutton>Refresh List</guibutton> button. Most servers have thousands
+of channels, and performing this puts a high load on the server. Besides, it can require several minutes to complete,
+depending upon your network bandwidth. If your client is too slow, the server may even disconnect you.
+</para>
+
+<para>Sometimes there are "secret" channels on servers. Such channels are not listed in the <guilabel>Channel List</guilabel>.
+You can still join these channels if you know their name. In any <interface>Input Line</interface>, type: <userinput><command>/join</command>
+<replaceable>#channelname</replaceable></userinput>. (The <userinput>#</userinput> is required.) A new tab is created for the channel. If you join a channel and the Nick Panel lists only your &nickname;, it means that the channel did not exist before. The server created the channel and you are the operator. In this case, you probably want to close the channel by typing: <userinput><command>/part</command></userinput>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title>A tour of the main screen</title>
+
+<para>Let's learn more about the <interface>Main</interface> screen.
+The screen is shown below with a channel tab selected.</para>
+
+<para>
+<screenshot>
+<screeninfo>The Main screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Main screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"><para>This is called the <interface>Input Line</interface>.
+It appears only when the current tab is a channel.
+To send a message to everyone in the channel, type the message here and press &Enter;.
+ Your message, as well as everyone else's messages appear in the channel scroll above.
+ Each message is preceded by the time and user's &nickname;.</para>
+
+ <para>You can also paste text from the clipboard. If the pasted text has more than one line (newlines),
+ a dialog box appears. Edit the text as desired and click <guibutton>OK</guibutton>.
+ </para>
+
+ <para>If the pasted text is longer than 256 characters, or it contains more than one line, a warning message
+ appears advising you that large postings can cause connection resets and flooding. You can still proceed with
+ the input, but doing so is a bad idea, as flooding will annoy other users in the channel, or you may
+ be disconnected from the server. It is better to send the message in shorter chunks.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para>
+ A convention used in many channels is to precede messages directed at one user with their &nickname;. &konversation;
+ provides a convenient &nickname; completion feature. Start typing the user's &nickname;, then press <keycap>Tab</keycap>. &konversation; will complete the rest of the user's &nickname; followed by a colon. To customize the completion feature, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Behavior</guilabel>,
+click on <guilabel>General</guilabel>, and click the
+<guilabel>Completion mode</guilabel> box.
+ </para>
+
+ <para>
+ You can also enter an &irc; command here by first typing <userinput><command>/</command></userinput>
+ followed by a valid &irc; command. See <link linkend="irc-cmds">Frequently-used &irc; commands</link>. On some servers, you can type <userinput><command>/help</command></userinput> for a list of available commands, or type <userinput><command>/help </command><replaceable>command</replaceable></userinput> for help
+ on a specific command.
+ </para></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para>You may join additional servers and channels. Each server and each channel gets a separate tab here.
+To display a list of available channels, see <link linkend="list-channels">Listing available channels</link>.
+To join a channel, type: <userinput><command>/join</command>
+<replaceable>#channelname</replaceable></userinput> in the Input Line. (The <userinput>#</userinput> is required.) To leave a channel, just type <userinput><command>/part</command></userinput>.
+Tabs also appear here if you open a <link linkend="list-channels">Channel List</link>, participate in a <link linkend="query">private conversation (query)</link>, open the <link linkend="urlcatcher">&URL; Catcher</link>, or open one or more <guilabel>Konsole</guilabel>s. To switch the display to a different screen, click the corresponding tab,
+or use the mouse wheel to cycle through the tabs.
+</para>
+
+<para> To set other options for tabs, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Behavior</guilabel>,
+click on <guilabel>General</guilabel>.
+</para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"><para>These &led;s will blink when there is something you haven't seen in that tab.
+The &led; will blink slower when the only unseen messages are <command>join</command>, <command>part</command>, <command>quit</command>, or &nickname; changes. They blink faster if there are unseen regular messages.
+ The colors are as follows:
+<itemizedlist>
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="led_green_on.png" format="PNG" /></imageobject></inlinemediaobject>
+Channel
+</para>
+</listitem>
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="led_blue_on.png" format="PNG" /></imageobject></inlinemediaobject>
+<interface>Server Messages</interface>, <link linkend="list-channels">Channel List</link>, or
+<link linkend="urlcatcher">&URL; catcher</link>
+</para>
+</listitem>
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="led_yellow_on.png" format="PNG" /></imageobject></inlinemediaobject>
+<guilabel>Konsole</guilabel> or <link linkend="dcc">DCC Status</link>.
+</para>
+</listitem>
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="led_red_on.png" format="PNG" /></imageobject></inlinemediaobject>
+<link linkend="query">Private Message (Query)</link>.
+</para>
+</listitem>
+</itemizedlist>
+</para></callout>
+
+<callout arearefs="pt-channeltour-4"><para>Click here to close the current tab. Closing a <interface>Channel</interface> tab will leave the channel. Closing a <interface>Server Messages</interface> tab will leave all channels you've joined, close all open queries at that server and disconnect from the server.</para></callout>
+
+<callout arearefs="pt-channeltour-5"><para>Click this button to change your own &nickname;. It appears only when the current tab is a channel. To hide this button, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Appearance</guilabel>,
+click on <guilabel>Chat Window</guilabel>, and uncheck the
+<guilabel>Show box to change own nickname</guilabel> box.
+</para></callout>
+
+<callout arearefs="pt-channeltour-6"><para>The channel topic is displayed here.
+Hover the mouse over the topic to see long topics. You can change the topic by
+clicking the button to the left of the topic. To hide channel topics, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Appearance</guilabel>,
+click on <guilabel>Chat Window</guilabel>, and uncheck the
+<guilabel>Show channel topic</guilabel> box.
+</para></callout>
+
+<callout arearefs="pt-channeltour-7"><para>These buttons display the current state of channel modes. A button is down if that mode is on. If you have the correct privileges, you can also change channel modes by clicking on these buttons, or click the button to the
+left of the topic. To hide channel mode buttons, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Appearance</guilabel>,
+click on <guilabel>Chat Window</guilabel>, and uncheck the
+<guilabel>Show channel mode buttons</guilabel> box.
+</para></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para>
+This is called the <interface>Nick Panel</interface>. It is displayed whenever the current tab is a channel. It lists the &nickname;s of all the users who have joined the channel, including yourself. Hover the mouse pointer over a &nickname; to display additional information
+about the user. You may change how the icons are displayed next to each &nickname; by changing
+the &nickname; icon theme. See <link linkend="nickthemes">Configuring &nickname; themes</link>
+ for more information.
+The <guilabel>Big Bullets</guilabel> theme, as shown in the screen above, uses the following icons:
+<itemizedlist>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_normal.png" format="PNG" /></imageobject></inlinemediaobject>
+normal user
+</para>
+</listitem>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_voice.png" format="PNG" /></imageobject></inlinemediaobject>
+voiced user. User may talk in a moderated channel.<!-- (see TODO) -->
+</para>
+</listitem>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_halfop.png" format="PNG" /></imageobject></inlinemediaobject>
+channel halfop <!-- (see TODO) -->
+</para>
+</listitem>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_op.png" format="PNG" /></imageobject></inlinemediaobject>
+channel operator
+</para>
+</listitem>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_owner.png" format="PNG" /></imageobject></inlinemediaobject>
+channel owner <!-- (see TODO) -->
+</para>
+</listitem>
+
+<listitem>
+<para><inlinemediaobject><imageobject><imagedata fileref="irc_admin.png" format="PNG" /></imageobject></inlinemediaobject>
+channel admin <!-- (see TODO) -->
+</para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para>In addition, if a user is away, a small red cross will be drawn in the corner of the icon.
+<inlinemediaobject><imageobject><imagedata fileref="irc_away.png" format="PNG" /></imageobject></inlinemediaobject></para>
+
+<para>
+Click with the &RMB; on any &nickname; to display a context menu of operations you can perform with that &nickname;.
+For example, you can <link linkend="dcc">send a file</link> to the &nickname;.
+This is also the place where you can <link linkend="linkaddressbook">associate a &nickname; to a contact in your address book.</link>
+</para>
+
+<para>To hide the <interface>Nick Panel</interface>, choose
+<menuchoice>
+ <guisubmenu>Window</guisubmenu>
+ <guisubmenu>Hide Nicklist</guisubmenu>
+</menuchoice> from the main menu.
+</para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"><para>These are called the <interface>Quick Buttons</interface>.
+By default, they are not shown. To display them, see
+<link linkend="quick-buttons">Configuring Quick Buttons</link>.
+You can customize their definitions to whatever commands you wish.</para></callout>
+
+</calloutlist>
+</para>
+
+<para><emphasis>Note </emphasis>You can control how messages are displayed in the
+message scroll of channel and query tabs. For example, you can change the color
+of messages, play a sound when a message containing a string
+is received, or automatically reply to messages.
+See <link linkend="highlighting">
+Message highlighting</link> for more information.
+</para>
+
+<para><emphasis>Note: </emphasis>Channel names sometimes begin with <userinput>&amp;</userinput>, <userinput>&plus;</userinput>,
+or <userinput>!</userinput>. The first character of a channel name determines the type of channel (RFC 2811) as follows:
+<itemizedlist>
+<listitem><para>
+<userinput>#</userinput> - Regular channels.
+</para></listitem>
+<listitem><para>
+<userinput>!</userinput> - Regular channels.
+</para></listitem>
+<listitem><para>
+<userinput>&amp;</userinput> - Local. Channels that can only be joined from the server hosting the channel.
+ All other channels can be joined from any server in the network.
+</para></listitem>
+<listitem><para>
+<userinput>&plus;</userinput> - Channels that do not support channel modes. This means
+ that all the modes are unset, with the exception of the 't' channel flag which is set.
+</para></listitem>
+</itemizedlist>
+Channel names are up to 50 characters long and may contain any characters except for space, comma, and Ctrl-G.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title>Quick Connect</title>
+
+<para>Sometimes you want to connect to a server without going through the trouble
+of creating a new server in the <link linkend="serverlist">Server List</link>.
+</para>
+
+<para>Choose
+<menuchoice>
+ <guisubmenu>File</guisubmenu>
+ <guisubmenu>Quick Connect</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Quick Connect</guilabel> screen will appear.</action>
+</para>
+
+<para>
+<screenshot>
+<screeninfo>The Quick Connect screen.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>The Quick Connect screen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>Enter the server address in the <guilabel>Server host</guilabel> box, your desired
+&nickname; in the <guilabel>Nick</guilabel> box, and click the <guibutton>Connect</guibutton> button.
+When &konversation; has connected to the server, enter command
+<userinput><command>/join</command> <replaceable>#channelname</replaceable></userinput> to
+join a channel.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title>Frequently-used &irc; commands</title>
+
+<para>The following is a short list of frequently-used &irc; commands. See <ulink url="http://www.faqs.org/rfcs/rfc2812.html">RFC 2812</ulink> for a complete list of all commands, or
+visit <ulink url="http://www.irchelp.org/">irchelp.org</ulink>. For a list of commands
+treated specially by &konversation;, see <link linkend="konvi-cmds">&konversation; commands</link>
+</para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term><userinput><command>/help</command></userinput></term>
+<listitem><para>Lists commands available on the current server. Not supported by all servers.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/help </command><replaceable>cmd</replaceable></userinput></term>
+<listitem><para>Provides help for <userinput><replaceable>cmd</replaceable></userinput>. Not supported by all servers.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/join <replaceable>#channel</replaceable></command></userinput></term>
+<listitem><para>Joins <userinput><replaceable>#channel</replaceable></userinput>. If the channel does not already exist, it is created and you are the channel operator.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/part</command></userinput></term>
+<listitem><para>Leaves the current channel and closes the <interface>channel</interface> tab.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/part </command> <replaceable>#channel</replaceable></userinput></term>
+<listitem><para>Leaves <userinput><replaceable>#channel</replaceable></userinput> and closes the corresponding <interface>channel</interface> tab.
+Synonym for <userinput><command>/leave</command></userinput></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/me </command><replaceable>msg</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>msg</replaceable></userinput> to the channel preceded by your &nickname;. For example, if
+your &nickname; were <userinput><replaceable>Tux</replaceable></userinput>, typing <userinput><replaceable>/me brews a cup a tea.</replaceable></userinput> displays the message <interface>Tux brews a cup of tea.</interface> Unless they've filtered against these types of messages, all users see it. This kind of message is typically used to convey non-verbal information, such as your current emotional state, or what you are physically doing. If you are leaving your workstation for a short time, use the /away command instead.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/away </command> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>If anyone tries to send you a private message or invite you to a channel, they will be told that you are
+away from your workstation with <userinput><replaceable>msg</replaceable></userinput>.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/away</command></userinput></term>
+<listitem><para>Cancels an <userinput><command>/away </command> <replaceable>msg</replaceable></userinput> command.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/query </command><replaceable>nick</replaceable></userinput></term>
+<listitem><para>Creates a new tab with the user's <userinput><replaceable>nick</replaceable></userinput> for private conversation, commonly known on &irc; as a <link linkend="query">Query</link>. Everything written here is only visible to you and your query partner.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/msg </command><replaceable>nick</replaceable> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>msg</replaceable></userinput> to the user with &nickname; <userinput><replaceable>nick</replaceable></userinput>.
+Only <userinput><replaceable>nick</replaceable></userinput> sees the message.
+Use <userinput><command>/query</command></userinput> for longer conversations.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/invite </command><replaceable>nick</replaceable></userinput></term>
+<listitem><para>Invites the user with &nickname; <userinput><replaceable>nick</replaceable></userinput> to join a channel. This command is especially useful if the channel is invite-only.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title>Private conversations (queries)</title>
+
+<para>
+A private conversation is one that only you and one other person can see. Private conversations are called "queries" in &konversation;. To initiate a private conversation,
+type <userinput><command>/query </command><replaceable>nick</replaceable></userinput> in any input line,
+where <replaceable>nick</replaceable> is the &nickname; of the person you want to talk with. You can also
+click with the &RMB; on the person's &nickname; in the <guilabel>Nick Panel</guilabel> and choose
+<menuchoice>
+ <guisubmenu>Open Query</guisubmenu>
+</menuchoice>
+<action>A new tab will be created</action>. Announce yourself by sending a message.
+</para>
+
+<para>
+Queries are just like channels, except that only you and the other person can participate in the channel.</para>
+
+<para>
+To leave the query, just close the tab. Note however, that if the other person sends you another message in the query, the tab will open again.</para>
+
+<para>To leave all queries, choose
+<menuchoice>
+ <guisubmenu>Window</guisubmenu>
+ <guisubmenu>Close All Open Queries</guisubmenu>
+</menuchoice> on the main menu, or press
+press <keycap>F11</keycap>.</para>
+
+<para>
+When someone else initiates a query with you, &konversation; creates a new tab with their
+&nickname;. If you don't wish to talk with the person, close the tab.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title>Setting notifications</title>
+
+<para>
+<guilabel>Notifications</guilabel> are actions that &konversation; will perform whenever an event occurs. Suppose you have &konversation; running, but minimized or hidden behind other application windows on your desktop. If someone wants to communicate with you, or your buddy joins a channel, you'd like to be alerted. Notifications will accomplish this.
+</para>
+
+<para>
+To configure notifications, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Notifications</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Notification Settings</guilabel> screen will appear.</action>
+ </para>
+
+<para>Immediately click the <guibutton>More Options</guibutton> button.</para>
+
+<para>
+<screenshot>
+<screeninfo>The Notification Settings screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Notification Settings screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"><para>Click here to select an event.</para></callout>
+
+<callout arearefs="pt-notification-2"><para>Check the types of notifications you'd like to happen when the event occurs. (<guilabel>Mark taskbar entry</guilabel> causes the entry in the taskbar to flash when the event occurs.)</para></callout>
+
+</calloutlist>
+</para>
+
+<para>Repeat by selecting another event and checking the notifications desired. When you've configured all the desired notifications, click the <guibutton>Apply</guibutton> button.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"><para>Once you've set up your notifications, you can enable or disable all notification actions here. For example, you can choose to play a sound whenever your &nickname; is mentioned in a message. When you are at your workstation, you can disable the sounds, but while you are away from your workstation but nearby, you can enable the sounds in order to get your attention.</para></callout>
+
+</calloutlist>
+</para>
+
+<tip><para>You can also alert yourself when someone mentions your &nickname;
+in a message using &konversation;'s
+<link linkend="highlighting">highlighting feature</link>.</para></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title>Monitoring who is online</title>
+
+<para>
+&konversation; will keep you informed when your buddies are connected to the &irc; network
+or not.
+</para>
+
+<para>You can associate online &nickname;s with contact entries in your address book.
+When you do this, the &nickname; and &irc; network where the &nickname; is online are
+entered into the contact in the address book. The &irc; network is recorded because &nickname;s
+are unique across a single &irc; network. The &nickname; in two different &irc; networks
+is not necessarily the same person, but the same &nickname; on two different servers
+within the same &irc; network generally is the same person.</para>
+
+<note><para>This is why it is important to use the same <guilabel>Network</guilabel>
+for all servers in the same &irc; network, when <link linkend="serverlist">
+defining networks, servers, and auto join channels</link>.</para></note>
+
+<para>You can also define &nickname;s you want watched that are not in your address book.
+In this case also, each &nickname; has an associated &irc; network. See below.</para>
+
+<para>To activate the &nickname; watching feature, choose
+<menuchoice>
+ <guisubmenu>Windows</guisubmenu>
+ <guisubmenu>Watched Nicks Online</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Watched Nicks Online</guilabel> screen will appear.</action>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo>Watched Nicks Online.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Watched Nicks Online</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"><para>The &nickname;s in your watch list and
+also the &nickname;s associated with entries in your address book are listed here.
+They are listed under their associated &irc; network. If no &nickname;s are listed,
+either you haven't specified any &nickname;s to watch, or you need to activate
+the &nickname; watching feature (see below). Expand each online &nickname; to see a list
+of channels the &nickname; has joined. The icons next to each channel are the same as
+the icons that appear in the <interface>Nick Panel</interface> in the
+<link linkend="channel-screen-tour">channel</link> screens.
+</para></callout>
+<callout arearefs="pt-nicksonline-2"><para>The information known about the &nickname;
+is displayed here. When the <guilabel>Watched Nicks Online</guilabel> screen is first
+displayed, this information is sparse. Every 8 seconds,
+one <userinput><command>WHOIS</command></userinput> command is automatically sent to the server
+to request information for &nickname;s that do not have any information. This continues until
+all &nickname;s have information.
+</para></callout>
+<callout arearefs="pt-nicksonline-3"><para>Nicknames that are not connected to any
+of the &irc; networks you are connected to are listed in the <guilabel>Offline</guilabel>
+part of the listing.
+</para></callout>
+<callout arearefs="pt-nicksonline-4"><para>Nicknames that are associated with
+a contact entry in your address book have this icon
+(<inlinemediaobject><imageobject><imagedata fileref="kaddressbook.png" format="PNG" /></imageobject></inlinemediaobject>) next to their information.
+</para></callout>
+<callout arearefs="pt-nicksonline-5"><para>Use these buttons to associate a &nickname;
+with a contact in your address book, remove an association, or open the address book
+to edit the contact information. See the
+<ulink url="help:kaddressbook">&kaddressbook; Handbook</ulink> for additional instructions
+on using the &kde; address book.
+</para></callout>
+</calloutlist>
+</para>
+
+<para>
+To add additional &nickname;s to watch, click the <guilabel>Edit Watch List</guilabel> button.
+The <guilabel>Watched Nicknames</guilabel> screen appears.
+</para>
+
+<para>
+<screenshot>
+<screeninfo>Watched Nicknames</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Watched Nicknames</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"><para>Check this box to activate the <guilabel>nickname watcher</guilabel> feature.</para></callout>
+
+<callout arearefs="pt-notifylist-2"><para>If you want the
+<guilabel>Watched Nicks Online</guilabel> screen to automatically display when you
+open &konversation;, check this box.</para></callout>
+
+<callout arearefs="pt-notifylist-3"><para>The &nickname;s of the users you want to monitor are listed here. Each &nickname; has an associated &irc; network.</para></callout>
+
+<callout arearefs="pt-notifylist-4"><para>Click these buttons to add or remove &nickname;s from the list.</para></callout>
+
+<callout arearefs="pt-notifylist-5"><para>The <guilabel>Watched Nicks Online</guilabel> feature works by periodically polling the server. This box sets how often that occurs. Avoid numbers less than 20 seconds because it places excessive load on the server.</para></callout>
+
+<callout arearefs="pt-notifylist-5"><para>In the <guilabel>Watched Nicks Online</guilabel>
+screen above, you may double click on any &nickname; and this command will be sent to the
+server. <userinput><command>%u</command></userinput> will be replaced with the
+&nickname;. The <userinput><command>%n</command></userinput> is required at the
+end of the command.</para></callout>
+
+</calloutlist>
+</para>
+
+<para>Click the <guibutton>OK</guibutton> button when you have finished adding or removing &nickname;s.</para>
+
+<para><emphasis>Note: </emphasis>Whenever you display the <guilabel>Watched Nicks Online</guilabel> screen, it may take a while before any &nickname;s are displayed until &konversation; has polled the server. Normally, you leave the <guilabel>Watched Nicks Online</guilabel> screen running.
+</para>
+
+<para>&konversation; also displays a message in all the <link linkend="channel-screen-tour">channels</link> whenever a user in
+your <guilabel>Watched Nicknames</guilabel> list connects or disconnects from the server. The message looks like this:
+</para>
+
+<para><computeroutput>[17:52] [Notify] psn is online (irc.kde.org).</computeroutput></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title>Message highlighting</title>
+
+<para>You can control how messages are displayed in channel and query screens.</para>
+
+<para>To activate the highlighting feature, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure &konversation;</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+ </para>
+
+<para>
+<screenshot>
+<screeninfo>The Highlighting screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Highlighting screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"><para>Click here to select the <guilabel>Highlighting</guilabel> screen.</para></callout>
+<callout arearefs="pt-highlight-2"><para>Click here to add a new item
+to the <guilabel>Highlight list</guilabel>.
+When an item in the list is selected, you may edit it in the panel below.</para></callout>
+<callout arearefs="pt-highlight-3"><para>Enter a string pattern here.
+Any message received that matches this pattern, anywhere in the message, will activate
+the highlighting for the message. If you have the &kde; Regular Expression Editor
+utility installed on your system, the button to the right of the pattern will
+be enabled. Click to display the editor, which will assist you
+in preparing more complex patterns. (The &kde; Regular Expression Editor
+is part of the <command>kdeutils</command> package.)
+</para></callout>
+<callout arearefs="pt-highlight-4"><para>If the pattern is found
+in a message, the entire message will be displayed
+in the color you select here.</para></callout>
+<callout arearefs="pt-highlight-5"><para>If you wish, &konversation; will
+play a sound when the pattern is matched. Click the button to choose
+an audio file to be played. Click the test button to hear the sound.</para></callout>
+<callout arearefs="pt-highlight-6"><para>If you'd like for &konversation; to
+automatically send a reply message when the pattern is matched, enter the
+message here. Use this feature with caution, as you may annoy &irc; users
+with too much chatter if not careful. You can also enter
+&irc; or &konversation; commands here.</para></callout>
+<callout arearefs="pt-highlight-7"><para>If you have configured sounds
+for any of your highlights, you can disable all of them by unchecking
+this box.</para></callout>
+<callout arearefs="pt-highlight-8"><para>If you check this box,
+whenever someone mentions your &nickname; in a message, the message
+will be displayed in the color you choose at the right.</para></callout>
+<callout arearefs="pt-highlight-9"><para>Normally, highlighting
+does not apply to messages you type. If you wish to highlight the
+messages you type, check this box and choose a color at the right.</para></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title>Configuring On Screen Display (&osd;)</title>
+
+<para><acronym>On Screen Display</acronym> (&osd;) is a unique feature of &konversation;. With &osd; turned on,
+ channel messages will appear on your desktop screen, even if &konversation; is minimized. Here's an example of &osd; in
+ action. The message in the upper lefthand part of the screen is from &konversation;, which is running
+minimized in the system tray.</para>
+
+<para>
+<screenshot>
+<screeninfo>Example of On Screen Display</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>Example of On Screen Display</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>To activate &osd;, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure &konversation;</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+ </para>
+
+<para>
+<screenshot>
+<screeninfo>The On Screen Display screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The On Screen Display screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"><para>Click here to expand the <guilabel>Notification</guilabel> item.</para></callout>
+
+<callout arearefs="pt-osd-2"><para>Click here to select the <guilabel>On Screen Display</guilabel> screen.</para></callout>
+
+<callout arearefs="pt-osd-3"><para>Check this box to activate &osd;.</para></callout>
+
+<callout arearefs="pt-osd-4"><para>Click this button to choose a font for &osd;. (<emphasis>Note: </emphasis> Not all fonts work. Luxi Sans 22 and Impact 22 are known to work.)</para></callout>
+
+<callout arearefs="pt-osd-5"><para>Check the boxes here to select the types of messages you'd like to appear on screen, then click the <guibutton>Apply</guibutton> button.</para></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title>Sending colorful messages</title>
+
+<para>
+You can add color to the messages you send in any channel. In the <interface>Input Line</interface> of any channel, start typing your message. Click the
+<inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="colorize.png" format="PNG" />
+ </imageobject>
+ <textobject>
+ <phrase>Insert &irc; Color Button</phrase>
+ </textobject>
+</inlinemediaobject>
+Insert &irc; Color button or choose
+<menuchoice>
+ <guisubmenu>Insert</guisubmenu>
+ <guisubmenu>&irc; Color</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>&irc; Color Chooser</guilabel> screen will appear.</action>
+</para>
+
+<para>
+<screenshot>
+<screeninfo>The &irc; Color Chooser screen.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>The &irc; Color Chooser screen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>
+Choose a color and click <guibutton>OK</guibutton>. Continue typing your message in the <interface>Input Line</interface>.
+To change the color again, click the <guibutton>Insert &irc; Color</guibutton> button. Choose a different color
+and click <guibutton>OK</guibutton>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title>Configuring &nickname; themes</title>
+
+<para>You can change the icons displayed next to &nickname;s in the
+<interface>Nick Panel</interface> of channel tabs.
+To change the &nickname; theme, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+ Click <guilabel>Appearance</guilabel> to expand it, then click <guilabel>Themes</guilabel>
+ to display the <guilabel>Themes</guilabel> screen.
+ </para>
+
+<para>
+<screenshot>
+<screeninfo>The Themes screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Themes screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"><para>Click to select the nick <guilabel>Themes</guilabel> screen.</para></callout>
+<callout arearefs="pt-themes-2"><para>Select a theme.</para></callout>
+<callout arearefs="pt-themes-3"><para>Sample icons are displayed here in the chosen theme.</para></callout>
+<callout arearefs="pt-themes-4"><para>If you have downloaded a nick theme
+from elsewhere, click to install it.</para></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title>Configuring Quick Buttons</title>
+
+<para>You can enable a feature to display <interface>Quick Buttons</interface> on the <link linkend="channel-screen-tour">Main</link> screen, eight <interface>Quick Buttons</interface> appear. To display the Quick Buttons, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice>
+on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+Click <guilabel>Appearance</guilabel> to expand it, then click <guilabel>Chat Window</guilabel>.
+Check the <guilabel>Show quick buttons</guilabel> box and click <guibutton>OK</guibutton>.
+</para>
+
+<para>The buttons may be customized to your liking for performing often-used &irc;
+commands.
+To customize the <interface>Quick Buttons</interface>, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+ Click <guilabel>Behavior</guilabel> to expand it, then click <guilabel>Quick Buttons</guilabel>
+ to display the <guilabel>Quick Buttons</guilabel> screen.
+ </para>
+
+<para>
+<screenshot>
+<screeninfo>The Quick Buttons screen</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>The Quick Buttons screen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>
+There are 8 <interface>Quick Button</interface>s. Click on an entry to change it.
+The <guilabel>Button name</guilabel> column is the name that
+will appear on the button in the <link linkend="channel-screen-tour">Main</link> screen. Keep the names short.
+The <guilabel>Button Action</guilabel> column is the action that will be performed when you click the
+<interface>Quick Button</interface>. Tips for creating actions are given on the screen.
+</para>
+
+<para>
+Click <guibutton>OK</guibutton> to complete the changes.
+</para>
+
+<para>Example:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel>Button Name</guilabel>: <userinput><replaceable>Msg</replaceable></userinput>
+ </term>
+ <listitem>
+ <para>
+ <guilabel>Button Action</guilabel>: <userinput><replaceable>Msg %u </replaceable></userinput> (there is a space after <userinput><replaceable>%u</replaceable></userinput>)
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para>
+To use this button in the <link linkend="channel-screen-tour">Main</link> screen,
+click on a &nickname; in the <interface>Nick Panel</interface>, then click the button.
+<computeroutput>/MSG </computeroutput> will appear in the <interface>Input Line</interface>
+followed by the chosen &nickname;. Type a message you want to send to that person and press
+&Enter;. The message will be sent to the user. Only that user will see the message.
+</para>
+
+<para>
+<emphasis>Note: </emphasis>You cannot add or delete <interface>Quick Buttons</interface>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title>Sending and receiving files</title>
+
+<para>
+You may send files via &irc; to other users online, or they may send you files.
+</para>
+
+<para>
+<emphasis>WARNING: Never open a file someone sends you unless they are a trusted source. It could be a virus.</emphasis>
+</para>
+
+<para>
+To send a file to someone in a channel, click with the &RMB; on the &nickname; of the person in the
+<interface>Nick Panel</interface> of the <link linkend="channel-screen-tour">Main</link> screen.
+Choose
+<menuchoice>
+ <guisubmenu>Send File</guisubmenu>
+</menuchoice>
+<action>A dialog appears for you to choose a file to send.</action> Next, a new <guilabel>DCC Status</guilabel> tab appears.
+</para>
+
+<para>
+<screenshot>
+<screeninfo>DCC Status tab</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>DCC Status tab</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"><para>The &nickname; of the recipient and file name appear here.</para></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para>The <guilabel>Status</guilabel> column indicates the status of the file send or receive as follows:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel>Offering</guilabel>
+ </term>
+ <listitem>
+ <para>You are trying to send a file to the recipient. &konversation; is waiting for the recipient to accept the file.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Connecting</guilabel>
+ </term>
+ <listitem>
+ <para>&konversation; is trying to establish a connection with the other end.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Sending</guilabel>
+ </term>
+ <listitem>
+ <para>&konversation; is sending the file to the other end.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Receiving</guilabel>
+ </term>
+ <listitem>
+ <para>&konversation; is receiving the file from the other end.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Done</guilabel>
+ </term>
+ <listitem>
+ <para>The file has been successfully transfered.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Stalled</guilabel>
+ </term>
+ <listitem>
+ <para>The transfer was started but is not currently progressing.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Aborted</guilabel>
+ </term>
+ <listitem>
+ <para>Either you clicked the <guibutton>Abort</guibutton> button, or the other person aborted the transfer.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Failed</guilabel>
+ </term>
+ <listitem>
+ <para>An error occurred and the transfer was not successful..
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Queued</guilabel>
+ </term>
+ <listitem>
+ <para>The transfer has been accepted and will begin when the software on the receiving end acknowledges.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Lookup</guilabel>
+ </term>
+ <listitem>
+ <para>&konversation; is trying to get the IP number of the sender.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel>Resuming</guilabel>
+ </term>
+ <listitem>
+ <para>When a transfer begins but the file already exists on the user's system, the user will be prompted <interface>File already exists. Resume transfer?</interface> This status indicates the user resumed the transfer.
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para>When someone wants to send you a file, the <guilabel>DCC Status</guilabel> tab will be created (if not already created). Click the <guilabel>DCC Status</guilabel> tab to display it. Click the file to select it, then click this button to accept the file and the transfer will begin. <emphasis>Note: </emphasis>You may configure &konversation; to automatically accept sends from other
+people by choosing
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+ <guisubmenu>DCC Settings</guisubmenu>
+</menuchoice> on the main menu.
+</para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para>
+If you have trouble sending or receiving files, your firewall or router may be blocking DCC ports.
+See <link linkend="faq">Questions and Answers</link>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title>Integrating with &kaddressbook;</title>
+
+<para>You can associate any &nickname; with a contact in &kaddressbook;.
+Once you've done this, &konversation; will display the contact real name
+in parenthesis after the &nickname; in the <interface>Nick Panel</interface>.
+</para>
+
+<para>
+To associate a &nickname; with a contact in &kaddressbook;,
+click with the &RMB; on the &nickname; of the person in the
+<interface>Nick Panel</interface> of the <link linkend="channel-screen-tour">Main</link> screen. Choose
+<menuchoice>
+ <guisubmenu>Whois</guisubmenu>
+</menuchoice>
+to <action>display information to help you determine the user's real name</action>.
+Next, click with the &RMB; on the &nickname; of the person again and choose
+<menuchoice>
+ <guisubmenu>Addressbook associations</guisubmenu>
+</menuchoice>.
+ <action>A submenu appears</action>. If the &nickname; is not already associated with a contact,
+choose
+<menuchoice>
+ <guisubmenu>Create new contact</guisubmenu>
+</menuchoice>.
+ <action>The <guilabel>Edit Contact</guilabel> screen appears</action>.
+</para>
+
+<para>
+<screenshot>
+<screeninfo>The Edit Contact screen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Edit Contact screen.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"><para>The &nickname; is automatically filled in here.
+If you know the person's real name, replace the &nickname; with the real name.
+</para></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para>Notice that the &nickname; does <emphasis>not</emphasis> appear here. Instead, ..</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para>Click here. The <guilabel>IM Addresses</guilabel> window appears.</para></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo>The IM Addresses Window.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>The IM Addresses Window.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para>Notice that &konversation; fills in the &nickname; for you with protocol
+<guilabel>IRC</guilabel>.
+</para>
+
+<para>See the
+<ulink url="help:kaddressbook">&kaddressbook; Handbook</ulink> for additional instructions
+on using the &kde; address book.</para>
+
+<para>Fill in any additional information about the &nickname; you know and click
+<guilabel>OK</guilabel>. The real name of the person will appear inside
+parenthesis next to the &nickname; in the <guilabel>Nick Panel</guilabel>
+of &konversation;. The real name also appears when the mouse hovers over
+the &nickname;.</para>
+
+<para>Once a &nickname; has been associated with a contact in &kaddressbook;,
+you can click with the &RMB; on the &nickname; of the person in the
+<interface>Nick Panel</interface> and edit the associated contact, associate
+the &nickname; with a different contact, or delete the association.
+</para>
+
+<para>If you have associated a &nickname; with a contact, and the user changes their &nickname; while you are running &konversation;,
+it will automatically associate the new &nickname; with the contact, keeping the
+original association as well.</para>
+
+<para>If you associate an &irc; &nickname; with a contact in
+<ulink url="help:kopete">&kopete;</ulink>,
+the association will also appear in &konversation;, and vice versa.</para>
+
+<para>Note: It is possible to highlight more than one &nickname; in the
+<interface>Nick Panel</interface>, click with the mouse &RMB;, and perform
+multiple associations.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title>Capturing &URL;s from messages</title>
+
+<para>In any <link linkend="channel-screen-tour">channel</link>, users sometimes post the &URL;s of interesting
+websites or other resources on the web. You can double-click any such &URL; and &konversation; will launch
+the application associated with the &URL;.
+The application launched depends upon the &MIME; type of the &URL;.
+For example, a &URL; beginning with
+<interface>http:</interface> will activate your default &kde; web browser and display the web page.
+(You can also specify the <link linkend="webbrowser">web browser</link> to use.)
+If the &URL; scrolls off the screen, you might have trouble finding it
+again. &konversation; can keep a convenient list of all &URL;s for you. To activate this feature, choose
+<menuchoice>
+ <guisubmenu>Windows</guisubmenu>
+ <guisubmenu>&url; Catcher</guisubmenu>
+</menuchoice> on the main menu.
+<action>A new tab called <guilabel>&url; Catcher</guilabel> is created.</action>
+</para>
+
+<para>
+<screenshot>
+<screeninfo>The &url; Catcher tab.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The &url; Catcher tab.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"><para>This is the list of &URL;s seen since you started &konversation;. The <guilabel>Nick</guilabel> column is the &nickname; of the person who posted the &URL;. If the &nickname; is blank, the &url; appeared in a <interface>Server Messages</interface> tab. (&URL;s appearing in join and leave messages
+are not listed.) Click on a &URL; to select it.</para></callout>
+
+<callout arearefs="pt-urlcatcher-2"><para>Click here to activate the application associated with the selected &URL;.
+The application launched depends upon the &MIME; type of the &URL;. For example, a &URL; beginning with
+<interface>http:</interface> will activate your default web browser and display the web page. For web pages, you can
+also specify the <link linkend="webbrowser">web browser</link> to use.</para></callout>
+
+<callout arearefs="pt-urlcatcher-3"><para>Click here to copy the selected &URL; to the &kde; clipboard..</para></callout>
+
+<callout arearefs="pt-urlcatcher-4"><para>Click here to delete the selected &URL; from the list.</para></callout>
+
+<callout arearefs="pt-urlcatcher-5"><para>Click here to save the list of &URL;s to a file.</para></callout>
+
+<callout arearefs="pt-urlcatcher-6"><para>Click here to clear the list.</para></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title>Setting your preferred web browser</title>
+
+<para>When you click on a highlighted &URL; anywhere in &konversation;, it will launch the default
+&kde; application associated with the &MIME; type of the &URL;. For example, when clicking on
+a &URL; beginning with <interface>http</interface>, &konqueror; is launched to display the
+web page. You can specify an application different from the &kde; default. For example, you can
+use Mozilla instead.
+</para>
+
+<para>To choose a different web browser, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure &konversation;</guisubmenu>
+</menuchoice>
+ on the main menu. <action>The <guilabel>Edit Preferences</guilabel> screen will appear.</action>
+ </para>
+
+ <para>
+<screenshot>
+<screeninfo>The Web Browser screen</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>The Web Browser screen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"><para>Click here to display the <guilabel>Web Browser</guilabel> screen.</para></callout>
+
+<callout arearefs="pt-webbrowser-2"><para>Click here to specify that you want to use a custom web browser.</para></callout>
+
+<callout arearefs="pt-webbrowser-3"><para>Enter the command to launch your desired web browser.
+When you click on a &URL; <userinput><replaceable>%u</replaceable></userinput> will be replaced with the &URL;.</para></callout>
+
+</calloutlist>
+</para>
+
+<para><emphasis>Tip: </emphasis>(&UNIX; systems only) The default command is <userinput>mozilla '%u'</userinput>, which will
+start a new instance of Mozilla each time you click on a &URL;. If you prefer that Mozilla display the web page
+in a new tab of an already-running instance, create a file containing the following:
+</para>
+
+<para>
+<literallayout>
+#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para>Name the file <userinput><replaceable>moz</replaceable></userinput>, place it in the PATH, and
+make it executable (<userinput>chmod a+x moz</userinput>). Then enter <userinput>
+<replaceable>moz '%u'</replaceable></userinput> for the web browser command in the screen above.
+</para>
+
+<para><emphasis>Note: </emphasis>The <guilabel>Web Browser</guilabel> setting does not apply to
+<interface>mailto:</interface> &URL;s. <interface>mailto:</interface> &URL;s always launch the default
+&kde; mailer.
+</para>
+
+<para>Click <guibutton>Apply</guibutton> to save your changes. You must reconnect to each server and
+channel for the changes to take effect. The easiest way to do this is to quit and restart &konversation;.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title>Marking Channel and Query Logs</title>
+
+<para>You can insert a marker into <link linkend="channel-screen-tour">channel</link>
+and <link linkend="query">query</link> screens
+to help you quickly locate information. To do this, choose
+<menuchoice>
+ <guisubmenu>Insert</guisubmenu>
+ <guisubmenu>Remember Line</guisubmenu>
+</menuchoice>
+on the main menu, or press <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo>.
+ <action>A line will appear at the bottom of the text on the screen.
+ The line will scroll with the rest of the text in the screen.</action>
+</para>
+
+<para>To make the <interface>Remember Line</interface>
+be inserted in all channels and queries at once, choose
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+</menuchoice> from the main menu, expand <guilabel>Behavior</guilabel>,
+click on <guilabel>Chat Window</guilabel>, and check the
+<guilabel>Show remember line in all channels/queries</guilabel> box.
+</para>
+
+<para>To make &konversation; automatically insert a
+<interface>Remember Line</interface> whenever you do an
+<userinput><command>/away</command> <replaceable>msg</replaceable></userinput>
+command, see <link linkend="identity-away">Setting your identity</link>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title>Logging</title>
+
+<para>If logging is enabled, &konversation; keeps a log of each <interface>Server</interface>,
+<link linkend="channel-screen-tour">Channel</link>, and
+<link linkend="query">Private conversation (query)</link> session.
+Each session is stored in a log file on disk.
+When you open the same session again, &konversation; appends to the log.
+The log grows to a limit you can set (see below). When the limit is reached, the oldest
+messages are discarded.
+</para>
+
+<para>Whenever you open a session again, approximately the last 1024 characters
+of the previous session are read from the tail of the log and shown on the screen.
+</para>
+
+<para>As your session continues, messages scroll off the top of the display.
+You can scroll backwards to view these messages. Eventually, in order to conserve
+memory, the oldest messages are discarded from the scroll. This is called
+the <guilabel>Scrollback limit</guilabel>. Messages that disappear from the display
+because of the <guilabel>Scrollback limit</guilabel> are still available in the log
+file, if logging is enabled.</para>
+
+<para>To view the logfile for a session, click the tab for the session to make it the
+current session and choose
+<menuchoice>
+ <guisubmenu>Window</guisubmenu>
+ <guisubmenu>Open Logfile</guisubmenu>
+</menuchoice> from the main menu. <action>A new tab appears</action> displaying
+the log file.
+</para>
+
+<para>
+<screenshot>
+<screeninfo>Logfile</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase>Logfile</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"><para>The messages in the log file are displayed here.
+The oldest messages are at the top and the most recent are at the bottom.</para></callout>
+<callout arearefs="pt-logviewer-2"><para>Click this button to save the log file to another file.</para></callout>
+<callout arearefs="pt-logviewer-3"><para>Click to refresh the log file display.
+While you are viewing a log file, newer messages in the corresponding
+session are <emphasis>not</emphasis> automatically added to the log file
+display. Use this button to view the most recent messages.</para></callout>
+<callout arearefs="pt-logviewer-4"><para>Click to erase the log file display
+and the log file on disk.</para></callout>
+<callout arearefs="pt-logviewer-5"><para>Use this box to set the maximum size
+of the log file. This setting does not take effect until you restart
+&konversation;. Each log file may have a separate setting.</para></callout>
+</calloutlist>
+</para>
+
+<para>The <guilabel>Scrollback limit</guilabel> can be changed by choosing
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure &konversation;</guisubmenu>
+</menuchoice> on the main menu, then expand <guilabel>Behavior</guilabel> and
+click on <guilabel>Chat Window</guilabel>. The <guilabel>Scrollback limit</guilabel>
+box appears on this screen. If you set it to <guilabel>Unlimited</guilabel>,
+messages are not discarded from the scroll.
+</para>
+
+<para>You can enable or disable logging and set other logging options, by choosing
+<menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure &konversation;</guisubmenu>
+</menuchoice> on the main menu, then expand <guilabel>Behavior</guilabel> and
+click on <guilabel>Logging</guilabel>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title>&konversation; commands</title>
+
+<para>The following commands are interpreted by &konversation; and may differ from standard
+&irc; commands. Items inside square brackets are optional. Items separated by bar (|) are
+alternate forms of the command. Commands not listed here are sent to the server as entered.
+</para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term><userinput><command>/me</command> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>msg</replaceable></userinput> to the channel preceded by your &nickname;. For example, if
+your &nickname; were <userinput><replaceable>Tux</replaceable></userinput>, typing <userinput><replaceable>/me brews a cup a tea.</replaceable></userinput> displays the message <interface>Tux brews a cup of tea.</interface> Unless they've filtered against these types of messages, all users see it. This kind of message is typically used to convey non-verbal information, such as your current emotional state, or what you are physically doing. If you are leaving your workstation for a short time, use the /away command instead.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/ame</command> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>Like the <userinput><command>/me</command></userinput> command above except that
+the message is sent to all the channels and queries you have open on all the servers you have connected in &konversation;.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/join</command> <replaceable>channel</replaceable> <replaceable>[pwd]</replaceable></userinput></term>
+<listitem><para>Joins <userinput><replaceable>channel</replaceable></userinput>. If the server permits it,
+and if the channel does not already exist, it is created and you are the channel operator. If the channel requires a password in order to join, specify as <userinput><replaceable>pwd</replaceable></userinput>. Most channel names begin with <userinput><replaceable>#</replaceable></userinput></para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/j</command> <replaceable>channel</replaceable> <replaceable>[pwd]</replaceable></userinput></term>
+<listitem><para>Same as <userinput><command>/join</command></userinput> above.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/part</command> <replaceable>[channel]</replaceable> <replaceable>[reason]</replaceable></userinput></term>
+<listitem><para>Leaves <userinput><replaceable>channel</replaceable></userinput> with <userinput><replaceable>reason</replaceable></userinput> and closes the corresponding <interface>channel</interface> tab.
+Within a &konversation; channel or query tab, you can just enter <userinput><command>/part</command></userinput> which closes that channel or query with your default reason
+as given in the <link linkend="identity">Settings</link>.</para></listitem>
+</varlistentry>
+
+<varlistentry><term><userinput><command>/leave</command> <replaceable>[channel]</replaceable> <replaceable>[reason]</replaceable></userinput></term>
+<listitem><para>Same as <userinput><command>/part</command></userinput> above.</para></listitem>
+</varlistentry>
+
+<varlistentry><term><userinput><command>/quit</command></userinput></term>
+<listitem><para>When entered in any channel, query, or DCC tab, disconnects from the corresponding server
+and closes all channel, query, or DCC tabs open on that server.</para></listitem>
+</varlistentry>
+
+<varlistentry><term><userinput><command>/notice</command> <replaceable>nick|channel</replaceable> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>msg</replaceable></userinput> to the user with &nickname; <userinput><replaceable>nick</replaceable></userinput> or to everyone in <userinput><replaceable>channel</replaceable></userinput>. The following is an example
+of what appears to you in the channel tab</para>
+
+<para><computeroutput>[17:14] [Notice] Sending notice "I think I understand" to #konversation</computeroutput></para>
+
+<para>And this is what the recipients see</para>
+
+<para><computeroutput>[17:15] [Notice] -Eisfuchs- I think I understand</computeroutput></para>
+
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/query </command><replaceable>nick</replaceable></userinput></term>
+<listitem><para>Creates a new tab with the user's <userinput><replaceable>nick</replaceable></userinput> for private conversation, commonly known on &irc; as a <link linkend="query">Query</link>. Everything written here is only visible to you and your query partner. You may enter more than one &nickname; separated by spaces and a query tab will be opened for each &nickname;. Each such query tab will be private between you and the query partner.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/msg </command><replaceable>nick|channel</replaceable></userinput>
+ <userinput><replaceable>message</replaceable></userinput></term>
+<listitem><para>Sends a private message to the user with &nickname; <userinput><replaceable>nick</replaceable></userinput> or to all users in <userinput><replaceable>channel</replaceable></userinput>. Unlike <userinput><command>/query</command></userinput>,
+does not open a new tab. If <userinput><replaceable>message</replaceable></userinput> begins with <userinput><command>/me </command></userinput>, the message is formatted in the same manner as a
+<userinput><command>/me</command></userinput> command.</para>
+
+<para>Examples</para>
+
+<para><userinput><replaceable>/msg Eisfuchs I need some help with the msg command</replaceable></userinput></para>
+
+<para><userinput><replaceable>/msg #konversation New version of Konvi is online!</replaceable></userinput></para>
+
+<para><userinput><replaceable>/msg Eisfuchs /me is compiling the Handbook right now.</replaceable></userinput></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/smsg </command><replaceable>nick|channel</replaceable></userinput>
+<userinput><replaceable>message</replaceable></userinput></term>
+<listitem><para>Same as <userinput><command>/msg</command></userinput> except the message is not
+displayed on your screen. This is useful for preventing passwords and other sensitive information from remaining exposed on your screen or being logged.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/amsg </command><replaceable>nick|channel</replaceable></userinput>
+ <userinput><replaceable>message</replaceable></userinput></term>
+<listitem><para>Like the <userinput><command>/msg</command></userinput> command above except that
+the message is sent to all the channels and queries you have open on all the servers you have connected in &konversation;.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/op </command> <replaceable>nick</replaceable></userinput></term>
+<listitem><para>When entered into a channel tab, attempts to give
+ <userinput><replaceable>nick</replaceable></userinput> operator privilege for the
+channel. May not work if you lack sufficient privilege in the channel (you must be a
+channel operator yourself). You may enter more than one &nickname; separated by spaces.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/deop </command><replaceable>nick</replaceable></userinput></term>
+<listitem><para>When entered into a channel tab, takes away channel operator privilege from
+<userinput><replaceable>nick</replaceable></userinput>. You may enter more than one &nickname; separated by spaces.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/oper </command><replaceable>[nick]</replaceable></userinput></term>
+<listitem><para>Grants the user with &nickname; <userinput><replaceable>nick</replaceable></userinput> &irc;-Op (Administrator) privilege. This only works if the &nickname; is listed in the server's O: line. &irc;-Ops
+have the privilege to <userinput><command>/kill</command></userinput> &nickname;s,
+<userinput><command>/connect</command></userinput> servers to the &irc; network, and more.
+If <userinput><replaceable>nick</replaceable></userinput> is not entered,
+attempts to grant yourself &irc;-Op privilege. You will be prompted for your &irc;-Op user name and password in either case.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/voice </command> <replaceable>nick</replaceable></userinput></term>
+<listitem><para>In certain channels (with +m flag), users cannot send messages unless they have voice privilege.
+This command attempts to give <userinput><replaceable>nick</replaceable></userinput> voice privilege.
+You must have channel operator privilege to execute this command. This command is mostly used
+when you are an operator for a moderated channel.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/unvoice </command> <replaceable>nick</replaceable></userinput></term>
+<listitem><para>Takes away voice privilege from <userinput><replaceable>nick</replaceable></userinput> in the channel.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/topic </command><replaceable>[channel]</replaceable> <replaceable>[message]</replaceable></userinput></term>
+<listitem><para>Attempts to set the topic of <userinput><replaceable>channel</replaceable></userinput> to
+<userinput><replaceable>message</replaceable></userinput>. When entered in a channel tab, <userinput><replaceable>channel</replaceable></userinput> may be omitted and defaults to the channel active in the tab. If <userinput><replaceable>message</replaceable></userinput> is omitted, displays the current
+topic of the channel. Changing a channel topic may fail if you lack sufficient privilege.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/away </command> <replaceable>reason</replaceable></userinput></term>
+<listitem><para>If anyone tries to send you a private message or invite you to a channel, they will be told that you are
+away from your workstation for <userinput><replaceable>reason</replaceable></userinput>. To change your state back to normal, enter <userinput><command>/away</command></userinput> without a reason.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/aaway </command> <replaceable>reason</replaceable></userinput></term>
+<listitem><para>Like the <userinput><command>/away</command></userinput> command above except that
+the command is sent to all the servers you have connected in &konversation;.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/invite </command><replaceable>nick</replaceable> <replaceable>[channel]</replaceable></userinput></term>
+<listitem><para>Invites the user with &nickname; <userinput><replaceable>nick</replaceable></userinput> to join <userinput><replaceable>channel</replaceable></userinput>. This command is especially useful if the channel is invite-only. When entered in a channel tab, <userinput><replaceable>channel</replaceable></userinput> may be omitted.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/exec </command><replaceable>script</replaceable> <replaceable>[parameters]</replaceable></userinput></term>
+<listitem><para>Executes the &konversation;-compatible shell script named
+<userinput><replaceable>script</replaceable></userinput>, passing it
+<userinput><replaceable>parameters</replaceable></userinput>. See
+<link linkend="scripting">Scripting</link> for more information on using and writing
+scripts.</para>
+<para>Examples:</para>
+
+<para><userinput><replaceable>/exec kdeversion</replaceable></userinput></para>
+
+<para>Sends your system's &kde; and &Qt; version numbers to the channel.</para>
+
+<para><userinput><replaceable>/exec cmd uname -a</replaceable></userinput></para>
+
+<para>Sends your &Linux; version string to the channel.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/notify </command><replaceable>[nick]</replaceable></userinput></term>
+<listitem><para>Adds or removes <userinput><replaceable>nick</replaceable></userinput> from
+your <link linkend="nicksonline">Watched Nicks Online</link> list. If the &nickname; is already
+in the list, it is removed. If it is not in the list, it is added. If <userinput><replaceable>nick</replaceable></userinput> is omitted, displays the current list
+of watched &nickname;s.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/prefs </command>[<command>list</command>|<replaceable>group</replaceable>] [<command>list</command>|<replaceable>option</replaceable>] [<replaceable>value</replaceable>]</userinput></term>
+<listitem><para>Displays or sets &konversation; settings without using the Settings screen.
+If a parameter contains spaces, surround it with quotes.</para>
+
+<para>Examples:</para>
+
+<para><userinput><replaceable>/prefs list</replaceable></userinput></para>
+
+<para>lists the available option groups.</para>
+
+<para><userinput><replaceable>/prefs "General Options" list</replaceable></userinput></para>
+
+<para>lists the options available in group <userinput><replaceable>General Options</replaceable></userinput> along with their current values</para>
+
+<para><userinput><replaceable>/prefs "General Options" ShowTrayIcon</replaceable></userinput></para>
+
+<para>Displays the current value of the setting for displaying the &konversation; icon in the system tray.</para>
+
+<para><userinput><replaceable>/prefs "General Options" ShowTrayIcon false</replaceable></userinput></para>
+
+<para>Turns off the &konversation; icon in the system tray.</para>
+
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/kick </command><replaceable>nick</replaceable> <replaceable>reason</replaceable></userinput></term>
+<listitem><para>When entered in a channel tab, attempts to kick the user with &nickname;
+<userinput><replaceable>nick</replaceable></userinput> from the channel with
+<userinput><replaceable>reason</replaceable></userinput>. If <userinput><replaceable>reason</replaceable></userinput> is not entered, defaults to the
+reason in the <link linkend="identity">Settings</link>. This command may only be used in
+a channel tab.</para>
+</listitem></varlistentry>
+
+<varlistentry>
+<term><userinput><command>/ban </command> [<command>-host</command>|<command>-domain</command>|
+<command>-userhost</command>|<command>-userdomain</command>] <replaceable>[channel]</replaceable> <replaceable>user</replaceable>|<replaceable>mask</replaceable></userinput></term>
+<listitem><para>Attempts to ban the <userinput><replaceable>user</replaceable></userinput> or <userinput><replaceable>mask</replaceable></userinput> from <userinput><replaceable>channel</replaceable></userinput>. When entered in a channel tab,
+<userinput><replaceable>channel</replaceable></userinput> may be omitted. For more information
+on hosts, domains, and masks, see the documents at <ulink url="http://www.irchelp.org/">irchelp.org</ulink>.
+Too get the current ban list for a channel, enter
+<userinput><command>/mode </command><replaceable>channel</replaceable> <command>b</command></userinput>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/unban </command> <replaceable>[channel]</replaceable> <replaceable>pattern</replaceable></userinput></term>
+<listitem><para>Reverts a previous banning from a channel. When entered in a channel tab,
+<userinput><replaceable>channel</replaceable></userinput> may be omitted.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/ignore </command> [<command>-all</command>] <replaceable>nick</replaceable> </userinput></term>
+<listitem><para>Adds <userinput><replaceable>nick</replaceable></userinput> to your Ignore list.
+You may specify more than one &nickname; separated by spaces. Channel messages from users on your Ignore
+list are not displayed. In addition, if you enter <userinput><command>-all</command></userinput>, all message types
+(queries, notices, &CTCP;, DCC, and Exceptions) from the user are ignored as well as channel messages.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/quote </command> <replaceable>cmd</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>cmd</replaceable></userinput> to the server.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/say </command> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>When entered in a channel tab, sends <userinput><replaceable>msg</replaceable></userinput> to the channel. This is the same as entering <userinput><replaceable>msg</replaceable></userinput>
+in the channel <interface>Input Line</interface>. Useful for sending &irc; commands when you don't want
+to execute the command. Two command characters (//) in a row does the same thing as
+<userinput><command>/say</command></userinput>. Also used by <link linkend="scripting">scripts</link> to send messages.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/raw </command> [<command>open</command>|<command>close</command>]</userinput></term>
+<listitem><para>Places the server log in raw mode (<command>open</command>) or stops raw mode (<command>close</command>). If neither <command>open</command> or <command>close</command> is entered, defaults to <command>open</command>. In raw mode, the log displays every message received from the server in native &irc; format.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/konsole </command></userinput></term>
+<listitem><para>Opens a new tab running a &kde; &konsole;.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/server </command> <replaceable>[url]</replaceable> <replaceable>[pwd]</replaceable></userinput></term>
+<listitem><para>Connects to the server at address <userinput><replaceable>url</replaceable></userinput>. If
+<userinput><replaceable>url</replaceable></userinput> is omitted, connects to the server associated
+with the tab where you enter the command. This is useful for re-connecting to a server when
+disconnected. If the server
+requires a password in order to connect to it, enter it for <userinput><replaceable>pwd</replaceable></userinput>. If
+the server requires a port number other than the default (6667), enter the <userinput><replaceable>url</replaceable></userinput> like this: <replaceable>irc.kde.org:6665</replaceable>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/dcc </command> <command>SEND </command><replaceable>nick</replaceable>
+<replaceable>[filename]</replaceable></userinput></term>
+<listitem><para>Sends <userinput><replaceable>filename</replaceable></userinput> to the user with
+&nickname; <userinput><replaceable>nick</replaceable></userinput>.
+If <userinput><replaceable>filename</replaceable></userinput> is omitted, a dialog appears for you to select
+a file.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/dcc </command></userinput></term>
+<listitem><para>Opens a DCC Status tab.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/ctcp </command><replaceable>nick|channel</replaceable> <command>ping</command></userinput></term>
+<listitem><para>Sends a PING message to <userinput><replaceable>nick</replaceable></userinput>
+or <userinput><replaceable>channel</replaceable></userinput>. This is useful for
+determining if someone you are talking with has a high network lag, or (when sent to
+a channel) if your system has a high lag.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><userinput><command>/ctcp </command><replaceable>nick|channel</replaceable> <replaceable>msg</replaceable></userinput></term>
+<listitem><para>Sends a message to <userinput><replaceable>nick</replaceable></userinput>
+or all users in <userinput><replaceable>channel</replaceable></userinput>. This
+is similar to the <userinput><command>/msg</command></userinput> command above, except that
+the message is sent using the &CTCP; protocol. The response on the other end
+depends on the &irc; client program the user is running. For example, when
+conversing with another &konversation; user,
+<userinput><replaceable>/ctcp Eisfuchs TIME</replaceable></userinput> will return
+the system time on Eisfuch's computer. <userinput><replaceable>/ctcp Eisfuchs VERSION</replaceable></userinput> will return the &konversation; version number
+from Eisfuch's computer.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title>Scripting</title>
+
+<para>&konversation; comes with some handy scripts you can run from the program. To
+run a script, in a channel, query, DCC, or server tab, type a command of the form</para>
+
+<para><userinput><command>/exec </command> <replaceable>script</replaceable>
+ [<replaceable>parameters</replaceable>]</userinput></para>
+
+<para>which executes the script named <userinput><replaceable>script</replaceable></userinput>
+passing it (optional) <userinput><replaceable>parameters</replaceable></userinput>.</para>
+
+<para>For example, type the following command in a channel tab</para>
+
+<para><userinput><replaceable>/exec kdeversion</replaceable></userinput></para>
+
+<para>to send your &kde; and &Qt; version numbers to the channel.</para>
+
+<para><userinput><replaceable>/exec cmd uname -a</replaceable></userinput></para>
+
+<para>executes the <userinput><replaceable>cmd</replaceable></userinput> script,
+passing it <userinput><replaceable>uname -a</replaceable></userinput>. This sends your
+&Linux; version string to the channel.</para>
+
+<para>To get a list of all available scripts, type the following command in a
+&konsole; screen.</para>
+
+<para><userinput><replaceable>ls $KDEDIR/share/apps/konversation/scripts</replaceable></userinput></para>
+
+<para>You can write your own scripts. Scripts are shell scripts and can be written in
+any shell language, such as bash, perl, or python. When &konversation; runs a script, the
+first three parameters sent to the script are:</para>
+
+<itemizedlist>
+
+<listitem><para>The port number for the &irc; server of the tab where the
+<userinput><command>/exec</command></userinput> command was entered.</para>
+</listitem>
+
+<listitem><para>The address of the server.</para></listitem>
+
+<listitem><para>The channel name.</para></listitem>
+
+</itemizedlist>
+
+<para>Here is a sample shell script (cmd).</para>
+
+<para>
+<programlisting>
+#!/bin/sh
+
+# Executes a command and prints the output into Konversation.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para>Notice that the script uses &DCOP; to communicate with &konversation;. The <computeroutput>say</computeroutput> command causes
+the output to be sent to the channel as a normal message. To display something
+in the tab without sending it to other users, use <computeroutput>info</computeroutput>
+instead. Look at the existing script files for more examples of writing scripts.</para>
+
+<para>To be able to run a script you have written, you must install it by copying
+it to $KDEDIR/share/apps/konversation/scripts or to $HOME/.kde/share/apps/konversation/scripts. You must also give the file execute
+privilege, for example <userinput><replaceable>chmod a+x myscript</replaceable></userinput>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title>Command Reference</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title>The main &konversation; window</title>
+
+<sect2>
+<title>The File Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F2</keycap>
+ </shortcut>
+ <guimenu>File</guimenu>
+ <guimenuitem>Server List</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Displays the <link linkend="irc-basics">list of servers and channels</link>.
+ </action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F7</keycap>
+ </shortcut>
+ <guimenu>File</guimenu>
+ <guimenuitem>Quick Connect</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Displays the <link linkend="quickconnect">Quick Connect</link> screen for connecting to a server.
+ </action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>File</guimenu>
+ <guimenuitem>Reconnect</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Reconnects to all servers that were disconnected
+ by a network error or other problem.
+ </action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>J</keycap></keycombo>
+ </shortcut>
+ <guimenu>File</guimenu>
+ <guimenuitem>Join Channel</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Displays a dialog for you to enter the name
+ of a channel to join. Does the same thing as entering
+ <command>/join <userinput>#channelname</userinput></command> in a channel
+ or server tab.</action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Alt; &Ctrl;<keycap>Q</keycap></keycombo>
+ </shortcut>
+ <guimenu>File</guimenu>
+ <guimenuitem>Set Away Globally</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Changes your &nickname; status to away in all channels.
+ </action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
+ </shortcut>
+ <guimenu>File</guimenu>
+ <guimenuitem>Quit</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Quits</action> &konversation;</para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Edit</guimenu> Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo>
+ </shortcut>
+ <guimenu>Edit</guimenu>
+ <guimenuitem>Find</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Searches for text strings in the current screen.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F3</keycap>
+ </shortcut>
+ <guimenu>Edit</guimenu>
+ <guimenuitem>Find Next</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Searches again for text strings in the current screen
+ using the previous search string.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo>
+ </shortcut>
+ <guimenu>Edit</guimenu>
+ <guimenuitem>Clear Window</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Clears the current screen.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl; &Shift;<keycap>L</keycap></keycombo>
+ </shortcut>
+ <guimenu>Edit</guimenu>
+ <guimenuitem>Clear All Windows</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Clears all screens.</action>
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Insert</guimenu> Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>K</keycap></keycombo>
+ </shortcut>
+ <guimenu>Insert</guimenu>
+ <guimenuitem>&irc; Color</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>See <link linkend="color-msgs">Sending colorful messages</link>.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo>
+ </shortcut>
+ <guimenu>Insert</guimenu>
+ <guimenuitem>Remember Line</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>See <link linkend="rememberlines">Marking Channel and Query Logs</link>.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Alt; &Shift;<keycap>C</keycap></keycombo>
+ </shortcut>
+ <guimenu>Insert</guimenu>
+ <guimenuitem>Special Character</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Used to enter special characters, such as foreign
+ characters.</action>
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Bookmarks</guimenu> Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo>
+ </shortcut>
+ <guimenu>Bookmarks</guimenu>
+ <guimenuitem>Add Bookmark</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Bookmarks current network &amp; channel</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Bookmarks</guimenu>
+ <guimenuitem>Edit Bookmarks</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Opens bookmark editor</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Bookmarks</guimenu>
+ <guimenuitem>New Bookmark Folder</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Creates a new bookmark folder</action>
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Settings</guimenu> Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo>
+ </shortcut>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Hide Menubar</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Hides the main menu. Hit
+ <keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo>
+ to display it again.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Hide Toolbar</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Hides the toolbar.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Hide Statusbar</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Hides the status bar at the bottom of the main screen.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Identities</guimenuitem>
+ </menuchoice></term>
+ <listitem><para><action>Displays the <link linkend="identity">Identities</link> screen
+ for setting your identification information.
+ </action></para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Configure Shortcuts</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Allows you to change keyboard shortcuts for &konversation;.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Configure Toolbars</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Allows you to add or remove buttons from the &konversation; toolbar.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Configure Notifications</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the <link linkend="cfg-notifications">Notifications Settings</link> screen.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Settings</guimenu>
+ <guimenuitem>Configure &konversation;</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the <guilabel>Edit Preferences</guilabel> screen.</action>
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Window</guimenu> Menu</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>.</keycap></keycombo>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Previous Tab</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the screen corresponding to the previous tab.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>,</keycap></keycombo>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Next Tab</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the screen corresponding to the next tab.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Close Tab</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Closes the current screen. If closing a channel, leaves the channel. If closing a
+ <interface>Server Messages</interface> tab, closes all open channels on that server
+ and disconnects from the server.
+ </action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F11</keycap>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Close All Open Queries</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Closes all <link linkend="query">Private conversations (queries)</link>.
+ </action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Hide Nicklist</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Hides (or displays) the panel of &nickname;s in channel tabs.
+ </action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F4</keycap>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Watched Nicks Online</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the <guilabel>Watched Nicks Online</guilabel> screen. See <link linkend="nicksonline">Monitoring who is online</link>.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F5</keycap>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Channel List</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays a <link linkend="list-channels">list of channels</link> available on the server.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycap>F6</keycap>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>&url; Catcher</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays the <link linkend="urlcatcher">&url; Catcher</link> screen.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <guimenu>Window</guimenu>
+ <guimenuitem>New Konsole</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays a terminal screen. You may open as many <guilabel>Konsole</guilabel> tabs as you like.</action>
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><menuchoice>
+ <shortcut>
+ <keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
+ </shortcut>
+ <guimenu>Window</guimenu>
+ <guimenuitem>Open Logfile</guimenuitem>
+ </menuchoice></term>
+ <listitem><para>
+ <action>Displays a screen with the log of messages from the current tab. Only works for
+ <interface>Channel</interface>, <interface>Server Messages</interface>,
+ and <interface>Query</interface> tabs. Logging must be enabled in
+ <menuchoice>
+ <guisubmenu>Settings</guisubmenu>
+ <guisubmenu>Configure Konversation</guisubmenu>
+ <guisubmenu>Behavior</guisubmenu>
+ <guisubmenu>Logging</guisubmenu>
+ </menuchoice> on the main menu.
+ </action>
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title>The <guimenu>Help</guimenu> Menu</title>
+
+<!-- Assuming you have a standard help menu (help, what's this, about -->
+<!-- &konversation;, about KDE) then the documentation is already written. -->
+<!-- The following entity is valid anywhere that a variablelist is -->
+<!-- valid. -->
+
+&help.menu.documentation;
+
+</sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title>Questions and Answers</title>
+
+<!-- (OPTIONAL but recommended) This chapter should include all of the silly
+(and not-so-silly) newbie questions that fill up your mailbox. This chapter
+should be reserved for BRIEF questions and answers! If one question uses more
+than a page or so then it should probably be part of the
+"Using this Application" chapter instead. You should use links to
+cross-reference questions to the parts of your documentation that answer them.
+This is also a great place to provide pointers to other FAQ's if your users
+must do some complicated configuration on other programs in order for your
+application work. -->
+
+&reporting.bugs;
+&updating.documentation;
+
+<qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para>When I start &konversation;, I'd like to connect to a server without joining any channels. How do I do that?</para>
+</question>
+<answer>
+<para>In the <link linkend="serverlist-addnetwork">Edit Server</link> screen, leave the <guilabel>Channels</guilabel> frame empty.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para>&konversation; won't connect to any servers. What is wrong.?</para>
+</question>
+<answer>
+<para>There are several things that could be wrong.</para>
+<orderedlist>
+<listitem>
+<para>
+Make sure that you have entered the correct <guilabel>Server name</guilabel> and the correct <guilabel>Port</guilabel> in the <link linkend="serverlist-addserver">Add Server</link> screen.
+</para>
+</listitem>
+<listitem>
+<para>
+Check the output in the <link linkend="channel-screen-tour">Server Messages</link> screen for any error messages. Did the server reject the connection because of a bad password? Did the server reject the connection because it requires <acronym>IDENTD</acronym> and
+your computer did not respond to the <acronym>IDENT</acronym> request? Did you check
+the SSL protocol box but the server does not support SSL?
+</para>
+</listitem>
+<listitem>
+<para>
+If you are behind a firewall, make sure the correct ports are enabled. &konversation; needs the following ports enabled:
+</para>
+
+<para>
+<itemizedlist>
+<listitem><para>Outgoing TCP 6667 (or the port of the server you connect to)</para></listitem>
+<listitem><para>Incoming TCP 113 (if the server requires IDENTD)</para></listitem>
+<!-- <listitem><para>TODO (Incoming port numbers?)</para></listitem> -->
+</itemizedlist>
+</para>
+
+<para>For more information on &irc; connection problems, see <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html">irchelp.org</ulink>.
+</para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para>When I go to
+<menuchoice>
+<guisubmenu>Window</guisubmenu>
+<guisubmenu>Channel List</guisubmenu>
+</menuchoice>, I cannot select it. Why is that?</para>
+</question>
+<answer>
+<para>
+The
+<menuchoice>
+<guisubmenu>Windows</guisubmenu>
+<guisubmenu>Channel List</guisubmenu>
+</menuchoice> menu entry will be greyed-out if a non-channel tab, &eg; <guilabel>Watched Nicks Online</guilabel>, is currently being viewed.
+To make it selectable again go back to a channel tab or the server tab.
+</para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title>Credits and License</title>
+
+<para>
+&konversation;
+</para>
+<para>
+Program copyright 2002-2005 by the &konversation; team.
+</para>
+<para><ulink url="&konviwebsite;">&konviwebsite;</ulink>
+</para>
+<para>
+Contributors:
+<itemizedlist>
+<listitem><para>Dario Abatianni <email>eisfuchs@tigress.com</email></para></listitem>
+<listitem><para>Peter Simonsson <email>psn@linux.se</email></para></listitem>
+<listitem><para>Christian Muehlhaeuser <email>chris@chris.de</email></para></listitem>
+<listitem><para>John Tapsel <email>john@geola.geo.uk</email></para></listitem>
+<listitem><para>Ismail Donmez <email>ismail.donmez@boun.edu.tr</email></para></listitem>
+<listitem><para>Shintaro Matsuoka <email>shin@shoegazed.org</email></para></listitem>
+<listitem><para>Gary Cramblitt <email>garycramblitt@comcast.net</email></para></listitem>
+<listitem><para>Matthias Gierlings <email>gismore@users.sourceforge.net</email></para></listitem>
+<listitem><para>&Alex.Zepeda; <email>garbanzo@hooked.net</email></para></listitem>
+<listitem><para>Stanislav Karchebny <email>berkus@users.sourceforge.net</email></para></listitem>
+<listitem><para>Mickael Marchand <email>marchand@kde.org</email></para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Thanks to:
+<itemizedlist>
+<listitem><para>Michael Goettsche <email>michael.goettsche@kdemail.net</email></para></listitem>
+<listitem><para>Benjamin Meyer <email>ben+konversation@kdemail.net</email></para></listitem>
+<listitem><para>Jacub Stachowski <email>qbast@go2.pl</email></para></listitem>
+<listitem><para>Sabastian Sariego <email>segfault@kde.cl</email></para></listitem>
+<listitem><para>Olivier Bedard <email>www.konversation.org hosting</email></para></listitem>
+<listitem><para>Frauke Oster <email>frauke@frsv.de</email></para></listitem>
+<listitem><para>Lucijan Busch <email>lucijan@kde.org</email></para></listitem>
+<listitem><para>Sascha Cunz <email>mail@sacu.de</email></para></listitem>
+<listitem><para>Steve Wollkind <email>steve@njord.org</email></para></listitem>
+<listitem><para>Thomas Nagy <email>thomas.nagy@eleve.emn.fr</email></para></listitem>
+<listitem><para>Tobias Olry <email>tobias.olry@web.de</email></para></listitem>
+<listitem><para>Ruud Nabben <email>r.nabben@gawab.com</email></para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+Documentation Copyright &copy; 2003-2005 Gary R. Cramblitt <email>garycramblitt@comcast.net</email>
+</para>
+
+<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
+
+&underFDL; <!-- FDL: do not remove -->
+
+<!-- Determine which license your application is licensed under,
+ and delete all the remaining licenses below:
+
+ (NOTE: All documentation are licensed under the FDL,
+ regardless of what license the application uses) -->
+
+&underGPL; <!-- GPL License -->
+
+</chapter>
+
+<appendix id="installation">
+<title>Installation</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title>How to obtain &konversation;</title>
+
+<!-- This first entity contains boiler plate for applications that are
+part of KDE CVS. You should remove it if you are releasing your
+application -->
+
+&install.intro.documentation;
+
+<para>
+The latest versions of &konversation;, including source code and build instructions
+can also be obtained from the
+<ulink url="&konviwebsite;">&konviwebsite; website</ulink>.
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title>Requirements</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para>
+In order to successfully use &konversation;, you need &kde; 3.2 or later and a network connection.
+On earlier &kde; versions some features may be missing.
+If you will be running &konversation; from behind a firewall, see <link linkend="faq">Questions and Answers</link>. If you wish to use SSL protocol, you may need OpenSSL.
+</para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/konversation/irc_admin.png b/doc/konversation/irc_admin.png
new file mode 100644
index 0000000..3aeef2e
--- /dev/null
+++ b/doc/konversation/irc_admin.png
Binary files differ
diff --git a/doc/konversation/irc_away.png b/doc/konversation/irc_away.png
new file mode 100644
index 0000000..ad9044d
--- /dev/null
+++ b/doc/konversation/irc_away.png
Binary files differ
diff --git a/doc/konversation/irc_halfop.png b/doc/konversation/irc_halfop.png
new file mode 100644
index 0000000..d0ea2b6
--- /dev/null
+++ b/doc/konversation/irc_halfop.png
Binary files differ
diff --git a/doc/konversation/irc_normal.png b/doc/konversation/irc_normal.png
new file mode 100644
index 0000000..d3aaee6
--- /dev/null
+++ b/doc/konversation/irc_normal.png
Binary files differ
diff --git a/doc/konversation/irc_op.png b/doc/konversation/irc_op.png
new file mode 100644
index 0000000..b00f5d4
--- /dev/null
+++ b/doc/konversation/irc_op.png
Binary files differ
diff --git a/doc/konversation/irc_owner.png b/doc/konversation/irc_owner.png
new file mode 100644
index 0000000..2e2bd40
--- /dev/null
+++ b/doc/konversation/irc_owner.png
Binary files differ
diff --git a/doc/konversation/irc_voice.png b/doc/konversation/irc_voice.png
new file mode 100644
index 0000000..1fc438b
--- /dev/null
+++ b/doc/konversation/irc_voice.png
Binary files differ
diff --git a/doc/konversation/kaddressbook.png b/doc/konversation/kaddressbook.png
new file mode 100644
index 0000000..475a472
--- /dev/null
+++ b/doc/konversation/kaddressbook.png
Binary files differ
diff --git a/doc/konversation/kimproxy_create_screen2.png b/doc/konversation/kimproxy_create_screen2.png
new file mode 100644
index 0000000..4f902c9
--- /dev/null
+++ b/doc/konversation/kimproxy_create_screen2.png
Binary files differ
diff --git a/doc/konversation/kimproxy_create_screen_co.png b/doc/konversation/kimproxy_create_screen_co.png
new file mode 100644
index 0000000..c3a1b39
--- /dev/null
+++ b/doc/konversation/kimproxy_create_screen_co.png
Binary files differ
diff --git a/doc/konversation/led_blue_off.png b/doc/konversation/led_blue_off.png
new file mode 100644
index 0000000..2a9beb7
--- /dev/null
+++ b/doc/konversation/led_blue_off.png
Binary files differ
diff --git a/doc/konversation/led_blue_on.png b/doc/konversation/led_blue_on.png
new file mode 100644
index 0000000..24ea507
--- /dev/null
+++ b/doc/konversation/led_blue_on.png
Binary files differ
diff --git a/doc/konversation/led_green_off.png b/doc/konversation/led_green_off.png
new file mode 100644
index 0000000..0a5e99e
--- /dev/null
+++ b/doc/konversation/led_green_off.png
Binary files differ
diff --git a/doc/konversation/led_green_on.png b/doc/konversation/led_green_on.png
new file mode 100644
index 0000000..b075e3b
--- /dev/null
+++ b/doc/konversation/led_green_on.png
Binary files differ
diff --git a/doc/konversation/led_red_off.png b/doc/konversation/led_red_off.png
new file mode 100644
index 0000000..36ade01
--- /dev/null
+++ b/doc/konversation/led_red_off.png
Binary files differ
diff --git a/doc/konversation/led_red_on.png b/doc/konversation/led_red_on.png
new file mode 100644
index 0000000..fc39e10
--- /dev/null
+++ b/doc/konversation/led_red_on.png
Binary files differ
diff --git a/doc/konversation/led_yellow_off.png b/doc/konversation/led_yellow_off.png
new file mode 100644
index 0000000..e51d9e4
--- /dev/null
+++ b/doc/konversation/led_yellow_off.png
Binary files differ
diff --git a/doc/konversation/led_yellow_on.png b/doc/konversation/led_yellow_on.png
new file mode 100644
index 0000000..58fc244
--- /dev/null
+++ b/doc/konversation/led_yellow_on.png
Binary files differ
diff --git a/doc/konversation/logviewer_co.png b/doc/konversation/logviewer_co.png
new file mode 100644
index 0000000..9104e6f
--- /dev/null
+++ b/doc/konversation/logviewer_co.png
Binary files differ
diff --git a/doc/konversation/nicksonline_co.png b/doc/konversation/nicksonline_co.png
new file mode 100644
index 0000000..7d8267a
--- /dev/null
+++ b/doc/konversation/nicksonline_co.png
Binary files differ
diff --git a/doc/konversation/nickthemes_screen_co.png b/doc/konversation/nickthemes_screen_co.png
new file mode 100644
index 0000000..f57e707
--- /dev/null
+++ b/doc/konversation/nickthemes_screen_co.png
Binary files differ
diff --git a/doc/konversation/notification_screen_co.png b/doc/konversation/notification_screen_co.png
new file mode 100644
index 0000000..3da5a21
--- /dev/null
+++ b/doc/konversation/notification_screen_co.png
Binary files differ
diff --git a/doc/konversation/notifylist_screen_co.png b/doc/konversation/notifylist_screen_co.png
new file mode 100644
index 0000000..33020bc
--- /dev/null
+++ b/doc/konversation/notifylist_screen_co.png
Binary files differ
diff --git a/doc/konversation/osd_demo.png b/doc/konversation/osd_demo.png
new file mode 100644
index 0000000..03061f2
--- /dev/null
+++ b/doc/konversation/osd_demo.png
Binary files differ
diff --git a/doc/konversation/osd_screen_co.png b/doc/konversation/osd_screen_co.png
new file mode 100644
index 0000000..4a64491
--- /dev/null
+++ b/doc/konversation/osd_screen_co.png
Binary files differ
diff --git a/doc/konversation/prefs_identity_screen_co.png b/doc/konversation/prefs_identity_screen_co.png
new file mode 100644
index 0000000..155aadd
--- /dev/null
+++ b/doc/konversation/prefs_identity_screen_co.png
Binary files differ
diff --git a/doc/konversation/quickbuttons_screen.png b/doc/konversation/quickbuttons_screen.png
new file mode 100644
index 0000000..c15358e
--- /dev/null
+++ b/doc/konversation/quickbuttons_screen.png
Binary files differ
diff --git a/doc/konversation/quickconnect_screen.png b/doc/konversation/quickconnect_screen.png
new file mode 100644
index 0000000..1a6d5f5
--- /dev/null
+++ b/doc/konversation/quickconnect_screen.png
Binary files differ
diff --git a/doc/konversation/serverlist_co.png b/doc/konversation/serverlist_co.png
new file mode 100644
index 0000000..9d6547b
--- /dev/null
+++ b/doc/konversation/serverlist_co.png
Binary files differ
diff --git a/doc/konversation/serverlist_screen_co.png b/doc/konversation/serverlist_screen_co.png
new file mode 100644
index 0000000..c0eda8f
--- /dev/null
+++ b/doc/konversation/serverlist_screen_co.png
Binary files differ
diff --git a/doc/konversation/urlcatcher_screen_co.png b/doc/konversation/urlcatcher_screen_co.png
new file mode 100644
index 0000000..08ef3b6
--- /dev/null
+++ b/doc/konversation/urlcatcher_screen_co.png
Binary files differ
diff --git a/doc/konversation/webbrowser_screen_co.png b/doc/konversation/webbrowser_screen_co.png
new file mode 100644
index 0000000..836d249
--- /dev/null
+++ b/doc/konversation/webbrowser_screen_co.png
Binary files differ
diff --git a/doc/pt/Makefile.am b/doc/pt/Makefile.am
new file mode 100644
index 0000000..be3f4f8
--- /dev/null
+++ b/doc/pt/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = pt
+KDE_DOCS = konversation
diff --git a/doc/pt/index.docbook b/doc/pt/index.docbook
new file mode 100644
index 0000000..9239eda
--- /dev/null
+++ b/doc/pt/index.docbook
@@ -0,0 +1,5959 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Portuguese "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>O Manual do &konversation;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+<othercredit role="translator"
+><firstname
+>José</firstname
+><surname
+>Pires</surname
+><affiliation
+><address
+><email
+>jncp@netcabo.pt</email
+></address
+></affiliation
+><contrib
+>Tradução</contrib
+></othercredit
+>
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>O &konversation; é um cliente de &irc; amigável para o Ambiente de Trabalho K. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>'internet relay chat'</keyword>
+<keyword
+>conversa</keyword>
+<keyword
+>comunicação</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with &kaddressbook;</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&konversation; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &konversation; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &konversation;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Introdução</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>O &konversation; é um cliente de &irc; para o &kde; 3.2 ou posteriores. Oferece as seguintes funcionalidades: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Suporte de SSL.</para
+></listitem>
+<listitem
+><para
+>Uma interface em páginas amigável.</para
+></listitem>
+<listitem
+><para
+>Botões Rápidos Personalizáveis para os comandos mais usados</para
+></listitem>
+<listitem
+><para
+>Voltar ligar e juntar automaticamente.</para
+></listitem>
+<listitem
+><para
+>Envio e recepção DCC.</para
+></listitem>
+<listitem
+><para
+>Lista de &Nickname;s a vigiar.</para
+></listitem>
+<listitem
+><para
+>Notificações visuais e audíveis para uma grande variedade de eventos, como as mensagens que contêm o seu &nickname;, ou os &nickname;s na sua lista de vigias que se ligam ou desligam. </para
+></listitem>
+<listitem
+><para
+>Realce personalizado das mensagens por &nickname; ou por um padrão de expressão regular.</para
+></listitem>
+<listitem
+><para
+>Completação de &Nickname;s.</para
+></listitem>
+<listitem
+><para
+>Captura e gravação de todos os &URL;s que aparecem nas mensagens.</para
+></listitem>
+<listitem
+><para
+>Visualização no ecrã das mensagens, mesmo quando está minimizado.</para
+></listitem>
+<listitem
+><para
+>Lista de &Nickname;s a ignorar.</para
+></listitem>
+<listitem
+><para
+>Registo automático e gestão dos registos.</para
+></listitem>
+<listitem
+><para
+>Marcação das linhas nos registos.</para
+></listitem>
+<listitem
+><para
+>'Scripting'.</para
+></listitem>
+<listitem
+><para
+>Integração com o &kaddressbook;.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>A página Web do &konversation; é a <ulink url="&konviwebsite;"
+>&konviwebsite;</ulink
+>. As perguntas e respostas para o &konversation; podem ser discutidas na lista de correio <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>&konversation;-Users</ulink
+>. Por favor subscreva-se para saber das novas funcionalidades, de relatórios de erros e outras coisas do género. Para se manter informado das novas versões, poderá juntar-se à lista de correio <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>&konversation;-Announce</ulink
+>. Esta é uma lista de volume baixo que só é usada anunciar versões ou actualizações novas. </para>
+
+<para
+>Os programadores do &konversation; poderão ser contactados com frequência através do &irc; no <ulink url="irc://irc.kde.org/%23konversation"
+>canal do irc.kde.org #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>Usar o &konversation;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Se você nunca usou o &irc; antes...</title>
+
+<para
+>De forma simples, o &irc; é um protocolo de conversação, definido pelas normas oficiais da Internet e que é capaz de roubar muitas horas da sua vida. Para usar o &irc;, precisa de se ligar a um servidor e depois de se juntar a um canal (o equivalente a uma sala de conversação) ou simplesmente entrar em conversas privadas.</para>
+
+<para
+>Para se ligar a um servidor e um canal, abra o &konversation;. O ecrã da <guilabel
+>Lista de Servidores</guilabel
+> irá então aparecer.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Lista de Servidores</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Lista de Servidores</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>A lista de <guilabel
+>Redes</guilabel
+> de &irc; configuradas encontra-se aqui. Uma rede de &irc; é uma colecção de servidores em cooperação. Só precisa de se ligar a um dos servidores na rede para se ligar a toda a rede de &irc;. Logo que esteja ligado, o &konversation; irá ligar-se automaticamente aos <guilabel
+>Canais</guilabel
+> apresentados. Quando o &konversation; é iniciado pela primeira vez, é usada a rede <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> e o canal <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+> já estão introduzidos para si. Carregue numa rede para a seleccionar.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Carregue aqui para definir uma nova <guilabel
+>Rede</guilabel
+>, incluindo o servidor ao qual se ligar, e os <guilabel
+>Canais</guilabel
+> aos quais se ligar automaticamente. Veja em <link linkend="serverlist"
+>Definir redes, servidores e canais de ligação automáticos novos</link
+> para mais informações.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Carregue aqui para se ligar ao servidor e canal &irc; seleccionados.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>Quando carregar no botão <guibutton
+>Ligar</guibutton
+> da primeira vez que abrir o &konversation;, poderá ver a seguinte mensagem que lhe diz que a sua <guilabel
+>identidade</guilabel
+> por omissão não está configurada correctamente.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Verificar Identidades</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Verificar Identidades</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Na primeira vez que usar o &konversation;, ele irá obter informações acerca do utilizador actual a partir do sistema operativo e tentará preencher os valores por omissão para a identidade. Se a informação do sistema operativo não estiver completa como, por exemplo, faltar o Nome Completo, poderá ver a mensagem acima. Para corrigir este problema, carregue em <guibutton
+>OK</guibutton
+> e veja a secção <link linkend="identity"
+>Configurar a sua identidade</link
+> para mais informações.</para>
+</note>
+
+<para
+>O ecrã <interface
+>Principal</interface
+> aparecerá a mostrar as mensagens enviadas pelo servidor ao cliente (Se o &konversation; não se ligar ao servidor, veja as <link linkend="faq"
+>Perguntas e Respostas</link
+>.) Quando as mensagens do servidor tiverem acabado de passar, o &konversation; juntar-se-á ao canal escolhido. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Canal.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Canal</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Esta é chamada de <interface
+>Linha de Entrada</interface
+>. Para enviar uma mensagem para todos no canal, escreva aqui a mensagem e carregue em &Enter;. A sua mensagem, assim como as mensagens de todos os outros, irão aparecer na área do canal em cima. Cada mensagem é antecedida da hora e do &nickname; do utilizador.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Você poder-se-á ligar aos servidores e canais adicionais. Cada servidor, canal, lista de canais e outros ecrãs têm uma página diferente aqui. Para mostrar uma lista ocm os canais disponíveis, veja em <link linkend="list-channels"
+>Listar os canais disponíveis</link
+>. Para se ligar a um canal, escreva: <userinput
+><command
+>/join</command
+> <replaceable
+>#nome_do_canal</replaceable
+></userinput
+> na Linha de Entrada. (O <userinput
+>#</userinput
+> é obrigatório.) Poderá também escrever <userinput
+><command
+>/j</command
+></userinput
+> como atalho para o <userinput
+><command
+>/join</command
+></userinput
+>. Para sair de um canal, basta escrever <userinput
+><command
+>/part</command
+></userinput
+>. Para mudar a visualização para outro servidor ou canal, carregue na página correspondente. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Esta área é chamada de <interface
+>Lista de Alcunhas</interface
+>. Ela lista os &nickname;s de todos os utilizadores que se juntaram ao canal, incluindo você próprio.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Isto é o básico; para saber alguma informação mais detalhada, continue a ler...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Configurar a sua identidade</title>
+
+<para
+>Antes de começar a usar o &konversation; regularmente, você precisa de definir como é que será identificado na rede.</para>
+
+<para
+>Carregue em <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Identidades</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã de <guilabel
+>Identidades</guilabel
+> irá aparecer. Poderá também apresentar o ecrã de <guilabel
+>Identidades</guilabel
+> se carregar no botão <guibutton
+>Editar</guibutton
+> no ecrã <guilabel
+>Adicionar uma Rede</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Identidades (Página geral)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identidades (Página geral)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Carregue aqui para escolher uma <guilabel
+>Identidade</guilabel
+> a editar.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Use estes botões para adicionar, duplicar, mudar o nome ou remover uma <guilabel
+>Identidade</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Indique aqui o seu nome verdadeiro. O &irc; não o pretende manter escondido dos seus amigos ou inimigos. Tenha isto em mente se se sentir tentado a comportar-se de forma maldosa. Um "nome verdadeiro" falso poderá ser uma forma de esconder o seu sexo dos palermas que existem por aí, mas o PC que usa poderá sempre ser localizado, como tal você nunca estará realmente anónimo.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Use estes botões para <guibutton
+>Adicionar</guibutton
+>, <guilabel
+>Editar</guilabel
+> ou <guilabel
+>Remover</guilabel
+> um &nickname;.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Esta é a sua lista de &nickname;s. Um &nickname; é o nome pelo qual os outros utilizador o irão reconhecer. Poderá indicar aqui qualquer nome que deseje. O primeiro carácter precisa de ser uma letra, enquanto os outros caracteres poderão ser letras, números ou os caracteres especiais <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Dado que os &nickname;s devem ser únicos em toda uma rede de &irc;, o seu nome desejado poderá ser rejeitado pelo servidor, dado que alguns já estão a usar o seu &nickname;. Indique algumas alcunhas alternativas para si nos campos em baixo. Se a sua primeira escolha for rejeitada pelo servidor, o &konversation; irá tentar os &nickname;s alternativos. </para>
+
+<para
+>De acordo com o RFC 2812, o tamanho máximo do &nickname; é 9, mas isto é de facto determinado pelo servidor. Para determinar o valor máximo para um servidor, ligue-se a ele. Na página das <interface
+>Mensagens do Servidor</interface
+>, procure por uma mensagem <computeroutput
+>[Support]</computeroutput
+>. Por exemplo</para>
+
+<para>
+<computeroutput
+>[18:51] *Portugal* [21:45] [Support] Portugal MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer </computeroutput>
+</para>
+
+<para
+>O parâmetro <computeroutput
+>NICKLEN</computeroutput
+> indica o tamanho máximo do &nickname;. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Use estes botões para alterar a ordem dos &nickname;s. O &nickname; do topo é experimentado em primeiro lugar, depois o próximo, e assim por diante.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Se tiver registado o seu &nickname; com a rede de &irc;, indique o serviço e a senha com os quais irá autenticar o seu &nickname;. Quando o &konversation; se ligar, irá enviar automaticamente um <userinput
+><command
+>/msg</command
+> <replaceable
+>serviço</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>senha</replaceable
+></userinput
+> para o servidor. Se não souber o que é isto, deixe estes campos em branco.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Carregue na página de <guilabel
+>Ausência</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identidades (Página ausência)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identidades (Página ausência)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Introduza um &nickname; que lhe indique que está ausente. Sempre que executar um <userinput
+><command
+>/away </command
+><replaceable
+>mensagem</replaceable
+></userinput
+> em qualquer canal ligado com esta <guilabel
+>Identidade</guilabel
+>, o &konversation; irá mudar automaticamente o seu &nickname; para a <guilabel
+>Alcunha de ausência</guilabel
+>. Os outros utilizadores serão capazes de ver que você está ausente do seu computador. Sempre que executar um comando <userinput
+><command
+>/away</command
+></userinput
+>, o seu &nickname; irá voltar ao normal. Se não quiser mudar automaticamente o seu &nickname; quando se vai embora, deixe em branco.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Se tiver assinalado esta opção, sempre que executar um comando <userinput
+><command
+>/away</command
+></userinput
+>, irá aparecer uma linha horizontal no canal, a marcar o ponto em que você se ausentou. Os outros utilizadores do &irc; não irão ver esta linha horizontal. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Se assinalar esta opção, o &konversation; irá enviar automaticamente a <guilabel
+>Mensagem de ausência:</guilabel
+> para todos os canais associados a esta <guilabel
+>Identidade:</guilabel
+>. O <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> será substituído pela <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+>. Sempre que executar um comando <userinput
+><command
+>/away</command
+></userinput
+>, a <guilabel
+>Mensagem de regresso</guilabel
+> será apresentada em todos os canais associados a esta <guilabel
+>Identidade</guilabel
+>.</para>
+
+<note
+><para
+>As mensagens de ausência são muitas vezes consideradas incómodas pelos outros utilizadores. Use esta opção com cuidado, tendo em consideração os outros utilizadores do &irc;. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Carrega na página <guilabel
+>Avançado</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identidades (Página avançado)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identidades (Página avançado)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Poderá indicar aqui um comando que será executado, antes da ligação ao servidor. Se esta identidade for usada por mais que um servidor, o comando será executado para cada um deles.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>Esta opção afecta a forma como os caracteres que você escreve são codificados para serem enviados para o servidor. Também afecta a forma como as mensagens são apresentadas. Quando abrir pela primeira vez o &konversation;, ele irá obter automaticamente esta opção do sistema operativo. Se achar que está a ter problemas ao ver as mensagens dos outros utilizadores, tente alterar esta opção.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>Quando se ligar, vários servidores irão procurar no seu computador por uma resposta de IDENT. Se o seu computador não estiver a correr um servidor de IDENT, esta resposta é enviada pelo &konversation;. Não são permitidos espaços. É sugerido o seu nome próprio.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Sempre que abandonar um canal, esta mensagem é enviada para ele.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Sempre que você for expulso de um canal (normalmente por um operador do &irc;), esta mensagem é enviada para o canal.</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Carregue aqui para aplicar as suas alterações. Para que todas as alterações façam efeito, você precisa de se desligar do servidor e voltar a ligar-se. A forma mais simples de fazer isto é sair do &konversation; e voltar a arrancar.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Definir novas redes, servidores e canais aos quais ligar automaticamente.</title>
+
+<para
+>O ecrã da <guilabel
+>Lista de Servidores</guilabel
+> aparece quando você abre o programa &konversation;. Também aparece quando você escolhe a opção <menuchoice
+> <guisubmenu
+>Ficheiro</guisubmenu
+> <guisubmenu
+>Lista de Servidores</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã da <guilabel
+>Lista de Servidores</guilabel
+></action
+> indica as suas <guilabel
+>Rede</guilabel
+>s de &irc; definidas, separadas por grupos. Uma rede de &irc; é uma colecção de servidores em cooperação. Quando se liga a qualquer servidor numa rede, terá acesso a todos os canais na rede. Alguns exemplos de redes de &irc; são o <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> e o <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Lista de Servidores</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Lista de Servidores</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>As suas <guilabel
+>Rede</guilabel
+>s definidas estão listadas em conjunto com a <guilabel
+>Identidade</guilabel
+> usada para se ligar à rede, assim como os <guilabel
+>Canais</guilabel
+> aos quais se liga automaticamente após a autenticação. Se tiver seleccionado um grupo para as suas redes, estas ficam indentadas dentro do grupo. Carregue numa rede para a seleccionar. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Use estes botões para <guibutton
+>Adicionar</guibutton
+> uma rede nova, <guibutton
+>Editar</guibutton
+> uma rede seleccionada ou <guibutton
+>Remover</guibutton
+> a mesma. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Carregue neste botão para se ligar à <guilabel
+>Rede</guilabel
+> seleccionada e fechar o ecrã da <guilabel
+>Lista de Servidores</guilabel
+>. Poderá seleccionar mais que uma rede se o desejar, o que irá estabelecer a ligação a todas as redes seleccionadas.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>Se carregar neste botão não irá eliminar as alterações que tenha feito. Simplesmente significa que você não se deseja ligar a qualquer rede nesta altura.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>Quando carrega no botão <guilabel
+>Adicionar</guilabel
+> o ecrã <guilabel
+>Adicionar Rede</guilabel
+> irá aparecer.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Adicionar Rede</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Adicionar Rede</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Indique aqui o nome da <guilabel
+>Rede</guilabel
+>. Poderá criar tantos itens quantos desejar no ecrã da <guilabel
+>Lista de Servidores</guilabel
+> com a mesma <guilabel
+>Rede</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Opcional. Se introduzir algo aqui, todas as <guilabel
+>Rede</guilabel
+>s com o mesmo <guilabel
+>Grupo</guilabel
+> serão listadas em conjunto no ecrã da <guilabel
+>Lista de Servidores</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Escolha uma <guilabel
+>Identidade</guilabel
+> ou carregue no botão <guibutton
+>Editar</guibutton
+> para adicionar uma Identidade nova ou editar uma existente. A <guilabel
+>Identidade</guilabel
+> identificá-lo-á e irá determinar o seu &nickname; quando se ligar à rede.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Opcional. Este comando será enviado para o servidor depois de se ligar a este. Exemplo:<userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. O exemplo aqui mostrado é para a rede 'freenode', a qual necessita que os utilizadores registem o seu &nickname; com uma senha e um utilizador ao ligar-se. O <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> é a senha para o utilizador indicada na <interface
+>Identidade</interface
+>. Poderá indicar mais do que um comando se os separar por ponto-e-vírgulas.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Carregue aqui se desejar que o &konversation; se ligue automaticamente a esta rede sempre que abrir o &konversation;.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>Esta é uma lista de <guilabel
+>Servidores</guilabel
+> de &irc; na rede. Ao ligar-se à rede, o &konversation; irá tentar ligar-se ao servidor do topo em primeiro lugar. Se este falhar, irá tentar os segundo servidor. Se este também falhar, tentará o terceiro, e assim por diante. Terá de ser indicado pelo menos um servidor. Carregue num servidor para o seleccionar.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Use estes botões para <guibutton
+>Adicionar</guibutton
+> um servidor, <guibutton
+>Editar</guibutton
+> um servidor seleccionado ou <guibutton
+>Remover</guibutton
+> o mesmo. Poderá também ajustar a ordem da lista de servidores e, deste modo, a ordem de tentativas de ligação.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Opcional. Esta é uma lista dos canais que serão ligados automaticamente, logo que o &konversation; o tenha ligado a um servidor. Poderá deixar este campo em branco se não se quiser ligar a quaisquer canais.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Use estes botões para <guibutton
+>Adicionar</guibutton
+> um canal, <guibutton
+>Editar</guibutton
+> um canal seleccionado ou <guibutton
+>Remover</guibutton
+> um dado canal. Poderá também alterar a ordem pela qual se irá ligar aos canais. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Evite misturar os servidores das diferentes redes de &irc; com a mesma <guilabel
+>Rede</guilabel
+>. Evite introduzir o mesmo servidor em duas <guilabel
+>Rede</guilabel
+>s diferentes. Caso contrário, a <link linkend="linkaddressbook"
+>integração com o seu livro de endereços</link
+> e a <link linkend="nicksonline"
+>monitorização dos &nickname;s ligados</link
+> do &konversation; não irão funcionar correctamente.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>Quando você carregar no botão <guibutton
+>Adicionar</guibutton
+> da área <guilabel
+>Servidores</guilabel
+>, irá aparecer o ecrã para Adicionar um Servidor.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Adicionar Servidor</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Adicionar Servidor</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>O nome ou endereço IP do servidor. O irchelp.org mantém uma <ulink url="http://www.irchelp.org/irchelp/networks/"
+>lista</ulink
+> de servidores.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Indique o número de porto necessário para se ligar ao servidor. Para a maioria dos servidores, este deverá ser o <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Se o servidor necessita de uma senha para se ligar, indique-a aqui, caso contrário deixe vazio.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Verfique se deseja usar o protocolo Secure Socket Layer (SSL) para comunicar com o servidor. Isto protege a privacidade das suas comunicações entre o seu computador e o servidor de &irc;. O servidor terá de suportar o protocolo SSL para isto funcionar. Na maioria dos casos, se o servidor não suportar o SSL, a ligação irá falhar.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>Quando você carregar no botão <guibutton
+>Adicionar</guibutton
+> da área de <guilabel
+>Ligação Automática aos Canais</guilabel
+>, irá aparecer o ecrã para <guilabel
+>Adicionar um Canal</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Adicionar Canal</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Adicionar Canal</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Indique um nome de canal. Não se esqueça do <userinput
+><replaceable
+>#</replaceable
+></userinput
+> inicial. Se o canal necessitar de uma senha para se ligar, indique-a, caso contrário deixe em branco. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Listar os canais disponíveis</title>
+
+<para
+>Para mostrar uma lista com os canais disponíveis, escolha a opção <menuchoice
+> <guisubmenu
+>Janelas</guisubmenu
+> <guisubmenu
+>Lista de Canais</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>Depois de um ecrã de aviso, é criada uma nova página chamada <guilabel
+>Lista de Canais</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>A página da Lista de Canais.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>A página da Lista de Canais.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Indique aqui o texto de filtragem.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Poderá limitar a lista de canais àqueles que tenham um número mínimo ou máximo de canais aqui. Se escolher 0 irá desactivar o critério respectivo.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Carregue aqui para obter a lista de canais do servidor e aplicar o filtro.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>A lista de canais filtrada é apresentada aqui. Repare que, se não usar as expressões regulares, o &konversation; lista qualquer canal cujo nome contenha o texto do filtro que tiver indicado. O nome do canal não tem de começar pelo texto que introduziu.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Seleccione o canal a que se deseja juntar, carregando para tal nele. Carregue com o botão direito no canal para obter uma lista com todos os endereços Web mencionados no tópico do canal.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Carregue aqui para se juntar ao canal. É criada uma página para o canal.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Você deverá evitar carregar no botão <guibutton
+>Actualizar a Lista</guibutton
+>. A maioria dos servidores têm milhares de canais e, ao executar isto, poderá colocar uma carga elevada no servidor. Para além disso, poderá necessitar de vários minutos para terminar, dependendo da largura de banda da sua rede. Se o seu cliente for demasiado lento, o servidor poderá até desligá-lo a si. </para>
+
+<para
+>Em alguns casos existem canais "secretos" nos servidores. Esses canais não aparecem na <guilabel
+>Lista de Canais</guilabel
+>. Poderá à mesma ligar-se a esses canais se souber os seus nomes. Em qualquer <interface
+>Linha de Entrada</interface
+>, escreva: <userinput
+><command
+>/join</command
+> <replaceable
+>#canal</replaceable
+></userinput
+>. (O <userinput
+>#</userinput
+> é obrigatório). É criada uma nova página para o canal. Se se ligar a um canal e o Painel de Alcunhas mostrar apenas o seu &nickname;, é porque o canal não existia anteriormente. O servidor criou o canal e você é o operador. Neste caso, provavelmente desejará fechar o canal, escrevendo: <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>Uma viagem pelo ecrã principal</title>
+
+<para
+>Vamos aprender mais sobre o ecrã <interface
+>Principal</interface
+>. O ecrã é mostrado em baixo com uma página de canais seleccionada.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã principal.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã principal</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>Esta área é chamada de <interface
+>Linha de Entrada</interface
+>. O texto introduzido aparece só quando a página actual for um canal. Para enviar uma mensagem para todos no canal, escreva aqui a mensagem e carregue em &Enter;. A sua mensagem, assim como as mensagens de toda a gente no canal vai aparecendo em cima. Cada mensagem é antecedida da hora e do &nickname; do utilizador.</para>
+
+ <para
+>Poderá também colar texto a partir da área de transferência. Se o texto colado tiver mais do que uma linha (mudanças de linha), aparece uma janela. Edite o texto como desejar e carregue em <guibutton
+>OK</guibutton
+>. </para>
+
+ <para
+>Se o texto colado tiver mais do que 256 caracteres, ou se contiver mais do que uma linha, aparece uma mensagem que o avisará que as publicações grandes poderão causar quebras na ligação e inundações. Poderá à mesma prosseguir com a introdução de texto, mas se o fizer será uma má ideia, dado que as inundações irão incomodar os outros utilizadores do canal ou poderá ser desligado do servidor. É melhor enviar a mensagem em pedaços menores.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>Uma convenção usada em vários canais é anteceder as mensagens direccionadas para um dado utilizador com o seu &nickname;. O &konversation; oferece uma funcionalidade conveniente de completação de &nickname;s. Comece a escrever o &nickname; do utilizador e carregue depois em <keycap
+>Tab</keycap
+>. O &konversation; irá completar o resto do &nickname; do utilizador, seguido de dois pontos (:). Para personalizar a funcionalidade de completação, escolha a opção <menuchoice
+><guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> no menu principal, expanda o <guilabel
+>Comportamento</guilabel
+>, carregue em <guilabel
+>Geral</guilabel
+> e na opção do <guilabel
+>Modo de completação</guilabel
+>. </para>
+
+ <para
+>Poderá também indicar aqui um comando do &irc; se escrever primeiro um <userinput
+><command
+>/</command
+></userinput
+> seguido de um comando válido do &irc;. Veja os <link linkend="irc-cmds"
+>Comandos de &irc; mais usados</link
+>. Em alguns servidores, você poderá escrever <userinput
+><command
+>/help</command
+></userinput
+> para obter uma lista dos comandos disponíveis ou escrever <userinput
+><command
+>/help </command
+><replaceable
+>comando</replaceable
+></userinput
+> para obter ajuda num comando específico. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Pode-se ligar a servidores e canais adicionais. Cada servidor e cada canal irá ter uma página separada aqui. Para mostrar uma lista com os canais disponíveis, veja a secção <link linkend="list-channels"
+>Listar os canais disponíveis</link
+>. Para se ligar a um canal, escreva: <userinput
+><command
+>/join</command
+> <replaceable
+>#canal</replaceable
+></userinput
+> na Linha de Entrada. (O <userinput
+>#</userinput
+> é obrigatório). Para abandonar um canal, basta escrever <userinput
+><command
+>/part</command
+></userinput
+>. As páginas também aparecem aqui se abrir uma <guilabel
+>Lista de Canais</guilabel
+>, participar numa <link linkend="query"
+>conversa privada (pesquisa)</link
+>, abrir o <guilabel
+>Extractor de &URL;s</guilabel
+> ou abrir uma ou mais <guilabel
+>Konsole</guilabel
+>s. Para mudar a visualização para outro ecrã, carregue na página correspondente ou use a roda do rato para circular pelas várias páginas. </para>
+
+<para
+>Para definir outras opções das páginas, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal, expanda o <guilabel
+>Comportamento</guilabel
+> e carregue no <guilabel
+>Geral</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>Estes &led;s irão piscar quando existir algo que você não tenha visto nessa página. O &led; irá piscar de forma mais lenta quando as únicas mensagens não vistas forem o <command
+>join</command
+>, o <command
+>part</command
+>, o <command
+>quit</command
+> ou as mudanças de &nickname;. Eles piscarão mais depressa se existem mensagens por ler de forma regular. As cores são as seguintes: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Canal </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Mensagens do Servidor</interface
+>, <link linkend="list-channels"
+>Lista de Canais</link
+> ou <link linkend="urlcatcher"
+>Extractor de &URL;s</link
+> </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Konsole</guilabel
+> ou <link linkend="dcc"
+>Estado do DCC</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+>Mensagem Privada (Pesquisa)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Carregue aqui para fechar a página. Se fechar a página de um <interface
+>Canal</interface
+> irá abandonar o canal. Se fechar uma página com <interface
+>Mensagens do Servidor</interface
+> irá deixar todos os canais a que se juntou, fechar todas as pesquisas abertas nesse servidor e desligar-se-á do mesmo.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Carregue neste botão para mudar o seu próprio &nickname;. Aparece apenas quando a página actual é um canal. Para esconder este botão, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal, expanda a <guilabel
+>Aparência</guilabel
+>, carregue na <guilabel
+>Janela de Conversação</guilabel
+> e assinale a opção <guilabel
+>Mostrar a opção para mudar a própria alcunha</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>O tópico do canal é mostrado aqui. Passe o rato sobre o tópico para ver os tópicos mais compridos. Poderá alterar o tópico se carregar no botão à esquerda do tópico. Para esconder os tópicos do canal, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal, expanda a <guilabel
+>Aparência</guilabel
+>, carregue na <guilabel
+>Janela de Conversação</guilabel
+> e desligue a opção <guilabel
+>Mostrar o tópico do canal</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Estes botões mostram o estado actual dos modos dos canais. Um botão fica em baixo se esse modo estiver ligado. Se você tiver os privilégios correctos, poderá também mudar os modos do canal, carregando para tal nestes botões ou carregue no botão à esquerda do tópico. Para esconder os botões do modo do canal, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal, expanda a <guilabel
+>Aparência</guilabel
+>, carregue na <guilabel
+>Janela de Conversação</guilabel
+> e desligue a opção <guilabel
+>Mostrar os botões de modo do canal</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Esta área é chamada de <interface
+>Painel de Alcunhas</interface
+>. É mostrado sempre que a página actual é um canal. Ele indica os &nickname;s de todos os utilizadores que se ligaram ao canal, incluindo você próprio. Passe o cursor do rato sobre um &nickname; para mostrar informações adicionais sobre o utilizador. Poderá alterar a forma como os ícones são apresentados ao lado de cada &nickname;, alterando o tema de ícones do &nickname;. Veja em <link linkend="nickthemes"
+>Configurar os temas do &nickname;</link
+> para mais informações. O tema <guilabel
+>Pontos Grandes</guilabel
+>, como é mostrado no ecrã acima, usa os seguintes ícones: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> utilizador normal </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> utilizador com voz. O utilizador poderá falar num canal moderado. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> semi-operador de canal </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> operador de canal </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> dono do canal </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> administrador do canal </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Para além disso, se um utilizador estiver ausente, é desenhada uma pequena cruz vermelha por cima do seu ícone. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Carregue com o &RMB; em qualquer &nickname; para mostrar um menu de contexto das operações que pode efectuar com este &nickname;. Por exemplo, poderá <link linkend="dcc"
+>enviar um ficheiro</link
+> para o &nickname;. Este é também o local em que poderá <link linkend="linkaddressbook"
+>associar um &nickname; a uma lista de contactos no seu livro de endereços.</link
+> </para>
+
+<para
+>Para esconder o <interface
+>Painel de Alcunhas</interface
+>, escolha a opção <menuchoice
+> <guisubmenu
+>Janela</guisubmenu
+> <guisubmenu
+>Esconder a Lista de Alcunhas</guisubmenu
+> </menuchoice
+> no menu principal. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>Estes são chamados de <interface
+>Botões Rápidos</interface
+>. Por omissão, não são apresentados. Para os mostrar, veja a secção <link linkend="quick-buttons"
+>Configurar os Botões Rápidos</link
+>. Poderá personalizar as suas definições para os comandos que desejar.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Nota </emphasis
+>Você pode controlar a forma como as mensagens são mostradas na área de mensagens do canal, bem como nas páginas de pesquisas. Por exemplo, poderá alterar a cor das mensagens, tocar um som quando for recebida uma mensagem que contenha determinado texto ou responder automaticamente às mensagens. Veja o <link linkend="highlighting"
+> Realce de mensagens</link
+> para mais informações. </para>
+
+<para
+><emphasis
+>Nota: </emphasis
+>Os nomes dos canais algumas vezes começam por <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+> ou <userinput
+>!</userinput
+>. O primeiro carácter de um canal determina o seu tipo (RFC 2811) da seguinte forma: <itemizedlist
+> <listitem
+><para
+> <userinput
+>#</userinput
+> - Canais normais. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>!</userinput
+> - Canais normais. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&amp;</userinput
+> - Local. Canais que só poderão se ligados a partir do servidor que contém o canal. Todos os outros canais poderão ser ligados a partir de qualquer servidor da rede.</para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> - Canais que não suportam modos do canal. Isto significa que todos os modos estão desactivados, com excepção da opção do canal 't', que está activa. </para
+></listitem
+> </itemizedlist
+> Os nomes dos canais podem ter até 200 caracteres e poderão conter quaisquer caracteres, excepto o espaço, a vírgula e o Ctrl-G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Ligação Rápida</title>
+
+<para
+>Algumas vezes poderá querer ligar-se a um servidor sem ter o problema de criar um servidor novo na <link linkend="serverlist"
+>Lista de Servidores</link
+>. </para>
+
+<para
+>Escolha a opção <menuchoice
+> <guisubmenu
+>Ficheiro</guisubmenu
+> <guisubmenu
+>Ligação Rápida</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã das <guilabel
+>Ligação Rápida</guilabel
+> irá aparecer.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de Ligação Rápida.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O ecrã de Ligação Rápida</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Indique o endereço do servidor no campo <guilabel
+>URL do Servidor</guilabel
+>, o seu &nickname; desejado no campo <guilabel
+>Alcunha</guilabel
+> e carregue no botão <guibutton
+>Ligar</guibutton
+>. Quando o &konversation; se tiver ligado ao servidor, indique o comando <userinput
+><command
+>/join</command
+> <replaceable
+>#nome_canal</replaceable
+></userinput
+> para se ligar a um canal. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Comandos de &irc; usados frequentemente</title>
+
+<para
+>Segue-se uma pequena lista de comandos usados com frequência no &irc;. Veja o <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC 2812</ulink
+> para lista completa de todos os comandos ou vá a <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Para uma lista dos comandos processados pelo &konversation;, veja os <link linkend="konvi-cmds"
+>comandos do &konversation;</link
+>. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Lista os comandos disponíveis no servidor actual. Não é suportado por todos os servidores.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help </command
+><replaceable
+>comando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Fornece alguma ajuda sobre o <userinput
+><replaceable
+>comando</replaceable
+></userinput
+>. Não é suportado por todos os servidores.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join <replaceable
+>#canal</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Liga-se ao canal <userinput
+><replaceable
+>#canal</replaceable
+></userinput
+>. Se o canal não existir já, será criado e você será o operador do mesmo.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Abandona o canal actual e fecha a página do <interface
+>canal</interface
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part </command
+> <replaceable
+>#canal</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Abandona o canal <userinput
+><replaceable
+>#canal</replaceable
+></userinput
+> e fecha a página correspondente ao mesmo. É um sinónimo do <userinput
+><command
+>/leave</command
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me </command
+><replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> para o canal, antecedida do seu &nickname;. Por exemplo, se o seu &nickname; for <userinput
+><replaceable
+>ZéManel</replaceable
+></userinput
+>, ao escrever <userinput
+><replaceable
+>O /me está a fazer um café.</replaceable
+></userinput
+> irá mostrar a mensagem <interface
+>O ZéManel está a fazer um café.</interface
+> A menos que tenham filtrado estes tipos de mensagens, todos os utilizadores as vêem. Este tipo de mensagens é usado tipicamente para enviar mensagens não-verbais, como o seu estado emocional actual ou o que você está a fazer fisicamente. Se tiver abandonado o seu computador, use o comando /away em alternativa.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Se alguém lhe tentar enviar uma mensagem privada ou o convidar para um canal, eles serão avisados de que você está ausente do seu posto de trabalho com a with <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Cancela um comando <userinput
+><command
+>/away </command
+> <replaceable
+>mensagem</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Cria uma página nova com a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> do utilizador para uma conversa privada, conhecida normalmente normalmente no IRC como uma <link linkend="query"
+>Pesquisa</link
+> ou <link linkend="query"
+>'Query'</link
+>. Tudo o que for escrito aqui só é visível para si e para o seu companheiro da conversa.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>alcunha</replaceable
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> para o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+>. Só o utilizador correspondente à <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> é que vê a mensagem. Use o <userinput
+><command
+>/query</command
+></userinput
+> para conversas mais longas.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Convida o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> para se ligar a um canal. Este comando é especialmente útil se o canal for só por convite.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Conversas privadas (pesquisas ou 'queries')</title>
+
+<para
+>Uma conversa privada é uma que só você e outra pessoa poderão ver. As conversas privadas são chamadas de "pesquisas" no &konversation;. Para iniciar uma conversa privada, escreva <userinput
+><command
+>/query </command
+><replaceable
+>alcunha</replaceable
+></userinput
+> em qualquer linha de entrada, onde a <replaceable
+>alcunha</replaceable
+> é o &nickname; da pessoa com quem deseja falar. Poderá também carregar com o &RMB; no &nickname; da pessoa no <guilabel
+>Painel de Alcunhas</guilabel
+> e escolha <menuchoice
+> <guisubmenu
+>Abrir uma Pesquisa</guisubmenu
+> </menuchoice
+> <action
+>Será então criada uma página nova</action
+>. Anuncie-se a si próprio, enviando uma mensagem. </para>
+
+<para
+>As pesquisas são iguais aos canais, excepto que só você e a outra pessoa poderão participar no canal.</para>
+
+<para
+>Para sair da pesquisa, basta fechar a página. Repare contudo que, se a outra pessoa lhe enviar outra mensagem na pesquisa, a página irá abrir de novo.</para>
+
+<para
+>Para sair de todas as pesquisas, escolha a opção <menuchoice
+> <guisubmenu
+>Janela</guisubmenu
+> <guisubmenu
+>Fechar Todas as Pesquisas Abertas</guisubmenu
+> </menuchoice
+> no menu principal, ou carregue em <keycap
+>F11</keycap
+>.</para>
+
+<para
+>Quando outra pessoa iniciar uma conversa privada consigo, o &konversation; cria uma página nova com o &nickname; dela. Se não quiser falar com a pessoa, feche a página. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Activar as notificações</title>
+
+<para
+>As <guilabel
+>Notificações</guilabel
+> são acções que o &konversation; irá efectuar sempre que ocorrer um evento. Suponha que tem o &konversation; a correr, mas está minimizado ou escondido por detrás de outras janelas de aplicações no seu ecrã. Se alguém quiser comunicar consigo, ou se o seu amigo se ligar a um canal, gostaria de ser alertado desse facto. As notificações poderão tratar desse assunto. </para>
+
+<para
+>Para configurar as notificações, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar as Notificações</guisubmenu
+> </menuchoice
+> do menu principal. <action
+>Irá aparecer o ecrã de <guilabel
+>Configuração das Notificações</guilabel
+>.</action
+> </para>
+
+<para
+>Carregue imediatamente no botão <guibutton
+>Mais Opções</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de Configuração das Notificações.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã de Configuração das Notificações</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Carregue aqui para seleccionar um evento.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Assinale os tipos de notificações que deseja que aconteçam quando o evento ocorrer. (O <guilabel
+>Marcar o item da barra de tarefas</guilabel
+> faz com que o item na barra de tarefas pisque quando ocorrer o evento.)</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Repita, seleccionando outro evento e escolhendo as notificações desejadas. Quando tiver configurado todas as notificações desejadas, carregue no botão <guibutton
+>Aplicar</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>Logo que tenha configurado as suas notificações, poderá activar ou desactivar todas as acções de notificação aqui. Por exemplo, poderá optar por tocar um som sempre que o seu &nickname; for mencionado numa mensagem. Quando estiver na sua estação de trabalho, poderá desligar os sons, mas quando estiver longe dela, poderá activá-los para lhe chamar a atenção.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Poderá também alertar-se a si próprio, sempre que alguém menciona a sua alcunha numa mensagem, usando a funcionalidade do &konversation; para o <link linkend="highlighting"
+>realce</link
+>.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Monitorizar quem está ligado</title>
+
+<para
+>O &konversation; mantê-lo-á informado quando os seus amigos se ligarem à rede de &irc; ou não. </para>
+
+<para
+>Poderá associar os &nickname;s ligados com os itens de contactos do seu livro de endereços. Quando o fizer, o &nickname; e a rede de &irc; onde o &nickname; está ligado serão introduzidos no contacto do livro de endereços. A rede de &irc; é guardada porque os &nickname;s são únicos para uma dada rede de &irc;. Os &nickname; de duas redes de &irc; diferentes não é necessariamente a mesma pessoa, mas o mesmo &nickname; em dois servidores diferentes, dentro da mesma rede de &irc; é geralmente a mesma pessoa.</para>
+
+<note
+><para
+>É por isso que é importante usar a mesma <guilabel
+>Rede</guilabel
+> para todos os servidores na mesma rede de &irc;, ao <link linkend="serverlist"
+> definir as redes, servidores e canais de ligação automática</link
+>.</para
+></note>
+
+<para
+>Poderá também definir &nickname;s que deseje vigiar e que não estejam também no seu livro de endereços. Também neste caso, cada um dos &nickname;s tem uma rede de &irc; associada. Veja em baixo.</para>
+
+<para
+>Para activar a funcionalidade de vigia de &nickname;s, escolha a opção <menuchoice
+> <guisubmenu
+>Janelas</guisubmenu
+> <guisubmenu
+>Alcunhas Vigiadas Ligadas</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã das <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> irá aparecer.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Alcunhas Vigiadas Ligadas.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Alcunhas Vigiadas Ligadas</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>Os &nickname;s na sua lista de vigia e também os &nickname;s associados com os itens do seu livro de endereços são listados aqui. Eles são enumerados sob a sua rede de &irc; associada. Se não estiverem listados quaisquer &nickname;s, ou não indicou nenhuns &nickname;s para vigiar, ou então terá de activar a funcionalidade de vigia de &nickname; (veja em baixo). Expanda cada &nickname; ligado para ver uma lista dos canais a que o &nickname; se ligou. Os ícones ao lado de cada canal são os mesmos que aparecem no <interface
+>Painel de Alcunhas</interface
+> nos ecrãs dos <link linkend="channel-screen-tour"
+>canais</link
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>A informação conhecida acerca do &nickname; é apresentada aqui. Quando o ecrã de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> é apresentado da primeira vez, esta informação encontra-se de forma esparsa. A cada 8 segundos, é enviado um comando <userinput
+><command
+>WHOIS</command
+></userinput
+> para o servidor, a pedir informações para os &nickname;s que não têm quaisquer informações. Isto continua até que existam informações para todos os &nickname;. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>As alcunhas que não estejam ligadas a nenhuma das redes de &irc; a que está ligado, são indicados na parte <guilabel
+>Desligado</guilabel
+> da listagem. </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>As alcunhas que estejam associadas a um item de contacto no seu livro de endereços têm este ícone (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>) ao lado da informação deles. </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Use estes botões para associar um &nickname; com um contacto no seu livro de endereços, remover uma associação ou abrir o livro de endereços para editar a informação do contacto. Veja o <ulink url="help:kaddressbook"
+>Manual do &kaddressbook;</ulink
+> para mais instruções sobre como usar o livro de endereços do KDE. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>Para adicionar novos &nickname;s à vigia, carregue no botão <guilabel
+>Editar a Lista de Vigia</guilabel
+>. O ecrã com as <guilabel
+>Alcunhas Vigiadas</guilabel
+> irá aparecer. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Alcunhas Vigiadas</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Alcunhas Vigiadas</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Assinale esta opção para activar a funcionalidade para <guilabel
+>vigiar alcunhas</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Se quiser que o ecrã de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> apareça automaticamente quando você abre o &konversation;, assinale esta opção.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>Os &nickname;s dos utilizadores que deseja vigiar estão aqui indicados. Cada &nickname; tem uma rede de &irc; associada.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Carregue nestes botões para adicionar ou remover &nickname;s da lista.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>A funcionalidade de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> funciona através de uma pesquisa periódica no servidor. Este campo indica com que frequência esta ocorre. Evite números inferiores a 20 segundos, dado que isto coloca uma carga excessiva no servidor.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>No ecrã de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> acima, poderá fazer duplo-click em qualquer &nickname; para que este comando seja enviado para o servidor. O <userinput
+><command
+>%u</command
+></userinput
+> será substituído pelo &nickname;. O <userinput
+><command
+>%n</command
+></userinput
+> é necessário no fim do comando.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Carregue no botão <guilabel
+>OK</guilabel
+> quando tiver terminado de adicionar ou remover &nickname;s.</para>
+
+<para
+><emphasis
+>Nota: </emphasis
+>Sempre que mostrar o ecrã de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+>, poderá levar algum tempo antes que apareçam alguns &nickname;s até o &konversation; pesquisar o servidor. Normalmente, você poderá deixar o ecrã de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+> a correr. </para>
+
+<para
+>O &konversation; mostra também uma mensagem em todos os <link linkend="channel-screen-tour"
+>canais</link
+> sempre que um utilizador da sua lista de <guilabel
+>Alcunhas Vigiadas</guilabel
+> se ligar ao desligar do servidor. A mensagem é semelhante a esta: </para>
+
+<para
+><computeroutput
+>[17:52] [Notificação] O psn está ligado (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Realce de mensagens</title>
+
+<para
+>Você pode controlar a forma como as mensagens são apresentadas nos ecrãs dos canais e das pesquisas.</para>
+
+<para
+>Para activar a funcionalidade de realce;, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o &konversation;</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de realce.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã de Realce</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Carregue aqui para seleccionar o ecrã de <guilabel
+>Realce</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Carregue aqui para adicionar um novo item à <guilabel
+>Lista de realce</guilabel
+>. Quando for seleccionado um item na lista, podê-lo-á editar no painel abaixo.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Indique aqui um padrão de texto. Todas as mensagens recebidas que correspondam a este padrão, em qualquer ponto da mensagem, irão activar o realce da mensagem. Se você tiver o utilitário do Editor de Expressões Regulares do &kde; no seu sistema, o botão à direita do padrão ficará activo. Carregue para mostrar o editor, o que o irá ajudar a preparar os padrões mais complexos. (O Editor de Expressões Regulares do KDE faz parte do pacote <command
+>kdeutils</command
+>.) </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Se o padrão for encontrado numa mensagem, a mensagem inteira será apresentada com a cor que seleccionar aqui.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Se o desejar, o &konversation; irá tocar um som, sempre que o padrão corresponder. Carregue no botão para escolher o ficheiro de áudio que será reproduzido. Carregue no botão de teste para ouvir o som.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Se desejar que o &konversation; envie automaticamente uma mensagem de resposta quando o padrão corresponder, escreva aqui a mensagem. Use esta funcionalidade com cuidado, dado que poderá incomodar os utilizadores de &irc; com demasiada conversa, se não tiver cuidado. Poderá também introduzir comandos de &irc; ou do &konversation; aqui.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Se tiver configurado os sons para alguma das suas selecções, podê-los-á desactivar a todos nesta opção.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Se assinalar esta opção, sempre que alguém mencionar a sua &nickname; numa mensagem, esta será apresentada na cor que escolher à direita.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>Normalmente o realce não se aplica às mensagens que você escrever. Se quiser realçar as suas mensagens também, assinale esta opção e escolha uma cor à direita.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Configurar a Visualização no Ecrã (&osd;)</title>
+
+<para
+>A <acronym
+>Visualização no Ecrã</acronym
+> (&osd;) é uma funcionalidade única do &konversation;. Com o &osd; ligado, as mensagens do canal irão aparecer no seu ecrã, mesmo que o &konversation; esteja minimizado. Aqui está um exemplo do &osd; em acção. A mensagem no canto superior esquerdo do ecrã é do &konversation;, o qual está a correr minimizado na bandeja do sistema.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Exemplo da Visualização no Ecrã</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Exemplo da Visualização no Ecrã</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Para activar a &osd;, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o &konversation;</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de Visualização no Ecrã.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã de Visualização no Ecrã.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Carregue aqui para expandir o item de <guilabel
+>Notificação</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Carregue aqui para seleccionar o ecrã de <guilabel
+>Visualização no Ecrã</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Assinale esta opção para activar o &osd;.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Carregue neste botão para escolher um tipo de letra para o &osd;. (<emphasis
+>Nota: </emphasis
+> Nem todos os tipos de letra funcionam. O Luxi Sans 22 e o Impact 22 sabe-se que funcionam.)</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Assinale aqui as opções para seleccionar os tipos de mensagens que deseja que apareçam no ecrã e carregue então no botão <guibutton
+>Aplicar</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Enviar mensagens coloridas</title>
+
+<para
+>Você poderá adicionar cores às mensagens que enviar para qualquer canal. Na <interface
+>Linha de Entrada</interface
+> de qualquer canal, comece a escrever a sua mensagem. Carregue no <inlinemediaobject
+> <imageobject
+> <imagedata fileref="colorize.png" format="PNG"/> </imageobject
+> <textobject
+> <phrase
+>Botão para Inserir uma Cor do IRC</phrase
+> </textobject
+> </inlinemediaobject
+> botão para Inserir uma Cor do IRC ou escolher a opção <menuchoice
+> <guisubmenu
+>Inserir</guisubmenu
+> <guisubmenu
+>Cor de IRC</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã do <guilabel
+>Selector de Cores do IRC</guilabel
+> irá aparecer.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de Escola de Cores do &irc;.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O ecrã de Escola de Cores do &irc;</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Escolha uma cor e carregue em <guibutton
+>OK</guibutton
+>. Continue a escrever a sua mensagem na <interface
+>Linha de Entrada</interface
+>. Para alterar a cor de novo, carregue no botão <guibutton
+>Inserir uma Cor do &irc;</guibutton
+>. Escolha uma cor diferente e carregue em <guibutton
+>OK</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Configurar os temas do &nickname;</title>
+
+<para
+>Poderá alterar os ícones que são apresentados ao lado dos &nickname;s no <interface
+>Painel de Alcunhas</interface
+> das páginas dos canais. Para mudar o tema do &nickname;, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> Carregue em <guilabel
+>Aparência</guilabel
+> para o expandir, pelo que deverá carregar depois em <guilabel
+>Temas</guilabel
+> para mostrar o ecrã de <guilabel
+>Temas</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã de temas.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã de temas</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Carregue para seleccionar o ecrã de <guilabel
+>Temas</guilabel
+> da alcunha.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Seleccione um tema.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Os ícones de exemplo são mostrados aqui, para o caso do tema escolhido.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Se tiver obtido um tema algures, carregue aqui para o instalar.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Configurar os Botões Rápidos</title>
+
+<para
+>Poderá activar uma funcionalidade para mostrar os <interface
+>Botões Rápidos</interface
+> no ecrã <link linkend="channel-screen-tour"
+>Principal</link
+>, em que ao fazê-lo aparecerão então oito <interface
+>Botões Rápidos</interface
+>. Os botões poderão ser personalizados de acordo com a sua vontade para executar os comandos de &irc; mais usados. Para personalizar os <interface
+>Botões Rápidos</interface
+>, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> Carregue na <guilabel
+>Aparência</guilabel
+> para o expandir e carregue depois nos <guilabel
+>Mostrar os botões rápidos</guilabel
+>, seguido do botão <guibutton
+>OK</guibutton
+>. </para>
+
+<para
+>Os botões poderão ser personalizados de acordo com a sua vontade para executar os comandos de &irc; mais usados. Para personalizar os <interface
+>Botões Rápidos</interface
+>, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> Carregue no <guilabel
+>Comportamento</guilabel
+> para o expandir e carregue depois nos <guilabel
+>Botões Rápidos</guilabel
+> para mostrar o ecrã de <guilabel
+>Botões Rápidos</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã dos Botões Rápidos</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>O ecrã dos Botões Rápidos</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Existem 8 <interface
+>Botões Rápidos</interface
+>s. Carregue num item para o alterar. A coluna do <guilabel
+>Nome do botão</guilabel
+> é o nome que irá aparecer no botão no ecrã <link linkend="channel-screen-tour"
+>Principal</link
+>. Mantenha os nomes curtos. A coluna da <guilabel
+>Acção do Botão</guilabel
+> é a acção que será executada quando carregar no <interface
+>Botão Rápido</interface
+>. As dicas para criar as acções são dadas no ecrã. </para>
+
+<para
+>Carreguem em <guibutton
+>OK</guibutton
+> para terminar as alterações. </para>
+
+<para
+>Exemplo:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Nomed do Botão</guilabel
+>: <userinput
+><replaceable
+>Mensagem</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Acção do Botão</guilabel
+>: <userinput
+><replaceable
+>Mensagem %u </replaceable
+></userinput
+> (existe um espaço a seguir ao <userinput
+><replaceable
+>%u</replaceable
+></userinput
+>) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>Para usar este botão no ecrã <link linkend="channel-screen-tour"
+>Principal</link
+>, carregue num &nickname; do <interface
+>Painel de Alcunhas</interface
+>, carregando então depois no botão. O <computeroutput
+>/MSG </computeroutput
+> irá aparecer na <interface
+>Linha de Entrada</interface
+> segundo do &nickname; escolhido. Escreva a mensagem que deseja enviar para essa pessoa e carregue em &Enter;. A mensagem será enviada para o utilizador. Só esse utilizador irá ver a mensagem. </para>
+
+<para
+><emphasis
+>Nota: </emphasis
+>Não poderá adicionar ou remover <interface
+>Botões Rápidos</interface
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Enviar e receber ficheiros</title>
+
+<para
+>Você poderá enviar ficheiros através do &irc; para outros utilizadores ligados, assim como eles lhe poderão enviar ficheiros para si. </para>
+
+<para>
+<emphasis
+>ATENÇÃO: Nunca abra um ficheiro que alguém lhe envie a não ser que seja de uma fonte segura. Poderá ser um vírus.</emphasis>
+</para>
+
+<para
+>Para enviar um ficheiro para alguém num canal, carregue com o &RMB; no &nickname; da pessoa no <interface
+>Painel de Alcunhas</interface
+> do ecrã <link linkend="channel-screen-tour"
+>Principal</link
+>. Escolha a opção <menuchoice
+> <guisubmenu
+>Enviar um Ficheiro</guisubmenu
+> </menuchoice
+> <action
+>Irá aparecer uma janela onde poderá escolher um ficheiro para ser enviado.</action
+> A seguir, aparecerá uma nova página com o <guilabel
+>Estado do DCC</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>A página de Estado do DCC</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>A página de Estado do DCC</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>O &nickname; do destinatário e o nome do ficheiro aparecem aqui.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>A coluna do <guilabel
+>Estado</guilabel
+> indica o estado do envio ou da recepção do ficheiro da seguinte forma:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>A oferecer</guilabel>
+ </term>
+ <listitem>
+ <para
+>Você está a tentar enviar um ficheiro para o destinatário. O &konversation; está à espera que o destinatário aceite o ficheiro. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>A ligar</guilabel>
+ </term>
+ <listitem>
+ <para
+>O &konversation; está a tentar estabelecer uma ligação com o outro extremo. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>A Enviar</guilabel>
+ </term>
+ <listitem>
+ <para
+>O &konversation; está a enviar o ficheiro para o outro extremo. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>A Receber</guilabel>
+ </term>
+ <listitem>
+ <para
+>O &konversation; está a receber o ficheiro do outro lado. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Concluído</guilabel>
+ </term>
+ <listitem>
+ <para
+>O ficheiro foi transferido com sucesso. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Parado</guilabel>
+ </term>
+ <listitem>
+ <para
+>A transferência já começou mas não está a progredir nada de momento. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Interrompido</guilabel>
+ </term>
+ <listitem>
+ <para
+>Ou carregou no botão para <guibutton
+>Cancelar</guibutton
+> ou a outra pessoa interrompeu a transferência. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Falhou</guilabel>
+ </term>
+ <listitem>
+ <para
+>Ocorreu um erro e a transferência não foi bem sucedida. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Em Espera</guilabel>
+ </term>
+ <listitem>
+ <para
+>A transferência foi aceite a irá começar quando o programa no destinatário a confirmar. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Procurar</guilabel>
+ </term>
+ <listitem>
+ <para
+>O &konversation; está a tentar obter o endereço IP do remetente. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Continuar</guilabel>
+ </term>
+ <listitem>
+ <para
+>Quando começa um transferência mas o ficheiro já existir no sistema do utilizador, este será avisado de que <interface
+>O ficheiro já existe. Continuar a transferência?</interface
+> Este estado indica que o utilizador prosseguiu com a transferência. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>Quando alguém lhe quiser enviar um ficheiro, a página do <guilabel
+>Estado do DCC</guilabel
+> será criada (se não estiver já criada). Carregue na página do <guilabel
+>Estado do DCC</guilabel
+> para a mostrar. Carregue no ficheiro para o seleccionar e depois carregue neste botão para aceitar o ficheiro e para a transferência começar. <emphasis
+>Nota: </emphasis
+>Poderá configurar o &konversation; para aceitar automaticamente os envios das outras pessoas ao escolher a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> <guisubmenu
+>Configuração do DCC</guisubmenu
+> </menuchoice
+> no menu principal. </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Se tiver problemas a enviar ou a receber ficheiros, a sua 'firewall' ou 'router' poderão esta a bloquear os portos do DCC. Veja as <link linkend="faq"
+>Perguntas e Respostas</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Integração com o &kaddressbook;</title>
+
+<para
+>Você poderá associar qualquer &nickname; com um contacto no KAddressBook. Logo que tenha feito isto, o &konversation; irá mostrar o nome verdadeiro do contacto a seguir ao &nickname; no <interface
+>Painel de Alcunhas</interface
+>. </para>
+
+<para
+>Para associar um &nickname; com um contacto no KAddressBook, carregue com o &RMB; no &nickname; da pessoa no <interface
+>Painel das Alcunhas</interface
+> do ecrã <link linkend="channel-screen-tour"
+>Principal</link
+>. Escolha o <menuchoice
+> <guisubmenu
+>Quem é</guisubmenu
+> </menuchoice
+> para <action
+>mostrar a informação que o ajuda a determinar o nome verdadeiro do utilizador</action
+>. De seguida, carregue com o &RMB; no &nickname; da pessoa de novo e escolha as <menuchoice
+> <guisubmenu
+>Associações ao livro de endereços</guisubmenu
+> </menuchoice
+>. <action
+>Irá aparecer um submenu</action
+>. Se o &nickname; não estiver já associado a um contacto, escolha a opção <menuchoice
+> <guisubmenu
+>Criar um novo contacto</guisubmenu
+> </menuchoice
+>. <action
+>O ecrã para <guilabel
+>Editar o Contacto</guilabel
+> irá aparecer</action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>O ecrã para Editar o Contacto.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã para Editar o Contacto.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>O &nickname; é preenchido aqui automaticamente. Se souber o nome verdadeiro da pessoa, substitua o &nickname; pelo nome verdadeiro. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Repare que o &nickname; <emphasis
+>não</emphasis
+> aparece aqui. Em alternativa, ....</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>Carregue aqui. Aparece então a janela dos <guilabel
+>Endereços de IM</guilabel
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>A Janela dos Endereços de IM.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>A Janela dos Endereços de IM.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Repare que o &konversation; preenche o &nickname; por si com o protocolo <guilabel
+>IRC</guilabel
+>. </para>
+
+<para
+>Veja o <ulink url="help:kaddressbook"
+>Manual do &kaddressbook;</ulink
+> para mais instruções sobre como usar o livro de endereços do &kde;.</para>
+
+<para
+>Preencha quaisquer informações adicionais sobre o &nickname; que conhece e carregue em <guilabel
+>OK</guilabel
+>. O nome verdadeiro da pessoa irá aparecer entre parêntesis ao lado do &nickname; no <guilabel
+>Painel de Alcunhas</guilabel
+> do &konversation;. O nome verdadeiro também aparecerá quando o rato passar por cima do &nickname;.</para>
+
+<para
+>Logo que um &nickname; tenha sido associado com um contacto do &kaddressbook;, você poderá carregar com o &RMB; no &nickname; da pessoa no <interface
+>Painel de Alcunhas</interface
+> e editar o contacto associado, associar o &nickname; com um contacto diferente ou remover a associação. </para>
+
+<para
+>Se tiver associado um &nickname; com um contacto e o utilizador alterar o seu &nickname; enquanto você estiver a correr o &konversation;, ele irá associar automaticamente o novo &nickname; com o contacto, mantendo também a associação original.</para>
+
+<para
+>Se você associar um &nickname; do &irc; com um contacto do <ulink url="help:kopete"
+>&kopete;</ulink
+>, a associação irá também aparecer no &konversation; e vice-versa.</para>
+
+<para
+>Nota: É possível seleccionar mais do que um &nickname; no <interface
+>Painel de Alcunhas</interface
+>, carregar com o &RMB; e efectuar várias associações. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>Capturar os &URL;s das mensagens</title>
+
+<para
+>Em qualquer <link linkend="channel-screen-tour"
+>canal</link
+>, os utilizadores publicam às vezes os &URL;s de 'sites' interessantes ou de outros recursos na Web. Poderá carregar num destes &URL;s para que o &konversation; invoque a aplicação associada com o &URL;. A aplicação invocada depende do tipo &MIME; do &URL;. Por exemplo, um &URL; que comece por <interface
+>http:</interface
+> irá activar o seu navegador Web por omissão do &kde; para mostrar a página Web. (Poderá também definir o <link linkend="webbrowser"
+>navegador Web</link
+> a usar.) Se o &URL; sair da visibilidade do ecrã, poderá ter problemas a encontrá-lo de novo. O &konversation; poderá manter uma lista conveniente de todos os &URL;s para si. Para activar esta funcionalidade, escolha a opção <menuchoice
+> <guisubmenu
+>Janelas</guisubmenu
+> <guisubmenu
+>Extractor de &url;</guisubmenu
+> </menuchoice
+> no menu principal. <action
+>Irá aparecer uma nova página chamada <guilabel
+>Extractor de &url;</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>A página do Extractor de &url;.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>A página do Extractor de &url;.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>Esta é a lista de &URL;s desde que você iniciou o &konversation;. A coluna da <guilabel
+>Alcunha</guilabel
+> é o &nickname; da pessoa que publicou o &URL;. Se o &nickname; estiver em branco, o &url; apareceu numa página de <interface
+>Mensagens do Servidor</interface
+>. (Os &URL;s que aparecem nas mensagens do início e fim de uma ligação não são listados). Carregue num &URL; para o seleccionar.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Carregue aqui para activar a aplicação associada com o &URL; seleccionado. A aplicação lançada depende do tipo &MIME; do &URL;. Por exemplo, um &URL; que comece por um <interface
+>http:</interface
+> irá activar o seu navegador Web por omissão e mostrar a página Web. Para as páginas Web, poderá também indicar o <link linkend="webbrowser"
+>navegador Web</link
+> a usar.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Carregue aqui para copiar o &URL; seleccionado para a área de transferência do &kde;.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Carregue aqui para remover o &URL; seleccionado da lista.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Carregue aqui para gravar a lista de &URL;s num ficheiro.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Carregue aqui para limpar a lista.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Configurar o seu navegador Web preferido</title>
+
+<para
+>Quando carregar num &URL; seleccionado no &konversation;, ele irá lançar a aplicação do &kde; por omissão que estiver associada ao tipo &MIME; do &URL;. Por exemplo, ao carregar num &URL; que comece por <interface
+>http</interface
+>, o &konqueror; é lançado para mostrar a página Web. Poderá indicar uma aplicação diferente da predefinida pelo &kde;. Por exemplo, poderá usar o Mozilla em alternativa. </para>
+
+<para
+>Para escolher um navegador Web diferente, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o &konversation;</guisubmenu
+> </menuchoice
+> do menu principal. <action
+>O ecrã para <guilabel
+>Editar as Preferências</guilabel
+> irá aparecer.</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>O ecrã do Navegador Web</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>O ecrã do Navegador Web</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Carregue aqui para mostrar o ecrã do <guilabel
+>Navegador Web</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Carregue aqui para indicar que deseja usar um navegador Web personalizado.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Indique o comando para lançar o seu navegador Web desejado. Quando carregar num &URL;, o <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> será substituído pelo &URL;.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Sugestão: </emphasis
+>(apenas para os sistemas &UNIX;) O comando por omissão é o <userinput
+>mozilla '%u'</userinput
+>, o qual irá iniciar uma instância nova do Mozilla de cada vez que carregar num &URL;. Se preferir que o Mozilla mostre a página Web numa página nova de uma instância já existente, crie um ficheiro que contenha o seguinte: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Dê o nome <userinput
+><replaceable
+>moz</replaceable
+></userinput
+> ao ficheiro, coloque-o na PATH, e torne-o executável (<userinput
+>chmod a+x moz</userinput
+>). Depois, indique <userinput
+> <replaceable
+>moz '%u'</replaceable
+></userinput
+> para o comando do navegador Web do ecrã acima. </para>
+
+<para
+><emphasis
+>Nota: </emphasis
+>A configuração do <guilabel
+>Navegador Web</guilabel
+> não se aplica aos &URL;s <interface
+>mailto:</interface
+>. Os &URL;s <interface
+>mailto:</interface
+> invocam sempre o cliente de e-mail por omissão do &kde;. </para>
+
+<para
+>Carregue em <guibutton
+>Aplicar</guibutton
+> para gravar as suas alterações. Precisa de se ligar de novo a cada servidor e canal para que as alterações façam efeito. A forma mais simples de fazer isto é sair e voltar a arrancar o &konversation;. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Marcar o Canal e os Registos das Pesquisas</title>
+
+<para
+>Poderá inserir um marcador nos ecrãs dos <link linkend="channel-screen-tour"
+>canais</link
+> e das <link linkend="query"
+>pesquisas</link
+> para o ajudar a localizar rapidamente as informações. Para o fazer, escolha a opção <menuchoice
+> <guisubmenu
+>Inserir</guisubmenu
+> <guisubmenu
+>Linha de Recordação</guisubmenu
+> </menuchoice
+> no menu principal. ou carregar em <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>Irá aparecer uma linha no fundo do texto do ecrã. A linha deslocar-se-á com o resto do texto do ecrã.</action
+> </para>
+
+<para
+>Para que a <interface
+>Linha de Recordação</interface
+> seja inserida em todos os canais e pesquisas ao mesmo tempo, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> </menuchoice
+> do menu principal, expanda o <guilabel
+>Comportamento</guilabel
+>, carregue na <guilabel
+>Janela de Conversação</guilabel
+> e assinale a opção <guilabel
+>Mostrar a linha de recordação em todos os canais/pesquisas</guilabel
+>. </para>
+
+<para
+>Para que o &konversation; introduza automaticamente uma <interface
+>Linha de Chamada de Atenção</interface
+> sempre que você enviar um comando <userinput
+><command
+>/away</command
+> <replaceable
+>mensagem</replaceable
+></userinput
+>, veja como <link linkend="identity-away"
+>Configurar a sua identidade</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Registo</title>
+
+<para
+>Se o registo estiver activo, o &konversation; manterá um registo de cada sessão do <interface
+>Servidor</interface
+>, <link linkend="channel-screen-tour"
+>Canal</link
+> e <link linkend="query"
+>Conversa privada (pesquisa)</link
+>. Cada sessão é guardada num ficheiro de registo no disco. Quando abrir a mesma sessão de novo, o &konversation; irá adicionar dados ao registo, Este irá crescer até um determinado limite que pode ser definido por si (veja em baixo). Quando se atinge o limite, as mensagens mais antigas são eliminadas. </para>
+
+<para
+>Sempre que abrir uma sessão de novo, são lidos aproximadamente os últimos 1024 caracteres da sessão anterior, a partir do fim do registo, sendo mostrados de seguida no ecrã. </para>
+
+<para
+>À medida que a sua sessão prossegue, as mensagens vão se deslocando e deixando de ficar visíveis. Poderá deslocar-se para trás para ver essas mensagens. Eventualmente, para conservar alguma memória, as mensagens mais antigas são descartadas. Isto é chamado de <guilabel
+>Limite de posicionamento</guilabel
+>. As mensagens que desapareçam da visibilidade devido ao <guilabel
+>Limite de posicionamento</guilabel
+> estão à mesma disponíveis no ficheiro de registo, se este estiver activo.</para>
+
+<para
+>Para ver o registo de uma sessão, carregue na página da sessão para a tornar a actual e escolha a opção <menuchoice
+> <guisubmenu
+>Janela</guisubmenu
+> <guisubmenu
+>Abrir o Ficheiro de Registo</guisubmenu
+> </menuchoice
+> do menu principal. <action
+>Irá aparecer uma página nova</action
+> com o ficheiro do registo. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Ficheiro de Registo</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Ficheiro de Registo</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>As mensagens no ficheiro de registo são mostradas aqui. As mensagens mais antigas encontram-se no topo e as mais recentes em baixo.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Carregue neste botão para gravar o ficheiro de registo noutro ficheiro.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Carregue para actualizar a visualização do ficheiro de registo. Enquanto você estiver a ver um ficheiro de registo, as mensagens mais recentes da sessão correspondente <emphasis
+>não</emphasis
+> são adicionadas automaticamente à área do ficheiro de registo. Use este botão para ver as mensagens mais recentes.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Carregue para limpar o visualizador do ficheiro de registo e o conteúdo do mesmo no disco.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Use esta opção para definir o tamanho máximo do ficheiro de registo. Esta opção não faz efeito até que você reinicie o &konversation;. Cada ficheiro de registo poderá ter uma opção separada.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>O <guilabel
+>Limite de posicionamento</guilabel
+> poderá ser alterado se escolher a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o &konversation;</guisubmenu
+> </menuchoice
+> do menu principal, expandindo depois o <guilabel
+>Comportamento</guilabel
+> e carregando na <guilabel
+>Janela de Conversação</guilabel
+>. O campo de <guilabel
+>Limite do posicionamento</guilabel
+> aparecerá no ecrã. Se o configurar como <guilabel
+>Ilimitado</guilabel
+>, as mensagens não são eliminadas na área de visualização. </para>
+
+<para
+>Para activar ou desactivar o registo e definir outras opções de registo, escolha a opção <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o &konversation;</guisubmenu
+> </menuchoice
+> do menu principal, expanda o <guilabel
+>Comportamento</guilabel
+> e carregue no <guilabel
+>Registo</guilabel
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>Comandos do &konversation;</title>
+
+<para
+>Os seguintes comandos são interpretados pelo &konversation; e podem ser diferentes dos comandos normais do &irc;. Os itens entre parêntesis rectos são opcionais. Os itens separados por uma barra (|) são formas alternativas do comando. Os comandos não listados aqui são enviados para o servidor tal-e-qual. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> para o canal, antecedida do seu &nickname;. Por exemplo, se o seu &nickname; for <userinput
+><replaceable
+>ZéManel</replaceable
+></userinput
+>, ao escrever <userinput
+><replaceable
+>O /me está a fazer um café.</replaceable
+></userinput
+> irá mostrar a mensagem <interface
+>O ZéManel está a fazer um café.</interface
+> A menos que tenham filtrado estes tipos de mensagens, todos os utilizadores as vêem. Este tipo de mensagens é usado tipicamente para enviar mensagens não-verbais, como o seu estado emocional actual ou o que você está a fazer fisicamente. Se tiver abandonado o seu computador, use o comando /away em alternativa.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame</command
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Como o comando <userinput
+><command
+>/me</command
+></userinput
+> acima, excepto que a mensagem é enviada para todos os canais e pesquisas que tiver abertos em todos os servidores a que está ligado no &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>canal</replaceable
+> <replaceable
+>[senha]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Liga-se ao <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Se o servidor o permitir e se o canal não existir já, este é criado e você será o operador do canal. Se o canal necessitar de uma senha para se ligar, indique-a em <userinput
+><replaceable
+>senha</replaceable
+></userinput
+>. A maioria dos nomes dos canais começa por um <userinput
+><replaceable
+>#</replaceable
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>canal</replaceable
+> <replaceable
+>[senha]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>O mesmo que o comando <userinput
+><command
+>/join</command
+></userinput
+> acima.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[canal]</replaceable
+> <replaceable
+>[razão]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Sai do <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> com a <userinput
+><replaceable
+>razão</replaceable
+></userinput
+> indicada e fecha a página correspondente do <interface
+>canal</interface
+>. Dentro de uma página de um canal ou uma pesquisa do &konversation;, poderá apenas escrever <userinput
+><command
+>/part</command
+></userinput
+>, o que irá fechar esse canal ou pesquisa com a razão predefinida que é indicada na <link linkend="identity"
+>Configuração da Identidade</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[canal]</replaceable
+> <replaceable
+>[razão]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>O mesmo que o comando <userinput
+><command
+>/part</command
+></userinput
+> indicado acima.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>Quando for indicado em qualquer página de um canal, pesquisa ou DCC, desliga-se do servidor correspondente e fecha todas as páginas de canais, pesquisas ou DCCs desse servidor.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>alcunha|canal</replaceable
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> para o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> ou para todos os que estiverem ligados ao <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Segue-se um exemplo do que aparece para si na página do canal</para>
+
+<para
+><computeroutput
+>[17:14] [Aviso] A enviar o aviso "Penso que percebi" para o #konversation</computeroutput
+></para>
+
+<para
+>E isto é o que os destinatários recebem</para>
+
+<para
+><computeroutput
+>[17:15] [Notice] -Portugal- Penso que percebi</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Cria uma página nova com a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> do utilizador para uma conversa privada, a qual é conhecida normalmente no IRC como uma <link linkend="query"
+>Pesquisa</link
+>. Tudo o que for escrito aqui só é visível para si e para o seu amigo. Poderá indicar mais do que um &nickname; separado por espaços, para que seja aberta uma página por cada &nickname;. Cada uma destas páginas será privada entre si e o respectivo utilizador.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>alcunha|canal</replaceable
+></userinput
+> <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia uma mensagem privada para o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> ou para todos os utilizadores no <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Ao contrário do <userinput
+><command
+>/query</command
+></userinput
+>, este não abre uma página nova. Se a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> começar por um <userinput
+><command
+>/me </command
+></userinput
+>, a mensagem é formatada da mesma maneira que um comando <userinput
+><command
+>/me</command
+></userinput
+>.</para>
+
+<para
+>Exemplos</para>
+
+<para
+><userinput
+><replaceable
+>/msg Pedro preciso de ajuda com o comando msg</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation Nova versão do Konvi disponível!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Pedro /me está a compilar o Manual agora.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg </command
+><replaceable
+>alcunha|canal</replaceable
+></userinput
+> <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>O mesmo que o <userinput
+><command
+>/msg</command
+></userinput
+> excepto que a mensagem não é mostrada no seu ecrã. Isto é útil para evitar que as senhas e outras informações importantes sejam expostas no seu ecrã ou fiquem registadas.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg </command
+><replaceable
+>alcunha|canal</replaceable
+></userinput
+> <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Como o comando <userinput
+><command
+>/msg</command
+></userinput
+> acima, excepto que a mensagem é enviada para todos os canais e pesquisas que tenha aberto para todos os servidores a que esteja ligado no &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op </command
+> <replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando for indicado na página de um canal, tenta atribuir ao utilizador <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> privilégios de operador do canal. Poderá não funcionar se você tiver privilégios insuficientes no canal (você próprio precisa de ser um operador do canal). Poderá indicar mais do que um &nickname; separado por espaços.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop </command
+><replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando for introduzido na página de um canal, retira os privilégios de operador do canal do utilizador correspondente a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+>. Poderá indicar mais do que um &nickname;, separado por espaços.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper </command
+><replaceable
+>[alcunha]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Concede ao utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> privilégios de Op-&irc; (Administrador). Isto só funciona se o &nickname; estiver na linha O: do servidor. Os Ops-&irc; têm o privilégio para executar o <userinput
+><command
+>/kill</command
+></userinput
+> dos &nickname;s, de efectuarem um <userinput
+><command
+>/connect</command
+></userinput
+> dos servidores à rede do &irc;, entre outras coisas. Se a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> não tiver sido indicado, tenta atribuir a si próprio os privilégios de Op-&irc;. Ser-lhe-á pedido o seu nome de utilizador e a senha do Op-&irc; em qualquer dos casos.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice </command
+> <replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Em certos canais (com a opção +m), os utilizadores não poderão enviar mensagens a não ser que tenham 'voz' (permissão para tal) no canal. Este comando tenta atribuir ao utilizador <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> privilégios de 'voz'. Precisa de ter privilégios de operador do canal para executar este comand. Ele é mais utilizado quando você é um operador de um canal moderado.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice </command
+> <replaceable
+>alcunha</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Retira os privilégios de 'voz' (permissão de envio de mensagens) do utilizador <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> no canal.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic </command
+><replaceable
+>[canal]</replaceable
+> <replaceable
+>[mensagem]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tenta definir o tópico do <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> como sendo a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+>. Quando for introduzido na página de um canal, o <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> poderá ser omitido e irá corresponder ao canal activo nesta página. Se a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> for omitida, mostra o tópico actual do canal. A alteração do tópico de um canal poderá ser mal-sucedida se não tiver privilégios suficientes.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>razão</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Se alguém lhe tentar enviar uma mensagem privada ou o convidar para um canal, serão notificados de que você está ausente do seu local de trabalho devido à <userinput
+><replaceable
+>razão</replaceable
+></userinput
+>. Para voltar a colocar o seu estado no normal, escreva <userinput
+><command
+>/away</command
+></userinput
+> sem nenhuma razão.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway </command
+> <replaceable
+>razão</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Como o comando <userinput
+><command
+>/away</command
+></userinput
+> descrito acima, excepto que o comando é enviado para todos os servidores a que se ligou no &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>alcunha</replaceable
+> <replaceable
+>[canal]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Convida o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> para se ligar ao <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Este comando é especialmente útil se você só se puder ligar ao canal por convite. Quando for introduzido na página de um canal, o <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> poderá ser omitido.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec </command
+><replaceable
+>programa</replaceable
+> <replaceable
+>[parâmetros]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Executa o programa compatível com o &konversation; chamado <userinput
+><replaceable
+>programa</replaceable
+></userinput
+>, passando para ele os <userinput
+><replaceable
+>parâmetros</replaceable
+></userinput
+>. Veja a <link linkend="scripting"
+>Programação</link
+> para mais informações sobre como usar e criar estes programas.</para>
+<para
+>Exemplos:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Envia os números de versão do &kde; e do &Qt; do seu sistema para o canal.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Envia o texto da sua versão de &Linux; para o canal.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify </command
+><replaceable
+>[alcunha]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Adiciona ou remove o utilizador correspondente a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> da sua lista de <link linkend="nicksonline"
+>Alcunhas Vigiadas Ligadas</link
+>. Se o &nickname; já estiver na lista, é removido. Se não estiver, será adicionado. Se a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> for omitida, mostra a lista actual de &nickname;s vigiados.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>group</replaceable
+>] [<command
+>list</command
+>|<replaceable
+>option</replaceable
+>] [<replaceable
+>valor</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Mostra ou altera as opções do &konversation; sem usar o ecrã de Configuração. Se um parâmetro contiver espaços, coloque-o entre aspas.</para>
+
+<para
+>Exemplos:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>lista os grupos de opções disponíveis.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" list</replaceable
+></userinput
+></para>
+
+<para
+>lista as opções disponíveis no grupo <userinput
+><replaceable
+>General Options</replaceable
+></userinput
+> (Opções Gerais) com os seus valores actuais</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon</replaceable
+></userinput
+></para>
+
+<para
+>Mostra o valor actual da opção para mostrar o ícone do &konversation; na bandeja do sistema.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon false</replaceable
+></userinput
+></para>
+
+<para
+>Desliga o ícone do &konversation; na bandeja do sistema.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick </command
+><replaceable
+>alcunha</replaceable
+> <replaceable
+>razão</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando for introduzido na página de um canal, tenta expulsar o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> do canal com a explicação na <userinput
+><replaceable
+>razão</replaceable
+></userinput
+>. Se a <userinput
+><replaceable
+>razão</replaceable
+></userinput
+> não for indicada, é usada a razão definida na <link linkend="identity"
+>Configuração da Identidade</link
+>. Este comando só poderá ser usado na página de um canal.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[canal]</replaceable
+> <replaceable
+>utilizador</replaceable
+>|<replaceable
+>máscara</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tenta banir o <userinput
+><replaceable
+>utilizador</replaceable
+></userinput
+> ou os utilizadores correspondentes à <userinput
+><replaceable
+>máscara</replaceable
+></userinput
+> do <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Quando for introduzido na página de um canal, o <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> poderá ser omitido. Para mais informações sobre as máquinas, domínios e máscaras, leia por favor os documentos em <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Para obter a lista de utilizadores banidos de um canal, introduza o comando <userinput
+><command
+>/mode </command
+><replaceable
+>canal</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban </command
+> <replaceable
+>[canal]</replaceable
+> <replaceable
+>padrão</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Anula uma expulsão de um ou mais utilizadores de um canal. Quando o comando for introduzido na página de um canal, o <userinput
+><replaceable
+>canal</replaceable
+></userinput
+> poderá ser omitido. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore </command
+> [<command
+>-all</command
+>] <replaceable
+>utilizador</replaceable
+> </userinput
+></term>
+<listitem
+><para
+>Adiciona o utilizador <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> à sua lista de utilizadores ignorados. Poderá indicar mais do que um &nickname; separado por espaços. As mensagens do canal dos utilizadores na sua lista para Ignorar não aparecem de todo. Para além disso, se indicar <userinput
+><command
+>-all</command
+></userinput
+>, todos os tipos de mensagens (pesquisas, avisos, &CTCP;, DCC e Excepções) do utilizador serão ignoradas, assim como as mensagens do canal. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote </command
+> <replaceable
+>comando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia o <userinput
+><replaceable
+>comando</replaceable
+></userinput
+> para o utilizador. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say </command
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Quando for introduzido na página de um canal, envia a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> para o canal. Isto é o mesmo que introduzir a <userinput
+><replaceable
+>mensagem</replaceable
+></userinput
+> na <interface
+>Linha de Entrada</interface
+> do canal. É útil para enviar comandos de &irc; quando não desejar executar o comando. Dois caracteres de comando (//) numa linha fazem o mesmo que o <userinput
+><command
+>/say</command
+></userinput
+>. Também é usado pelos <link linkend="scripting"
+>programas</link
+> para enviar mensagens. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Coloca o servidor no modo em bruto (<command
+>open</command
+>) ou retira-o deste modo (<command
+>close</command
+>). Se nem o <command
+>open</command
+> nem o <command
+>close</command
+> forem passados, é usado por omissão o <command
+>open</command
+>. No modo em bruto, o registo mostra todas as mensagens recebidas do servidor no formato nativo do &irc;. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Abre uma nova página com um &konsole; do &kde;. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server </command
+> <replaceable
+>[url]</replaceable
+> <replaceable
+>[senha]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Liga-se ao servidor no endereço <userinput
+><replaceable
+>url</replaceable
+></userinput
+>. Se o <userinput
+><replaceable
+>url</replaceable
+></userinput
+> for omitido, liga-se ao servidor associado com a página onde introduziu o comando. Isto é útil para se voltar a ligar a um servidor quando se tiver desligado. Se o servidor precisar de uma senha para se ligar a ele, indique-a com o parâmetro <userinput
+><replaceable
+>senha</replaceable
+></userinput
+>. Se o servidor necessitar de um número de porto que não o predefinido (6667), indique o <userinput
+><replaceable
+>url</replaceable
+></userinput
+> da seguinte forma: <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+> <command
+>SEND </command
+><replaceable
+>utilizador</replaceable
+> <replaceable
+>[ficheiro]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia o <userinput
+><replaceable
+>ficheiro</replaceable
+></userinput
+> para o utilizador com o &nickname; <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+>. Se o <userinput
+><replaceable
+>ficheiro</replaceable
+></userinput
+> for omitido, aparece-lhe uma janela para você seleccionar um ficheiro. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Abre uma página de Estado DCC. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>alcunha|canal</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Envia uma mensagem de PING para a <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> ou para o <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Isto é útil para determinar se alguém com quem você está a falar está com uma carga elevada na rede, ou (quando for enviado para um canal) se o seu próprio sistema está com uma carga elevada. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>alcunha|canal</replaceable
+> <replaceable
+>mensagem</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Envia uma mensagem para o utilizador <userinput
+><replaceable
+>alcunha</replaceable
+></userinput
+> ou para todos os utilizadores do <userinput
+><replaceable
+>canal</replaceable
+></userinput
+>. Isto é semelhante ao comando <userinput
+><command
+>/msg</command
+></userinput
+>, excepto que a mensagem é enviada através do protocolo &CTCP;. A resposta do outro lado depende do programa cliente de &irc; que o utilizador estiver a executar. Por exemplo, ao conversar com outro utilizador do &konversation;, o <userinput
+><replaceable
+>/ctcp Portugal TIME</replaceable
+></userinput
+> irá devolver a hora do sistema no computador do Portugal. O <userinput
+><replaceable
+>/ctcp Portugal VERSION</replaceable
+></userinput
+> irá devolver o número de versão do &konversation; no computador do Portugal. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Programação</title>
+
+<para
+>O &konversation; vem com alguns programas úteis que poderá executar na aplicação. Para executar um programa, escreva um comando numa página de um canal, pesquisa, DCC ou do servidor com o seguinte formato</para>
+
+<para
+><userinput
+><command
+>/exec </command
+> <replaceable
+>programa</replaceable
+> <replaceable
+>[parâmetros]</replaceable
+></userinput
+></para>
+
+<para
+>o qual executa a aplicação chamada <userinput
+><replaceable
+>programa</replaceable
+></userinput
+>, fornecendo-lhe os <userinput
+><replaceable
+>parâmetros</replaceable
+></userinput
+> (opcionalmente).</para>
+
+<para
+>Por exemplo, escreva o seguinte comando numa página de um canal</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>para enviar as versões do &kde; e do &Qt; para o canal.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>executa o programa <userinput
+><replaceable
+>comando</replaceable
+></userinput
+>, passando a ele o <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+>. Isto devolve o texto da versão do seu sistema &Linux; para o canal.</para>
+
+<para
+>Para obter uma lista com todos os programas disponíveis, indique o comando seguinte num ecrã do &konsole;.</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Você poderá criar os seus próprios programas. Estes são programas simples da consola e poderão ser feitos em qualquer linguagem de linha de comandos, como a 'bash', o 'perl' ou o 'python'. Quando o &konversation; executa um programa, os três primeiros parâmetros passados a ele são:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>O número de porto do servidor de &irc; onde o comando <userinput
+><command
+>/exec</command
+></userinput
+> foi executado.</para>
+</listitem>
+
+<listitem
+><para
+>O endereço do servidor.</para
+></listitem>
+
+<listitem
+><para
+>O nome do canal.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Aqui está um programa de exemplo de linha de comandos (comando).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Executa um comando e envia o resultado para o Konversation.
+
+PORTO=$1;
+SERVIDOR=$2;
+DESTINO=$3;
+shift;shift;shift;
+
+$@ | while read linha; do dcop $PORT Konversation say $SERVIDOR "$DESTINO" "$@: $linha"; done
+</programlisting>
+</para>
+
+<para
+>Repare que o programa usa o &DCOP; para comunicar com o &konversation;. O comando <computeroutput
+>say</computeroutput
+> faz com que o resultado seja enviado para o canal como uma mensagem normal. Para mostrar algo na página sem o enviar para os outros utilizadores, use o <computeroutput
+>info</computeroutput
+> em alternativa. Veja os programa existentes para aprender mais exemplos de programação.</para>
+
+<para
+>Para ser capaz de executar um programa que tenha criado, precisa de o instalar, copiando-o para tal para $KDEDIR/share/apps/konversation/scripts ou para $HOME/.kde/share/apps/konversation/scripts. Precisa também de ceder permissões de execução ao ficheiro, por exemplo com um <userinput
+><replaceable
+>chmod a+x programa</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Referência de Comandos</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>A janela principal do &konversation;</title>
+
+<sect2>
+<title
+>O Menu Ficheiro</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F2</keycap
+> </shortcut
+> <guimenu
+>Ficheiro</guimenu
+> <guimenuitem
+>Lista de Servidores</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra a <link linkend="irc-basics"
+>lista dos servidores e dos canais</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F7</keycap
+> </shortcut
+> <guimenu
+>Ficheiro</guimenu
+> <guimenuitem
+>Ligação Rápida</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra o ecrã de <link linkend="quickconnect"
+>Ligação Rápida</link
+> para se ligar a um servidor. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>File</guimenu
+> <guimenuitem
+>Ligar de Novo</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Liga-se de novo a todos os servidores que se desligaram devido a um erro na rede ou a outro problema qualquer. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ficheiro</guimenu
+> <guimenuitem
+>Juntar ao Canal</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra uma janela onde o utilizador poderá introduzir o nome de um canal onde se ligar. Faz o mesmo que se introduzir o comando <command
+>/join <userinput
+>#nome_canal</userinput
+></command
+> na página de um canal ou de um servidor.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ficheiro</guimenu
+> <guimenuitem
+>Pôr como Ausente Globalmente</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Muda o estado da sua &nickname;, para ausente em todos os canais. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Ficheiro</guimenu
+> <guimenuitem
+>Sair</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Sai</action
+> do &konversation;</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Editar</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Editar</guimenu
+> <guimenuitem
+>Procurar</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Procura por uma determinada sequência de texto no ecrã actual.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F3</keycap
+> </shortcut
+> <guimenu
+>Editar</guimenu
+> <guimenuitem
+>Procurar Seguinte</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Procura de novo por uma determinada sequência de texto no ecrã actual, usando o texto da pesquisa anterior.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Editar</guimenu
+> <guimenuitem
+>Limpar a Janela</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Limpa o ecrã actual.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Editar</guimenu
+> <guimenuitem
+>Limpar Todas as Janelas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Limpa todos os ecrãs.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Inserir</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserir</guimenu
+> <guimenuitem
+>Cor do &irc;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Veja a secção para <link linkend="color-msgs"
+>Enviar mensagens coloridas</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserir</guimenu
+> <guimenuitem
+>Linha de Recordação</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Veja a <link linkend="rememberlines"
+>Marcação dos Canais e dos Registos das Pesquisas</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inserir</guimenu
+> <guimenuitem
+>Carácter Especial</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>É usado para introduzir caracteres especiais, como os caracteres estrangeiros.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Favoritos</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Favoritos</guimenu
+> <guimenuitem
+>Adicionar aos Favoritos</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Coloca a rede &amp; canal actuais num Favorito</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Favoritos</guimenu
+> <guimenuitem
+>Editar os Favoritos</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Abre o editor de favoritos</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Favoritos</guimenu
+> <guimenuitem
+>Nova Pasta de Favoritos</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Cria uma nova pasta de favoritos</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Configuração</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Esconder o Menu</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Esconde o menu principal. Carregue em <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> para o mostrar de novo.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Esconder a Barra de Ferramentas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Esconde a barra de ferramentas.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Esconder a Barra de Estado</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Esconde a barra de estado no fundo do ecrã principal.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Identidades</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Mostra o ecrã de <link linkend="identity"
+>Identidades</link
+> para configurar a sua informação de identificação. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar os Atalhos</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Permite-lhe alterar os atalhos de teclado do &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar as Barras de Ferramentas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Permite-lhe adicionar ou remover os botões da barra de ferramentas do &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar as Notificações</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã de <link linkend="cfg-notifications"
+>Configuração das Notificações</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Configuração</guimenu
+> <guimenuitem
+>Configurar o &konversation;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã para <guilabel
+>Editar as Preferências</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Janela</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Página Anterior</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã correspondente à página anterior.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Página Seguinte</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã correspondente à página seguinte.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Fechar a Página</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Fecha o ecrã actual. Se fechar um canal, irá sair dele. Se fechar uma página de <interface
+>Mensagens do Servidor</interface
+>, irá fechar todos os canais abertos nesse servidor e desligar-se-á dele. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+><keycap
+>F11</keycap
+></shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Fechar Todas as Pesquisas Abertas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Fecha todas as <link linkend="query"
+>conversas privadas (pesquisas)</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Esconder a Lista de Alcunhas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Esconde (ou mostra) o painel de &nickname;s nas páginas dos canais. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F4</keycap
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Alcunhas Vigiadas Ligadas</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã das <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+>. Veja a secção para <link linkend="nicksonline"
+>Monitorizar quem está ligado</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Lista de Canais</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra uma <link linkend="list-channels"
+>lista dos canais</link
+> que estão disponíveis no servidor.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F6</keycap
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Extractor de &url;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra o ecrã com o <link linkend="urlcatcher"
+>Extractor de &url;</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Janela</guimenu
+> <guimenuitem
+>Nova Konsole</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Mostra um ecrã de terminal. Poderá abrir tantas páginas do <guilabel
+>Konsole</guilabel
+> quantas desejar.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Janela</guimenu
+> <guimenuitem
+>Abrir o Registo</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Abre um ecrã com o registo das mensagens da página actual. Só funciona para as páginas de <interface
+>Canais</interface
+> e <interface
+>Mensagens do Servidor</interface
+>. O registo precisa de estar activo na página de <menuchoice
+> <guisubmenu
+>Configuração</guisubmenu
+> <guisubmenu
+>Configurar o Konversation</guisubmenu
+> <guisubmenu
+>Comportamento</guisubmenu
+> </menuchoice
+> do menu principal. </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>O Menu <guimenu
+>Ajuda</guimenu
+></title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Perguntas e Respostas</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>Quando inicio o &konversation;, gostaria de me ligar a um servidor sem me juntar a nenhum canal. Como é que eu faço isso?</para>
+</question>
+<answer>
+<para
+>No ecrã para <link linkend="serverlist-addnetwork"
+>Editar o Servidor</link
+>, deixe a área de <guilabel
+>Canais</guilabel
+> em branco.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>O &konversation; não se liga a nenhuns servidores. O que se passa de errado ?</para>
+</question>
+<answer>
+<para
+>Existem várias coisas que poderão correr mal.</para>
+<orderedlist>
+<listitem>
+<para
+>Certifique-se que introduziu o <guilabel
+>Nome do servidor</guilabel
+> e <guilabel
+>Porto</guilabel
+> correctos no ecrã para <link linkend="serverlist-addserver"
+>Adicionar um Servidor</link
+>. </para>
+</listitem>
+<listitem>
+<para
+>Verifique o resultado no ecrã das <link linkend="channel-screen-tour"
+>Mensagens do Servidor</link
+> à procura de mensagens de erro. Será que o servidor rejeitou a ligação devido a uma senha errada? Será que o servidor rejeitou a ligação porque necessita do <acronym
+>IDENTD</acronym
+> e o seu computador não respondeu ao pedido de <acronym
+>IDENT</acronym
+>? Será que assinalou a opção do protocolo SSL mas o servidor não o suporta? </para>
+</listitem>
+<listitem>
+<para
+>Se estiver por detrás de uma 'firewall', garanta que os seguintes portos estão activos. O &konversation; precisa de ter activos os seguintes portos: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Saída para o 6667 em TCP (ou o porto do servidor a que está a ligar)</para
+></listitem>
+<listitem
+><para
+>Entrada para o 113 em TCP (se o servidor necessitar do IDENTD)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>Para mais informações sobre os problemas de ligações de IRC, veja em <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>Quando vou ao item <menuchoice
+> <guisubmenu
+>Janela</guisubmenu
+> <guisubmenu
+>Lista de Canais</guisubmenu
+> </menuchoice
+>, não o consigo seleccionar. Porquê?</para>
+</question>
+<answer>
+<para
+>O item de menu <menuchoice
+> <guisubmenu
+>Janelas</guisubmenu
+> <guisubmenu
+>Lista de Canais</guisubmenu
+> </menuchoice
+> fica inactivo se estiver actualmente a ver uma página não de canal, por exemplo a de <guilabel
+>Alcunhas Vigiadas Ligadas</guilabel
+>. Para o voltar a tornar seleccionável, volte para uma página de canal ou de servidor. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Créditos e Licença</title>
+
+<para
+>&konversation; </para>
+<para
+>Programa copyright 2002-2005 pela equipa do &konversation;. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Contribuições: <itemizedlist>
+<listitem
+><para
+>Dario Abatianni <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Peter Simonsson <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Christian Muehlhaeuser <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>John Tapsel <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Ismail Donmez <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Shintaro Matsuoka <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Gary Cramblitt <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Matthias Gierlings <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>&Alex.Zepeda; <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Stanislav Karchebny <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Mickael Marchand <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Agradecimentos a: <itemizedlist>
+<listitem
+><para
+>Michael Goettsche <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Benjamin Meyer <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Jacub Stachowski <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Sabastian Sariego <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Olivier Bedard <email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Frauke Oster <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Lucijan Busch <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Sascha Cunz <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Steve Wollkind <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Thomas Nagy <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Tobias Olry <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Ruud Nabben <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Documentação Copyright &copy; 2003-2005 Gary R. Cramblitt <email
+>garycramblitt@comcast.net</email
+> </para>
+
+<para
+>Tradução de José Nuno Pires <email
+>jncp@netcabo.pt</email
+></para
+>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Instalação</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>Como obter o &konversation;</title>
+&install.intro.documentation; <para
+>As últimas versões do &konversation;, incluindo o código-fonte e as instruções de compilação, poderão ser obtidas na <ulink url="&konviwebsite;"
+>página Web em &konviwebsite;</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Requisitos</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>Para poder usar com sucesso o &konversation;, necessita do &kde; 3.2 ou posterior e uma ligação de rede. Nas versões anteriores do &kde; poderão faltar algumas funcionalidades. Se estiver a executar o &konversation; por detrás de uma 'firewall', veja as <link linkend="faq"
+>Perguntas e Respostas</link
+>. Se desejar utilizar o protocolo SSL pode necessitar do OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/ru/Makefile.am b/doc/ru/Makefile.am
new file mode 100644
index 0000000..91a7703
--- /dev/null
+++ b/doc/ru/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = ru
+KDE_DOCS = konversation
diff --git a/doc/ru/index.docbook b/doc/ru/index.docbook
new file mode 100644
index 0000000..caa0cf5
--- /dev/null
+++ b/doc/ru/index.docbook
@@ -0,0 +1,5961 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kmyapplication "<application
+>Konversation</application
+>">
+ <!ENTITY kappname "&kmyapplication;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Russian "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Руководство по &kmyapplication;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+<othercredit role="translator"
+><firstname
+>Владимир</firstname
+><surname
+>Рычков</surname
+><affiliation
+><address
+><email
+>vvgtr2@mail.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+><othercredit role="translator"
+><firstname
+>Сергей</firstname
+><surname
+>Новгородов</surname
+><affiliation
+><address
+><email
+>ximen@tsu.tmb.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+><othercredit role="translator"
+><firstname
+>Алексей</firstname
+><surname
+>Опарин</surname
+><affiliation
+><address
+><email
+>opaleksej@yandex.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский</contrib
+></othercredit
+>
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&kmyapplication; - это &irc;-клиент для KDE с дружественныминтерфейсом. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>internet relay chat</keyword>
+<keyword
+>chat</keyword>
+<keyword
+>communications</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with KAddressBook</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&kmyapplication; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &kmyapplication; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &kmyapplication;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Введение</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>&kmyapplication; - это &irc;-клиент для KDE 3.2 и выше. Он предоставляет следующие возможности: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Поддержка SSL.</para
+></listitem>
+<listitem
+><para
+>Дружественный интерфейс.</para
+></listitem>
+<listitem
+><para
+>Настраиваемые Быстрые кнопки для часто используемых команд</para
+></listitem>
+<listitem
+><para
+>Автоматическое возобновление подключения и вход в чат.</para
+></listitem>
+<listitem
+><para
+>Отправка и приём DCC.</para
+></listitem>
+<listitem
+><para
+>Наблюдение за статусом пользователей.</para
+></listitem>
+<listitem
+><para
+>Визуальные и звуковые уведомления для широкого спектра событий, таких как упоминание вашего ника в сообщениях, вход/выход пользователя, входящего в ваш список наблюдения. </para
+></listitem>
+<listitem
+><para
+>Настраиваемая подсветка ников и других регулярных выражений в сообщениях.</para
+></listitem>
+<listitem
+><para
+>Автодополнение ников.</para
+></listitem>
+<listitem
+><para
+>Захват и сохранение всех &URL;, появляющихся в сообщениях.</para
+></listitem>
+<listitem
+><para
+>Вывод сообщений на экран даже при свёрнутом окне.</para
+></listitem>
+<listitem
+><para
+>Список игнорируемых ников.</para
+></listitem>
+<listitem
+><para
+>Автоматическое ведение журнала и управление им.</para
+></listitem>
+<listitem
+><para
+>Пометка строк в журналах.</para
+></listitem>
+<listitem
+><para
+>Поддержка сценариев.</para
+></listitem>
+<listitem
+><para
+>Интеграция с &kaddressbook;.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Веб-сайт &kmyapplication; расположен по адресу: <ulink url="&konviwebsite;/"
+>&konviwebsite;</ulink
+>. Вопросы и ответы по &kmyapplication; можно просмотреть в рассылке для <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>пользователей &kmyapplication;</ulink
+>. Пожалуйста, подпишитесь на неё, чтобы узнать о новых возможностях, обнаруженных ошибках и т.д. Чтобы узнавать о новых версиях, вы можете подписаться на рассылку <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>&kmyapplication;-Анонс</ulink
+>. Эта рассылка используется только для объявлений о новых версиях и исправлениях. </para>
+
+<para
+>С разработчиками &kmyapplication; можно связаться через &irc; на <ulink url="irc://irc.kde.org/%23konversation"
+>канале irc.kde.org #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>Использование &kmyapplication;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Если вы новичок в &irc;...</title>
+
+<para
+>Попросту говоря, &irc; - это протокол для онлайн-общения, определяемый официальными стандартами, способный отнять много часов вашей жизни. Чтобы воспользоваться &irc;, вы должны сначала подключиться к серверу, после чего зайти на канал (аналог комнаты в чате) или просто вступить в двусторонние переговоры.</para>
+
+<para
+>Чтобы подключиться к серверу и каналу, откройте &kmyapplication;. Появится окно <guilabel
+>Список серверов</guilabel
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Список серверов</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Список серверов</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>Здесь показан список настроенных &irc; <guilabel
+>Сетей</guilabel
+>. Сеть &irc; - это множество совместно работающих серверов, и чтобы подключиться к ней - достаточно войти на один сервер. Однажды подключившись, &kmyapplication; будет автоматически входить на отображаемые <guilabel
+>Каналы</guilabel
+>. При первом запуске в &kmyapplication; для вас уже настроены сеть <userinput
+><replaceable
+> Freenode</replaceable
+></userinput
+> и канал <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+>. Чтобы выделить сеть, щёлкните на ней мышью.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Нажмите здесь, чтобы определить новую <guilabel
+>Сеть</guilabel
+>, включая сервер и <guilabel
+>Каналы</guilabel
+> для автоматического входа при подключении. Подробнее об этом написано в разделе <link linkend="serverlist"
+>Определение новых сетей, серверов и каналов для автоматического входа</link
+>.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Нажмите сюда, чтобы подключиться к выбранной &irc;-сети и каналу.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>Когда вы нажмете кнопку <guibutton
+>Подключиться</guibutton
+> при первом запуске &kmyapplication;, возможна выдача сообщения о том, что ваш <guilabel
+>Профиль</guilabel
+> по умолчанию неправильно настроен.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Проверка профилей</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Проверка профилей</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>При первом запуске &kmyapplication; получает информацию о текущем пользователе от операционной системы и заполняет поля профиля автоматически. Если информация в системе неполна (например, не введено Полное имя), вы увидите вышеупомянутое сообщение. Для решения этой проблемы нажмите <guibutton
+>OK</guibutton
+> и посмотрите раздел <link linkend="identity"
+>Настройка вашего профиля</link
+>.</para>
+</note>
+
+<para
+>Появится <interface
+>Главное</interface
+> окно, отображающее сообщения, отправляемые сервером клиенту (если &kmyapplication; не подключается к серверу, смотрите <link linkend="faq"
+>Вопросы и ответы</link
+>). Когда сообщения сервера перестанут появляться, &kmyapplication; подключится к выбранному каналу или каналам. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Канал.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Канал</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Это называется <interface
+>Строка ввода</interface
+>. Чтобы послать сообщение на канале, наберите его в этой строке и нажмите &Enter;. Ваше сообщение, как и сообщения всех остальных, появляются в окне канала. Каждому сообщению предшествует время и ник пользователя.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Вы можете войти на дополнительные серверы и каналы. Каждый сервер, канал, список каналов и другие окна получают здесь по отдельной вкладке. Чтобы просмотреть список доступных каналов, смотрите <link linkend="list-channels"
+>Список доступных каналов</link
+>. Чтобы зайти на канал, наберите <userinput
+><command
+>/join</command
+> <replaceable
+>#имя_канала</replaceable
+></userinput
+> в Строке ввода (<userinput
+>#</userinput
+> вводить обязательно.) Также можно использовать <userinput
+><command
+>/j</command
+></userinput
+> как сокращение от <userinput
+><command
+>/join</command
+></userinput
+>. Чтобы покинуть канал, наберите <userinput
+><command
+>/part</command
+></userinput
+>. Чтобы перейти к другому серверу или каналу, щёлкните на соответствующей вкладке. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Это называется <interface
+>Панель пользователей</interface
+>. Здесь отображаются ники всех пользователи, вошедших на канал, включая ваш.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Это основные понятия. Более подробные сведения приведены в...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Настройка вашего профиля</title>
+
+<para
+>Перед тем, как начать регулярно использовать &kmyapplication; - выберите себе сетевое имя.</para>
+
+<para
+>Выберите <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+>Профили</guisubmenu
+></menuchoice
+> в главном меню. <action
+>Появится окно <guilabel
+>Профили</guilabel
+>. Открыть это окно можно также нажатием кнопки <guibutton
+>Изменить</guibutton
+> в диалоге <guilabel
+>Добавить сеть</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Профили (основная вкладка)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Профили (основная вкладка)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Щёлкните здесь, чтобы выбрать <guilabel
+>Профиль</guilabel
+> для редактирования.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Используйте эти кнопки, чтобы добавить, дублировать, переименовать или удалить <guilabel
+>Профиль</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Введите здесь ваше подлинное имя. &irc; не сможет скрыть вас от друзей и врагов. Имейте это в виду, если решите кому-нибудь навредить. Конечно, фальшивое "подлинное имя" может замаскировать ваш пол, но используемый вами компьютер всё равно можно отследить, поэтому вам не удастся быть истинно анонимным.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Используйте эти кнопки чтобы <guibutton
+>Добавить</guibutton
+>, <guilabel
+>Изменить</guilabel
+> или <guilabel
+>Удалить</guilabel
+> ник.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Это ваш список ников. Ник - это имя, по которому вас будут узнавать другие пользователи. Вы можете использовать любое имя, какое вам понравится, но первым символом должна быть буква. Остальными символами могут быть буквы, цифры или специальные символы: <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Так как ник должен быть уникальным во всей &irc; сети, имя, которое вы выбрали, может быть отвергнуто сервером из-за того, что кто-то уже использует его. Для этого и нужны альтернативные имена. Если первый выбранный вами ник отвергнут сервером, &kmyapplication; будет пытаться использовать другие имена из списка по порядку. </para>
+
+<para
+>В соответствии с RFC 2812, максимальная длина имени - 9 символов, но на самом деле она определяется сервером. Чтобы определить максимальную длину, поддерживаемую сервером, подключитесь к нему. На вкладке <interface
+>Server Messages</interface
+> найдите сообщение <computeroutput
+>[Support]</computeroutput
+>. Например</para>
+
+<para>
+<computeroutput
+>[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer </computeroutput>
+</para>
+
+<para
+>Параметр <computeroutput
+>NICKLEN</computeroutput
+> определяет максимальную длину имени. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Используйте эти кнопки для смены порядка (а значит, и приоритета) имён. Первым пробуется верхнее, затем следующее и т.д.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Если вы зарегистрировали ваше имя в сети &irc;, введите сервис и пароль, чтобы удостоверить его подлинность. Когда &kmyapplication; подключается к серверу, она автоматически будет посылать <userinput
+><command
+>/msg</command
+> <replaceable
+>сервис</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>пароль</replaceable
+></userinput
+>. Если вы не знаете, что это такое, оставьте эти поля пустыми.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Щёлкните на вкладке <guilabel
+>Отсутствие</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Профили (вкладка Отсутствие)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Профили (вкладка Отсутствие)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Введите имя, которое будет показывать, что вы отсутствуете. При выполнении команды <userinput
+><command
+>/away</command
+><replaceable
+>сообщение</replaceable
+></userinput
+> на любом канале, &kmyapplication;, используя этот <guilabel
+>Профиль</guilabel
+>, будет автоматически менять ваш ник на ник, веденный в поле <guilabel
+>Ник во время отсутствия</guilabel
+>. Это позволяет сообщить другим пользователям, что вы отошли от компьютера. Если вы выполните команду <userinput
+><command
+>/away</command
+></userinput
+> на любом канале, где вы уже отсутствуете, &kmyapplication; автоматически заменит ваш ник на оригинальный. Если вы не хотите автоматически менять ник, когда уходите - оставьте поле пустым.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Если вы снимете этот флажок, каждый раз при выполнении команды <userinput
+><command
+>/away</command
+></userinput
+> на канале будет появляться горизонтальная линия, отмечая место, с которого вы отсутствуете. Другие пользователи &irc; эту линию не видят. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Если вы установите этот флажок, &kmyapplication; будет автоматически посылать <guilabel
+>Сообщение об отсутствии</guilabel
+> на все каналы, к которым вы подключены под этим <guilabel
+>Профилем</guilabel
+>. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> заменяется текстом <userinput
+><replaceable
+>сообщения</replaceable
+></userinput
+>. Если вы выполните команду <userinput
+><command
+>/away</command
+></userinput
+>, <guilabel
+>Сообщение о возвращении</guilabel
+> появится на всех каналах, к которым вы подключены под этим <guilabel
+>Профилем</guilabel
+>.</para>
+
+<note
+><para
+>Многие считают сообщения об отсутствии надоедливыми. Используйте этот параметр осторожно, с учётом мнения других пользователей &irc;. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Перейдите на вкладку <guilabel
+>Дополнительно</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Профили (вкладка Дополнительно)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Профили (вкладка Дополнительно)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Здесь вы можете ввести команду, которая будет выполняться перед подключением к серверу. Если этот профиль используется для нескольких серверов, то команда будет выполнена для каждого их них.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>Этот параметр определяет кодировку и отображение отправляемых на сервер сообщений. При первом запуске &kmyapplication; автоматически получает эти настройки от операционной системы. Если у вас проблемы с отображением сообщений других пользователей, попробуйте изменить этот параметр.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>Когда вы подключаетесь, множество серверов запрашивают ваш компьютер для получения ответа IDENT. Если на вашем компьютере не запущен IDENT-сервер, этот ответ посылает &kmyapplication;. Пробелы не разрешены. Рекомендуется использовать ваше имя.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Это сообщение отправляется на канал, когда вы его покидаете.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Это сообщение отправляется на канал, если вас с него выгнали (обычно это делает оператор &irc;).</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Нажмите, чтобы применить изменения. Чтобы все изменения вступили в силу, вам нужно отключиться от сервера и подключиться заново. Простейший способ сделать это - перезапустить &kmyapplication;.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Настройка новых сетей, серверов и каналов для автоматического входа</title>
+
+<para
+>Окно <guilabel
+>Список серверов</guilabel
+> появляется при запуске &kmyapplication; или при выборе <menuchoice
+><guisubmenu
+>Файл</guisubmenu
+><guisubmenu
+>Список серверов</guisubmenu
+></menuchoice
+> в главном меню. <action
+>Окно <guilabel
+>Список серверов</guilabel
+></action
+> отображает существующие настроенные вами &irc; <guilabel
+>Сети</guilabel
+>. Сеть &irc; - это группа совместно работающих серверов. Подключившись к любому серверу какой-либо сети, вы получаете доступ ко всем её каналам. Примеры &irc; сетей - <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> и <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Список серверов</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Список серверов</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>Здесь показаны существующие настроенные вами <guilabel
+>Сети</guilabel
+> вместе с <guilabel
+>Профилями</guilabel
+>, используемыми для подключения к сети, и <guilabel
+>Каналами</guilabel
+>, на которые осуществляется автоматический вход при подключении. Организованные вами группы сетей будут выделяться отступами. Выделить сеть можно мышью. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Используйте эти кнопки, чтобы <guibutton
+>Добавить</guibutton
+> новую сеть, <guibutton
+>Изменить</guibutton
+> или <guibutton
+>Удалить</guibutton
+> выделенную. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Нажмите эту кнопку, чтобы подключиться к выбранной <guilabel
+>Сети</guilabel
+> и закрыть окно <guilabel
+>Список серверов</guilabel
+>. Вы можете выделить сразу несколько сетей, к которым будет производиться подключение.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>Нажатие этой кнопки не отменяет сделанных изменений, просто в данный момент вы не хотите подключаться ни к одной из сетей.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>При нажатии кнопки <guibutton
+>Добавить</guibutton
+> появится окно <guilabel
+>Добавить сеть</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Добавить сеть</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Добавить сеть</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Введите имя сети. Вы можете создать столько записей в <guilabel
+>Списке серверов</guilabel
+> для одной и той же <guilabel
+>Сети</guilabel
+>, сколько пожелаете.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Дополнительно. Если вы введёте здесь что-нибудь, все <guilabel
+>Сети</guilabel
+> одной <guilabel
+>Группы</guilabel
+> будут показаны вместе в окне <guilabel
+>Список серверов</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Выберите существующий <guilabel
+>Профиль</guilabel
+> или нажмите кнопку <guibutton
+>Изменить</guibutton
+>, чтобы добавить новый профиль или отредактировать существующий. <guilabel
+>Профиль</guilabel
+> отождествляется с вами и будет определять ваш ник в то время, когда вы подключены к сети.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Дополнительно. Эта команда будет передана на сервер после подключения. Например: <userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. Это пример для сети freenode, которая требует от пользователей регистрации их ников и паролей. <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> - это пароль для имени, указанного в <guilabel
+>Профиле</guilabel
+>. Вы можете ввести несколько команд, разделяя их точкой с запятой.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Установите этот флажок, если хотите, чтобы &kmyapplication; автоматически подключался к этой сети при каждом запуске.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>Это список &irc;-серверов. Для подключения к сети &kmyapplication; будет последовательно, сверху вниз, перебирать серверы из списка (в списке должен быть указан как минимум один). Выделить сервер можно мышью.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Используйте эти кнопки, чтобы <guibutton
+>Добавить</guibutton
+> cервер, <guibutton
+>Изменить</guibutton
+> или <guibutton
+>Удалить</guibutton
+> выделенный сервер. Можно изменить порядок серверов в списке и, следовательно, порядок попыток подключения.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Дополнительно. Это список каналов, на которые &kmyapplication; будет автоматически входить при подключении к серверу. Можете оставить незаполненным, если вам это не нужно.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Используйте эти кнопки, чтобы <guibutton
+>Добавить</guibutton
+> канал, <guibutton
+>Изменить</guibutton
+> или <guibutton
+>Удалить</guibutton
+> выбранный канал. Можно изменить порядок подключения каналов. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Старайтесь не смешивать серверы из различных &irc;-сетей в одной <guilabel
+>Сети</guilabel
+>. Избегайте указания одних и тех же серверов в различных <guilabel
+>Сетях</guilabel
+>, иначе в &kmyapplication; не будут работать <link linkend="linkaddressbook"
+>интеграция с адресной книгой</link
+> и <link linkend="nicksonline"
+>наблюдение за никами в сети</link
+>.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>При нажатии кнопки <guibutton
+>Добавить</guibutton
+> в рамке <guilabel
+>Серверы</guilabel
+>, появляется окно добавления сервера.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Добавить сервер</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Добавить сервер</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>Имя или IP адрес сервера. На irchelp.org можно найти <ulink url="http://www.irchelp.org/irchelp/networks/"
+>список</ulink
+> серверов.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Введите номер порта для подключения к серверу. Для большинства серверов - <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Если сервер требует пароля для подключения - введите его здесь, иначе - оставьте незаполненным.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Отметьте, если вы хотите использовать протокол SSL для общения с сервером. Это сохранит конфиденциальность сообщений между вашим компьютером и &irc;-сервером, но для этого сервер должен поддерживать протокол SSL. В большинстве случаев, если сервер не поддерживает SSL, соединения не произойдёт.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>При нажатии кнопки <guibutton
+>Добавить</guibutton
+> в рамке <guilabel
+>Каналы для автоматического подключения</guilabel
+> появляется окно <guilabel
+>Добавить канал</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Добавить канал</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Добавить канал</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Введите имя канала. Не забудьте поставить <userinput
+><replaceable
+>#</replaceable
+></userinput
+> перед именем. Если канал требует пароль для подключения - введите его здесь, иначе - оставьте незаполненным. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Список доступных каналов</title>
+
+<para
+>Чтобы просмотреть список доступных каналов, выберите <menuchoice
+><guisubmenu
+>Окна</guisubmenu
+> <guisubmenu
+>Список каналов</guisubmenu
+> </menuchoice
+> в главном меню. <action
+>После вывода предупреждения будет создана новая вкладка под названием <guilabel
+>Список каналов</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Вкладка Список каналов.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Вкладка Список каналов.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Введите здесь строку фильтра.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Вы можете фильтровать список каналов по количеству пользователей на них. Установка значения 0 отключает критерий.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Щёлкните здесь, чтобы получить список каналов с сервера и применить фильтр.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>Здесь отображается отфильтрованный список каналов. Заметьте, если вы не использовали регулярные выражения, &kmyapplication; покажет все каналы, содержащие в названиях строку фильтра, а не только те, названия которых начинаются с этой строки.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Выберите канал, на который вы хотите зайти, щелчком по нему. Щелчок правой кнопкой на канале выдаёт список всех веб-адресов, упомянутых в теме канала.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Щёлкните здесь, чтобы войти на канал. Для него будет создана новая вкладка.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Следует избегать нажатия кнопки <guibutton
+>Обновитьсписок</guibutton
+>. Большинство серверов работают с тысячами каналов, обновления сильно загружают их и могут занимать до нескольких минут, в зависимости от пропускной способности сети. Если ваш клиент слишком медленный, сервер может даже отключить вас. </para>
+
+<para
+>Иногда на серверах бывают "секретные" каналы. Они не отображаются в <guilabel
+>Списке каналов</guilabel
+>, но, если знать названия, входить на них можно. В любой <interface
+>Строке ввода</interface
+> введите <userinput
+><command
+>/join</command
+> <replaceable
+>#имя_канала</replaceable
+></userinput
+> (<userinput
+>#</userinput
+> обязательно). Для канала будет выделена новая вкладка. Если вы вошли на канал, а в Панели пользователей красуется только ваш ник - это значит, что канал до этого не существовал. В таком случае вы, должно быть, захотите закрыть канал, набрав <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>Тур по главному экрану</title>
+
+<para
+>Давайте подробнее рассмотрим <interface
+>Главное</interface
+>окно. Вот так оно выглядит при выделенной вкладке каналов.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Главное окно.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Главное окно</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>Это называется <interface
+>Строка ввода</interface
+>. Она становится доступной, если выделена вкладка канала. Отправить сообщение всем пользователям этого канала можно, набрав сообщение здесь и нажав &Enter;. Ваше сообщение, как и все остальные, появится в окне канала. В начале каждого сообщения указано время отправки и &nickname; отправителя.</para>
+
+ <para
+>Можно вставлять и текст из буфера обмена. Если вставляемый текст будет содержит более одной строки -- открывается диалог. Отредактируйте текст и нажмите кнопку <guibutton
+>ОК</guibutton
+>. </para>
+
+ <para
+>Если вставленный из буфера обмена текст окажется длиннее 256 символов (или содержит более одной строки), то появится предупреждение. Слишком большие сообщения могут повлечь за собой сброс соединения.Вы можете продолжать ввод, но это не очень хорошая идея, так как флуд (захламление канала большим числом сообщений) может помешать общению других пользователей, и вы будете отключены от сервера. Поэтому лучше отправлять сообщения небольшими частями.</para>
+
+ <!-- Uncomment when this is implemented.
+ &kmyapplication; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>На большинстве каналов существует соглашение о том, что сообщение, адресованое одному конкретному пользователю, должно начинаться с его &nickname;. &kmyapplication; имеет очень удобную функцию автозавершения &nickname; пользователя. Начните набирать &nickname; и нажмите клавишу <keycap
+>Tab</keycap
+>. &kmyapplication; допишет за вас оставшуюся часть &nickname;. Настроить автозавершение можно в меню. Выберите <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+>Настроить Konversation</guisubmenu
+></menuchoice
+>, разверните <guilabel
+>Поведение</guilabel
+>. Нажмите<guilabel
+>Общие</guilabel
+> и установите флажок <guilabel
+>Режим автозавершения</guilabel
+>. </para>
+
+ <para
+>В строке ввода вы можете набирать и команды &irc;, для этого набирайте:
+<userinput
+><command
+>/</command
+></userinput
+> &irc;-команда
+<link linkend="irc-cmds"
+>Наиболее часто используемые команды &irc;</link
+>. Некоторые серверы поддерживают команду <userinput
+><command
+>/help</command
+></userinput
+>, выводящую список доступных команд, или даже <userinput
+><command
+>/help</command
+> <replaceable
+> команда</replaceable
+></userinput
+> -- для описания конкретной команды. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Вы можете войти на дополнительные серверы и каналы. Каждый сервер и канал получает отдельную вкладку. Для просмотра списка доступных каналов см. <link linkend="list-channels"
+>Список доступных каналов</link
+>. Чтобы зайти на канал, наберите <userinput
+><command
+>/join</command
+> <replaceable
+>#имя_канала</replaceable
+></userinput
+> в Строке ввода (<userinput
+>#</userinput
+> вводить обязательно). Также можно использовать <userinput
+><command
+>/j</command
+></userinput
+> как сокращение от <userinput
+><command
+>/join</command
+></userinput
+>. Для выхода с канала, наберите <userinput
+><command
+>/part</command
+></userinput
+>. Кроме того, отдельные вкладки открываются для <link linkend="list-channels"
+>списка каналов</link
+>, участия в<link linkend="query"
+>двусторонних переговорах</link
+>, <link linkend="urlcatcher"
+>Охотника за &URL;</link
+> и терминальных сеансов. Для перехода по вкладкам можно использовать как кнопки, так и колёсико мыши. </para>
+
+<para
+>Для задания других параметров вкладок, выберите <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить Konversation</guisubmenu
+> </menuchoice
+> в главном меню. Перейдите в <guilabel
+>Поведение</guilabel
+>, затем <guilabel
+>Общие</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>Этот индикатор мигает, когда на вкладке есть что-то новое. Если это сообщения вроде <command
+>join</command
+>, <command
+>part</command
+>,<command
+>quit</command
+> или изменение ников, то индикатор мигает медленно. Мигание учащается при появлении новых обычных сообщений. Цвета могут быть такие: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Канал </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Сообщения сервера</interface
+>,<link linkend="list-channels"
+>Список каналов</link
+> или <link linkend="urlcatcher"
+>Охотник за &URL;</link
+> </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Консоль</guilabel
+> или <link linkend="dcc"
+>статус DCC</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+> Частное сообщение (на очереди)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Нажмите здесь, чтобы закрыть текущую вкладку. Закрыв вкладку <interface
+>Канал</interface
+>, вы автоматически покинете канал. Закрыв <interface
+>Сообщения сервера</interface
+>, вы:
+-- покинете все каналы к которым присоединились;
+-- закроете все запросы;
+-- отключитесь от сервера.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Эта кнопка позволяет изменить ваш &nickname;. Доступна, только если текущая вкладка является вкладкой канала. Чтобы спрятать эту кнопку, выберите в главном меню <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+>Настроить Konversation</guisubmenu
+></menuchoice
+>. Разверните вкладку <guilabel
+>Внешний вид</guilabel
+>, нажмите <guilabel
+>Окно чата</guilabel
+> и снимите флажок<guilabel
+>Показывать кнопку изменения псевдонима</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>Здесь отображается тема канала. Подведя к названию темы курсор мыши, вы увидите полный текст темы. Нажимая кнопку слева от названия темы, вы можете редактировать название. Скрыть тему канала можно, выбрав в главном меню <menuchoice
+><guisubmenu
+>Настройки</guisubmenu
+> <guisubmenu
+>Настроить Konversation </guisubmenu
+></menuchoice
+>. Развернуть <guilabel
+>Внешний вид</guilabel
+>, <guilabel
+>Окно чата</guilabel
+> и снять флажок <guilabel
+>Отображать тему канала</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Эти кнопки отображают текущее состояние режимов канала. Если кнопка нажата--значит, режим включен. Имея достаточно привилегий, вы сможете изменять режимы канала, нажимая эти кнопки или кнопки слева от темы канала. Скрыть кнопки режимов канала можно, выбрав в главном меню<menuchoice
+><guisubmenu
+>Настройки </guisubmenu
+><guisubmenu
+>Настроить Konversation</guisubmenu
+></menuchoice
+>. Развернуть <guilabel
+>Внешний вид</guilabel
+> и щелкнуть на <guilabel
+>Окно чата</guilabel
+>. Снять флажок <guilabel
+>Показывать кнопки режима канала</guilabel
+>. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Это называется <interface
+>Панель пользователей</interface
+>. Она отображается на вкладках каналов и содержит ники всех пользователей канала, включая и ваш. Наведите курсор на интересующий вас &nickname; и вы получите дополнительную информацию об этом пользователе. Вы можете изменить значок рядом с каждым из &nickname;. Читайте <link linkend="nickthemes"
+> Настройка &nickname; тем</link
+> для получения более подробной информации. Тема <guilabel
+>Big Bullets</guilabel
+>, как видно на экране выше, использует следующие значки: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> обычный пользователь </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> пользователь с правом голоса. Может отправлять сообщения в модерируемый канал. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> halfop канала, привилегированный пользователь </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> оператор канала </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> владелец канала </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> администратор канала </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Если пользователь недоступен, то в углу значка появляется маленький красный крест. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Щёлкните правой кнопкой мыши на имени пользователя для отображения контекстного меню этого &nickname;. Например, можно <link linkend="dcc"
+>послать файл</link
+> этому пользователю. Кроме того, можно <link linkend="linkaddressbook"
+>связать &nickname; с контактом в адресной книге</link
+>. </para>
+
+<para
+>Скрыть <interface
+>Панель пользователей</interface
+> можно в меню <menuchoice
+><guisubmenu
+>Окно</guisubmenu
+><guisubmenu
+>Спратать список имен</guisubmenu
+></menuchoice
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>Это называется <interface
+>Быстрые кнопки</interface
+>. По умолчанию они не видны. Для их отображения существует <link linkend="quick-buttons"
+>Настройка быстрых кнопок</link
+>. Вы можете назначать им любые команды по вашему усмотрению.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Замечание:</emphasis
+> вы можете контролировать то, как сообщения выглядят на экране канала и вкладках двусторонних переговоров (приватов). Например, можно изменять цвет сообщений, проигрывать звук при получении сообщения с определенной строкой или автоматически отвечать на сообщения. Подробности смотрите в разделе <link linkend="highlighting"
+>подсветка сообщений</link
+>. </para>
+
+<para
+><emphasis
+>Замечание:</emphasis
+>названия каналов иногда начинаются с <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+> или <userinput
+>!</userinput
+>. Согласно RFC 2811, первый символ имени определяет тип канала: <itemizedlist
+> <listitem
+><para
+> <userinput
+>#</userinput
+> - Постоянные каналы.</para
+></listitem
+> <listitem
+><para
+><userinput
+>!</userinput
+> - Постоянные каналы.</para
+></listitem
+><listitem
+><para
+> <userinput
+>&amp;</userinput
+> - Локальные (каналы, к которым можно присоединиться только с того сервера, где работает канал). Все остальные каналы доступны для подключения из сети.</para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> -Каналы, которые не поддерживают режимы канала. Это означает, что все режимы на канале отключены за исключением флага t.</para
+></listitem
+></itemizedlist
+>. Имена каналов могут достигать длины в 50 символов и содержать любые символы, исключая пробел, запятую и Ctrl-G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Быстрое подключение</title>
+
+<para
+>Иногда хочется подключиться к серверу как можно быстрее, не проходя всю процедуру добавления нового сервера в <link linkend="serverlist"
+>Список серверов</link
+>. </para>
+
+<para
+>В главном меню выберите <menuchoice
+><guisubmenu
+>Файл</guisubmenu
+><guisubmenu
+>Быстрое подключение</guisubmenu
+></menuchoice
+>. <action
+> Появится окно <guilabel
+>Быстрое подключение.</guilabel
+></action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Окно быстрого подключения.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Окно быстрого подключения</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Введите адрес сервера в поле <guilabel
+>Сервер</guilabel
+>, ваш &nickname; в поле <guilabel
+>Псевдоним</guilabel
+>, нажмите кнопку <guibutton
+>Подключиться</guibutton
+>. А когда &kmyapplication; подключится к серверу, введите команду <userinput
+><command
+>/join</command
+> <replaceable
+>#имя_канала</replaceable
+></userinput
+> -- и вы войдете на канал. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Часто используемые команды &irc;</title>
+
+<para
+>Ниже привёден краткий список наиболее часто используемых &irc;-команд. Полный список смотрите на <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC2812</ulink
+> или посетите <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Команды, адаптированные специально для &kmyapplication;, смотрите в <link linkend="konvi-cmds"
+> Команды Konversation</link
+> </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Отображает все доступные на сервере команды. Поддерживается не всеми серверами.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+><replaceable
+>команда</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Выводит помощь для <userinput
+><replaceable
+>команды</replaceable
+></userinput
+>. Поддерживается не всеми серверами.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join<replaceable
+>#канал</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Подключает к <userinput
+><replaceable
+>#каналу</replaceable
+></userinput
+>. Если канала с таким именем нет -- он будет создан, и вы станете его оператором.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Отключает вас от текущего <interface
+>канала</interface
+>, соответствующая вкладка закрывается.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+><replaceable
+>#канал</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Отключает вас от текущего <userinput
+><replaceable
+>#канала</replaceable
+></userinput
+>, соответствующая вкладка закрывается. Синоним <userinput
+><command
+>/leave</command
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+><replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Отправляет на канал <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>, в начале которого стоит ваш &nickname;. Например если ваш &nickname; <userinput
+> <replaceable
+>Pingvin</replaceable
+></userinput
+> и сообщение выглядело <userinput
+><replaceable
+>/me пьёт ароматный чай.</replaceable
+></userinput
+>, то на канале сообщение будет выглядеть так: <interface
+>Pingvin пьёт ароматный чай.</interface
+>. Все пользователи увидят это сообщение (если, конечно, такой тип сообщений не фильтруется). Эти сообщения дают вам возможность передать невербальную информацию, например ваше настроение или то, чем вы сейчас заняты. Но, если вам нужно ненадолго отойти от вашего компьютера, воспользуйтесь лучше командой /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Если кто-нибудь захочет послать вам личное сообщение или пригласить на канал - он увидит, что в данный момент вы отошли от компьютера и оставили ваше <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Отменяет действие предыдущей команды <userinput
+><command
+>/away</command
+><replaceable
+>сообщение</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query</command
+><replaceable
+>псевдоним</replaceable
+>. </userinput
+></term>
+<listitem
+><para
+>Откроет новую вкладку с <userinput
+><replaceable
+>псевдонимом</replaceable
+></userinput
+> пользователя для двустороннего общения, в IRC более известного как <link linkend="query"
+>Приват</link
+>. Все, что вводится в этой вкладке, видите только вы и ваш собеседник.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>псевдоним</replaceable
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Отправляет одиночное <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+> пользователю под ником <userinput
+><replaceable
+>псевдоним</replaceable
+></userinput
+>. Только пользователь с этим <userinput
+><replaceable
+>псевдонимом</replaceable
+></userinput
+> увидит это сообщение. Для более продолжительных переговоров удобно пользоваться командой <userinput
+><command
+>/query</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>псевдоним</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Приглашает пользователя с указанным <userinput
+><replaceable
+>псевдонимом</replaceable
+></userinput
+> присоединиться к каналу. Команда особенно полезна для тех каналов, на которые можно войти только по приглашению (invite-only).</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Двусторонние разговоры (queries)</title>
+
+<para
+>Двусторонние переговоры -- участвуете только вы и ваш собеседник. Такие разговоры в &kmyapplication; называются "queries". Начать приватную беседу можно, набрав команду <userinput
+><command
+>/query </command
+><replaceable
+>псевдоним</replaceable
+></userinput
+> в любой строке ввода, где <replaceable
+>псевдоним</replaceable
+> -- &nickname; пользователя, с которым вы хотите пообщаться. Также можно нажать правую кнопку мыши на &nickname; пользователя в <guilabel
+>Панели пользователей</guilabel
+> и выбрать <menuchoice
+><guisubmenu
+>Начать приват</guisubmenu
+> </menuchoice
+> <action
+>Откроется новая вкладка</action
+>. Представьтесь, послав сообщение. </para>
+
+<para
+>Двусторонние переговоры - те же каналы, с тем отличием, что в них общаетесь только вы с вашим собеседником.</para>
+
+<para
+>Чтобы закончить двусторонние переговоры, просто закройте эту вкладку. Однако учтите, что если собеседник снова пошлёт вам сообщение -- вкладка опять откроется.</para>
+
+<para
+>Чтобы завершить все двусторонние переговоры, в главном меню выберите <menuchoice
+><guisubmenu
+>Окно</guisubmenu
+><guisubmenu
+>Закрыть все открытые приваты</guisubmenu
+></menuchoice
+> или просто нажмите клавишу <keycap
+>F11</keycap
+>.</para>
+
+<para
+>Если какой-то пользователь начнет с вами частный разговор - &kmyapplication; создаст новую вкладку с его &nickname;. Но если вы не хотите говорить с этим пользователем -- просто закройте вкладку. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Настройка уведомлений</title>
+
+<para
+><guilabel
+>Уведомления</guilabel
+> -- это действия, которые &kmyapplication; будет осуществлять при наступлении при какого-либо события. Допустим, &kmyapplication; работает, но окно свернуто или оказалось спрятано за другими окнами. Если же кто-то захочет срочно связаться с вами или ваш приятель подключится к каналу, вам наверняка захочется узнать об этом. Тут-то и пригодятся уведомления. </para>
+
+<para
+>Настройка уведомлений в главном меню: <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+>Настроить оповещения</guisubmenu
+></menuchoice
+>. <action
+>Появится окно <guilabel
+>Настройка уведомлений.</guilabel
+></action
+> </para>
+
+<para
+>Сразу же нажмите кнопку <guibutton
+>Дополнительные параметры</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Окно настройки уведомлещений.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Окно настройки уведомлещений</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Щёлкните здесь для выбора события.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Отметьте типы уведомлений при наступлении выбранных событий. (<guilabel
+>Выделять запись на панели задач</guilabel
+> -- заставляет запись на панели задач мигать при наступлении события.)</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Отметьте таким образом все интересующие вас события и задайте методы уведомления о них. После этого нажмите кнопку <guibutton
+>Применить</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>Однажды настроив все увеолмления, вы можете включать и выключать их здесь. Например, при появлении вашего &nickname; в каком-либо сообщении может проигрываться определенный звуковой файл. Когда вы сидите за компьютером, такое звуковое сообщение может не понадобиться, но находясь в той же комнате и не глядя на монитор, вы по звуку сможете узнать о событии.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Можно настроить &kmyapplication; на выделение вашего псевдонима в чьих-либо сообщениях, используя <link linkend="highlighting"
+>подсветку</link
+>.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Наблюдение за подключением пользователей</title>
+
+<para
+>&kmyapplication; будет держать вас в курсе того, кто из ваших приятелей подключен к сети &irc;. </para>
+
+<para
+>Вы можете установить связи между сетевыми псевдонимами и соответствующими строками вашей адресной книги. После этого &nickname; и &irc;-сеть, к которой подключен &nickname;, будут записаны в вашей адресной книге. &irc;-сеть записыватеся потому, что псевдонимы уникальны только в пределах одной &irc;-сети. Одинаковые псевдонимы в двух разных &irc;-сетях совсем необязательно принадлежат одному и тому же человеку. Но на разных серверах одной и той же &irc;-сети один человек, как правило, имеет одинаковые псевдонимы.</para>
+
+<note
+><para
+>Именно по этой причине важно использовать одну и ту же <guilabel
+>Сеть</guilabel
+> для всех серверов в &irc;-сети, в <link linkend="serverlist"
+>определении сетей, серверов и автоподключений к каналам</link
+>.</para
+></note>
+
+<para
+>Можно указать пользователей, за статусом которых нужно следить, но не находящихся в вашей адресной книге. В этом случае &nickname; тоже будет связан с &irc;-сетью. Смотрите ниже.</para>
+
+<para
+>Включение функции наблюдения за &nickname; в главном меню: <menuchoice
+><guisubmenu
+>Окна</guisubmenu
+> <guisubmenu
+>Подключенные наблюдаемые пользователи</guisubmenu
+></menuchoice
+>. Появится окно <action
+>Подключенные наблюдаемые пользователи.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Подключенные наблюдаемые пользователи</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Подключенные наблюдаемые пользователи</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>Список содержит все псевдонимы вашего списка наблюдения и все псевдонимы, связанные с элементами вашей адресной книги. Все псевдонимы связаны с их &irc;-сетями. Если список пуст, то вы не внесли ни одного псевдонима в список или не включили функцию слежения за пользователями (смотрите ниже). Просмотреть все каналы, к которым подключен пользователь можно, развернув &nickname;. Значки рядом с каждым из каналов совпадают с теми, которые появляются в <interface
+>Списке пользователей</interface
+> окна <link linkend="channel-screen-tour"
+>Каналы</link
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>Здесь отображается вся известная информация о &nickname;. Каждые 8 секунд на сервер отправляется команда <userinput
+><command
+>WHOIS</command
+> </userinput
+> для получения информации обо всех пользователях, находящихся на линии. Это продолжается до тех пор, пока не будут получены сведения обо всех пользователях. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>Ники пользователей, не подключенных к &irc;-сети, в которой вы работаете, отображаются в списке <guilabel
+>Не подключены</guilabel
+> </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>Ники, связанные с элементами вашей адресной книги, отмечаются значком (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>). </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Используйте эти кнопки для связывания ника пользователя с элементами вашей адресной книги. Подробнее об этом написано в <ulink url="help:kaddressbook"
+>Справочнике KAddressBook</ulink
+>. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>Добавить &nickname; в список слежения можно, нажав кнопку <guilabel
+> Редактировать список наблюдения</guilabel
+>. Появится диалог<guilabel
+> Наблюдение за псевдонимами</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Наблюдаемые пользователи</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Наблюдаемые пользователи</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Установите этот флажок для активации функции <guilabel
+>наблюдение за пользователями</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Чтобы список <guilabel
+>Подключенные пользователи</guilabel
+> открывался при запуске &kmyapplication;, установите этот флажок.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>Здесь приведён список пользователей, за статусом которых вы хотите наблюдать. Каждый псевдоним связан с соответствующей &irc;-сетью.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Нажмите эту кнопку, чтобы добавить пользователя или удалить его из списка.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Список <guilabel
+>Подключенные пользователи</guilabel
+> обновляется путем периодического опроса сервера. Это поле определяет частоту таких запросов. Не вводите значения менее 20 секунд, так как это может привести к перегрузке сервера.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Дважды щёлкнув на &nickname; пользователя в <guilabel
+>Списке подключенных пользователей</guilabel
+>, вы отправите на сервер команду вида <userinput
+><command
+>%u</command
+></userinput
+>, где %u будет заменено на &nickname;. Завершать команду необходимо символом <userinput
+><command
+>%n</command
+></userinput
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Закончив редактировать список пользователей, нажмите кнопку <guibutton
+>ОК</guibutton
+>.</para>
+
+<para
+><emphasis
+>Замечание:</emphasis
+> когда вы откроете <guilabel
+>Список подключенных пользователей</guilabel
+>, пройдет ещё некоторое время до появления ников подключенных пользователей, ведь на опрос сервера необходимо некоторое время. Обычно <guilabel
+>Список подключенных пользователей</guilabel
+> остается постоянно открытым. </para>
+
+<para
+>Во всех <link linkend="channel-screen-tour"
+>каналах </link
+> &kmyapplication; отображает сообщение о статусе пользователя из вашего <guilabel
+>Списка наюлюдения</guilabel
+>. Сообщение выглядит примерно так: </para>
+
+<para
+><computeroutput
+>[17:52] [Notify] psn is online (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Подсветка сообщений</title>
+
+<para
+>Вы можете управлять отображением сообщений в окнах каналов и приватов.</para>
+
+<para
+>Активировать подсветку сообщений можно в главном меню: <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+> Настроить &kmyapplication;</guisubmenu
+></menuchoice
+>. <action
+>Появится окно <guilabel
+>Изменить предпочтения</guilabel
+></action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Экран подстветки</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Экран подстветки</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Щёлкните здесь для выбора экрана <guilabel
+>Подсветка</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Щёлкните здесь для добавления нового элемента в <guilabel
+>Список подсветки</guilabel
+>. Когда элемент в списке выбран -- можно редактировать свойства в панели ниже него.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Введите здесь шаблое строки. Присутствие этого шаблона в любом месте сообщения вызовет его подсветку. Если в вашей системе установлен редактор регулярных выражений KDE, то кнопка справа будет активна. Нажмите на неё, чтобы открыть редактор, он поможет вам создать более сложный шаблон. (Редактор регулярных выражений в KDE -- это часть пакета <command
+>kdeutils</command
+>.) </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Всё сообщение, содержащее указанный шаблон, будет выделено указанным цветом.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Если вы хотите, &kmyapplication; может проигрывать мелодии при появлении заданного шаблона в каком-либо сообщении. Для выбора файла и проверки звучания нажмите соответствующие кнопки.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Если вы хотите, чтобы при соответствии сообщения заданному шаблону &kmyapplication; автоматически отправляла ответ, введите его здесь. Используйте этот инструмент осторожно, так как вы можете раздражать пользователей &irc; излишними сообщениями. Кроме того, здесь вы можете вводить команды &irc; или &kmyapplication;.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Сбросом этого флажка вы отключите все настроенные звуки.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Установив этот флажок, вы включите автоматическое выделение цветом всех сообщений, содержащих ваш &nickname;. Цвет можете выбрать справа.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>По умолчанию подсветка не распространяется на сообщения, написанные вами. Но если вы хотите выделять и их -- установите этот флажок и выберите цвет справа.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Настройка экранного дисплея (&osd;)</title>
+
+<para
+><acronym
+>On Screen Display(экранный дисплей)</acronym
+>&osd; -- это уникальная функция &kmyapplication;. Со включенным &osd; сообщения из канала будут появляться на вашем рабочем столе, даже если &kmyapplication; свернуто. Здесь вы видите пример работы &osd;. Сообщение в левой верхней части экрана -- это &kmyapplication;, работающее, но в данный момент свернутое до значка в системном лотке.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Пример экранного дисплея</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Пример экранного дисплея</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Активировать &osd; можно в главном меню: <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+> Настроить &kmyapplication;</guisubmenu
+> </menuchoice
+>. <action
+>Появится окно <guilabel
+>Изменить настройки</guilabel
+></action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Экранный дисплей</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Экранный дисплей</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Щёлкните здесь, чтобы развернуть пункт <guilabel
+>Уведомление</guilabel
+></para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Щёлкните здесь, чтобы выбрать <guilabel
+>Экранный дисплей</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Для активации &osd; установите этот флажок.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Нажмите эту кнопку, чтобы выбрать шрифт &osd;. (<emphasis
+>Замечание:</emphasis
+> работают не все шрифты, но Luxi Sans 22 и Impact 22 проверены).</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Установите соответствующие флажки для выбора типов сообщений, которые хотите видеть на экране, и нажмите кнопку <guibutton
+>Применить</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Отправка сообщений с окрашенным шрифтом</title>
+
+<para
+>Вы можете использовать цвет для отправки сообщения в любой канал. В <interface
+>Строке ввода</interface
+> любого канала начните набирать сообщение. Нажмите <inlinemediaobject
+><imageobject
+><imagedata fileref="colorize.png" format="PNG"/> </imageobject
+> <textobject
+> <phrase
+> Добавить IRC-кнопку цвета</phrase
+></textobject
+></inlinemediaobject
+>, чтобы добавить цвет, или выберите в главном меню <menuchoice
+><guisubmenu
+>Вставить</guisubmenu
+><guisubmenu
+>Цвета IRC</guisubmenu
+></menuchoice
+>. Появится <action
+><guilabel
+>Диалог выбора цвета IRC</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Диалог выбора цвета</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Диалог выбора цвета</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Выберите нужный цвет и нажмите <guibutton
+>ОК</guibutton
+>. Продолжайте набирать ваше сообщение в <interface
+>Строке ввода</interface
+>. Еще раз сменить цвет можно, нажав кнопку <guibutton
+>Вставить IRC-цвет</guibutton
+>. Выберите другой цвет и нажмите <guibutton
+>ОК</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Настройка тем псевдонимов</title>
+
+<para
+>Вы можете изменять значки, отображаемые рядом с &nickname; в <interface
+>Списке пользователей</interface
+>. Для изменения темы отображения &nickname; -- выберите <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+><guisubmenu
+>Настроить Konversation</guisubmenu
+> </menuchoice
+> в главном меню.<action
+>Появится окно <guilabel
+>Изменить настройки</guilabel
+></action
+>. Щёлкните <guilabel
+>Внешний вид</guilabel
+>, чтобы развернуть его, потом щёлкните <guilabel
+>Темы</guilabel
+> -- появится окно <guilabel
+>Темы</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Окно настройки тем</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Окно настройки тем</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Щёлкните, чтобы открыть окно <guilabel
+>Темы</guilabel
+> псевдонима.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Выберите тему.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Пример значка отображается здесь с учётом выбранной темы.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Если вы откуда-либо загрузили тему отображения псевдонимов, нажмите здесь для её установки. </para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Настройка быстрых кнопок</title>
+
+<para
+>Вы можете включить функцию отображения <interface
+>Быстрых кнопок</interface
+>, и в <link linkend="channel-screen-tour"
+>Главном</link
+> окне появятся восемь <interface
+>Быстрых кнопок</interface
+>. Включить быстрые кнопки можно, выбрав в главном меню <menuchoice
+> <guisubmenu
+>Настройки</guisubmenu
+> <guisubmenu
+>НастроитьKonversation</guisubmenu
+> </menuchoice
+>.<action
+> Появится окно <guilabel
+>Изменение настроек</guilabel
+>.</action
+> Щёлкните <guilabel
+>Внешний вид</guilabel
+>, чтобы развернуть его, затем щёлкните <guilabel
+>Окно чата</guilabel
+>. Установите флажок<guilabel
+>Показывать быстрые кнопки</guilabel
+> и нажмите <guibutton
+>ОК</guibutton
+>. </para>
+
+<para
+>Кнопки можно настроить на исполнение наиболее часто используемых вами команд &irc;. Настроить <interface
+>Быстрые кнопки</interface
+> можно, открыв в главном меню <menuchoice
+><guisubmenu
+> Настройка</guisubmenu
+> <guisubmenu
+>Настроить Konversation</guisubmenu
+> </menuchoice
+>. <action
+>Появится окно <guilabel
+>Изменить настройки</guilabel
+>.</action
+>. Нажмите <guilabel
+>Поведение</guilabel
+>, чтобы развернуть его, затем нажмите <guilabel
+>Быстрые кнопки</guilabel
+> для отображения окна <guilabel
+>Быстрых кнопок</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Окно быстрых кнопок</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Окно быстрых кнопок</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Существуют восемь <interface
+>Быстрых кнопок</interface
+>. Выберите пункт в списке для редактирования кнопки. Столбец <guilabel
+>Название кнопки</guilabel
+> - это название, которое будет отображаться в <link linkend="channel-screen-tour"
+>Главном</link
+> окне. Постарайтесь давать кнопкам короткие имена. Колонка <guilabel
+>Действие кнопки</guilabel
+> - это действие, происходящее при нажатии <interface
+>Быстрой кнопки</interface
+>. На экране отображаются советы по назначению кнопкам различных действий. </para>
+
+<para
+>Нажмите <guibutton
+>ОК</guibutton
+> для завершения изменений. </para>
+
+<para
+>Пример:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Название кнопки</guilabel
+>: <userinput
+><replaceable
+>Сбщ</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Действие кнопки</guilabel
+>:<userinput
+><replaceable
+>Сообщение %u </replaceable
+></userinput
+> (после <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> стоит пробел) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>Чтобы использовать эту кнопку в <link linkend="channel-screen-tour"
+>Главном</link
+> окне, щёлкните на &nickname; в <interface
+>Панели имен</interface
+>, затем нажмите кнопку. В <interface
+>Строке ввода появится </interface
+><computeroutput
+>/MSG </computeroutput
+> , а после него -- выбранный &nickname;. Наберите сообщение, которое вы хотите послать этому пользователю, и нажмите &Enter;. Сообщение будет отправлено, и получит его только тот, кому оно предназначено. </para>
+
+<para
+><emphasis
+>Замечание:</emphasis
+> Вы не можете добавлять или удалять <interface
+>Быстрые кнопки</interface
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Отправка и получение файлов</title>
+
+<para
+>По &irc; вы можете обмениваться файлами с подключенными пользователями. </para>
+
+<para>
+<emphasis
+>ВНИМАНИЕ!!! Никогда не открывайте файлы, полученные из незнакомого источника!!!</emphasis>
+</para>
+
+<para
+>Чтобы отправить кому-либо в канале файл, щёлкните правой кнопкой на его &nickname; в <interface
+>Списке имен</interface
+> <link linkend="channel-screen-tour"
+>Главного</link
+> окна. Выберите <menuchoice
+> <guisubmenu
+>Послать файл</guisubmenu
+> </menuchoice
+> <action
+>Появится диалог выбора файла для отправки.</action
+> Затем появится вкладка <guilabel
+>DCC статуса</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Вкладка статуса DCC</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Вкладка статуса DCC</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>Здесь отображаются &nickname; получателя и имя файла.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>Колонка <guilabel
+>Статус</guilabel
+> отображает состояние отправки или получения файла:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>Предложение</guilabel>
+ </term>
+ <listitem>
+ <para
+>Вы хотите отправить кому-то файл, а &kmyapplication; ждёт согласия пользователя на прием. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Соединение</guilabel>
+ </term>
+ <listitem>
+ <para
+>&kmyapplication; пытается установить соединение с другой стороной. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Отправка</guilabel>
+ </term>
+ <listitem>
+ <para
+>&kmyapplication; отправляет файл. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Получение</guilabel>
+ </term>
+ <listitem>
+ <para
+>&kmyapplication; получает файл. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Завершено</guilabel>
+ </term>
+ <listitem>
+ <para
+>Файл бы успешно отправлен </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Остановлено</guilabel>
+ </term>
+ <listitem>
+ <para
+>Передача начата, но приостановлена. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Отменено</guilabel>
+ </term>
+ <listitem>
+ <para
+>Вы или другой пользователь нажали кнопку <guibutton
+>Отмена</guibutton
+>. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Сбой</guilabel>
+ </term>
+ <listitem>
+ <para
+>Передача была прервана из-за ошибки. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Поставлено в очередь</guilabel>
+ </term>
+ <listitem>
+ <para
+>Передача принята к исполнению и будет начата при получении согласия программы на стороне получателя. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Поиск</guilabel>
+ </term>
+ <listitem>
+ <para
+>&kmyapplication; пытается получить IP отправителя. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Продолжение</guilabel>
+ </term>
+ <listitem>
+ <para
+>Если во время передачи было обнаружено, что на принимающей стороне такой файл уже существует, пользователю будет выдан запрос <interface
+>Такой файл уже существует. Продолжить передачу?</interface
+>. Такое состояние отображается, если пользователь продолжит передачу. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>Если кто-то хочет отправить вам файл, то появится вкладка <guilabel
+>DCC статус</guilabel
+> (если она не была открыта ранее). Щёлкните на вкладке <guilabel
+>DCC статус</guilabel
+>, чтобы открыть её. Выберите файл и нажмите кнопку для приема. <emphasis
+>Замечание:</emphasis
+> Можно настроить &kmyapplication; на автоматический прием файлов, отправленных другими пользователями, в главном меню: <menuchoice
+><guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить Konversation</guisubmenu
+><guisubmenu
+>Настройка DCC</guisubmenu
+></menuchoice
+>. </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Если вы испытываете затруднения при отправке/получении файлов - возможно, ваш сетевой экран блокирует DCC-порты. Смотрите <link linkend="faq"
+>Часто задаваемые вопросы</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Интеграция с KAddressBook (Адресной книгой).</title>
+
+<para
+>Можно связать любой ник с контактом в Адресной книге. Если это будет сделано, то в <interface
+>Панели имен</interface
+> &kmyapplication; рядом с ником пользователя будет отображаться его реальное имя. </para>
+
+<para
+>Чтобы связать &nickname; с контактом в KAddressBook, в контекстном меню &nickname; пользователя в <interface
+>Панели имен</interface
+> <link linkend="channel-screen-tour"
+>Главного</link
+> окна. Выберите <menuchoice
+> <guisubmenu
+>Кто это?</guisubmenu
+> </menuchoice
+> для <action
+>отображения сведений о реальном имени этого человека</action
+>. Затем, снова в контекстном меню выберите <menuchoice
+> <guisubmenu
+>Связывание с Адресной книгой</guisubmenu
+> </menuchoice
+>. <action
+>Появится подменю</action
+>. Если &nickname; еще не связан с контактом, щёлкните <menuchoice
+> <guisubmenu
+>Создать контакт...</guisubmenu
+> </menuchoice
+>. <action
+>Появится окно <guilabel
+>Изменить контакт...</guilabel
+> </action
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Окно редактирования контакта </screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Окно редактирования контакта</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>&nickname; здесь вводится автоматически. Если вы знаете реальное имя - замените им &nickname;. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Учтите, что &nickname; <emphasis
+>не</emphasis
+> появляется здесь. Вместо этого, ..</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>Щёлкните здесь. Появится окно <guilabel
+>IM-адреса</guilabel
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Окно IM-адреса</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Окно IM-адреса</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Заметьте, что &kmyapplication; вводит &nickname; за вас при помощи протокола <guilabel
+>IRC</guilabel
+>. </para>
+
+<para
+>Дополнительные сведения об использовании адресной книги KDE содержатся в <ulink url="help:kaddressbook"
+>Руководстве KAddressBook</ulink
+>.</para>
+
+<para
+>Введите дополнительные сведения, которыми вы располагаете о данном человеке, и нажмите <guilabel
+>ОК</guilabel
+>. Реальное имя этого человека будет теперь отображаться рядом с его &nickname; в <guilabel
+>Панели имен</guilabel
+> &kmyapplication;. Это же имя будет появляться при наведении указателя мыши на &nickname;.</para>
+
+<para
+>Если &nickname; связан с контактом в Адресной книге, вы можете щёлкнуть правой кнопкой мыши на нем в <interface
+>Панели имен</interface
+> и отредактировать контакт, связать &nickname; с другим контактом, или удалить эту связь. </para>
+
+<para
+>Если &nickname; связан с контактом, а пользователь сменил свой ник во время работы &kmyapplication;, новый ник будет автоматически связан с контактом, при этом старая связь тоже сохранится.</para>
+
+<para
+>Если &nickname; IRC связан с контактом в <ulink url="help:kopete"
+>Kopete</ulink
+>, то эта связь будет передана &kmyapplication;, и наоборот.</para>
+
+<para
+>Заметьте: в <interface
+>Панели имён</interface
+> можно выделить несколько ников одновременно, щелчком правой кнопкой мыши можно создать одновременно несколько связей. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>Перехват &URL; из сообщений.</title>
+
+<para
+>Во время общения в <link linkend="channel-screen-tour"
+>каналах</link
+> пользователи часто посылают друг другу &URL; интересных веб-сайтов и других Интернет-ресурсов. При двойном щелчке на подобном &URL;, &kmyapplication; автоматически запустит приложение, связанное с этим &URL;. Запускаемое приложение зависит от &MIME;-типа &URL;. Например, если &URL; начинается с <interface
+>http:</interface
+>, то штатный браузер KDE запускается и отображает веб-страницу. (Можете также указать, какой <link linkend="webbrowser"
+>браузер</link
+> запустить.) Если во время перемотки текста &URL; ушел с экрана, трудно отыскать его снова. &kmyapplication; может вести для вас удобный журнал &URL;. Чтобы включить эту функцию, выберите <menuchoice
+> <guisubmenu
+>Окна</guisubmenu
+> <guisubmenu
+>Охотник за URL</guisubmenu
+> </menuchoice
+> в главном меню. <action
+>Создаётся новая вкладка под названием <guilabel
+>Охотник за URL</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Вкладка Охотника за URL</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Вкладка охотника за URL</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>Это - список всех &URL;, захваченных со времени запуска &kmyapplication;. В колонке <guilabel
+>Пользователь</guilabel
+> отображается &nickname; отправителя &URL;. Если эта колонка пуста, то URL появляется на вкладке <interface
+>Сообщения сервера</interface
+>. (&URL; из мгновенных сообщений не отображаются.) Для того чтобы выделить &URL;, щёлкните на нём.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Щёлкните здесь для запуска приложения, связанного с выделенным &URL;. Запускаемое приложение зависит от &MIME;-типа &URL;. Например, для обработки &URL;, начинающегося с <interface
+>http:</interface
+>, штатный браузер запустится и отобразит запрашиваемую страницу. Для web-страниц вы можете также указать, какой <link linkend="webbrowser"
+>браузер</link
+> следует запускать.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Щёлкните здесь для копирования выбранного &URL; в буфер обмена &kde;.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Нажмите здесь для удаления выбранного &URL; из списка.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Щёлкните здесь, чтобы сохранить список &URL; в файле.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Нажмите здесь, чтобы очистить список.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Выбор предпочитаемого браузера.</title>
+
+<para
+>При щелчке на &URL; в любом месте &kmyapplication; запустится приложение KDE, связанное с &MIME;-типом этого &URL;. Например, щелчок на адресе, начинающемся с <interface
+>http</interface
+>, вызовет запуск &konqueror; и загрузку в него соответствующей страницы. В качестве штатного можно указать другой браузер, например Mozilla. </para>
+
+<para
+>Для смены штатного браузера, выберите <menuchoice
+> <guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить &kmyapplication;</guisubmenu
+> </menuchoice
+> в главном меню. <action
+>Появится окно <guilabel
+>Изменить предпочтения</guilabel
+> .</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>Окно Браузера</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Окно Браузера</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Щёлкните здесь для отображения окна <guilabel
+>Браузера</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Щёлкните здесь, чтобы указать свой браузер.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Введите команду для запуска вашего любимого браузера. Когда вы щёлкнете на &URL;, вместо <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> будет подставлен реальный адрес.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Совет: </emphasis
+>(Только для &UNIX;-систем). Команда по умолчанию - <userinput
+>mozilla '%u'</userinput
+>, которая при каждом щелчке на &URL; запускает новый экземпляр Mozilla. Если вы хотите, чтобы Mozilla открывал новую страницу в уже запущенном экземпляре программы, создайте следующий файл: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Назовите файл <userinput
+><replaceable
+>moz</replaceable
+></userinput
+>, поместите ссылку на него в PATH и сделайте его исполняемым (<userinput
+>chmod a+x moz</userinput
+>). Затем в командной строке окна, описанного выше, введите <userinput
+><replaceable
+>moz '%u'</replaceable
+></userinput
+> </para>
+
+<para
+><emphasis
+>Заметка: </emphasis
+> Настройка <guilabel
+>Браузера</guilabel
+> не влияет на почтовые &URL;, они всегда обрабатываются штатной почтовой программой. </para>
+
+<para
+>Для сохранения сделанных изменений намите <guibutton
+>Применить</guibutton
+>. Чтобы изменения вступили в силу, нужно подключиться к каждому серверу и каналу. Простейший способ добиться этого - перезапуск &kmyapplication;. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Пометки в журналах каналов и приватов.</title>
+
+<para
+>Для облегчения и ускорения поиска нужной информации, вы можете делать пометки в экранах <link linkend="channel-screen-tour"
+>каналов</link
+> и <link linkend="query"
+>приватов</link
+>. Для этого выберите в главном меню <menuchoice
+> <guisubmenu
+>Вставка</guisubmenu
+> <guisubmenu
+>Пометить строку</guisubmenu
+> </menuchoice
+> или нажмите <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>Строка появится внизу окна и станет частью общего текста.</action
+> </para>
+
+<para
+>Чтобы одновременно ввести <interface
+>Помеченную строку</interface
+> во все каналы и приваты, выберите в главном меню <menuchoice
+> <guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить Konversation</guisubmenu
+> </menuchoice
+>, разверните пункт <guilabel
+>Поведение</guilabel
+>, нажмите кнопку <guilabel
+>Очистить окно</guilabel
+> и установите флажок <guilabel
+>Отображать помеченную строку во всех каналах/приватах</guilabel
+>. </para>
+
+<para
+>О том, как добиться того, чтобы &kmyapplication; автоматически подставляла <interface
+>Помеченную строку</interface
+> при вводе команды <userinput
+><command
+>/away</command
+> <replaceable
+>msg</replaceable
+></userinput
+>, смотрите в разделе<link linkend="identity-away"
+>Настройка идентификации</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Журналирование</title>
+
+<para
+>Если ведениепротоколов включено, то &kmyapplication; в течение сеанса сохраняет данные о каждом <interface
+>Сервере</interface
+>, <link linkend="channel-screen-tour"
+>Канале</link
+>и <link linkend="query"
+>Привате</link
+>. Данные каждого сеанса сохраняются в виде файла на диске. Если вы откроете тот же сеанс снова, то запись журнала будет продолжена. Объем журнала увеличивается до тех пор, пока не будет достигнут предел, установленный вами, при достижении предела старейшие сообщения будут удалены. </para>
+
+<para
+>Когда вы открываете сессию заново, приблизительно 1024 символа читаются из журнала и отображаются на экране. </para>
+
+<para
+>Во время сеанса сообщения передвигаются кверху. Для просмотра сообщений можно промотать их назад. Время от времени, для экономи памяти, старейшие сообщения удаляются. Это называется <guilabel
+>Предел отката:</guilabel
+>. Если журналирование включено, то сообщения, которые были удалены с экрана по достижении <guilabel
+>Предела отката</guilabel
+>, можно просмотреть в журнале.</para>
+
+<para
+>Для просмотра журнала сеанса, перейдите на его вкладку и выберите в главном меню <menuchoice
+> <guisubmenu
+>Окно</guisubmenu
+> <guisubmenu
+>Открыть журнал</guisubmenu
+> </menuchoice
+>. <action
+>Появится новая вкладка</action
+>, отображающая журнал. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Файл журнала</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Файл журнала</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>Здесь отображены сообщения журнала. Старейшие из них находятся сверху, а новейшие - снизу.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Нажмите здесь, чтобы сохранить журнал в другом файле.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Щёлкните здесь для обновления журнала. В то время, когда вы просматриваете журнал, новые сообщения <emphasis
+>не</emphasis
+> добавляются к журналу автоматически. Для просмотра последних сообщений пользуйтесь этой кнопкой.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Нажмите, чтобы удалить файл журнала с диска.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Use this box to set the maximum size of the log file. This setting does not take effect until you restart &kmyapplication;. Each log file may have a separate setting.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+><guilabel
+>Предел отката</guilabel
+> можно изменить. Для этого нужно выбрать в главном меню <menuchoice
+> <guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить &kmyapplication;</guisubmenu
+> </menuchoice
+>, затем развернуть <guilabel
+>Поведение</guilabel
+> и выбрать <guilabel
+>Окно чата</guilabel
+>. На экране появится поле <guilabel
+>Предел отката:</guilabel
+>. Если вы зададите параметр <guilabel
+>Без ограничений</guilabel
+>, то старые сообщения удаляться не будут. </para>
+
+<para
+>Можно включить/выключить журналирование и установить его параметры. Для этого нужно выбрать в главном меню <menuchoice
+> <guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить &kmyapplication;</guisubmenu
+> </menuchoice
+>, затем развернуть <guilabel
+>Поведение</guilabel
+> и выбрать <guilabel
+>Журналирование</guilabel
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>Команды &kmyapplication;</title>
+
+<para
+>Следующие команды обрабатываются &kmyapplication; и могут отличаться от обычных команд &irc;. Значения внутри квадратных скобок необязательны. Значения, разделенные вертикальной чертой (|), являются альтернативными вариантами. Те команды, которые не описаны здесь, при вводе поступают на сервер. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Отправляет на канал <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>, в начале которого стоит ваш &nickname;. Например если ваш &nickname; <userinput
+> <replaceable
+>Pingvin</replaceable
+></userinput
+> и сообщение выглядело <userinput
+><replaceable
+>/me пьёт ароматный чай.</replaceable
+></userinput
+>, то на канале сообщение будет выглядеть так: <interface
+>Pingvin пьёт ароматный чай.</interface
+>. Все пользователи увидят это сообщение (если, конечно, такой тип сообщений не фильтруется). Эти сообщения дают вам возможность передать невербальную информацию, например ваше настроение или то, чем вы сейчас заняты. Но, если вам нужно ненадолго отойти от вашего компьютера, воспользуйтесь лучше командой /away.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame</command
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Похожа на команду <userinput
+><command
+>/me</command
+></userinput
+>, приведенную выше, только сообщение рассылается на все каналы и всем приватам на всех серверах, к которым вы подключены в &kmyapplication;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>канал</replaceable
+> <replaceable
+>[пароль]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Подключает к указанному <userinput
+><replaceable
+>каналу</replaceable
+></userinput
+>. Если сервер даст согласие, и если канал еще не существует, то вы станете его оператором. Если канал для подключения требует пароль, введите его в разделе <userinput
+><replaceable
+>пароль</replaceable
+></userinput
+>. Большинство названий каналов начинается с <userinput
+><replaceable
+>#</replaceable
+></userinput
+></para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>канал</replaceable
+> <replaceable
+>[пароль]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>То же самое, что <userinput
+><command
+>/join</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[канал]</replaceable
+> <replaceable
+>[причина]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Приводит к выходу с <userinput
+><replaceable
+>канала</replaceable
+></userinput
+> с указанием <userinput
+><replaceable
+>причины</replaceable
+></userinput
+> и закрывает вкладку соответствующего <interface
+>канала</interface
+>. Во вкладке канала или привата &kmyapplication;, чтобы закрыть канал или приват, можно просто ввести команду <userinput
+><command
+>/part</command
+></userinput
+> с причиной по умолчанию, указанной в <link linkend="identity"
+>Настройке</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[канал]</replaceable
+> <replaceable
+>[причина]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>То же самое, что <userinput
+><command
+>/part</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>После ввода на любом канале, в привате или DCC-вкладке, отключает соответствующий сервер и закрывает все каналы, приваты и DCC-вкладки, открытые на этом сервере.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>ник|канал</replaceable
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Посылает <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+> пользователю под псевдонимом <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> или всем на <userinput
+><replaceable
+>канале</replaceable
+></userinput
+>. Ниже приведен прмер того, что вы можете увидеть во вкладке канала</para>
+
+<para
+><computeroutput
+>[17:14] [Notice] Sending notice "Понял вас" to #konversation</computeroutput
+></para>
+
+<para
+>А вот что увидят получатели</para>
+
+<para
+><computeroutput
+>[17:15] [Notice] -Eisfuchs- Понял вас</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query</command
+><replaceable
+>псевдоним</replaceable
+>. </userinput
+></term>
+<listitem
+><para
+>Создаётся новая вкладка для пользователя под указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> для частного разговора, известного в IRC под названием <link linkend="query"
+>Приват</link
+>. Все, что написано здесь, будете видеть только вы и ваш приватный партнер. Можно ввести несколько ников, разделенных пробелами, и для каждого из них будет открыта новая вкладка. Все они будут частными для вас и ваших партнеров.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>ник|канал</replaceable
+></userinput
+> <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Посылает частное сообщение пользователю с указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> или пользователям указанного <userinput
+><replaceable
+>канала</replaceable
+></userinput
+>. В отличие от команды <userinput
+><command
+>/query</command
+></userinput
+>, не приводит к открытию новой вкладки. Если <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+> начинается с команды <userinput
+><command
+>/me </command
+></userinput
+>, то текст форматируется так же, как в команде <userinput
+><command
+>/me</command
+></userinput
+>.</para>
+
+<para
+>Примеры</para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs Мне нужна помощь по команде msg</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation Появилась новая версия Konvi!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs /me компилирую Учебник.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg </command
+><replaceable
+>ник|канал</replaceable
+></userinput
+> <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>То же самое, что <userinput
+><command
+>/msg</command
+></userinput
+>, с той разницей, что сообщение не отображается на экране. Может пригодиться, если вы опасаетесь выдать пароль или другую секретную информацию.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg </command
+><replaceable
+>ник|канал</replaceable
+></userinput
+> <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Похожа на <userinput
+><command
+>/msg</command
+></userinput
+>, только сообщение будет разослано во все каналы и приваты, которые открыты на всех серверах, к которым вы подключены в &kmyapplication;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op </command
+> <replaceable
+>ник</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Вводом этой команды во вкладке канала делается попытка дать пользователю под <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> права оператора канала. Может не сработать, если у вас недостаточно привилегий на этом канале (вы сами должны быть оператором). Можно ввести несколько ников, разделив их пробелами.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop </command
+><replaceable
+>ник</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ввод этой команды во вкладке канала снимает привилегии оператора с пользователя под указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+>. Можно ввести несколько ников, разделив их пробелами.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper </command
+><replaceable
+>[ник]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Наделяет пользователя &nickname; <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> привилегиями IRC-Op (Администратора). Команда будет иметь эффект только в том случае, если &nickname; указан в строке O: сервера. IRC-Op может издавать команду <userinput
+><command
+>/kill</command
+></userinput
+> в отношении пользователей, подключать серверы к сети &irc; и совершать другие ответственные действия. Если <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> не указан, то делается попытка присвоить привилегии IRC-Op себе. В этом случае вам будет предложено ввести имя и пароль администратора.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice </command
+> <replaceable
+>ник</replaceable
+></userinput
+></term>
+<listitem
+><para
+>На некоторых каналах (с флагом +m), пользователи не могут отправлять сообщения, если у них нет права голоса. Эта команда - попытка дать такое право. Для выполнения этой команды у вас должны быть права оператора. В основном используется операторами модерируемых каналов.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice </command
+> <replaceable
+>ник</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Лишает права голоса пользователя под указанным ником.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic </command
+><replaceable
+>[канал]</replaceable
+> <replaceable
+>[сообщение]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Попытка задать на <userinput
+><replaceable
+>канале</replaceable
+></userinput
+> тему для <userinput
+><replaceable
+>сообщения</replaceable
+></userinput
+>. Когда команда вводится во вкладке канала, часть <userinput
+><replaceable
+>канал</replaceable
+></userinput
+> может быть опущена, и тогда действуют параметры канала по умолчанию. Если опущена часть <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>, то отображается текущая тема канала. Если у вас недостаточно прав, то смены темы канала вы можете и не добиться.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>причина</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Если кто-либо захочет послать вам сообщение или пригласить на частный разговор, им может быть отправлено сообщение о вашем отсутствии за компьютером по указанной <userinput
+><replaceable
+>причине</replaceable
+></userinput
+>. Для возвращения в нормальное состояние наберите <userinput
+><command
+>/away</command
+></userinput
+> без указания причины.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway </command
+> <replaceable
+>причина</replaceable
+></userinput
+></term>
+<listitem
+><para
+>То же, что команда <userinput
+><command
+>/away</command
+></userinput
+>, только рассылается на все серверы, к которым подключена &kmyapplication;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>ник</replaceable
+> <replaceable
+>[канал]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Приглашение пользователя под указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> подключиться к <userinput
+><replaceable
+>каналу</replaceable
+></userinput
+>. Особенно полезна эта команда для тех каналов, доступ на которые возможен только по приглашению. Если команда вводится во вкладке канала, то часть <userinput
+><replaceable
+>канал</replaceable
+></userinput
+> можно опустить.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec </command
+><replaceable
+>имя_файла</replaceable
+> <replaceable
+>[параметры]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Исполняет сценарий оболочки под названием <userinput
+><replaceable
+>имя_файла</replaceable
+></userinput
+>, передавая ему указанные <userinput
+><replaceable
+>параметры</replaceable
+></userinput
+>. Более подробно эта тема освещена в разделе <link linkend="scripting"
+>Поддержка сценариев</link
+>.</para>
+<para
+>Примеры:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Посылает на канал номера версий ваших KDE и Qt.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Посылает на канал строку с версией вашей Linux.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify </command
+><replaceable
+>[ник]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Добавляет <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> к списку ваших <link linkend="nicksonline"
+>Наблюдаемых подключенных пользователей</link
+> или удаляет его из списка. Если ник уже есть в списке, то он удаляется, а если его нет - добавляется. Если конкретный <userinput
+><replaceable
+>nick</replaceable
+></userinput
+> не указан, то отображается весь список наблюдаемых ников.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>группа</replaceable
+>] [<command
+>list</command
+>|<replaceable
+>параметр</replaceable
+>] [<replaceable
+>значение</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Отображает или устанавливает настройки &kmyapplication; без обращения к окну "Настройка". Если параметр содержит пробелы, заключите его в скобки.</para>
+
+<para
+>Примеры:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>отображает доступные группы параметров.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" list</replaceable
+></userinput
+></para>
+
+<para
+>отображает параметры, доступные в группе <userinput
+><replaceable
+>Общие параметры</replaceable
+></userinput
+> вместе с их текущими значениями.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon</replaceable
+></userinput
+></para>
+
+<para
+>Отображает текущую настройку отображения значка &kmyapplication; в системном лотке.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon false</replaceable
+></userinput
+></para>
+
+<para
+>Убирает значок &kmyapplication; из системного лотка.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick </command
+><replaceable
+>ник</replaceable
+> <replaceable
+>причина</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Если ввести команду во вкладке канала, то будет сделана попытка выгнать с канала пользователя с указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> по указанной <userinput
+><replaceable
+>причине</replaceable
+></userinput
+>. Если <userinput
+><replaceable
+>причина</replaceable
+></userinput
+> не указана, то действует <link linkend="identity"
+>Настройка</link
+> по умолчанию. Эта команда используется только во вкладке канала.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[канал]</replaceable
+> <replaceable
+>пользователь</replaceable
+>|<replaceable
+>маска</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Попытка удалить <userinput
+><replaceable
+>пользователя</replaceable
+></userinput
+>или <userinput
+><replaceable
+>маску</replaceable
+></userinput
+> с <userinput
+><replaceable
+>канала</replaceable
+></userinput
+>. Если комада вводится во вкладке канала, то <userinput
+><replaceable
+>канал</replaceable
+></userinput
+> можно опустить. Более подробно о хостах, доменах и масках можно узнать на <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. Чтобы просмотреть текущий список удалённых с канала пользователей, введите команду <userinput
+><command
+>/mode </command
+><replaceable
+>канал</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban </command
+> <replaceable
+>[канал]</replaceable
+> <replaceable
+>шаблон</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Отменяет прежнее удаление с канала. Если команда введена во вкладке канала, то часть <userinput
+><replaceable
+>канал</replaceable
+></userinput
+> можно опустить. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore </command
+> [<command
+>-all</command
+>] <replaceable
+>ник</replaceable
+> </userinput
+></term>
+<listitem
+><para
+>Добавляет <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> к списку игнорируемых вами. Можно указать несколько ников, разделив их пробелами. Сообщения пользователей из этого списка на канале не отображаются. Кроме того, если введена команда <userinput
+><command
+>-all</command
+></userinput
+>, то не отображаются не только сообщения на канал, но и все остальные типы сообщений (приватные, уведомления, CTCP, DCC и Исключения). </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote </command
+> <replaceable
+>команда</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Посылает <userinput
+><replaceable
+>команду</replaceable
+></userinput
+> на сервер. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say </command
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Введенная во вкладке канала, отсылает на канал <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>. То же самое, что команда <userinput
+><replaceable
+>сообщение</replaceable
+></userinput
+>, введенная в <interface
+>Строке ввода</interface
+> канала. Удобно для ввода &irc;-команд, если вы не хотите их исполнения. Два управляющих символа (//) в строке дают тот же результат, что команда <userinput
+><command
+>/say</command
+></userinput
+>. Используется также в <link linkend="scripting"
+>сценариях</link
+> для отправки сообщений. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Переводит журнал сервера в цифровой режим (<command
+>open</command
+>) или отменяет цифровой режим (<command
+>close</command
+>). Если ни <command
+>open</command
+>, ни <command
+>close</command
+> не введены, то по умолчанию действует режим <command
+>open</command
+>. В цифровом режиме все сообщения в журнале отображаются в собственном &irc;-формате. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Открывает новую вкладку с запущенной консолью KDE. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server </command
+> <replaceable
+>[адрес]</replaceable
+> <replaceable
+>[пароль]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Подключает к серверу по указанному адресу. Если адрес не указан, то подключение происходит к серверу, связанному с вкладкой, в которой вводится команда. Удобно для подключения к серверу при разрыве связи. Если для входа на сервер требуется пароль, то введите его в части <userinput
+><replaceable
+>pwd</replaceable
+></userinput
+>. Если для подключения к серверу используется не обычный (6667) порт, то адрес нужно набирать таким образом: <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+> <command
+>SEND </command
+><replaceable
+>ник</replaceable
+> <replaceable
+>[имя_файла]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Посылает файл с названием <userinput
+><replaceable
+>имя_файла</replaceable
+></userinput
+> пользователю под ником <userinput
+><replaceable
+>ник</replaceable
+></userinput
+>. Если имя файла не указано, то появится диалоговое окно выбора файла. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Открывает вкладку состояния DCC. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>ник|канал</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Посылает PING-сообщение пользователю <userinput
+><replaceable
+>ник</replaceable
+></userinput
+> или на <userinput
+><replaceable
+>канал</replaceable
+></userinput
+>. Полезно для определения, насколько высок сетевой уровень вашего собеседника или (если команда направляется на канал) насколько высок сетевой уровень вашей системы. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp </command
+><replaceable
+>ник|канал</replaceable
+> <replaceable
+>сообщение</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Посылает сообщение пользователю под указанным <userinput
+><replaceable
+>ником</replaceable
+></userinput
+> или пользователям в указанном <userinput
+><replaceable
+>канале</replaceable
+></userinput
+>. Похоже на команду <userinput
+><command
+>/msg</command
+></userinput
+>, только сообщение отправляется с использованием протокола CTCP. Ответ противоположной стороны зависит от того, какой клиент &irc; там запущен. Например, если вы переговариваетесь с другим пользователем &kmyapplication;, то команда <userinput
+><replaceable
+>/ctcp Eisfuchs TIME</replaceable
+></userinput
+> вернёт системное время компьютера Eisfuchs. <userinput
+><replaceable
+>/ctcp Eisfuchs VERSION</replaceable
+></userinput
+> вернёт номер версии &kmyapplication; компьютера Eisfuchs. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Поддержка сценариев</title>
+
+<para
+>&kmyapplication; может работать с удобными сценариями, которые можно запускать из программы. Для запуска сценария на канале, в привате, DCC или во вкладке сервера нужно набрать команду вида</para>
+
+<para
+><userinput
+><command
+>/exec </command
+> <replaceable
+>имя_файла</replaceable
+> [<replaceable
+>параметры</replaceable
+>]</userinput
+></para>
+
+<para
+>которая исполнит сценарий под названием <userinput
+><replaceable
+>имя_файла</replaceable
+></userinput
+>, передав ему (необязательные) <userinput
+><replaceable
+>параметры</replaceable
+></userinput
+>.</para>
+
+<para
+>Например, ввод следующей команды во вкладке канала</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>передаст на канал номера версий KDE и Qt, установленных в системе.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>исполняет сценарий <userinput
+><replaceable
+>cmd</replaceable
+></userinput
+>, передав ему параметр <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+>. На канал будет передана строка с версией вашей Линукс.</para>
+
+<para
+>Чтобы посмотреть список доступных сценариев, наберите в консоли следующую команду.</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Вы можете писать собственные сценарии на любом языке оболочки (bash, perl или python). Во время исполнения сценария в &kmyapplication;, первыми тремя параметрами должны быть:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>Номер порта &irc;-сервера, во вкладке которого вводится команда <userinput
+><command
+>/exec</command
+></userinput
+>.</para>
+</listitem>
+
+<listitem
+><para
+>Адрес сервера.</para
+></listitem>
+
+<listitem
+><para
+>Название канала.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Пример сценария (cmd).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Исполняет команду и отображает выход в Konversation.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para
+>Заметьте, что для сообщения с &kmyapplication; сценарий использует DCOP. Команда <computeroutput
+>say</computeroutput
+> вызовет отправку вывода на канал, как обычного сообщения. Для отображения во вкладке того, что вы не хотите отправлять другим пользователям, используйте команду <computeroutput
+>info</computeroutput
+>. Взглянув на существующие файлы сценариев, вы получите более полное представление о них.</para>
+
+<para
+>Чтобы получить возможность запустить собственный сценарий, вы должны скопировать его в $KDEDIR/share/apps/konversation/scripts или в $HOME/.kde/share/apps/konversation/scripts. Необходимо также дать ему права на исполнение, например таким образом: <userinput
+><replaceable
+>chmod a+x имя_файла</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Описание команд</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>Главное окно &kmyapplication;</title>
+
+<sect2>
+<title
+>Меню Файл</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F2</keycap
+> </shortcut
+> <guimenu
+>Файл</guimenu
+> <guimenuitem
+>Список серверов</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Отображает <link linkend="irc-basics"
+>список серверов и каналов</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F7</keycap
+> </shortcut
+> <guimenu
+>Файл</guimenu
+> <guimenuitem
+>Быстрое подключение</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Открывает окно <link linkend="quickconnect"
+>Быстрое подключение</link
+> для подключения к серверу. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Файл</guimenu
+> <guimenuitem
+>Переподключиться</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Возобновляет подключение ко всем серверам в случае неожиданного разрыва связи. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Файл</guimenu
+> <guimenuitem
+>Зайти на канал</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Открывает диалог ввода названия канала для подключения. То же, что ввод <command
+>/join <userinput
+>#channelname</userinput
+></command
+> во вкладке канала или сервера.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Файл</guimenu
+> <guimenuitem
+>Установить статус Отсутствую во всех разговорах</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Состояние вашего ника указывает всем на ваше отсутствие за компьютером. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Файл</guimenu
+> <guimenuitem
+>Выход</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Закрывает</action
+> &kmyapplication;</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Правка</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Правка</guimenu
+> <guimenuitem
+>Найти</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Поиск текстовой строки в текущем окне.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F3</keycap
+> </shortcut
+> <guimenu
+>Правка</guimenu
+> <guimenuitem
+>Продолжить поиск</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Повторяет поиск текстовой строки в текущем окне с использованием результатов предыдущего поиска.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Правка</guimenu
+> <guimenuitem
+>Очистить окно</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Очищает текущее окно.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Правка</guimenu
+> <guimenuitem
+>Очистить все окна</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Очищает все окна.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Вставка</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Вставка</guimenu
+> <guimenuitem
+>Цвет IRC</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Смотрите <link linkend="color-msgs"
+>Отправка окрашенных сообщений</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Вставка</guimenu
+> <guimenuitem
+>Пометить строку</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Смотрите <link linkend="rememberlines"
+>Пометки в журналах каналов и приватов</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Вставка</guimenu
+> <guimenuitem
+>Вставить символ...</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Используется для вставки особых символов (например, иностранных букв).</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Закладки</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Закладки</guimenu
+> <guimenuitem
+>Добавить закладку</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Добавляет закладку на текущие сеть и канал</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Закладки</guimenu
+> <guimenuitem
+>Изменить закладки</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает редактор закладок</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Закладки</guimenu
+> <guimenuitem
+>Создать папку закладок</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Создает новую папку для закладок </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Настройка</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Скрыть меню</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Скрывает главное меню. Чтобы отобразить его снова, нажмите <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Скрыть панель инструментов</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Скрывает Панель инструментов.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Скрыть строку состояния</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Скрывает строку состояния внизу главного окна.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Профили</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Открывает <link linkend="identity"
+>Профили</link
+> для настройки ваших персональных данных. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить комбинации клавиш</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Настройка горячих клавиш для &kmyapplication;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить панели инструментов</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Позволяет добавлять и удалять кнопки Панели инструментов &kmyapplication;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить уведомления...</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно <link linkend="cfg-notifications"
+>Настройка уведомлений</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Настройка</guimenu
+> <guimenuitem
+>Настроить &kmyapplication;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно <guilabel
+>Изменить предпочтения</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Окно</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Предыдущая вкладка</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно, связанное с предыдущей вкладкой.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Следующая вкладка</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно, связанное со следующей вкладкой.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Закрыть вкладку</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Закрывает текущее окно. Если закрывается вкладка канала, то происходит отключение от него. Если закрывается вкладка сервера, то происходит отключение от всех каналов этого сервера, и сам сервер тоже отключается. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F11</keycap
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Закрыть все приваты</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Закрывает все <link linkend="query"
+>приваты (queries)</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Скрыть список пользователей</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Скрывает/открывает панель имен во вкладке канала. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F4</keycap
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Наблюдаемые подключенные пользователи</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно <guilabel
+>Наблюдаемые подключенные пользователи</guilabel
+>. Смотрите <link linkend="nicksonline"
+>Наблюдение за пользователями в сети</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Список каналов</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает <link linkend="list-channels"
+>список каналов</link
+>, доступных на сервере.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F6</keycap
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Охотник за URL</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно <link linkend="urlcatcher"
+>Охотника за URL</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Окно</guimenu
+> <guimenuitem
+>Открыть консоль</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает терминал. Можно открыть столько вкладок <guilabel
+>Консоль</guilabel
+>, сколько необходимо.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Окно</guimenu
+> <guimenuitem
+>Открыть журнал</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Открывает окно с журналом сообщений текущей вкладки. Действует только для вкладок <interface
+>Канал</interface
+>, <interface
+>Сообщения сервера</interface
+> и <interface
+>Приват</interface
+>. Ведением журнала можно управлять через меню <menuchoice
+> <guisubmenu
+>Настройка</guisubmenu
+> <guisubmenu
+>Настроить Konversation</guisubmenu
+> <guisubmenu
+>Поведение</guisubmenu
+> <guisubmenu
+>Журналирование</guisubmenu
+> </menuchoice
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Меню <guimenu
+>Справка</guimenu
+></title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Вопросы и ответы</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>При запуске &kmyapplication; я хотел бы подключаться к серверу без входа на какой-либо канал. Как это сделать?</para>
+</question>
+<answer>
+<para
+>В окне <link linkend="serverlist-addnetwork"
+>Настройка сервера</link
+> оставьте поле <guilabel
+>Каналы</guilabel
+> пустым.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>&kmyapplication; не подключается ни к одному серверу. В чем дело?</para>
+</question>
+<answer>
+<para
+>Дело может быть в нескольких вещах.</para>
+<orderedlist>
+<listitem>
+<para
+>Убедитесь, что в окне <link linkend="serverlist-addserver"
+>Добавить сервер</link
+> указаны верные <guilabel
+>Имя сервера</guilabel
+> и номер <guilabel
+>Порта</guilabel
+>. </para>
+</listitem>
+<listitem>
+<para
+>Просмотрите вывод в окне <link linkend="channel-screen-tour"
+>Сообщения сервера</link
+> на предмет сообщений об ошибках. Не отказал ли сервер в подключении из-за неверного пароля? Не было ли отказа в подключении из-за того, что сервер потребовал <acronym
+>IDENTD</acronym
+> (идентификации), а ваш компьютер не ответил на этот запрос? Может быть, вы пользуетесь протоколом SSL, а сервер его не поддерживает? </para>
+</listitem>
+<listitem>
+<para
+>Если у вас установлен брандмауэр, то нужно убедиться в том, что доступны следующие порты: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Исходящий TCP 6667 (или порт сервера, к которому вы подключаетесь)</para
+></listitem>
+<listitem
+><para
+>Входящий TCP 113 (если сервер требует идентификации)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>Подробнее о проблемах подключения IRC можно узнать на <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>При переходе в <menuchoice
+> <guisubmenu
+>Окно</guisubmenu
+> <guisubmenu
+>Список каналов</guisubmenu
+> </menuchoice
+>, я не могу выбрать канал. Почему?</para>
+</question>
+<answer>
+<para
+>Пункт меню <menuchoice
+> <guisubmenu
+>Окно</guisubmenu
+> <guisubmenu
+>Список каналов</guisubmenu
+> </menuchoice
+> может стать серым (неактивным) в том случае, если вкладка канала не является текущей (например, вы находитесь во вкладке <guilabel
+>Наблюдаемые подключенные пользователи</guilabel
+>). Чтобы вернуть возможность выбора пункта, нужно вернуться во вкладку канала или сервера. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Благодарности и лицензия</title>
+
+<para
+>&kmyapplication; </para>
+<para
+>&copy; 2002-2005 Разработчики Konversation. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Участники: <itemizedlist>
+<listitem
+><para
+>Дарио Абатианни (Dario Abatianni) <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Питер Симонссон (Peter Simonsson) <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Кристиан Мюельгаузер (Christian Muehlhaeuser) <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>Джон Тэпсел (John Tapsel) <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Измаил Доменз (Ismail Donmez) <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Шинтаро Матсуока (Shintaro Matsuoka) <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Гари Крамблитт (Gary Cramblitt) <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Маттиас Гирлингс (Matthias Gierlings) <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Алекс Зепеда (Alex Zepeda) <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Станислав Карчебный (Stanislav Karchebny) <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Майкл Мачанд (Mickael Marchand) <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Благодарности: <itemizedlist>
+<listitem
+><para
+>Майкл Гоеттше (Michael Goettsche) <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Бенжамин Мейер (Benjamin Meyer) <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Якоб Стаховский (Jacub Stachowski) <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Себастьян Сарьяго (Sabastian Sariego) <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Оливер Вебард (Olivier Bedard)<email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Фраук Остер (Frauke Oster) <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Лучиян Муш (Lucijan Busch) <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Саша Кунз (Sascha Cunz) <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Стив Уоллкайнд (Steve Wollkind) <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Томас Нэги (Thomas Nagy) <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Тобиас Олри (Tobias Olry) <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Руд Наббен (Ruud Nabben) <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Документация &copy; 2003-2005 Гари Крамблитт (Gary R. Cramblitt) <email
+>garycramblitt@comcast.net</email
+> </para>
+
+<para
+>Перевод на русский язык: Владимир Рычков <email
+>vvgtr2@mail.ru</email
+>, Сергей Новгородов <email
+>ximen@tsu.tmb.ru</email
+>, Алексей Опарин <email
+>opaleksej@yandex.ru</email
+></para
+>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Установка</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>Поолучение &kmyapplication;</title>
+&install.intro.documentation; <para
+>Новейшую версию &kmyapplication;, со всеми исходными кодами и инструкциями по сборке, можно получить на <ulink url="&konviwebsite;"
+>сайте &konviwebsite;</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Требования</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>Для успешной работы &kmyapplication; необходим &kde; 3.2 или выше, подключение к Интернет. На ранних версиях &kde; некоторые свойства могут быть недоступны. Если вы пользуетесь &kmyapplication; при включенном брандмауэре посмотрите <link linkend="faq"
+>Вопросы и ответы</link
+>. Если вы хотите пользоваться протоколом SSL, то вам нужен OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/sv/Makefile.am b/doc/sv/Makefile.am
new file mode 100644
index 0000000..3d9353e
--- /dev/null
+++ b/doc/sv/Makefile.am
@@ -0,0 +1,2 @@
+KDE_LANG = sv
+KDE_DOCS = konversation
diff --git a/doc/sv/addchannel.png b/doc/sv/addchannel.png
new file mode 100644
index 0000000..3bd4ed8
--- /dev/null
+++ b/doc/sv/addchannel.png
Binary files differ
diff --git a/doc/sv/addnetwork_co.png b/doc/sv/addnetwork_co.png
new file mode 100644
index 0000000..703e362
--- /dev/null
+++ b/doc/sv/addnetwork_co.png
Binary files differ
diff --git a/doc/sv/addserver_co.png b/doc/sv/addserver_co.png
new file mode 100644
index 0000000..4c864a3
--- /dev/null
+++ b/doc/sv/addserver_co.png
Binary files differ
diff --git a/doc/sv/channel_screen_tour_co.png b/doc/sv/channel_screen_tour_co.png
new file mode 100644
index 0000000..01a362e
--- /dev/null
+++ b/doc/sv/channel_screen_tour_co.png
Binary files differ
diff --git a/doc/sv/channellist_screen_co.png b/doc/sv/channellist_screen_co.png
new file mode 100644
index 0000000..e94de82
--- /dev/null
+++ b/doc/sv/channellist_screen_co.png
Binary files differ
diff --git a/doc/sv/checkidentities.png b/doc/sv/checkidentities.png
new file mode 100644
index 0000000..0a21b80
--- /dev/null
+++ b/doc/sv/checkidentities.png
Binary files differ
diff --git a/doc/sv/colorchooser_screen.png b/doc/sv/colorchooser_screen.png
new file mode 100644
index 0000000..55feac5
--- /dev/null
+++ b/doc/sv/colorchooser_screen.png
Binary files differ
diff --git a/doc/sv/dccstatus_screen_co.png b/doc/sv/dccstatus_screen_co.png
new file mode 100644
index 0000000..8d4a7a2
--- /dev/null
+++ b/doc/sv/dccstatus_screen_co.png
Binary files differ
diff --git a/doc/sv/first_channel_co.png b/doc/sv/first_channel_co.png
new file mode 100644
index 0000000..cfe8cee
--- /dev/null
+++ b/doc/sv/first_channel_co.png
Binary files differ
diff --git a/doc/sv/first_serverlist_co.png b/doc/sv/first_serverlist_co.png
new file mode 100644
index 0000000..1d0fc09
--- /dev/null
+++ b/doc/sv/first_serverlist_co.png
Binary files differ
diff --git a/doc/sv/highlighting_screen_co.png b/doc/sv/highlighting_screen_co.png
new file mode 100644
index 0000000..9689d41
--- /dev/null
+++ b/doc/sv/highlighting_screen_co.png
Binary files differ
diff --git a/doc/sv/identities_adv_co.png b/doc/sv/identities_adv_co.png
new file mode 100644
index 0000000..3f4624c
--- /dev/null
+++ b/doc/sv/identities_adv_co.png
Binary files differ
diff --git a/doc/sv/identities_away_co.png b/doc/sv/identities_away_co.png
new file mode 100644
index 0000000..b600100
--- /dev/null
+++ b/doc/sv/identities_away_co.png
Binary files differ
diff --git a/doc/sv/identities_gen_co.png b/doc/sv/identities_gen_co.png
new file mode 100644
index 0000000..327f0cf
--- /dev/null
+++ b/doc/sv/identities_gen_co.png
Binary files differ
diff --git a/doc/sv/index.docbook b/doc/sv/index.docbook
new file mode 100644
index 0000000..2d2c797
--- /dev/null
+++ b/doc/sv/index.docbook
@@ -0,0 +1,5965 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
+ <!-- Define an entity for your application if it is not part of KDE
+ CVS -->
+ <!ENTITY kappname "&konversation;">
+ <!ENTITY package "kdeextragear-2">
+ <!ENTITY irc "<acronym
+>IRC</acronym
+>">
+ <!ENTITY CTCP "<acronym
+>CTCP</acronym
+>">
+ <!ENTITY nickname "<acronym
+>nickname</acronym
+>">
+ <!ENTITY Nickname "<acronym
+>Nickname</acronym
+>">
+ <!ENTITY led "<acronym
+>LED</acronym
+>">
+ <!ENTITY osd "<acronym
+>OSD</acronym
+>">
+ <!ENTITY url "<acronym
+>URL</acronym
+>">
+ <!ENTITY mime "<acronym
+>MIME</acronym
+>">
+ <!ENTITY konviwebsite "http://konversation.kde.org">
+ <!ENTITY % imageobjectco.module "INCLUDE">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Swedish "INCLUDE"
+> <!-- ONLY If you are writing non-English
+ original documentation, change
+ the language here -->
+
+ <!-- Do not define any other entities; instead, use the entities
+ from entities/general.entities and $LANG/user.entities. -->
+]>
+
+
+<!-- ................................................................ -->
+
+<!-- The language must NOT be changed here. -->
+<!-- If you are writing original documentation in a language other -->
+<!-- than English, change the language above ONLY, not here -->
+<book lang="&language;">
+
+<!-- This header contains all of the meta-information for the document such
+as Authors, publish date, the abstract, and Keywords -->
+
+<bookinfo>
+<title
+>Handbok &konversation;</title>
+
+<authorgroup>
+<author
+><personname
+> <firstname
+>Gary</firstname
+> <othername
+>R.</othername
+> <surname
+>Cramblitt</surname
+> </personname
+> <email
+>garycramblitt@comcast.net</email
+> </author>
+<othercredit role="translator"
+><firstname
+>Stefan</firstname
+><surname
+>Asserhäll</surname
+><affiliation
+><address
+><email
+>stefan.asserhall@comhem.se</email
+></address
+></affiliation
+><contrib
+>Översättare</contrib
+></othercredit
+>
+</authorgroup>
+
+<!-- Note to Translators:
+ This document contains a number of screen images with callouts. Because the stylesheets do not currently
+ support merging callout images with screen images, the "areaspec" elements herein are dummy entries
+ used to satisfy the "callout" elements.
+
+ -grc
+-->
+
+<copyright>
+<year
+>2003-2005</year>
+<holder
+>Gary R. Cramblitt</holder>
+</copyright>
+
+<!-- Translators: put here the copyright notice of the translation -->
+<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
+ and in the FDL itself on how to use it. -->
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<!-- Date and version information of the documentation
+Don't forget to include this last date and this last revision number, we
+need them for translation coordination !
+Please respect the format of the date (YYYY-MM-DD) and of the version
+(V.MM.LL), it could be used by automation scripts.
+Do NOT change these in the translation. -->
+
+<date
+>2005-05-23</date>
+<releaseinfo
+>0.18</releaseinfo>
+
+<!-- Abstract about this handbook -->
+
+<abstract>
+<para
+>&konversation; är en användarvänlig &irc;-klient för K-skrivbordsmiljön. </para>
+</abstract>
+
+<!-- This is a set of Keywords for indexing by search engines.
+Please at least include KDE, the KDE package it is in, the name
+ of your application, and a few relevant keywords. -->
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>kdeextragear-2</keyword>
+<keyword
+>Konversation</keyword>
+<keyword
+>irc</keyword>
+<keyword
+>internet relay chat</keyword>
+<keyword
+>chatt</keyword>
+<keyword
+>kommunikationer</keyword>
+</keywordset>
+
+</bookinfo>
+
+<!-- The contents of the documentation begin here. Label
+each chapter so with the id attribute. This is necessary for two reasons: it
+allows you to easily reference the chapter from other chapters of your
+document, and if there is no ID, the name of the generated HTML files will vary
+from time to time making it hard to manage for maintainers and for the CVS
+system. Any chapter labelled (OPTIONAL) may be left out at the author's
+discretion. Other chapters should not be left out in order to maintain a
+consistent documentation style across all KDE apps. -->
+
+<!-- CODE SNIPPETS
+The following are useful snippets for cross-referencing to sections of this document.
+If using the snippets plugin, copy them to your snippets.
+Please keep synced with id attributes.
+
+See <link linkend="irc-basics"
+>If you haven't used &irc; before...</link
+> for more information
+See <link linkend="identity"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-away"
+>Setting your identity</link
+> for more information
+See <link linkend="identity-advanced"
+>Setting your identity</link
+> for more information
+See <link linkend="serverlist"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addnetwork"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addserver"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="serverlist-addchannel"
+>Defining new networks, servers and auto join channels</link
+> for more information
+See <link linkend="list-channels"
+>Listing available channels</link
+> for more information
+See <link linkend="channel-screen-tour"
+>A tour of the main screen</link
+> for more information
+See <link linkend="quickconnect"
+>Quick Connect</link
+> for more information
+See <link linkend="irc-cmds"
+>Frequently-used &irc; commands</link
+> for more information
+See <link linkend="query"
+>Private conversations (queries)</link
+> for more information
+See <link linkend="cfg-notifications"
+>Setting notifications</link
+> for more information
+See <link linkend="nicksonline"
+>Monitoring who is online</link
+> for more information
+See <link linkend="highlighting"
+>Message highlighting</link
+> for more information
+See <link linkend="cfg-osd"
+>Configuring On Screen Display (&osd;)</link
+> for more information
+See <link linkend="color-msgs"
+>Sending colorful messages</link
+> for more information
+See <link linkend="nickthemes"
+>Configuring &nickname; themes</link
+> for more information.
+See <link linkend="quick-buttons"
+>Configuring Quick Buttons</link
+> for more information
+See <link linkend="dcc"
+>Sending and receiving files</link
+> for more information
+See <link linkend="linkaddressbook"
+>Integrating with &kaddressbook;</link
+> for more information
+See <link linkend="urlcatcher"
+>Capturing &URL;s from messages.</link
+> for more information
+See <link linkend="webbrowser"
+>Setting your preferred web browser.</link
+> for more information
+See <link linkend="rememberlines"
+>Marking Channel and Query Logs</link
+> for more information
+See <link linkend="logging"
+>Logging</link
+> for more information
+See <link linkend="konvi-cmds"
+>&konversation; commands</link
+> for more information
+See <link linkend="scripting"
+>Scripting</link
+> for more information
+See <link linkend="kapp-mainwindow"
+>The main &konversation; window</link
+> for more information
+See <link linkend="getting-kapp"
+>How to obtain &konversation;</link
+> for more information
+See <link linkend="requirements"
+>Requirements</link
+> for more information
+
+-->
+
+<chapter id="introduction">
+<title
+>Inledning</title>
+
+<!-- The introduction chapter contains a brief introduction for the
+application that explains what it does and where to report
+problems. Basically a long version of the abstract. Don't include a
+revision history. (see installation appendix comment) -->
+
+<para
+>&konversation; är en &irc;-klient för &kde; 3.2 eller senare. Den erbjuder följande funktioner: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Stöd för SSL.</para
+></listitem>
+<listitem
+><para
+>Användarvänligt gränssnitt med flikar.</para
+></listitem>
+<listitem
+><para
+>Anpassningsbara snabbknappar för ofta använda kommandon.</para
+></listitem>
+<listitem
+><para
+>Automatisk återuppkoppling och gå med igen.</para
+></listitem>
+<listitem
+><para
+>Skicka och ta emot filer.</para
+></listitem>
+<listitem
+><para
+>Bevakningslista för smeknamn.</para
+></listitem>
+<listitem
+><para
+>Visuella och ljudbaserade underrättelser för en stor mängd händelser, som meddelanden som innehåller ditt smeknamn, eller uppkoppling och nerkoppling för smeknamn i din bevakningslista. </para
+></listitem>
+<listitem
+><para
+>Anpassningsbar färgläggning av meddelanden enligt smeknamn eller mönster med reguljärt uttryck.</para
+></listitem>
+<listitem
+><para
+>Komplettering av smeknamn.</para
+></listitem>
+<listitem
+><para
+>Fånga och spara alla webbadresser som ingår i meddelanden.</para
+></listitem>
+<listitem
+><para
+>Visning av meddelanden på skärmen, också om minimerad.</para
+></listitem>
+<listitem
+><para
+>Lista över smeknamn att ignorera.</para
+></listitem>
+<listitem
+><para
+>Automatisk loggning och logghantering.</para
+></listitem>
+<listitem
+><para
+>Markering av rader i loggar.</para
+></listitem>
+<listitem
+><para
+>Styrning via skript.</para
+></listitem>
+<listitem
+><para
+>Integrering med adressboken.</para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Webbplatsen för &konversation; är <ulink url="&konviwebsite;"
+>&konviwebsite;</ulink
+>. Frågor och svar om &konversation; kan diskuteras via e-postlistan <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-users"
+>&konversation;-Users</ulink
+>. Prenumerera gärna för att få reda på nya funktioner, felrapporter och liknande. För att bli informerad om nya utgåvor, kan du gå med i e-postlistan <ulink url="http://lists.sourceforge.net/mailman/listinfo/konversation-announce"
+>&konversation;-Announce</ulink
+>. Det här är en e-postlista med litet antal brev, som bara används för att kungöra nya utgåvor eller programfixar. </para>
+
+<para
+>Utvecklare av &konversation; kan oftast kontaktas via &irc; på <ulink url="irc://irc.kde.org/%23konversation"
+>irc.kde.org, kanalen #konversation</ulink
+>. </para>
+
+</chapter>
+
+<chapter id="using-kapp">
+<title
+>Att använda &konversation;</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-basics">
+<title
+>Om du inte har använt &irc; tidigare...</title>
+
+<para
+>Enkelt uttryckt är &irc; ett chattprotokoll, definierat av officiella Internetstandarder, med möjlighet att stjäla många timmar av ditt liv. För att använda &irc; måste du ansluta till en server, och därefter gå med i en kanal (som motsvarar ett chattrum) eller bara inleda en privat konversation.</para>
+
+<para
+>För att ansluta till en server och kanal, starta &konversation;. Skärmen <guilabel
+>Serverlista</guilabel
+> visas.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Serverlista</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-serverlist-1" coords="1 1"/>
+ <area id="pt-first-serverlist-2" coords="1 1"/>
+ <area id="pt-first-serverlist-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverlista</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-first-serverlist-1"
+><para
+>Listan med inställda &irc; <guilabel
+>Nätverk</guilabel
+> anges här. Ett &irc;-nätverk är en samling samarbetande servrar. Du behöver bara ansluta dig till en av servrarna i nätverket för att vara ansluten till hela &irc;-nätverket. När du väl är ansluten, kommer &konversation; automatiskt att gå med i de visade <guilabel
+>Kanalerna</guilabel
+>. När &konversation; startas för första gången, är nätverket <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> och kanalen <userinput
+><replaceable
+>#kde</replaceable
+></userinput
+> redan inskrivna åt dig. Klicka på ett nätverk för att välja det.</para
+></callout>
+<callout arearefs="pt-first-serverlist-2"
+><para
+>Klicka här för att definiera ett nytt <guilabel
+>Nätverk</guilabel
+>, inklusive servern att ansluta till, och <guilabel
+>Kanalerna</guilabel
+> som automatiskt ska gås med i efter anslutning. Se <link linkend="serverlist"
+>Definiera nya nätverk, servrar och kanaler att automatiskt gå med i</link
+> för mer information.</para
+></callout>
+<callout arearefs="pt-first-serverlist-3"
+><para
+>Klicka här för att ansluta till valt &irc;-nätverk och kanal.</para
+></callout>
+</calloutlist>
+</para>
+
+<note>
+<para
+>När du klickar på knappen <guibutton
+>Anslut</guibutton
+> första gången du öppnar &konversation;, kanske du ser följande meddelande, som talar om för dig att din förvalda <guilabel
+>identitet</guilabel
+> inte är riktigt inställd.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Kontrollera identiteter</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="checkidentities.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Kontrollera identiteter</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Första gången du öppnar &konversation; hämtas information om nuvarande användare från operativsystemet, och förvalda värden för identiteten fylls i. Om användarinformationen i operativsystemet inte är fullständig, till exempel om inget Fullständigt namn är definierat, kan du se meddelandet ovan. För att rätta problemet, klicka på <guibutton
+>Ok</guibutton
+> och titta i <link linkend="identity"
+>Ställa in din identitet</link
+> för mer information.</para>
+</note>
+
+<para
+><interface
+>Huvudskärmen</interface
+> öppnas och visar meddelanden som skickas av servern till klienten. (Om &konversation; inte ansluter till servern, se <link linkend="faq"
+>Vanliga frågor</link
+>.) När servermeddelanden har slutat bläddra förbi, går &konversation; med i kanalen eller kanalerna som valts. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Kanal.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-first-channel-1" coords="1 1"/>
+ <area id="pt-first-channel-2" coords="1 1"/>
+ <area id="pt-first-channel-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="first_channel_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Kanal</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-first-channel-1"
+><para
+>Det här kallas <interface
+>inmatningsraden</interface
+>. För att skicka ett meddelande till alla i kanalen, skriv in meddelandet här och tryck på <keycap
+>Enter</keycap
+>. Meddelandet samt alla andras meddelanden syns i kanalfönstret ovanför. Varje meddelande inleds med tiden och användarens smeknamn.</para
+></callout>
+
+<callout arearefs="pt-first-channel-2"
+><para
+>Du kan gå med i ytterligare servrar och kanaler. Varje server, kanal, kanallista och annan skärm får en separat flik här. För att visa en lista med tillgängliga kanaler, se <link linkend="list-channels"
+>Lista över tillgängliga kanaler</link
+>. För att gå med i en kanal, skriv: <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnamn</replaceable
+></userinput
+> på indataraden. (Tecknet <userinput
+>#</userinput
+> krävs.) Du kan också skriva <userinput
+><command
+>/j</command
+></userinput
+> som förkortning av <userinput
+><command
+>/join</command
+></userinput
+>. För att lämna en kanal, skriv bara <userinput
+><command
+>/part</command
+></userinput
+>. För att byta visning till en annan server eller kanal, klicka på motsvarande flik. </para
+></callout>
+
+<callout arearefs="pt-first-channel-3"
+><para
+>Det här kallas <interface
+>smeknamnsrutan</interface
+>. Den listar smeknamnen för alla användare som har gått med i kanalen, inklusive dig själv.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Det här är grunderna, för mer detaljerad information, läs vidare...</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="identity">
+<title
+>Ställa in din identitet</title>
+
+<para
+>Innan du börjar använda &konversation; regelbundet bör du ställa in hur du vill bli identifierad på nätverket.</para>
+
+<para
+>Klicka på <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Identiteter</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Identiteter</guilabel
+> visas. Du kan också visa skärmen <guilabel
+>Identiteter</guilabel
+> genom att klicka på knappen <guibutton
+>Redigera</guibutton
+> på skärmen <guilabel
+>Lägg till nätverk</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Identiteter (fliken Allmänt)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-gen-1" coords="1 1"/>
+ <area id="pt-identity-gen-2" coords="1 1"/>
+ <area id="pt-identity-gen-3" coords="1 1"/>
+ <area id="pt-identity-gen-4" coords="1 1"/>
+ <area id="pt-identity-gen-5" coords="1 1"/>
+ <area id="pt-identity-gen-6" coords="1 1"/>
+ <area id="pt-identity-gen-7" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_gen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fliken Allmänt)</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-gen-1"
+><para
+>Klicka här för att välja en <guilabel
+>Identitet</guilabel
+> att redigera.</para
+></callout>
+<callout arearefs="pt-identity-gen-2"
+><para
+>Använd de här knapparna för att lägga till, duplicera, byta namn på eller ta bort en <guilabel
+>Identitet</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-identity-gen-3"
+><para
+>Skriv in ditt riktiga namn här. &irc; är inte avsett att dölja dig för dina vänner eller fiender. Kom ihåg det om du är frestad att bete dig ondsint. Ett felaktigt "riktigt namn" kan vara ett bra sätt att dölja om du är man eller kvinna för alla töntar därute, men datorn som du använder kan alltid spåras, så du kan aldrig vara verkligt anonym.</para
+></callout>
+<callout arearefs="pt-identity-gen-4"
+><para
+>Använd de här knapparna för åtgärderna <guibutton
+>Lägg till</guibutton
+>, <guilabel
+>Redigera</guilabel
+> eller <guilabel
+>Ta bort</guilabel
+> för ett smeknamn.</para
+></callout>
+<callout arearefs="pt-identity-gen-5"
+><para
+>Det här är din lista med dina smeknamn. Ett smeknamn är namnet som övriga användare känner dig som. Du kan skriva in vilket namn du än önskar. Det första tecknet måste vara en bokstav, medan övriga tecken kan vara bokstäver, siffror eller specialtecken <literal
+>-[]\`_^{}|</literal
+>.</para>
+
+<para
+>Eftersom smeknamn måste vara unika i ett helt &irc;-nätverk, kanske ditt önskade namn inte tillåts av servern eftersom någon annan redan använder det. Skriv in alternativa smeknamn för dig själv. Om ditt första val inte tillåts av servern, försöker &konversation; med de alternativa smeknamnen. </para>
+
+<para
+>Enligt RFC 2812 är den maximala smeknamnslängden 9, men det avgörs i själva verket av servern. För att avgöra maximum för en server, anslut till servern. Leta efter meddelandet <computeroutput
+>[Support]</computeroutput
+> under fliken <interface
+>Servermeddelanden</interface
+>. Till exempel:</para>
+
+<para>
+<computeroutput
+>[18:51] *Eisfuchs* [21:45] [Support] Eisfuchs MODES=4 MAXCHANNELS=20 NICKLEN=16 USERLEN=10 HOSTLEN=63 TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=# PREFIX=@+ CASEMAPPING=ascii CAPAB IRCD=dancer </computeroutput>
+</para>
+
+<para
+>Parametern <computeroutput
+>NICKLEN</computeroutput
+> anger maximala längden på smeknamnet. </para>
+</callout>
+
+<callout arearefs="pt-identity-gen-6"
+><para
+>Använd de här knapparna för att ändra ordning på smeknamnen. Det översta smeknamnet provas först, därefter nästa, och så vidare.</para
+></callout>
+<callout arearefs="pt-identity-gen-7"
+><para
+>Om du har registrerat ditt smeknamn med &irc;-nätverket, skriv in tjänsten och lösenordet för att behörighetskontrollera ditt smeknamn. När &konversation; ansluter, skickas automatiskt <userinput
+><command
+>/msg</command
+> <replaceable
+>tjänst</replaceable
+> <command
+>IDENTIFY</command
+> <replaceable
+>lösenord</replaceable
+></userinput
+> till servern. Om du inte vet vad det är, lämna rutorna tomma.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-away"/>
+
+<para
+>Klicka på fliken <guilabel
+>Borta</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteter (fliken Borta)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-away-1" coords="1 1"/>
+ <area id="pt-identity-away-2" coords="1 1"/>
+ <area id="pt-identity-away-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_away_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fliken Borta)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-away-1"
+><para
+>Skriv in ett smeknamn som anger att du är borta. Så fort du utför kommandot <userinput
+><command
+>/away </command
+><replaceable
+>meddelande</replaceable
+></userinput
+> i någon kanal som du gått med i med denna <guilabel
+>Identitet</guilabel
+>, ändrar &konversation; automatiskt ditt smeknamn till <guilabel
+>Borta smeknamn</guilabel
+>. Andra användare märker att du är borta från datorn. Så fort du utför kommandot <userinput
+><command
+>/away</command
+></userinput
+> i någon kanal där du är borta, ändrar &konversation; automatiskt tillbaka ditt smeknamn till det normala. Om du inte automatiskt vill ändra ditt smeknamn när du är borta, lämna det tomt.</para
+></callout>
+<callout arearefs="pt-identity-away-2"
+><para
+>Om du markerar den här rutan, så ritas en horisontell linje i kanalen så fort du utför kommandot <userinput
+><command
+>/away</command
+></userinput
+>, som markerar stället där du gick ifrån. Andra &irc;-användare ser inte den här horisontella linjen. </para
+></callout>
+<callout arearefs="pt-identity-away-3"
+><para
+>Om du markerar den här rutan skickar &konversation; automatiskt <guilabel
+>Frånvaromeddelande:</guilabel
+> till alla kanaler som du gått med i med denna <guilabel
+>Identitet:</guilabel
+>. <userinput
+><replaceable
+>%s</replaceable
+></userinput
+> ersätts med <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+>. Så fort du utför kommandot <userinput
+><command
+>/away</command
+></userinput
+>, visas <guilabel
+>Återkomstmeddelande</guilabel
+> i alla kanaler du gått med i med denna <guilabel
+>Identitet</guilabel
+>.</para>
+
+<note
+><para
+>Frånvaromeddelanden anses ofta irriterande av andra användare. Använd alternativet med försiktighet, och tag hänsyn till andra &irc;-användare. </para
+></note>
+</callout>
+</calloutlist>
+</para>
+
+<anchor id="identity-advanced"/>
+
+<para
+>Klicka på fliken <guilabel
+>Avancerat</guilabel
+>.</para>
+
+<para>
+ <screenshot>
+ <screeninfo
+>Identiteter (fliken Avancerat)</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-identity-adv-1" coords="1 1"/>
+ <area id="pt-identity-adv-2" coords="1 1"/>
+ <area id="pt-identity-adv-3" coords="1 1"/>
+ <area id="pt-identity-adv-4" coords="1 1"/>
+ <area id="pt-identity-adv-5" coords="1 1"/>
+ <area id="pt-identity-adv-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="identities_adv_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Identiteter (fliken Avancerat)</phrase>
+ </textobject>
+ </mediaobjectco>
+ </screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-identity-adv-1"
+><para
+>Du kan skriva in ett kommando här som körs innan anslutning till servern. Om identiteten används för mer än en server, körs kommandot för varje server.</para
+></callout>
+<callout arearefs="pt-identity-adv-2"
+><para
+>Den här inställningen påverkar hur tecken du skriver kodas när de ska skickas till servern. Den påverkar också hur meddelanden visas. När du först öppnar &konversation;, hämtas den här inställningen automatiskt från operativsystemet. Om du verkar ha problem med att se andra användares meddelanden riktigt, försök då ändra inställningen.</para
+></callout>
+<callout arearefs="pt-identity-adv-3"
+><para
+>När du ansluter, frågar många servrar din dator efter ett IDENT-svar. Om du dator inte kör en IDENT-server, skickas svaret av &konversation;. Inga mellanslag tillåts. Ett förslag är att använda ditt förnamn.</para
+></callout>
+<callout arearefs="pt-identity-adv-4"
+><para
+>Så fort du lämnar en kanal, skickas det här meddelandet till kanalen.</para
+></callout>
+<callout arearefs="pt-identity-adv-5"
+><para
+>Så fort du sparkas ut från en kanal (oftast av en &irc;-operatör), skickas det här meddelandet till kanalen.</para
+></callout>
+<callout arearefs="pt-identity-adv-6"
+><para
+>Klicka för att verkställa dina ändringar. För att alla ändringar ska få effekt, måste du koppla ner från servern och koppla upp igen. Det enklaste sättet att göra det är att avsluta &konversation; och starta om.</para
+></callout>
+</calloutlist>
+</para>
+
+<!--
+<para
+>TODO:
+<itemizedlist>
+
+<listitem
+><para>
+The characters allowed in a nick given above comes from RFC 2812. Any special Konversation considerations?
+</para
+></listitem>
+
+<listitem
+><para>
+Limits on Real Name and Ident?
+</para
+></listitem>
+
+</itemizedlist>
+</para>
+-->
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="serverlist">
+<title
+>Definiera nya nätverk, servrar och kanaler att automatiskt gå med i</title>
+
+<para
+>Skärmen <guilabel
+>Serverlista</guilabel
+> visas när du startar programmet &konversation;. Den visas också när du väljer <menuchoice
+><guisubmenu
+>Arkiv</guisubmenu
+> <guisubmenu
+>Serverlista</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Serverlista</guilabel
+></action
+> anger de befintliga definierade &irc;-<guilabel
+>nätverk</guilabel
+>en, enligt grupp. Ett &irc;-nätverk är en samling samarbetande servrar. När du ansluter till någon server i ett nätverk, kan du komma åt alla kanaler i nätverket. Exempel på &irc;-nätverk är <userinput
+><replaceable
+>Freenode</replaceable
+></userinput
+> och <userinput
+><replaceable
+>Undernet</replaceable
+></userinput
+>. </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Serverlista</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-serverlist-1" coords="1 1"/>
+ <area id="pt-serverlist-2" coords="1 1"/>
+ <area id="pt-serverlist-3" coords="1 1"/>
+ <area id="pt-serverlist-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="serverlist_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Serverlista</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-serverlist-1"
+><para
+>Dina befintliga definierade <guilabel
+>nätverk</guilabel
+> listas här tillsammans med den <guilabel
+>identitet</guilabel
+> som används för att ansluta till nätverket, och de <guilabel
+>kanaler</guilabel
+> som du automatiskt går med i när du är ansluten. Om du har angivit en grupp för dina nätverk, listas nätverken indragna under gruppen. Klicka på ett nätverk för att markera det. </para
+></callout>
+<callout arearefs="pt-serverlist-2"
+><para
+>Använd de här knapparna för att <guibutton
+>lägga till</guibutton
+> ett nytt nätverk, <guibutton
+>redigera</guibutton
+> ett markerat nätverk eller <guibutton
+>ta bort</guibutton
+> ett markerat nätverk. </para
+></callout>
+<callout arearefs="pt-serverlist-3"
+><para
+>Klicka på den här knappen för att ansluta till ett markerat <guilabel
+>nätverk</guilabel
+> och stänga skärmen <guilabel
+>Serverlista</guilabel
+>. Du kan markera mer än ett nätverk om du önskar, vilket ansluter till alla markerade nätverk.</para
+></callout>
+<callout arearefs="pt-serverlist-4"
+><para
+>Att klicka på den här knappen kastar inte ändringarna du har gjort. Den betyder bara att du inte vill ansluta till något nätverk för närvarande.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addnetwork"/>
+
+<para
+>När du klickar på knappen <guilabel
+>Lägg till</guilabel
+> visas skärmen <guilabel
+>Lägg till nätverk</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Lägg till nätverk</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addnetwork-1" coords="1 1"/>
+ <area id="pt-addnetwork-2" coords="1 1"/>
+ <area id="pt-addnetwork-3" coords="1 1"/>
+ <area id="pt-addnetwork-4" coords="1 1"/>
+ <area id="pt-addnetwork-5" coords="1 1"/>
+ <area id="pt-addnetwork-6" coords="1 1"/>
+ <area id="pt-addnetwork-7" coords="1 1"/>
+ <area id="pt-addnetwork-8" coords="1 1"/>
+ <area id="pt-addnetwork-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addnetwork_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Lägg till nätverk</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addnetwork-1"
+><para
+>Skriv in namnet på ett <guilabel
+>nätverk</guilabel
+> här. Du kan skapa så många poster på skärmen <guilabel
+>Serverlista</guilabel
+> med samma <guilabel
+>nätverk</guilabel
+> som du vill.</para
+></callout>
+<callout arearefs="pt-addnetwork-2"
+><para
+>Valfritt. Om du skriver in något här, listas alla <guilabel
+>nätverk</guilabel
+> med samma <guilabel
+>grupp</guilabel
+> tillsammans på skärmen <guilabel
+>Serverlista</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-addnetwork-3"
+><para
+>Välj en befintlig <guilabel
+>identitet</guilabel
+> eller klicka på knappen <guibutton
+>Redigera</guibutton
+> för att lägga till en ny identitet eller redigera en befintlig. En <guilabel
+>identitet</guilabel
+> kommer att identifiera dig och avgöra ditt smeknamn när du ansluter till nätverket.</para
+></callout>
+<callout arearefs="pt-addnetwork-4"
+><para
+>Valfritt. Kommandot skickas till servern efter anslutning. Exempel: <userinput
+>/msg NickServ IDENTIFY <replaceable
+>konvirocks</replaceable
+></userinput
+>. Exemplet gäller för nätverket freenode, som kräver att användare registrerar sina smeknamn med ett lösenord och inloggningsnamn vid anslutning. <userinput
+><replaceable
+>konvirocks</replaceable
+></userinput
+> är lösenordet för smeknamnet som anges under <interface
+>Förvald identitet</interface
+>. Du kan skriva in mer än ett kommando genom att skilja dem åt med semikolon.</para
+></callout>
+<callout arearefs="pt-addnetwork-5"
+><para
+>Markera det här om du vill att &konversation; automatiskt ska ansluta till nätverket så fort du öppnar &konversation;.</para
+></callout>
+<callout arearefs="pt-addnetwork-6"
+><para
+>Det här är en lista med &irc;-<guilabel
+>servrar</guilabel
+> i nätverket. Vid anslutning till nätverket, försöker &konversation; ansluta till den översta servern först. Om det misslyckas, försöker den med den andra servern. Om det misslyckas, försöker den med den tredje, och så vidare. Åtminstone en server måste anges. Klicka på en server för att markera den.</para
+></callout>
+<callout arearefs="pt-addnetwork-7"
+><para
+>Använd de här knapparna för att <guibutton
+>lägga till</guibutton
+> en server, <guibutton
+>redigera</guibutton
+> en markerad server eller <guibutton
+>ta bort</guibutton
+> en markerad server. Du kan också justera servrarnas ordning, och på så sätt ordningen på anslutningsförsöken.</para
+></callout>
+<callout arearefs="pt-addnetwork-8"
+><para
+>Valfritt. Det här är en lista över kanalerna du automatiskt går med i så fort &konversation; har anslutit till en server. Du kan lämna den tom om du inte vill gå med i några kanaler automatiskt.</para
+></callout>
+<callout arearefs="pt-addnetwork-9"
+><para
+>Använd de här knapparna för att <guibutton
+>lägga till</guibutton
+> en kanal, <guibutton
+>redigera</guibutton
+> en markerad kanal eller <guibutton
+>ta bort</guibutton
+> en markerad kanal. Du kan också ändra ordningen som du går med i kanalerna. </para
+></callout>
+</calloutlist>
+</para>
+
+<note
+><para
+>Undvik att blanda servrar på olika &irc;-nätverk under samma <guilabel
+>nätverk</guilabel
+>. Undvik att skriva in samma server under två olika <guilabel
+>nätverk</guilabel
+>. Annars fungerar inte &konversation;s <link linkend="linkaddressbook"
+>integration med adressboken</link
+> och <link linkend="nicksonline"
+>bevakning av uppkopplade smeknamn</link
+> riktigt.</para>
+</note>
+
+<anchor id="serverlist-addserver"/>
+
+<para
+>När du klickar på knappen <guibutton
+>Lägg till</guibutton
+> i rutan <guilabel
+>Servrar</guilabel
+>, visas skärmen Lägg till server.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Lägg till server</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-addserver-1" coords="1 1"/>
+ <area id="pt-addserver-2" coords="1 1"/>
+ <area id="pt-addserver-3" coords="1 1"/>
+ <area id="pt-addserver-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="addserver_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Lägg till server</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-addserver-1"
+><para
+>Namnet eller IP-adressen till servern. En <ulink url="http://www.irchelp.org/irchelp/networks/"
+>lista</ulink
+> med servrar finns på irchelp.org.</para
+></callout>
+<callout arearefs="pt-addserver-2"
+><para
+>Skriv in portnumret som krävs för att ansluta till servern. För de flesta servrar ska det vara <userinput
+>6667</userinput
+>.</para
+></callout>
+<callout arearefs="pt-addserver-3"
+><para
+>Om servern kräver ett lösenord för att ansluta, skriv in det här. Lämna det annars tomt.</para
+></callout>
+<callout arearefs="pt-addserver-4"
+><para
+>Markera om du vill använda SSL-protokollet (Secure Socket Layer) för att kommunicera med servern. Det skyddar kommunikationen mellan din dator och &irc;-servern, och gör den privat. Servern måste stöda SSL-protokollet för att det ska fungera. I de flesta fall, om servern inte stöder SSL, misslyckas anslutningen.</para
+></callout>
+</calloutlist>
+</para>
+
+<anchor id="serverlist-addchannel"/>
+
+<para
+>När du klickar på knappen <guibutton
+>Lägg till</guibutton
+> i rutan <guilabel
+>Gå med automatiskt i kanaler</guilabel
+>, visas skärmen <guilabel
+>Lägg till kanal</guilabel
+>.</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Lägg till kanal</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="addchannel.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Lägg till kanal</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Skriv in ett kanalnamn. Glöm inte det inledande tecknet <userinput
+><replaceable
+>#</replaceable
+></userinput
+>. Om kanalen kräver ett lösenord för att gå med, skriv in det, lämna det annars tomt. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="list-channels">
+<title
+>Lista över tillgängliga kanaler</title>
+
+<para
+>För att visa en lista med tillgängliga kanaler, välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Kanallista</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Efter en varningsskärm skapas en ny flik som heter <guilabel
+>Kanallista</guilabel
+>.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fliken med kanallistan.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channellist-1" coords="1 1"/>
+ <area id="pt-channellist-2" coords="1 1"/>
+ <area id="pt-channellist-3" coords="1 1"/>
+ <area id="pt-channellist-4" coords="1 1"/>
+ <area id="pt-channellist-5" coords="1 1"/>
+ <area id="pt-channellist-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channellist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fliken med kanallistan.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channellist-1"
+><para
+>Skriv in en filtersträng här.</para
+></callout>
+
+<callout arearefs="pt-channellist-2"
+><para
+>Här kan du begränsa kanallistan till de kanaler som har ett minimalt eller maximalt antal användare. Att välja 0 inaktiverar respektive kriterium.</para
+></callout>
+
+<callout arearefs="pt-channellist-3"
+><para
+>Klicka här för att hämta listan över kanaler från servern och tillämpa filtret.</para
+></callout>
+
+<callout arearefs="pt-channellist-4"
+><para
+>Den filtrerade listan med kanaler visas här. Observera att om du inte använder reguljära uttryck, listar &konversation; alla kanaler vars namn innehåller filtersträngen som du skrev in. Kanalnamnet behöver inte börja med strängen du skrev in.</para
+></callout>
+
+<callout arearefs="pt-channellist-5"
+><para
+>Välj en kanal som du vill gå med i genom att klicka på den. Högerklicka på kanalen för att få en lista med alla webbadresser som nämns i kanalens ämne.</para
+></callout>
+
+<callout arearefs="pt-channellist-6"
+><para
+>Klicka här för att gå med i en kanal. En ny flik skapas för kanalen.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Du ska undvika att klicka på knappen <guibutton
+>Uppdatera lista</guibutton
+>. De flesta servrar har tusentals kanaler, och att utföra det här ger hög last på servern. Dessutom kan det kräva flera minuter att utföra, beroende på din nätverksbandbredd. Om din klient är för långsam, kan servern till och med koppla ner dig. </para>
+
+<para
+>Ibland finns det "hemliga" kanaler på en server. Sådana kanaler listas inte i <guilabel
+>Kanallistan</guilabel
+>. Du kan fortfarande gå med i kanalerna om du känner till deras namn. Skriv i vilken <interface
+>inmatningsrad</interface
+> som helst, <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnamn</replaceable
+></userinput
+>. (Tecknet <userinput
+>#</userinput
+> krävs.) En ny flik skapas för kanalen. Om du går med i en kanal och smeknamnsrutan bara listar ditt smeknamn, betyder det att kanalen inte tidigare fanns. Servern skapade kanalen, och du är operatör. I detta fall vill du troligen stänga kanalen genom att skriva: <userinput
+><command
+>/part</command
+></userinput
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="channel-screen-tour">
+<title
+>En översikt över huvudskärmen</title>
+
+<para
+>Låt oss lära oss mer om <interface
+>huvudskärmen</interface
+>. Skärmen visas nedan med en kanalflik vald.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Huvudskärmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-channeltour-1" coords="1 1"/>
+ <area id="pt-channeltour-2" coords="1 1"/>
+ <area id="pt-channeltour-3" coords="1 1"/>
+ <area id="pt-channeltour-4" coords="1 1"/>
+ <area id="pt-channeltour-5" coords="1 1"/>
+ <area id="pt-channeltour-6" coords="1 1"/>
+ <area id="pt-channeltour-7" coords="1 1"/>
+ <area id="pt-channeltour-8" coords="1 1"/>
+ <area id="pt-channeltour-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="channel_screen_tour_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Huvudskärmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-channeltour-1"
+><para
+>Det här kallas <interface
+>inmatningsraden</interface
+>. Den visas bara om aktuell flik är en kanal. För att skicka ett meddelande till alla i kanalen, skriv in meddelandet här och tryck på <keycap
+>Enter</keycap
+>. Meddelandet samt alla andras meddelanden syns i kanalfönstret ovanför. Varje meddelande inleds med tiden och användarens smeknamn.</para>
+
+ <para
+>Du kan också klistra in text från klippbordet. Om den inklistrade texten har mer än en rad (nyrader), visas en dialogruta. Redigera texten enligt dina önskemål och klicka på <guibutton
+>Ok</guibutton
+>. </para>
+
+ <para
+>Om den inklistrade texten är längre än 256 tecken, eller om den består av mer än en rad, visas ett varningsmeddelande som informerar dig om att långa inlägg kan orsaka återställningar av anslutningen och överfyllnad. Du kan fortfarande fortsätta med den inmatade texten, men det är inte en god idé att göra det, eftersom överfyllnad kan irritera övriga användare av kanalen, eller göra att du kopplas ner från servern. Det är bättre att skicka meddelandet i kortare delar.</para>
+
+ <!-- Uncomment when this is implemented.
+ &konversation; will automatically split messages that exceed the 510 character RFC limit into multiple messages.
+ -->
+
+ <para
+>En konvention som används i många kanaler är att inleda meddelanden riktade till en användare med deras smeknamn. &konversation; tillhandahåller en bekväm funktion för att komplettera smeknamn. Börja skriva användarens smeknamn, tryck sedan på <keycap
+>Tabulator</keycap
+>. &konversation; kompletterar resten av användarens smeknamn, följt av ett kolon. För att anpassa kompletteringsfunktionen, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+>i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+>, klicka på <guilabel
+>Allmänt</guilabel
+> och klicka på rutan <guilabel
+>Kompletteringsläge</guilabel
+>. </para>
+
+ <para
+>Du kan också skriva in &irc;-kommandon här genom att först skriva <userinput
+><command
+>/</command
+></userinput
+> följt av ett giltigt &irc;-kommando. Se <link linkend="irc-cmds"
+>Ofta använda &irc;-kommandon</link
+>. På vissa servrar kan du skriva <userinput
+><command
+>/help</command
+></userinput
+> för att få en lista med tillgängliga kommandon, eller skriva <userinput
+><command
+>/help</command
+> <replaceable
+>kommando</replaceable
+></userinput
+> för att få hjälp med ett angivet kommando. </para
+></callout>
+
+<callout arearefs="pt-channeltour-2">
+
+<para
+>Du kan gå med i ytterligare servrar och kanaler. Varje server och kanal får en separat flik här. För att visa en lista med tillgängliga kanaler, se <link linkend="list-channels"
+>Lista över tillgängliga kanaler</link
+>. För att gå med i en kanal, skriv: <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnamn</replaceable
+></userinput
+> på indataraden. (Tecknet <userinput
+>#</userinput
+> krävs.) För att lämna en kanal, skriv bara <userinput
+><command
+>/part</command
+></userinput
+>. Flikar visas också här om du öppnar en <link linkend="list-channels"
+>Kanallista</link
+>, deltar i en <link linkend="query"
+>privat konversation (fråga)</link
+>, öppnar en <link linkend="urlcatcher"
+>Webbadressinfångning</link
+> eller öppnar en eller flera <guilabel
+>Terminaler</guilabel
+>. För att byta till en annan skärm, klicka på motsvarande flik, eller använd mushjulet för att gå igenom flikarna cykliskt. </para>
+
+<para
+>För att ställa in andra alternativ för flikar, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+> och klicka på <guilabel
+>Allmänt</guilabel
+>. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-3"
+><para
+>De här lamporna blinkar när det finns något du inte sett under fliken. En lampa blinkar långsammare när de enda meddelandena du inte sett är <command
+>join</command
+>, <command
+>part</command
+>, <command
+>quit</command
+> eller ändringar av smeknamn. De blinkar snabbare om det finns vanliga meddelanden du inte sett. Färgerna är följande: <itemizedlist>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_green_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> Kanal </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_blue_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <interface
+>Servermeddelanden</interface
+>, <link linkend="list-channels"
+>Kanallista</link
+> eller <link linkend="urlcatcher"
+>Webbadressinfångning</link
+> </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_yellow_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <guilabel
+>Terminal</guilabel
+> eller <link linkend="dcc"
+>DCC Status</link
+>. </para>
+</listitem>
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="led_red_on.png" format="PNG"/></imageobject
+></inlinemediaobject
+> <link linkend="query"
+>Privat meddelande (fråga)</link
+>. </para>
+</listitem>
+</itemizedlist>
+</para
+></callout>
+
+<callout arearefs="pt-channeltour-4"
+><para
+>Klicka här för att stänga aktuell flik. Stängs en <interface
+>kanalflik</interface
+> lämnas kanalen. Stängs en flik med <interface
+>servermeddelanden</interface
+> lämnas alla kanaler som du har gått med i, alla öppna frågekanaler på servern stängs och servern kopplas ner.</para
+></callout>
+
+<callout arearefs="pt-channeltour-5"
+><para
+>Klicka på knappen för att ändra ditt eget smeknamn. Den visas bara när den aktuella fliken är en kanal. Välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+>, klicka på <guilabel
+>Chattfönster</guilabel
+> och avmarkera rutan <guilabel
+>Visa ruta för att ändra eget smeknamn</guilabel
+> för att dölja knappen. </para
+></callout>
+
+<callout arearefs="pt-channeltour-6"
+><para
+>Kanalämnet visas här. Håll musen stilla på ämnet för att se det långa ämnet. Du kan ändra ämnet genom att klicka på knappen till vänster om ämnet. Välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+>, klicka på <guilabel
+>Chattfönster</guilabel
+> och avmarkera rutan <guilabel
+>Visa kanalämne</guilabel
+> för att dölja kanalämnen. </para
+></callout>
+
+<callout arearefs="pt-channeltour-7"
+><para
+>Dessa knappar visar nuvarande status hos kanallägen. En knapp är nertryckt om läget är aktiverat. Om du har rätt privilegier kan du också ändra kanallägen genom att klicka på knapparna, eller genom att klicka på knappen till vänster om ämnet. Välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+>, klicka på <guilabel
+>Chattfönster</guilabel
+> och avmarkera rutan <guilabel
+>Visa kanallägesknappar</guilabel
+> för att dölja kanallägesknapparna. </para
+></callout>
+
+<callout arearefs="pt-channeltour-8">
+<para
+>Det här kallas <interface
+>smeknamnsrutan</interface
+>. Den visas så fort den aktuella fliken är en kanal. Den listar smeknamnen på alla användare som har gått med i kanalen, inklusive dig själv. Håll musen stilla över ett smeknamn för att visa ytterligare information om användaren. Du kan ändra hur ikoner visas intill varje smeknamn genom att ändra ikontemat för smeknamn. Se <link linkend="nickthemes"
+>Anpassa smeknamnsteman</link
+> för mer information. Temat <guilabel
+>Big Bullets</guilabel
+>, som visas på skärmen ovan, använder följande ikoner: <itemizedlist>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_normal.png" format="PNG"/></imageobject
+></inlinemediaobject
+> normal användare </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_voice.png" format="PNG"/></imageobject
+></inlinemediaobject
+> användare med röst. Användaren kan prata i en modererad kanal. </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_halfop.png" format="PNG"/></imageobject
+></inlinemediaobject
+> deloperatör för kanalen </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_op.png" format="PNG"/></imageobject
+></inlinemediaobject
+> operatör för kanalen </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_owner.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanalägare </para>
+</listitem>
+
+<listitem>
+<para
+><inlinemediaobject
+><imageobject
+><imagedata fileref="irc_admin.png" format="PNG"/></imageobject
+></inlinemediaobject
+> kanaladministratör </para>
+</listitem>
+
+</itemizedlist>
+</para>
+
+<para
+>Om en användare är borta, ritas dessutom ett litet rött kors i ikonens hörn. <inlinemediaobject
+><imageobject
+><imagedata fileref="irc_away.png" format="PNG"/></imageobject
+></inlinemediaobject
+></para>
+
+<para
+>Klicka med högerknappen på vilket smeknamn som helst för att visa en sammanhangsberoende meny med åtgärder som du kan utföra med smeknamnet. Du kan till exempel <link linkend="dcc"
+>skicka en fil</link
+> till smeknamnet. Det här är också stället du kan <link linkend="linkaddressbook"
+>koppla ihop ett smeknamn med en kontakt i adressboken.</link
+> </para>
+
+<para
+>För att dölja <interface
+>smeknamnsrutan</interface
+>, välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Dölj smeknamnslista</guisubmenu
+></menuchoice
+> i huvudmenyn. </para>
+
+</callout>
+
+<callout arearefs="pt-channeltour-9"
+><para
+>De här kallas <interface
+>snabbknappar</interface
+>. Normalt visas de inte. För att visa dem, se <link linkend="quick-buttons"
+>Anpassa snabbknappar</link
+>. Du kan ställa in deras definitioner till vilka kommandon du vill.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Observera</emphasis
+>: Du kan styra hur meddelanden visas för meddelanden som visas i kanal- och frågeflikar. Du kan till exempel ändra meddelandets färg, spela ett ljud när ett meddelande som innehåller en sträng tas emot, eller svara på meddelanden automatiskt. Se <link linkend="highlighting"
+>Färgläggning av meddelanden</link
+> för mer information. </para>
+
+<para
+><emphasis
+>Observera:</emphasis
+> Kanalnamn börjar ibland med <userinput
+>&amp;</userinput
+>, <userinput
+>&plus;</userinput
+>, eller <userinput
+>!</userinput
+>. Det första tecknet i ett kanalnamn avgör kanaltypen (RFC 2811) enligt följande: <itemizedlist
+><listitem
+><para
+> <userinput
+>#</userinput
+> - Vanliga kanaler. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>!</userinput
+> - Vanliga kanaler. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&amp;</userinput
+> - Lokal. Kanaler som man bara kan gå med i från servern som är värd för kanalen. Alla andra kanaler kan man gå med i från vilken server som helst i nätverket. </para
+></listitem
+> <listitem
+><para
+> <userinput
+>&plus;</userinput
+> - Kanaler som inte stöder kanallägen. Det betyder att inga lägen är aktiverade, med undantag av kanalflaggan 't' som är aktiverad. </para
+></listitem
+></itemizedlist
+>Kanalnamn kan vara upp till 50 tecken långa och innehålla alla tecken utom mellanslag, kommatecken och Ctrl+G. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quickconnect">
+<title
+>Snabbanslutning</title>
+
+<para
+>Ibland vill du ansluta till en server utan besväret med att skapa en ny server i <link linkend="serverlist"
+>serverlistan</link
+>. </para>
+
+<para
+>Välj <menuchoice
+><guisubmenu
+>Arkiv</guisubmenu
+> <guisubmenu
+>Snabbanslutning</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Snabbanslutning</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Snabbanslutningsskärmen</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickconnect_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Snabbanslutningsskärmen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Skriv in serveradressen i rutan <guilabel
+>Servervärddator</guilabel
+>, ditt önskade smeknamn i rutan <guilabel
+>Smeknamn</guilabel
+> och klicka på knappen <guibutton
+>Anslut</guibutton
+>. När &konversation; har anslutit till servern, skriv in kommandot <userinput
+><command
+>/join</command
+> <replaceable
+>#kanalnamn</replaceable
+></userinput
+> för att gå med i en kanal. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="irc-cmds">
+<title
+>Ofta använda &irc;-kommandon</title>
+
+<para
+>Det följande är en kort lista med ofta använda &irc;-kommandon. Se <ulink url="http://www.faqs.org/rfcs/rfc2812.html"
+>RFC 2812</ulink
+> för en fullständig lista över alla kommandon, eller besök <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. För en lista med kommandon som hanteras speciellt av &konversation;, se <link linkend="konvi-cmds"
+>&konversation;s kommandon</link
+>. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help</command
+></userinput
+></term>
+<listitem
+><para
+>Listar kommandon tillgängliga på aktuell server. Stöds inte av alla servrar.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/help </command
+><replaceable
+>kommando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tillhandahåller hjälp för <userinput
+><replaceable
+>kommando</replaceable
+></userinput
+>. Stöds inte av alla servrar.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join <replaceable
+>#kanal</replaceable
+></command
+></userinput
+></term>
+<listitem
+><para
+>Går med i <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+>. Om kanalen inte redan finns, skapas den och du blir kanaloperatör.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+></userinput
+></term>
+<listitem
+><para
+>Lämnar aktuell kanal och stänger <interface
+>kanalfliken</interface
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part </command
+> <replaceable
+>#kanal</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lämnar <userinput
+><replaceable
+>#kanal</replaceable
+></userinput
+> och stänger motsvarande <interface
+>kanalflik</interface
+>. Synonym för <userinput
+><command
+>/leave</command
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me </command
+><replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> till kanalen föregått av ditt smeknamn. Om ditt smeknamn till exempel var <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, skulle meddelandet <interface
+>Tux brygger en kopp te</interface
+> visas genom att skriva <userinput
+><replaceable
+>/me brygger en kopp te</replaceable
+></userinput
+>. Om de inte har filter för den här sortens meddelanden, ser alla användare dem. Den här sortens meddelanden används oftast för att uttrycka icke-verbal information, som ditt känslomässiga tillstånd just nu, eller vad du fysiskt sysslar med. Om du lämnar datorn en kort stund, använd kommandot /away istället.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away </command
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Om någon försöker skicka dig ett privat meddelande eller inbjuda dig till en kanal, får de reda på att du är borta från din dator med <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+></userinput
+></term>
+<listitem
+><para
+>Avbryter kommandot <userinput
+><command
+>/away</command
+> <replaceable
+>meddelande</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skapar en ny flik med användarens <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> för en privat konversation, vanligtvis känd på &irc; som en <link linkend="query"
+>fråga</link
+>. Allt som skrivs här syns bara hos dig och din partner.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg </command
+><replaceable
+>smeknamn</replaceable
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> till användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+>. Bara <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> ser meddelandet. Använd <userinput
+><command
+>/query</command
+></userinput
+> för längre konversationer.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite </command
+><replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Inbjuder användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> att gå med i en kanal. Kommandot är särskilt användbart om kanalen enbart är öppen för inbjudna.</para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="query">
+<title
+>Privata konversationer (frågor)</title>
+
+<para
+>En privat konversation är en som bara du och en annan person kan se. Privata konversationer kallas "frågor" i &konversation;. För att starta en privat konversation, skriv <userinput
+><command
+>/query </command
+><replaceable
+>smeknamn</replaceable
+></userinput
+> på vilken inmatningsrad som helst, där <replaceable
+>smeknamn</replaceable
+> är smeknamnet på personen som du vill prata med. Du kan också klicka med höger musknapp i <guilabel
+>smeknamnsrutan</guilabel
+> och välja <menuchoice
+><guisubmenu
+>Öppna frågekanal</guisubmenu
+></menuchoice
+>. <action
+>En ny flik skapas.</action
+>. Tillkännage dig genom att skicka ett meddelande. </para>
+
+<para
+>Frågekanaler är precis som andra kanaler, utom att bara du och den andra personen kan delta i kanalen.</para>
+
+<para
+>För att lämna frågekanalen, stäng bara fliken. Observera dock att om den andra personen skickar ett meddelande till i frågekanalen, öppnas fliken igen.</para>
+
+<para
+>För att lämna alla frågekanaler, välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Stäng alla öppna frågekanaler</guisubmenu
+></menuchoice
+> i huvudmenyn, eller tryck på <keycap
+>F11</keycap
+>.</para>
+
+<para
+>När någon annan öppnar en frågekanal till dig, skapar &konversation; en ny flik med deras smeknamn. Om du inte vill prata med personen, stäng fliken. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-notifications">
+<title
+>Ställa in meddelanden</title>
+
+<para
+><guilabel
+>Meddelanden</guilabel
+> är åtgärder som &konversation; utför så fort en händelse inträffar. Antag att du låter &konversation; köra, men minimerad eller dold bakom andra programfönster på skrivbordet. Om någon vill kommunicera med dig, eller om en kompis går med i en kanal, vill du få reda på det. Meddelanden åstadkommer detta. </para>
+
+<para
+>För att anpassa meddelanden, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa meddelanden</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+><guilabel
+>Skärmen för meddelandeinställning</guilabel
+> visas.</action
+> </para>
+
+<para
+>Klicka omedelbart på knappen <guibutton
+>Fler alternativ</guibutton
+>.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen för meddelandeinställning.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notification-1" coords="1 1"/>
+ <area id="pt-notification-2" coords="1 1"/>
+ <area id="pt-notification-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notification_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skärmen för meddelandeinställning</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-1"
+><para
+>Klicka här för att välja en händelse.</para
+></callout>
+
+<callout arearefs="pt-notification-2"
+><para
+>Markera de typer av meddelanden som du vill ska visas när händelsen inträffar. (<guilabel
+>Använd systembrickan för underrättelse om nytt meddelande</guilabel
+> gör att ikonen i systembrickan blinkar när händelsen inträffar.)</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Upprepa genom att välja en annan händelse och markera önskat meddelande. När du har anpassat alla önskade meddelanden, klicka på knappen <guibutton
+>Verkställ</guibutton
+>.</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notification-3"
+><para
+>När du väl har ställt in dina meddelanden, kan du aktivera eller inaktivera alla meddelandeåtgärder här. Du kan till exempel välja att spela ett ljud så fort ditt smeknamn nämns i ett meddelande. När du är vid datorn kan du inaktivera ljud, men medan du är borta från datorn men i närheten, kan du aktivera ljuden för att kunna bli uppmärksammad.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<tip
+><para
+>Du kan också själv bli underrättad när någon nämner ditt smeknamn i ett meddelande med &konversation;s <link linkend="highlighting"
+>färgläggningsfunktion</link
+>.</para
+></tip>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nicksonline">
+<title
+>Bevaka vem som är uppkopplad</title>
+
+<para
+>&konversation; håller dig informerad om när dina kompisar är anslutna till &irc;-nätverket. </para>
+
+<para
+>Du kan koppla ihop uppkopplade smeknamn med kontaktposter i adressboken. När du gör det, skrivs smeknamnet och &irc;-nätverket där smeknamnet är uppkopplat in i adressbokens kontakt. &irc;-nätverket lagras eftersom smeknamn är unika i ett enstaka &irc;-nätverk. Smeknamn i två olika &irc;-nätverk motsvarar inte nödvändigtvis samma person, men samma smeknamn på två olika servrar i samma &irc;-nätverk motsvarar samma person.</para>
+
+<note
+><para
+>Det här är orsaken till att det är viktigt att använda samma <guilabel
+>nätverk</guilabel
+> för alla servrar i samma &irc;-nätverk, när <link linkend="serverlist"
+>nätverk, servrar och kanaler att automatiskt gå med i</link
+> definieras.</para
+></note>
+
+<para
+>Du kan också definiera smeknamn som du vill bevaka som inte finns i din adressbok. I det fallet har varje smeknamn också ett tillhörande &irc;-nätverk. Se nedan.</para>
+
+<para
+>För att aktivera funktionen för smeknamnsbevakning, välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Bevakade uppkopplade smeknamn</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Bevakade uppkopplade smeknamn.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-nicksonline-1" coords="1 1"/>
+ <area id="pt-nicksonline-2" coords="1 1"/>
+ <area id="pt-nicksonline-3" coords="1 1"/>
+ <area id="pt-nicksonline-4" coords="1 1"/>
+ <area id="pt-nicksonline-5" coords="1 1"/>
+ <area id="pt-nicksonline-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nicksonline_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Bevakade uppkopplade smeknamn</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-nicksonline-1"
+><para
+>Smeknamnen i bevakningslistan och även smeknamnen som hör ihop med poster i adressboken anges här. De anges under tillhörande &irc;-nätverk. Om inga smeknamn anges, har du antingen inte specificerat några smeknamn att bevaka, eller behöver du aktivera funktionen för smeknamnsbevakning (se nedan). Expandera varje uppkopplat smeknamn för att se en lista med kanaler som smeknamnet har gått med i. Ikonerna intill varje kanal är samma som ikonerna som visas i <interface
+>smeknamnsrutan</interface
+> på skärmarna med <link linkend="channel-screen-tour"
+>kanaler</link
+>. </para
+></callout>
+<callout arearefs="pt-nicksonline-2"
+><para
+>Informationen som är känd om smeknamnet visas här. När skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> först visas, är informationen gles. Var åttonde sekund, skickas automatiskt kommandot <userinput
+><command
+>WHOIS</command
+></userinput
+> till servern för att begära information om smeknamn som inte har någon information. Det fortsätter till alla smeknamn har information. </para
+></callout>
+<callout arearefs="pt-nicksonline-3"
+><para
+>Smeknamn som inte är anslutna till något av &irc;-nätverken du är ansluten till listas under <guilabel
+>Nerkopplade</guilabel
+> i listan. </para
+></callout>
+<callout arearefs="pt-nicksonline-4"
+><para
+>Smeknamn som hör ihop med en kontaktpost i din adressbok har den här ikonen (<inlinemediaobject
+><imageobject
+><imagedata fileref="kaddressbook.png" format="PNG"/></imageobject
+></inlinemediaobject
+>) intill informationen. </para
+></callout>
+<callout arearefs="pt-nicksonline-5"
+><para
+>Använd knapparna för att koppla ihop ett smeknamn med en kontakt i din adressbok, ta bort en koppling, eller öppna adressboken för att redigera kontaktinformationen. Se <ulink url="help:kaddressbook"
+>Handbok Adressboken</ulink
+> för ytterligare instruktioner om hur man använder &kde;:s adressbok. </para
+></callout>
+</calloutlist>
+</para>
+
+<para
+>För att lägga till ytterligare smeknamn att bevaka, klicka på knappen <guilabel
+>Redigera bevakningslista</guilabel
+>. Då visas skärmen <guilabel
+>Bevakade smeknamn</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Bevakade smeknamn</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-notifylist-1" coords="1 1"/>
+ <area id="pt-notifylist-2" coords="1 1"/>
+ <area id="pt-notifylist-3" coords="1 1"/>
+ <area id="pt-notifylist-4" coords="1 1"/>
+ <area id="pt-notifylist-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="notifylist_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Bevakade smeknamn</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-notifylist-1"
+><para
+>Markera den här rutan för att aktivera funktionen <guilabel
+>smeknamnsbevakning</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-notifylist-2"
+><para
+>Om du vill att skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> automatiskt ska visas när du startar &konversation;, markera den här rutan.</para
+></callout>
+
+<callout arearefs="pt-notifylist-3"
+><para
+>Smeknamnen på användarna som du vill bevaka listas här. Varje smeknamn har ett tillhörande &irc;-nätverk.</para
+></callout>
+
+<callout arearefs="pt-notifylist-4"
+><para
+>Klicka på de här knapparna för att lägga till eller ta bort smeknamn från listan.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>Funktionen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> fungerar genom att periodiskt fråga servern. Den här rutan anger hur ofta det sker. Undvik tal mindre än 20 sekunder, eftersom det orsakar onödigt stor last på servern.</para
+></callout>
+
+<callout arearefs="pt-notifylist-5"
+><para
+>På skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> ovan, kan du dubbelklicka på vilket smeknamn som helst, så skickas det här kommandot till servern. <userinput
+><command
+>%u</command
+></userinput
+> ersätts med smeknamnet. <userinput
+><command
+>%n</command
+></userinput
+> krävs i slutet av kommandot.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+>Klicka på knappen <guibutton
+>Ok</guibutton
+> när du är klar med att lägga till eller ta bort smeknamn.</para>
+
+<para
+><emphasis
+>Observera:</emphasis
+> När du visar skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+>, kan det ta ett tag innan några smeknamn visas, innan &konversation; har frågat servern. Normalt lämnar du skärmen <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> igång. </para>
+
+<para
+>&konversation; visar också meddelanden i alla <link linkend="channel-screen-tour"
+>kanaler</link
+> så fort en användare i din <guilabel
+>Bevakningslista för smeknamn</guilabel
+> ansluter till eller kopplar ner från servern. Meddelandet ser ut så här: </para>
+
+<para
+><computeroutput
+>[17:52] [Underrättelse] psn är uppkopplad (irc.kde.org).</computeroutput
+></para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="highlighting">
+<title
+>Färgläggning av meddelanden</title>
+
+<para
+>Du kan styra hur meddelanden visas på kanal- och frågeskärmar.</para>
+
+<para
+>För att aktivera färgläggningsfunktionen, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa &konversation;</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen Färgläggning.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-highlight-1" coords="1 1"/>
+ <area id="pt-highlight-2" coords="1 1"/>
+ <area id="pt-highlight-3" coords="1 1"/>
+ <area id="pt-highlight-4" coords="1 1"/>
+ <area id="pt-highlight-5" coords="1 1"/>
+ <area id="pt-highlight-6" coords="1 1"/>
+ <area id="pt-highlight-7" coords="1 1"/>
+ <area id="pt-highlight-8" coords="1 1"/>
+ <area id="pt-highlight-9" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="highlighting_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skärmen Färgläggning</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-highlight-1"
+><para
+>Klicka här för att välja skärmen <guilabel
+>Färgläggning</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-highlight-2"
+><para
+>Klicka här för att lägga till ett nytt objekt i <guilabel
+>Färgläggningslistan</guilabel
+>. När ett objekt i listan markeras, kan du redigera det i rutan nedanför.</para
+></callout>
+<callout arearefs="pt-highlight-3"
+><para
+>Skriv in ett strängmönster här. Alla mottagna meddelanden som matchar mönstret, någonstans i meddelandet, aktiverar färgläggning av meddelandet. Om du har verktyget &kde;:s editor för reguljära uttryck installerad på systemet, är knappen till höger aktiverad. Klicka för att visa editorn, som hjälper dig att skapa mer komplicerade mönster. (&kde;:s editor för reguljära uttryck är en del av paketet <command
+>kdeutils</command
+>.) </para
+></callout>
+<callout arearefs="pt-highlight-4"
+><para
+>Om mönstret hittas i ett meddelande, visas hela meddelandet med färgen du väljer här.</para
+></callout>
+<callout arearefs="pt-highlight-5"
+><para
+>Om du vill kan &konversation; spela ett ljud när mönstret matchas. Klicka på knappen för att välja en ljudfil att spela. Klicka på testknappen för att höra ljudet.</para
+></callout>
+<callout arearefs="pt-highlight-6"
+><para
+>Om du vill att &konversation; automatiskt ska skicka ett svarsmeddelande när mönstret matchas, skriv in meddelandet här. Använd funktionen med försiktighet eftersom du kan irritera &irc;-användare med för mycket prat om du inte är försiktig. Du kan också skriva in &irc;- eller &konversation;-kommandon här.</para
+></callout>
+<callout arearefs="pt-highlight-7"
+><para
+>Om du har ställt in ljud för några av dina färgläggningar, kan du inaktivera alla genom att avmarkera rutan.</para
+></callout>
+<callout arearefs="pt-highlight-8"
+><para
+>Om du markerar rutan, och någon nämner ditt smeknamn i ett meddelande, visas meddelandet med färgen som du väljer till höger.</para
+></callout>
+<callout arearefs="pt-highlight-9"
+><para
+>Normalt gäller inte färgläggning för meddelanden du skriver in. Om du vill färglägga meddelanden du skriver in, markera rutan och välj en färg till höger.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="cfg-osd">
+<title
+>Anpassa meddelanden på skärmen (&osd;)</title>
+
+<para
+>Meddelanden på skärmen (<acronym
+>OSD</acronym
+>) är en unik funktion i &konversation;. När de är aktiverade, visas kanalmeddelanden på skrivbordets skärm, även om &konversation; är minimerad. Här är ett exempel på skärmmeddelanden i funktion. Meddelandet längst upp till vänster på skärmen är från &konversation;, som kör minimerad i systembrickan.</para>
+
+<para>
+<screenshot>
+<screeninfo
+>Exempel på meddelanden på skärmen</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="osd_demo.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Exempel på meddelanden på skärmen</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>För att aktivera meddelanden på skärmen, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa &konversation;</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Meddelanden på skärmen.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-osd-1" coords="1 1"/>
+ <area id="pt-osd-2" coords="1 1"/>
+ <area id="pt-osd-3" coords="1 1"/>
+ <area id="pt-osd-4" coords="1 1"/>
+ <area id="pt-osd-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="osd_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Meddelanden på skärmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-osd-1"
+><para
+>Klicka här för att expandera objektet <guilabel
+>Underrättelse</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-2"
+><para
+>Klicka här för att välja <guilabel
+>Meddelanden på skärmen</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-osd-3"
+><para
+>Markera den här rutan för att aktivera meddelanden på skärmen.</para
+></callout>
+
+<callout arearefs="pt-osd-4"
+><para
+>Klicka på den här knappen för att välja teckensnitt för meddelanden på skärmen. (<emphasis
+>Observera:</emphasis
+> Alla teckensnitt fungerar inte. Det är känt att Luxi Sans 22 och Impact 22 fungerar.)</para
+></callout>
+
+<callout arearefs="pt-osd-5"
+><para
+>Markera rutorna här för att välja typ av meddelanden som du vill ska visas på skärmen, och klicka därefter på knappen <guibutton
+>Verkställ</guibutton
+>.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="color-msgs">
+<title
+>Skicka färglagda meddelanden</title>
+
+<para
+>Du kan lägga till färg till meddelanden du skickar i vilken kanal som helst. Börja skriva meddelandet på <interface
+>inmatningsraden</interface
+> för vilken kanal som helst. Klicka på <inlinemediaobject
+> <imageobject
+> <imagedata fileref="colorize.png" format="PNG"/> </imageobject
+> <textobject
+> <phrase
+>knappen Infoga &irc;-färg</phrase
+> </textobject
+> </inlinemediaobject
+> knappen Infoga &irc;-färg eller välj <menuchoice
+><guisubmenu
+>Infoga</guisubmenu
+> <guisubmenu
+>&irc;-färg</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>&irc;-färgväljare</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen &irc;-färgväljare.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="colorchooser_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Skärmen &irc;-färgväljare</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Välj en färg och klicka på <guibutton
+>Ok</guibutton
+>. Fortsätt att skriva in meddelandet på <interface
+>inmatningsraden</interface
+>. För att ändra färg igen, klicka på knappen <guibutton
+>Infoga &irc;-färg</guibutton
+>. Välj en annan färg och klicka på <guibutton
+>Ok</guibutton
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="nickthemes">
+<title
+>Anpassa smeknamnsteman</title>
+
+<para
+>Du kan ändra ikonerna som visas intill smeknamn i <interface
+>smeknamnsrutan</interface
+> i kanalflikar. För att ändra smeknamnstema, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas.</action
+> Klicka på <guilabel
+>Utseende</guilabel
+> för att expandera det, klicka därefter på <guilabel
+>Teman</guilabel
+> för att visa skärmen <guilabel
+>Teman</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen Teman.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-themes-1" coords="1 1"/>
+ <area id="pt-themes-2" coords="1 1"/>
+ <area id="pt-themes-3" coords="1 1"/>
+ <area id="pt-themes-4" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="nickthemes_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skärmen Teman</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-themes-1"
+><para
+>Klicka här för att välja skärmen <guilabel
+>Teman</guilabel
+>.</para
+></callout>
+<callout arearefs="pt-themes-2"
+><para
+>Välj ett tema.</para
+></callout>
+<callout arearefs="pt-themes-3"
+><para
+>Exempelikoner visas här med det valda temat.</para
+></callout>
+<callout arearefs="pt-themes-4"
+><para
+>Om du har laddat ner ett smeknamnstema någon annanstans ifrån, klicka för att installera det.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="quick-buttons">
+<title
+>Anpassa snabbknappar</title>
+
+<para
+>Du kan aktivera funktionen att visa <interface
+>snabbknappar</interface
+> på <link linkend="channel-screen-tour"
+>huvudskärmen</link
+>. Då visas åtta <interface
+>snabbknappar</interface
+>. För att visa snabbknapparna, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn. Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas. Klicka på <guilabel
+>Utseende</guilabel
+> för att expandera det, och klicka på <guilabel
+>Chattfönster</guilabel
+>. Markera rutan <guilabel
+>Visa snabbknappar</guilabel
+> och kicka på <guibutton
+>Ok</guibutton
+>. </para>
+
+<para
+>Knapparna kan anpassas som du tycker för att utföra &irc;-kommandon som ofta används. För att anpassa <interface
+>snabbknapparna</interface
+>, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas.</action
+> Klicka på <guilabel
+>Utseende</guilabel
+> för att expandera det, och klicka på <guilabel
+>Snabbknappar</guilabel
+> för att visa skärmen <guilabel
+>Snabbknappar</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen Snabbknappar</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="quickbuttons_screen.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Skärmen Snabbknappar</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Det finns åtta <interface
+>snabbknappar</interface
+>. Klicka på en post för att ändra den. Kolumnen <guilabel
+>Knappnamn</guilabel
+> är namnet som visas på knappen på <link linkend="channel-screen-tour"
+>huvudskärmen</link
+>. Håll namnen korta. Kolumnen <guilabel
+>Knapphändelse</guilabel
+> är åtgärden som utförs när du klickar på <interface
+>snabbknappen</interface
+>. Tips för att skapa åtgärder ges på skärmen. </para>
+
+<para
+>Klicka på <guibutton
+>Ok</guibutton
+> för att slutföra ändringarna. </para>
+
+<para
+>Exempel:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><guilabel
+>Knappnamn</guilabel
+>: <userinput
+><replaceable
+>Meddelande</replaceable
+></userinput
+> </term>
+ <listitem>
+ <para
+><guilabel
+>Knapphändelse</guilabel
+>: <userinput
+><replaceable
+>Msg %u </replaceable
+></userinput
+> (det är ett mellanslag efter <userinput
+><replaceable
+>%u</replaceable
+></userinput
+>) </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para
+>För att använda den här knappen på <link linkend="channel-screen-tour"
+>huvudskärmen</link
+>, klicka på ett smeknamn i <interface
+>smeknamnsrutan</interface
+>, och klicka därefter på knappen. <computeroutput
+>/MSG </computeroutput
+> visas på <interface
+>inmatningsraden</interface
+> följt av det valda smeknamnet. Skriv in ett meddelande som du vill skicka till personen och tryck på <keycap
+>Enter</keycap
+>. Meddelandet skickas till användaren. Bara den användaren kommer att se meddelandet. </para>
+
+<para
+><emphasis
+>Observera:</emphasis
+> Du kan inte lägga till eller ta bort <interface
+>snabbknappar</interface
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="dcc">
+<title
+>Skicka och ta emot filer</title>
+
+<para
+>Du kan skicka filer via &irc; till andra uppkopplade användare, eller så kan de skicka filer till dig. </para>
+
+<para>
+<emphasis
+>Varning: Öppna aldrig en fil någon skickar till dig om det inte är en pålitlig källa. Det kan vara ett virus.</emphasis>
+</para>
+
+<para
+>För att skicka en fil till någon i en kanal, klicka med höger musknapp på personens smeknamn i <interface
+>smeknamnsrutan</interface
+> på <link linkend="channel-screen-tour"
+>huvudskärmen</link
+>. Välj <menuchoice
+><guisubmenu
+>Skicka fil</guisubmenu
+></menuchoice
+>. <action
+>En dialogruta visas så att du kan välja filen som ska skickas</action
+>. Därefter visas en ny flik med <guilabel
+>DCC Status</guilabel
+>. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fliken DCC Status</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-dccstatus-1" coords="1 1"/>
+ <area id="pt-dccstatus-2" coords="1 1"/>
+ <area id="pt-dccstatus-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="dccstatus_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fliken DCC Status</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-dccstatus-1"
+><para
+>Mottagarens smeknamn och filnamnet visas här.</para
+></callout>
+
+<callout arearefs="pt-dccstatus-2">
+<para
+>Kolumnen <guilabel
+>Status</guilabel
+> anger status för sändningen eller mottagningen av filen enligt följande:</para>
+
+<para>
+<variablelist>
+ <varlistentry>
+ <term>
+ <guilabel
+>Erbjuder</guilabel>
+ </term>
+ <listitem>
+ <para
+>Du försöker skicka en fil till mottagaren. &konversation; väntar på att mottagaren ska acceptera filen. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Ansluter</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; försöker upprätta en förbindelse med andra ändan. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Skickar</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; skickar filen till andra ändan. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Tar emot</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; tar emot filen från andra ändan. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Klar</guilabel>
+ </term>
+ <listitem>
+ <para
+>Filen har överförts utan problem. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Avstannad</guilabel>
+ </term>
+ <listitem>
+ <para
+>Överföringen har startats men går för närvarande inte vidare. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Avbruten</guilabel>
+ </term>
+ <listitem>
+ <para
+>Antingen klickade du på knappen <guibutton
+>Avbryt</guibutton
+>, eller så avbröt den andra personen överföringen. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Misslyckad</guilabel>
+ </term>
+ <listitem>
+ <para
+>Ett fel uppstod och överföringen lyckades inte. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Köad</guilabel>
+ </term>
+ <listitem>
+ <para
+>Överföringen har accepterats och börjar när programvaran på mottagarsidan bekräftar. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Slår upp</guilabel>
+ </term>
+ <listitem>
+ <para
+>&konversation; försöker hämta avsändarens IP-adress. </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
+ <guilabel
+>Fortsätter</guilabel>
+ </term>
+ <listitem>
+ <para
+>När en överföring börjar men filen redan finns på användarens system, får användaren frågan <interface
+>Filen finns redan. Återuppta överföring?</interface
+> Denna status anger att användaren återupptog överföringen. </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+</callout>
+
+<callout arearefs="pt-dccstatus-3">
+<para
+>När någon vill skicka en fil till dig, skapas fliken <guilabel
+>DCC Status</guilabel
+> (om den inte redan skapats). Klicka på fliken <guilabel
+>DCC Status</guilabel
+> för att visa den. Klicka på filen för att markera den, och klicka därefter på den här knappen för att acceptera filen, så börjar överföringen. <emphasis
+>Observera:</emphasis
+> Du kan ställa in &konversation; att automatiskt acceptera sändningar från andra personer genom att välja <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+> <guisubmenu
+>DCC-inställningar</guisubmenu
+></menuchoice
+> i huvudmenyn. </para>
+</callout>
+
+</calloutlist>
+</para>
+
+<para
+>Om du har problem med att skicka eller ta emot filer, kanske din brandvägg blockerar DCC-portar. Se <link linkend="faq"
+>Vanliga frågor</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="linkaddressbook">
+<title
+>Integrering med adressboken.</title>
+
+<para
+>Du kan koppla ihop vilket smeknamn som helst med en kontakt i adressboken. När du väl har gjort det, visar &konversation; kontaktens riktiga namn inom parentes efter smeknamnet i <interface
+>smeknamnsrutan</interface
+>. </para>
+
+<para
+>För att koppla ihop ett smeknamn med en kontakt i adressboken, klicka med högerknappen på personens smeknamn i <interface
+>smeknamnsrutan</interface
+> på <link linkend="channel-screen-tour"
+>huvudskärmen</link
+>. Välj <menuchoice
+><guisubmenu
+>Vem-är-det</guisubmenu
+></menuchoice
+> för att <action
+>visa information som hjälper dig avgöra användarens riktiga namn</action
+>. Klicka därefter med högerknappen på personens smeknamn och välj <menuchoice
+><guisubmenu
+>Adressbokskopplingar</guisubmenu
+></menuchoice
+>. <action
+>En undermeny visas</action
+>. Om smeknamnet inte redan är ihopkopplat med en kontakt, välj <menuchoice
+><guisubmenu
+>Skapa ny kontakt</guisubmenu
+></menuchoice
+>. <action
+>Skärmen <guilabel
+>Redigera kontakt</guilabel
+> visas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Skärmen Redigera kontakt</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-kimproxy-create-1" coords="1 1"/>
+ <area id="pt-kimproxy-create-2" coords="1 1"/>
+ <area id="pt-kimproxy-create-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Skärmen Redigera kontakt</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-kimproxy-create-1"
+><para
+>Smeknamnet fylls automatiskt i här. Om du vet personens riktiga namn, ersätt smeknamnet med det riktiga namnet. </para
+></callout>
+
+<callout arearefs="pt-kimproxy-create-2">
+<para
+>Observera att smeknamnet <emphasis
+>inte</emphasis
+> visas här. Istället, ...</para>
+</callout>
+
+<callout arearefs="pt-kimproxy-create-3">
+<para
+>Klicka här. Fönstret <guilabel
+>Direktmeddelandeadresser</guilabel
+> visas.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para>
+<screenshot>
+ <screeninfo
+>Fönstret Direktmeddelandeadresser.</screeninfo>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="kimproxy_create_screen2.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase
+>Fönstret Direktmeddelandeadresser.</phrase>
+ </textobject>
+ </mediaobject>
+</screenshot>
+</para>
+
+<para
+>Observera att &konversation; fyller i smeknamnet åt dig med protokollet <guilabel
+>IRC</guilabel
+>. </para>
+
+<para
+>Se <ulink url="help:kaddressbook"
+>Handbok Adressboken</ulink
+> för ytterligare instruktioner om hur man använder &kde;:s adressbok.</para>
+
+<para
+>Fyll i eventuell ytterligare information om smeknamnet du känner till och klicka på <guilabel
+>Ok</guilabel
+>. Personens riktiga namn visas inom parenteser intill smeknamnet i <guilabel
+>smeknamnsrutan</guilabel
+> i &konversation;. Det riktiga namnet visas också när musen hålls stilla över smeknamnet.</para>
+
+<para
+>Så fort ett smeknamn har kopplats ihop med en kontakt i adressboken, kan du högerklicka på personens smeknamn i <interface
+>smeknamnsrutan</interface
+> och redigera tillhörande kontakt, koppla ihop smeknamnet med en annan kontakt, eller ta bort hopkopplingen. </para>
+
+<para
+>Om du har kopplat ihop ett smeknamn med en kontakt, och användaren ändrar sitt smeknamn medan du kör &konversation;, kopplas det nya smeknamnet automatiskt ihop med kontakten, och dessutom behålls den ursprungliga hopkopplingen.</para>
+
+<para
+>Om du kopplar ihop ett smeknamn i &irc; med en kontakt i <ulink url="help:kopete"
+>&kopete;</ulink
+>, visas också kopplingen i &konversation; och tvärtom.</para>
+
+<para
+>Observera: Det är möjligt att markera mer än ett smeknamn i <interface
+>smeknamnsrutan</interface
+>, klicka med musens högerknapp, och utföra flera hopkopplingar. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="urlcatcher">
+<title
+>Fånga webbadresser i meddelanden</title>
+
+<para
+>Användare skickar ibland webbadresser till intressanta webbplatser eller andra resurser på webben, i vilken <link linkend="channel-screen-tour"
+>kanal</link
+> som helst. Du kan dubbelklicka på alla sådana webbadresser så startar &konversation; programmet som hör ihop med webbadressen. Programmet som startas beror på &MIME;-typen som webbadressen har. Till exempel aktiveras din vanliga webbläsare i KDE för en webbadress som börjar med <interface
+>http:</interface
+>, och visar webbsidan. (Du kan också ange <link linkend="webbrowser"
+>webbläsaren</link
+> som ska användas.) Om webbadressen rullar förbi på skärmen, kan det vara svårt att hitta den igen. &konversation; kan spara en bekväm lista med alla webbadresser åt dig. För att aktivera funktionen, välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Webbadressinfångning</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>En ny flik som heter <guilabel
+>Webbadressinfångning</guilabel
+> skapas.</action
+> </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Fliken Webbadressinfångning.</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-urlcatcher-1" coords="1 1"/>
+ <area id="pt-urlcatcher-2" coords="1 1"/>
+ <area id="pt-urlcatcher-3" coords="1 1"/>
+ <area id="pt-urlcatcher-4" coords="1 1"/>
+ <area id="pt-urlcatcher-5" coords="1 1"/>
+ <area id="pt-urlcatcher-6" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="urlcatcher_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Fliken Webbadressinfångning.</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-urlcatcher-1"
+><para
+>Det här är listan med webbadresser som synts sedan du startade &konversation;. Kolumnen <guilabel
+>Smeknamn</guilabel
+> är smeknamnet på personen som skickade webbadressen. Om smeknamnet är tomt, visades webbadressen under fliken <interface
+>Servermeddelanden</interface
+>. (Webbadresser som visas i meddelanden för att gå med eller lämna kanaler listas inte.) Klicka på en webbadress för att markera den.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-2"
+><para
+>Klicka här för att aktivera programmet som hör ihop med den markerade webbadressen. Programmet som startas beror på &MIME;-typen som webbadressen har. Till exempel aktiveras din vanliga webbläsare för en webbadress som börjar med <interface
+>http:</interface
+>, och visar webbsidan. Du kan också ange <link linkend="webbrowser"
+>webbläsaren</link
+> som ska användas för webbsidor.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-3"
+><para
+>Klicka här för att kopiera markerad webbadress till &kde;:s klippbord.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-4"
+><para
+>Klicka här för att ta bort markerad webbadress från listan.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-5"
+><para
+>Klicka här för att spara listan med webbadress i en fil.</para
+></callout>
+
+<callout arearefs="pt-urlcatcher-6"
+><para
+>Klicka här för att rensa listan.</para
+></callout>
+
+</calloutlist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="webbrowser">
+<title
+>Ställa in webbläsaren du föredrar</title>
+
+<para
+>När du klickar på en markerad webbadress någonstans i &konversation;, startas det förvalda &kde;-programmet som hör ihop med webbadressens MIME-typ. Om du till exempel klickar på en webbadress som börjar med <interface
+>http</interface
+>, startas &konqueror; för att visa webbsidan. Du kan ange ett program som skiljer sig från det förvalda &kde;-programmet. Du kan till exempel istället använda Mozilla. </para>
+
+<para
+>För att välja en annan webbläsare, använd <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa &konversation;</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>Skärmen <guilabel
+>Redigera inställningar</guilabel
+> visas.</action
+> </para>
+
+ <para>
+<screenshot>
+<screeninfo
+>Webbläsarskärmen</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-webbrowser-1" coords="1 1"/>
+ <area id="pt-webbrowser-2" coords="1 1"/>
+ <area id="pt-webbrowser-3" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="webbrowser_screen_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Webbläsarskärmen</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+
+<callout arearefs="pt-webbrowser-1"
+><para
+>Klicka här för att visa skärmen <guilabel
+>Webbläsare</guilabel
+>.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-2"
+><para
+>Klicka här för att ange att du vill använda en egen webbläsare.</para
+></callout>
+
+<callout arearefs="pt-webbrowser-3"
+><para
+>Skriv in kommandot för att starta önskad webbläsare. När du klickar på en webbadress, ersätts <userinput
+><replaceable
+>%u</replaceable
+></userinput
+> med webbadressen.</para
+></callout>
+
+</calloutlist>
+</para>
+
+<para
+><emphasis
+>Tips:</emphasis
+> (bara för &UNIX;-system) Förvalt kommando är <userinput
+>mozilla '%u'</userinput
+>, som startar en ny instans av Mozilla varje gång du klickar på en webbadress. Om du föredrar att Mozilla visar webbsidan under en ny flik i en instans som redan kör, skapa en fil med följande innehåll: </para>
+
+<para>
+<literallayout
+>#!/bin/sh
+mozilla -remote "openURL($@, new-tab)" || exec mozilla "$@";
+</literallayout>
+</para>
+
+<para
+>Namnge filen <userinput
+><replaceable
+>moz</replaceable
+></userinput
+>, lägg den någonstans i sökvägen från PATH, och gör den körbar (<userinput
+>chmod a+x moz</userinput
+>). Skriv därefter <userinput
+><replaceable
+>moz '%u'</replaceable
+></userinput
+> som webbläsarkommando på skärmen ovan. </para>
+
+<para
+><emphasis
+>Observera:</emphasis
+> Inställningen <guilabel
+>Webbläsare</guilabel
+> gäller inte webbadresser med <interface
+>mailto:</interface
+>. Webbadresser med <interface
+>mailto:</interface
+> startar alltid &kde;:s förvalda e-postprogram. </para>
+
+<para
+>Klicka på <guibutton
+>Verkställ</guibutton
+> för att spara dina ändringar. Du måste återansluta till varje server och kanal för att ändringar ska få effekt. Det enklaste sättet att göra det är att avsluta &konversation; och starta om. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="rememberlines">
+<title
+>Markera kanal- och frågeloggar</title>
+
+<para
+>Du kan infoga en markering på skärmen för en <link linkend="channel-screen-tour"
+>kanal</link
+> och en <link linkend="query"
+>frågekanal</link
+> för att hjälpa dig att snabbt lokalisera information. För att göra det, välj <menuchoice
+> <guisubmenu
+>Infoga</guisubmenu
+> <guisubmenu
+>Komihåg-linje</guisubmenu
+> </menuchoice
+> i huvudmenyn, eller tryck på <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+>. <action
+>En linje visas längst ner i texten på skärmen. Linjen rullar med resten av texten på skärmen.</action
+> </para>
+
+<para
+>För att få en <interface
+>komihåg-linje</interface
+> att infogas i alla kanaler och frågor samtidigt, välj <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+></menuchoice
+> i huvudmenyn, expandera <guilabel
+>Beteende</guilabel
+>, klicka på <guilabel
+>Chattfönster</guilabel
+> och markera rutan <guilabel
+>Visa en komihåg-linje för alla kanaler och frågor</guilabel
+>. </para>
+
+<para
+>För att få &konversation; att automatiskt infoga en <interface
+>komihåg-linje</interface
+> så fort du skickar kommandot <userinput
+><command
+>/away</command
+> <replaceable
+>meddelande</replaceable
+></userinput
+>, se <link linkend="identity-away"
+>Ställa in din identitet</link
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="logging">
+<title
+>Loggning</title>
+
+<para
+>Om loggning är aktiverad, loggar &konversation; varje <interface
+>server</interface
+>, <link linkend="channel-screen-tour"
+>kanal</link
+> och <link linkend="query"
+>privat konversation (fråga)</link
+>. Varje session lagras i en loggfil på disk. När du öppnar samma session igen, lägger &konversation; till loggen. Loggen växer till en gräns som du kan ställa in (se nedan). När gränsen nås, kastas de äldsta meddelandena. </para>
+
+<para
+>Så fort du öppnar en session igen, läses ungefär de sista 1024 tecknen av föregående session från slutet av loggen och visas på skärmen. </para>
+
+<para
+>Medan sessionen pågår, rullar meddelanden bort längst upp på skärmen. Du kan rulla bakåt för att visa meddelandena. Slutligen, för att spara minne, tas de äldsta meddelandena bort från skärmen. Det kallas för <guilabel
+>historikgräns</guilabel
+>. Meddelanden som försvinner från skärmen på grund av denna <guilabel
+>historikgräns</guilabel
+> är fortfarande tillgängliga i loggfilen, om loggning är aktiverad.</para>
+
+<para
+>För att visa loggfilen för en session, klicka på sessionens flik för att göra den till aktuell session och välj <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Öppna loggfil</guisubmenu
+></menuchoice
+> i huvudmenyn. <action
+>En ny flik öppnas</action
+> som visar loggfilen. </para>
+
+<para>
+<screenshot>
+<screeninfo
+>Loggfil</screeninfo>
+ <mediaobjectco>
+ <imageobjectco>
+ <areaspec units="calspair">
+ <area id="pt-logviewer-1" coords="1 1"/>
+ <area id="pt-logviewer-2" coords="1 1"/>
+ <area id="pt-logviewer-3" coords="1 1"/>
+ <area id="pt-logviewer-4" coords="1 1"/>
+ <area id="pt-logviewer-5" coords="1 1"/>
+ </areaspec>
+ <imageobject>
+ <imagedata fileref="logviewer_co.png" format="PNG"/>
+ </imageobject>
+ </imageobjectco>
+ <textobject>
+ <phrase
+>Loggfil</phrase>
+ </textobject>
+ </mediaobjectco>
+</screenshot>
+</para>
+
+<para>
+<calloutlist>
+<callout arearefs="pt-logviewer-1"
+><para
+>Meddelanden från loggfilen visas här. De äldsta meddelandena är längst upp och de senaste längst ner.</para
+></callout>
+<callout arearefs="pt-logviewer-2"
+><para
+>Klicka på den här knappen för att spara loggfilen i en annan fil.</para
+></callout>
+<callout arearefs="pt-logviewer-3"
+><para
+>Klicka för att uppdatera visningen av loggfilen. Medan du tittar på en loggfil, läggs nya meddelanden i motsvarande session <emphasis
+>inte</emphasis
+> till automatiskt i visningen av loggfilen. Använd den här knappen för att titta på de senaste meddelandena.</para
+></callout>
+<callout arearefs="pt-logviewer-4"
+><para
+>Klicka för att rensa skärmen med loggfilen och ta bort loggfilen på disk.</para
+></callout>
+<callout arearefs="pt-logviewer-5"
+><para
+>Använd rutan för att ställa in maximal storlek på loggfilen. Inställningen får ingen effekt förrän du startar om &konversation;. Varje loggfil kan ha en separat inställning.</para
+></callout>
+</calloutlist>
+</para>
+
+<para
+><guilabel
+>Historikgränsen</guilabel
+> kan ändras genom att välja <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa &konversation;</guisubmenu
+></menuchoice
+> i huvudmenyn, och därefter expandera <guilabel
+>Beteende</guilabel
+> och klicka på <guilabel
+>Chattfönster</guilabel
+>. Rutan <guilabel
+>Historikgräns</guilabel
+> visas på skärmen. Om du ställer in den till <guilabel
+>Obegränsad</guilabel
+>, tas inte meddelanden bort från skärmen. </para>
+
+<para
+>Du kan aktivera eller inaktivera loggning och ställa in andra loggningsalternativ genom att välja <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa &konversation;</guisubmenu
+></menuchoice
+> i huvudmenyn, och därefter expandera <guilabel
+>Beteende</guilabel
+> och klicka på <guilabel
+>Loggning</guilabel
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="konvi-cmds">
+<title
+>&konversation;s kommandon</title>
+
+<para
+>Följande kommandon tolkas av &konversation; och kan skilja sig från vanliga &irc;-kommandon. Väljare inom hakparenteser är valfria. Väljare åtskilda med ett vertikalt streck (|) är olika former av kommandot. Kommandon som inte listas här skickas till servern som de skrivs in. </para>
+
+<para>
+<variablelist>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/me</command
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> till kanalen föregått av ditt smeknamn. Om ditt smeknamn till exempel var <userinput
+><replaceable
+>Tux</replaceable
+></userinput
+>, skulle meddelandet <interface
+>Tux brygger en kopp te</interface
+> visas genom att skriva <userinput
+><replaceable
+>/me brygger en kopp te</replaceable
+></userinput
+>. Om de inte har filter för den här sortens meddelanden, ser alla användare dem. Den här sortens meddelanden används oftast för att uttrycka icke-verbal information, som ditt känslomässiga tillstånd just nu, eller vad du fysiskt sysslar med. Om du lämnar datorn en kort stund, använd kommandot /away istället.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ame</command
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Som <userinput
+><command
+>/me</command
+></userinput
+> kommandot ovan, utom att meddelandet skickas till alla kanaler och frågor som är öppna på alla servrar du har anslutit till i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/join</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[lösenord]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Går med i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Om servern tillåter det, och om kanalen inte redan finns, skapas den och du blir kanaloperatör. Om kanalen kräver ett lösenord för att gå med, ange det som <userinput
+><replaceable
+>lösenord</replaceable
+></userinput
+>. De flesta kanalnamn börjar med <userinput
+><replaceable
+>#</replaceable
+></userinput
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/j</command
+> <replaceable
+>kanal</replaceable
+> <replaceable
+>[lösenord]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samma som <userinput
+><command
+>/join</command
+></userinput
+> ovan.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/part</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[orsak]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lämnar <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> med <userinput
+><replaceable
+>orsak</replaceable
+></userinput
+> och stänger motsvarande <interface
+>kanalflik</interface
+>. Inne i en &konversation; kanal eller frågeflik, kan du bara skriva in <userinput
+><command
+>/part</command
+></userinput
+> vilket stänger kanalen eller frågan med din standardorsak som anges i <link linkend="identity"
+>Inställningar</link
+>.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/leave</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[orsak]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samma som <userinput
+><command
+>/part</command
+></userinput
+> ovan.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/quit</command
+></userinput
+></term>
+<listitem
+><para
+>När det skrivs in i någon kanalflik, frågeflik eller DCC-flik, kopplar ner från motsvarande server och stänger alla kanalflikar, frågeflikar eller DCC-flikar som är öppna för den servern.</para
+></listitem>
+</varlistentry>
+
+<varlistentry
+><term
+><userinput
+><command
+>/notice</command
+> <replaceable
+>smeknamn|kanal</replaceable
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> till användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> eller till alla i en <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Det följande är ett exempel på vad du ser i kanalfliken</para>
+
+<para
+><computeroutput
+>[17:14] [Notis] Skickar meddelande "Jag tror jag förstår" till #konversation</computeroutput
+></para>
+
+<para
+>Och det här är var mottagarna ser</para>
+
+<para
+><computeroutput
+>[17:15] [Notis] -Eisfuchs- Jag tror jag förstår</computeroutput
+></para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/query </command
+><replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skapar en ny flik med användarens <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> för en privat konversation, vanligtvis känd på IRC som en <link linkend="query"
+>fråga</link
+>. Allt som skrivs här syns bara hos dig och din frågepartner. Du kan skriva in mer än ett smeknamn, åtskilda med mellanslag, så öppnas en frågeflik för varje smeknamn. Varje sådan frågeflik är privat mellan dig och frågepartnern.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/msg</command
+> <replaceable
+>smeknamn|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar ett privat meddelande till användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> eller till alla användare i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. I motsats till <userinput
+><command
+>/query</command
+></userinput
+> öppnar det inte en ny flik. Om <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> börjar med <userinput
+><command
+>/me</command
+></userinput
+>, formateras meddelandet på samma sätt som ett <userinput
+><command
+>/me</command
+></userinput
+> kommando.</para>
+
+<para
+>Exempel</para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs Jag behöver en del hjälp med kommandot msg</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg #konversation Ny version av Konvi är uppkopplad!</replaceable
+></userinput
+></para>
+
+<para
+><userinput
+><replaceable
+>/msg Eisfuchs /me kompilerar handboken just nu.</replaceable
+></userinput
+></para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/smsg</command
+> <replaceable
+>smeknamn|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samma som <userinput
+><command
+>/msg</command
+></userinput
+> utom att meddelandet inte visas på din skärm. Det är användbart för att förhindra att lösenord och annan känslig information förblir synlig på din skärm eller loggas.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/amsg</command
+> <replaceable
+>smeknamn|kanal</replaceable
+></userinput
+> <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Samma som <userinput
+><command
+>/msg</command
+></userinput
+> kommandot ovan, utom att meddelandet skickas till alla kanaler och frågor som du har öppnat på alla servrar du har anslutit till i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/op</command
+> <replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>När det skrivs in under en kanalflik, försöker ge <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> operatörsrättigheter för kanalen. Kanske inte fungerar om du saknar tillräckliga rättigheter i kanalen (du måste själv vara kanaloperatör). Du kan skriva in mer än ett smeknamn åtskilda med mellanslag.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/deop</command
+> <replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>När det skrivs in under en kanalflik, tar bort operatörsrättigheter från <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+>. Du kan skriva in mer än ett smeknamn åtskilda med mellanslag.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/oper</command
+> <replaceable
+>[smeknamn]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ger användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> &irc;-op rättigheter (administratör). Det fungerar bara om smeknamn listas på serverns O:-rad. En &irc;-op har rättigheter att utföra <userinput
+><command
+>/kill</command
+></userinput
+> för ett smeknamn, ansluta servrar till &irc;-nätverket med <userinput
+><command
+>/connect</command
+></userinput
+> med mera. Om <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> inte skrivs in, försöker ge dig själv &irc;-op rättigheter. Du blir tillfrågad om ditt &irc;-op användarnamn och lösenord i båda fallen.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/voice</command
+> <replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>I vissa kanaler (med +m flagga) kan inte användare skicka meddelanden om de inte har rösträttigheter. Det här kommandot försöker ge <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> rösträttigheter. Du måste ha kanaloperatörsrättigheter för att utföra kommandot. Kommandot används oftast när du är operatör på en modererad kanal.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unvoice</command
+> <replaceable
+>smeknamn</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Tar bort rösträttigheter från <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> i kanalen.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/topic</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>[meddelande]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Försöker ändra ämnet i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> till <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+>. När det skrivs in under en kanalflik, kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> utelämnas, och blir förvald till kanalen som är aktiv under fliken. Om <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> utelämnas, visas kanalens nuvarande ämne. Ändra kanalens ämne kan misslyckas om du saknar tillräckliga rättigheter.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/away</command
+> <replaceable
+>orsak</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Om någon försöker skicka dig ett privat meddelande eller inbjuda dig till en kanal, får de reda på att du är borta från din dator med <userinput
+><replaceable
+>orsak</replaceable
+></userinput
+>. För att ändra tillbaka ditt tillstånd till det normala, skriv in <userinput
+><replaceable
+>/away</replaceable
+></userinput
+> utan en orsak.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/aaway</command
+> <replaceable
+>orsak</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Som kommandot <userinput
+><command
+>/away</command
+></userinput
+> ovan, utom att kommandot skickas till alla servrar du har anslutit till i &konversation;.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/invite</command
+> <replaceable
+>smeknamn</replaceable
+> <replaceable
+>[kanal]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Inbjuder användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> att gå med i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Kommandot är särskilt användbart om kanalen enbart är öppen för inbjudna. När det skrivs in under en kanalflik kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> utelämnas.</para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/exec</command
+> <replaceable
+>skript</replaceable
+> <replaceable
+>[parametrar]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Kör ett skalskript som fungerar med &konversation; som heter <userinput
+><replaceable
+>skript</replaceable
+></userinput
+>, och skickar det <userinput
+><replaceable
+>parametrar</replaceable
+></userinput
+>. Se <link linkend="scripting"
+>Styrning via skript</link
+> för mer information om att använda och skriva skript.</para>
+<para
+>Exempel:</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>Skickar ditt systems &kde;- och &Qt;-versionsnummer till kanalen.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>Skickar din &Linux;-versionssträng till kanalen.</para>
+
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/notify</command
+> <replaceable
+>[smeknamn]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Lägger till eller tar bort <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> från listan <link linkend="nicksonline"
+>Bevakade uppkopplade smeknamn</link
+>. Om smeknamnet redan finns i listan, tas det bort. Om det inte finns i listan, läggs det till. Om <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> utelämnas, visas den nuvarande listan över bevakade smeknamn.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/prefs </command
+>[<command
+>list</command
+>|<replaceable
+>grupp</replaceable
+>] [<command
+>list</command
+>|<replaceable
+>alternativ</replaceable
+>] [<replaceable
+>värde</replaceable
+>]</userinput
+></term>
+<listitem
+><para
+>Visar eller ställer in inställningar i &konversation; utan att använda inställningsskärmen. Om en parameter innehåller mellanslag, omge den med citationstecken.</para>
+
+<para
+>Exempel:</para>
+
+<para
+><userinput
+><replaceable
+>/prefs list</replaceable
+></userinput
+></para>
+
+<para
+>listar tillgängliga alternativgrupper.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" list</replaceable
+></userinput
+></para>
+
+<para
+>listar alternativen tillgängliga i gruppen<userinput
+><replaceable
+>General Options</replaceable
+></userinput
+> tillsammans med deras aktuella värden</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon</replaceable
+></userinput
+></para>
+
+<para
+>Visar nuvarande värde på inställningen som visar &konversation;s ikon i systembrickan.</para>
+
+<para
+><userinput
+><replaceable
+>/prefs "General Options" ShowTrayIcon false</replaceable
+></userinput
+></para>
+
+<para
+>Stänger av &konversation;s ikon i systembrickan.</para>
+
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/kick</command
+> <replaceable
+>smeknamn</replaceable
+> <replaceable
+>orsak</replaceable
+></userinput
+></term>
+<listitem
+><para
+>När det skrivs in under en kanalflik, försöker sparka användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> från kanalen med <userinput
+><replaceable
+>orsak</replaceable
+></userinput
+>. Om <userinput
+><replaceable
+>orsak</replaceable
+></userinput
+> inte skrivs in, används standardorsaken från <link linkend="identity"
+>Inställningar</link
+>. Kommandot får bara användas under en kanalflik.</para>
+</listitem
+></varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ban </command
+> [<command
+>-host</command
+>|<command
+>-domain</command
+>| <command
+>-userhost</command
+>|<command
+>-userdomain</command
+>] <replaceable
+>[kanal]</replaceable
+> <replaceable
+>användare</replaceable
+>|<replaceable
+>mask</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Försöker bannlysa <userinput
+><replaceable
+>användare</replaceable
+></userinput
+> eller <userinput
+><replaceable
+>mask</replaceable
+></userinput
+> från <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. När det skrivs in under en kanalflik, kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> utelämnas. För mer information om värddatorer, domäner och masker, se dokumenten på <ulink url="http://www.irchelp.org/"
+>irchelp.org</ulink
+>. För att hämta den nuvarande bannlysningslistan för en kanal, skriv in <userinput
+><command
+>/mode</command
+> <replaceable
+>kanal</replaceable
+> <command
+>b</command
+></userinput
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/unban</command
+> <replaceable
+>[kanal]</replaceable
+> <replaceable
+>mönster</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Återtar en tidigare bannlysning från en kanal. När det skrivs in under en kanalflik kan <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+> utelämnas. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ignore</command
+> [<command
+>-all</command
+>] <replaceable
+>smeknamn</replaceable
+> </userinput
+></term>
+<listitem
+><para
+>Lägger till <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> i din ignorera-lista. Du kan ange mer än ett smeknamn åtskilda med mellanslag. Kanalmeddelanden från användare i din ignorera-lista visas inte. Dessutom om du skriver in <userinput
+><command
+>-all</command
+></userinput
+>, ignoreras alla typer av meddelanden från användaren (frågor, notiser, &CTCP;, DCC och undantag) förutom kanalmeddelanden. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/quote</command
+> <replaceable
+>kommando</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>kommando</replaceable
+></userinput
+> till servern. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/say</command
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>När det skrivs in under en kanalflik, skickar <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> till kanalen. Det här är samma sak som att skriva in <userinput
+><replaceable
+>meddelande</replaceable
+></userinput
+> på kanalens <interface
+>inmatningsrad</interface
+>. Användbart för att skicka &irc;-kommandon när du inte vill utföra kommandot. Två kommandotecken i rad (//) gör samma sak som <userinput
+><command
+>/say</command
+></userinput
+>. Används också av <link linkend="scripting"
+>skript</link
+> för att skicka meddelanden. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/raw </command
+> [<command
+>open</command
+>|<command
+>close</command
+>]</userinput
+></term>
+<listitem
+><para
+>Ställer in serverloggen i obehandlat läge (<command
+>open</command
+>) eller avslutar obehandlat läge (<command
+>close</command
+>). Om varken <command
+>open</command
+> eller <command
+>close</command
+> skrivs in, är förvalt värde <command
+>open</command
+>. I obehandlat läge visar loggen alla meddelanden som tas emot från servern på riktigt &irc;-format. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/konsole </command
+></userinput
+></term>
+<listitem
+><para
+>Öppnar en ny flik som kör en &kde;-terminal. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/server</command
+> <replaceable
+>[webbadress]</replaceable
+> <replaceable
+>[lösenord]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Ansluter till servern på adress <userinput
+><replaceable
+>webbadress</replaceable
+></userinput
+>. Om <userinput
+><replaceable
+>webadress</replaceable
+></userinput
+> utelämnas, ansluter till servern som hör ihop med fliken där du skrev in kommandot. Det är användbart för att ansluta till en server igen om du blev nerkopplad. Om servern kräver ett lösenord för anslutning till den, skriv in det som <userinput
+><replaceable
+>lösenord</replaceable
+></userinput
+>. Om servern kräver ett annat portnummer än det förvalda (6667), skriv in <userinput
+><replaceable
+>webbadress</replaceable
+></userinput
+> så här: <replaceable
+>irc.kde.org:6665</replaceable
+>. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc</command
+> <command
+>SEND</command
+> <replaceable
+>smeknamn</replaceable
+> <replaceable
+>[filnamn]</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar <userinput
+><replaceable
+>filnamn</replaceable
+></userinput
+> till användaren med smeknamnet <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+>. Om <userinput
+><replaceable
+>filnamn</replaceable
+></userinput
+> utelämnas, visas en dialogruta så att du kan välja en fil. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/dcc </command
+></userinput
+></term>
+<listitem
+><para
+>Visar en DCC-statusflik </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp</command
+> <replaceable
+>smeknamn|kanal</replaceable
+> <command
+>ping</command
+></userinput
+></term>
+<listitem
+><para
+>Skickar ett PING-meddelande till <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> eller <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Det är användbart för att avgöra om någon som du pratar med har en lång nätverksfördröjning eller (när det skickas till en kanal) om ditt system har en lång fördröjning. </para
+></listitem>
+</varlistentry>
+
+<varlistentry>
+<term
+><userinput
+><command
+>/ctcp</command
+> <replaceable
+>smeknamn|kanal</replaceable
+> <replaceable
+>meddelande</replaceable
+></userinput
+></term>
+<listitem
+><para
+>Skickar ett meddelande till <userinput
+><replaceable
+>smeknamn</replaceable
+></userinput
+> eller alla använder i <userinput
+><replaceable
+>kanal</replaceable
+></userinput
+>. Det liknar kommandot <userinput
+><command
+>/msg</command
+></userinput
+> ovan, utom att meddelandet skickas med &CTCP;-protokollet. Svaret från andra sidan beror på &irc;-klientprogrammet användaren kör. Om du till exempel samtalar med en annan användare av &konversation;, returnerar <userinput
+><replaceable
+>/ctcp Eisfuchs TIME</replaceable
+></userinput
+> systemtiden på Eisfuchs dator. <userinput
+><replaceable
+>/ctcp Eisfuchs VERSION</replaceable
+></userinput
+> returnerar versionsnumret för &konversation; från Eisfuchs dator. </para
+></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="scripting">
+<title
+>Styrning via skript</title>
+
+<para
+>&konversation; levereras med några praktiska skript som du kan köra från programmet. För att köra ett skript under en kanalflik, DCC-flik eller serverflik, skriv in ett kommando på formen</para>
+
+<para
+><userinput
+><command
+>/exec</command
+> <replaceable
+>skript</replaceable
+> [<replaceable
+>parametrar</replaceable
+>]</userinput
+></para>
+
+<para
+>vilket kör ett skript som heter <userinput
+><replaceable
+>skript</replaceable
+></userinput
+> och skickar det (valfritt) <userinput
+><replaceable
+>parametrar</replaceable
+></userinput
+>.</para>
+
+<para
+>Skriv till exempel följande kommandon under en kanalflik</para>
+
+<para
+><userinput
+><replaceable
+>/exec kdeversion</replaceable
+></userinput
+></para>
+
+<para
+>för att skicka dina &kde;- och &Qt;-versionsnummer till kanalen.</para>
+
+<para
+><userinput
+><replaceable
+>/exec cmd uname -a</replaceable
+></userinput
+></para>
+
+<para
+>kör skriptet <userinput
+><replaceable
+>cmd</replaceable
+></userinput
+>, och skickar <userinput
+><replaceable
+>uname -a</replaceable
+></userinput
+> till det. Det skickar din &Linux;-versionssträng till kanalen.</para>
+
+<para
+>För att få en lista över alla tillgängliga skript, skriv in följande kommando i en terminal:</para>
+
+<para
+><userinput
+><replaceable
+>ls $KDEDIR/share/apps/konversation/scripts</replaceable
+></userinput
+></para>
+
+<para
+>Du kan skriva dina egna skript. Skript är skalskript och kan skrivas med vilket skalspråk som helst, som bash, perl eller python. När &konversation; kör ett skript, är de första tre parametrarna som skickas till skriptet:</para>
+
+<itemizedlist>
+
+<listitem
+><para
+>Portnumret för &irc;-servern under fliken där kommandot <userinput
+><command
+>/exec</command
+></userinput
+> skrevs in.</para>
+</listitem>
+
+<listitem
+><para
+>Serverns adress.</para
+></listitem>
+
+<listitem
+><para
+>Kanalnamnet.</para
+></listitem>
+
+</itemizedlist>
+
+<para
+>Här är ett exempel på ett skalskript (cmd).</para>
+
+<para>
+<programlisting
+>#!/bin/sh
+
+# Kör ett kommando och skriver ut resultatet i Konversation.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+shift;shift;shift;
+
+$@ | while read line; do dcop $PORT Konversation say $SERVER "$TARGET" "$@: $line"; done
+</programlisting>
+</para>
+
+<para
+>Observera att skriptet använder DCOP för att kommunicera med &konversation;. Kommandot <computeroutput
+>/say</computeroutput
+> gör att utmatningen skickas till kanalen som ett normal meddelande. För att visa något under fliken utan att skicka det till andra användare, använd <computeroutput
+>info</computeroutput
+> istället. Titta i befintliga skriptfiler för mer exempel på att skriva skript.</para>
+
+<para
+>För att kunna köra ett skript som du har skrivit, måste du installera det genom att kopiera det till $KDEDIR/share/apps/konversation/scripts eller till $HOME/.kde/share/apps/konversation/scripts. Du måste också ge filen körrättigheter, till exempel med <userinput
+><replaceable
+>chmod a+x mitt_skript</replaceable
+></userinput
+>.</para>
+
+</sect1>
+
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="commands">
+<title
+>Kommandoreferens</title>
+
+<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
+application windows and their menubar and toolbar commands for easy reference.
+Also include any keys that have a special function but have no equivalent in the
+menus or toolbars. This may not be necessary for small apps or apps with no tool
+or menu bars. -->
+
+<!-- =================================================================== -->
+
+<sect1 id="kapp-mainwindow">
+<title
+>Huvudfönstret i &konversation;</title>
+
+<sect2>
+<title
+>Menyn Arkiv</title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F2</keycap
+> </shortcut
+> <guimenu
+>Arkiv</guimenu
+> <guimenuitem
+>Serverlista</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Visar <link linkend="irc-basics"
+>listan med servrar och kanaler</link
+>. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F7</keycap
+> </shortcut
+> <guimenu
+>Arkiv</guimenu
+> <guimenuitem
+>Snabbanslutning</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Visar skärmen <link linkend="quickconnect"
+>Snabbanslutning</link
+> för att ansluta till en server. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Arkiv</guimenu
+> <guimenuitem
+>Anslut igen</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Ansluter igen till alla servrar som kopplades ner på grund av ett nätverksfel eller annat problem. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>J</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Arkiv</guimenu
+> <guimenuitem
+>Gå med i kanal</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Visar en dialogruta där du kan skriva in namnet på en kanal att gå med i. Gör samma sak som att skriva in <command
+>/join <userinput
+>#kanalnamn</userinput
+></command
+> i en kanal eller serverflik.</action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Arkiv</guimenu
+> <guimenuitem
+> Ange som borta globalt</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Ändrar status för ditt smeknamn till frånvaro i alla kanaler. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>Q</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Arkiv</guimenu
+> <guimenuitem
+>Avsluta</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Avslutar</action
+> &konversation;</para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Redigera</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>F</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigera</guimenu
+> <guimenuitem
+>Sök</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Söker efter textsträngar på aktuell skärm.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F3</keycap
+> </shortcut
+> <guimenu
+>Redigera</guimenu
+> <guimenuitem
+>Sök igen</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Söker igen efter textsträngar på aktuell skärm med användning av den föregående söksträngen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigera</guimenu
+> <guimenuitem
+>Töm fönster</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Tömmer aktuell skärm.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl; &Shift;<keycap
+>L</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Redigera</guimenu
+> <guimenuitem
+>Töm alla fönsters</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Tömmer alla skärmar.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Infoga</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>K</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Infoga</guimenu
+> <guimenuitem
+>&irc;-färg</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Se <link linkend="color-msgs"
+>Skicka färglagda meddelanden</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>R</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Infoga</guimenu
+> <guimenuitem
+>Komihåg-linje</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Se <link linkend="rememberlines"
+>Markera kanal- och frågeloggar</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Alt; &Shift;<keycap
+>C</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Infoga</guimenu
+> <guimenuitem
+> Specialtecken</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Används för att skriva in specialtecken, som tecken på främmande språk.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Bokmärken</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>B</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Bokmärken</guimenu
+> <guimenuitem
+>Lägg till bokmärke</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Lägger till ett bokmärke för nuvarande nätverk och kanal</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Bokmärken</guimenu
+> <guimenuitem
+>Redigera bokmärken</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Öppnar bokmärkeseditorn</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Bokmärken</guimenu
+> <guimenuitem
+>Ny bokmärkeskatalog</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Skapar en ny bokmärkeskatalog</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Inställningar</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Dölj menyrad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Döljer huvudmenyn. Tryck på <keycombo action="simul"
+>&Ctrl;<keycap
+>M</keycap
+></keycombo
+> för att visa den igen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Dölj verktygsrad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Döljer verktygsraden.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Dölj statusrad</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Döljer statusraden längst ner på huvudskärmen.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Identiteter</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para
+><action
+>Visar skärmen <link linkend="identity"
+>Identiteter</link
+> för att ställa in din identifikationsinformation. </action
+></para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa genvägar</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Låter dig ändra snabbtangenter i &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa verktygsrader</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Låter dig lägga till eller ta bort knappar från verktygsraden i &konversation;.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa meddelanden</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen <link linkend="cfg-notifications"
+>Meddelandeinställningar</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Inställningar</guimenu
+> <guimenuitem
+>Anpassa &konversation;</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen <guilabel
+>Redigera inställningar</guilabel
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Fönster</guimenu
+></title>
+<para>
+<variablelist>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>.</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Föregående flik</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen som motsvarar föregående flik.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>,</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Nästa flik</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen som motsvarar nästa flik.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>W</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Stäng flik</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Stänger aktuell skärm. Om en kanal stängs, lämnas kanalen. Om en flik med <interface
+>Servermeddelanden</interface
+> stängs, stängs alla öppna kanaler på servern och servern kopplas ner. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F11</keycap
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Stäng alla öppna frågekanaler</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Stänger alla <link linkend="query"
+>Privata konversationer (frågor)</link
+>. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>H</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Dölj smeknamnslista</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Döljer (eller visar) rutan med smeknamn i kanalflikar. </action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F4</keycap
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Bevakade uppkopplade smeknamn</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen <guilabel
+>Bevakande uppkopplade smeknamn</guilabel
+>. Se <link linkend="nicksonline"
+>Bevaka vem som är uppkopplad</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F5</keycap
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Kanaler</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar en <link linkend="list-channels"
+>lista över kanaler</link
+> tillgängliga på servern.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycap
+>F6</keycap
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Webbadressinfångning</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar skärmen <link linkend="urlcatcher"
+>Webbadressinfångning</link
+>.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Ny terminal</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar en terminalskärm. Du kan öppna så många <guilabel
+>terminalflikar</guilabel
+> som du vill.</action>
+ </para
+></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term
+><menuchoice
+><shortcut
+> <keycombo action="simul"
+>&Ctrl;<keycap
+>O</keycap
+></keycombo
+> </shortcut
+> <guimenu
+>Fönster</guimenu
+> <guimenuitem
+>Öppna loggfil</guimenuitem
+> </menuchoice
+></term>
+ <listitem
+><para>
+ <action
+>Visar en skärm med meddelandeloggen från aktuell flik. Fungerar bara för flikarna <interface
+>kanal</interface
+>, <interface
+>servermeddelanden</interface
+> och <interface
+>frågekanal</interface
+>. Loggning måste vara aktiverad med <menuchoice
+><guisubmenu
+>Inställningar</guisubmenu
+> <guisubmenu
+>Anpassa Konversation</guisubmenu
+> <guisubmenu
+>Loggning</guisubmenu
+></menuchoice
+> i huvudmenyn. </action>
+ </para
+></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+</sect2>
+
+<sect2>
+<title
+>Menyn <guimenu
+>Hjälp</guimenu
+></title>
+&help.menu.documentation; </sect2>
+
+</sect1>
+</chapter>
+
+<!-- =================================================================== -->
+
+<chapter id="faq">
+<title
+>Vanliga frågor</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaentry>
+<question>
+<para
+>När jag startar &konversation; vill jag ansluta till en server utan att gå med i några kanaler. Hur gör jag det?</para>
+</question>
+<answer>
+<para
+>Lämna rutan <guilabel
+>Kanaler</guilabel
+> tom på skärmen <link linkend="serverlist-addnetwork"
+>Redigera server</link
+>.</para>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>&konversation; ansluter inte till någon server. Vad är fel?</para>
+</question>
+<answer>
+<para
+>Det finns flera saker som kan vara fel.</para>
+<orderedlist>
+<listitem>
+<para
+>Försäkra dig om att du har skrivit in rätt <guilabel
+>Servernamn</guilabel
+> och rätt <guilabel
+>Port</guilabel
+> på skärmen <link linkend="serverlist-addserver"
+>Lägg till server</link
+>. </para>
+</listitem>
+<listitem>
+<para
+>Kontrollera utmatningen på skärmen <link linkend="channel-screen-tour"
+>Servermeddelanden</link
+> om det finns några felmeddelanden. Nekade servern till anslutningen på grund av ett felaktigt lösenord? Nekade servern till anslutningen eftersom den kräver <acronym
+>IDENTD</acronym
+> och din dator inte svarade på begäran om <acronym
+>IDENT</acronym
+>? Markerade du rutan SSL-protokoll, men servern stöder inte SSL? </para>
+</listitem>
+<listitem>
+<para
+>Om du är bakom en brandvägg, försäkra dig om att riktiga portar är aktiverade. &konversation; kräver att följande portar är aktiverade: </para>
+
+<para>
+<itemizedlist>
+<listitem
+><para
+>Utgående TCP 6667 (eller porten på servern som du anslöt till)</para
+></listitem>
+<listitem
+><para
+>Inkommande TCP 113 (om servern kräver IDENTD)</para
+></listitem>
+<!-- <listitem
+><para
+>TODO (Incoming port numbers?)</para
+></listitem
+> -->
+</itemizedlist>
+</para>
+
+<para
+>För mer information om &irc;-anslutningsproblem, se <ulink url="http://www.irchelp.org/irchelp/networks/connectprob.html"
+>irchelp.org</ulink
+>. </para>
+
+</listitem>
+
+</orderedlist>
+</answer>
+</qandaentry>
+
+<qandaentry>
+<question>
+<para
+>När jag går till <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Kanallista</guisubmenu
+></menuchoice
+>, kan jag inte välja alternativet. Vad beror det på?</para>
+</question>
+<answer>
+<para
+>Menyalternativet <menuchoice
+><guisubmenu
+>Fönster</guisubmenu
+> <guisubmenu
+>Kanallista</guisubmenu
+></menuchoice
+> är grått om en flik som inte är en kanal, t.ex. <guilabel
+>Bevakade uppkopplade smeknamn</guilabel
+> för närvarande visas. För att göra det valbart igen, gå tillbaka till en kanalflik eller serverfliken. </para>
+</answer>
+</qandaentry>
+
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+
+<!-- Include credits for the programmers, documentation writers, and
+contributors here. The license for your software should then be included below
+the credits with a reference to the appropriate license file included in the KDE
+distribution. -->
+
+<title
+>Tack till och licens</title>
+
+<para
+>&konversation; </para>
+<para
+>Program copyright 2002-2005 av &konversation;-gruppen. </para>
+<para
+><ulink url="&konviwebsite;"
+>&konviwebsite;</ulink>
+</para>
+<para
+>Bidragsgivare: <itemizedlist>
+<listitem
+><para
+>Dario Abatianni <email
+>eisfuchs@tigress.com</email
+></para
+></listitem>
+<listitem
+><para
+>Peter Simonsson <email
+>psn@linux.se</email
+></para
+></listitem>
+<listitem
+><para
+>Christian Muehlhaeuser <email
+>chris@chris.de</email
+></para
+></listitem>
+<listitem
+><para
+>John Tapsel <email
+>john@geola.geo.uk</email
+></para
+></listitem>
+<listitem
+><para
+>Ismail Donmez <email
+>ismail.donmez@boun.edu.tr</email
+></para
+></listitem>
+<listitem
+><para
+>Shintaro Matsuoka <email
+>shin@shoegazed.org</email
+></para
+></listitem>
+<listitem
+><para
+>Gary Cramblitt <email
+>garycramblitt@comcast.net</email
+></para
+></listitem>
+<listitem
+><para
+>Matthias Gierlings <email
+>gismore@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>&Alex.Zepeda; <email
+>garbanzo@hooked.net</email
+></para
+></listitem>
+<listitem
+><para
+>Stanislav Karchebny <email
+>berkus@users.sourceforge.net</email
+></para
+></listitem>
+<listitem
+><para
+>Mickael Marchand <email
+>marchand@kde.org</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Tack till: <itemizedlist>
+<listitem
+><para
+>Michael Goettsche <email
+>michael.goettsche@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Benjamin Meyer <email
+>ben+konversation@kdemail.net</email
+></para
+></listitem>
+<listitem
+><para
+>Jacub Stachowski <email
+>qbast@go2.pl</email
+></para
+></listitem>
+<listitem
+><para
+>Sabastian Sariego <email
+>segfault@kde.cl</email
+></para
+></listitem>
+<listitem
+><para
+>Olivier Bedard <email
+>www.konversation.org hosting</email
+></para
+></listitem>
+<listitem
+><para
+>Frauke Oster <email
+>frauke@frsv.de</email
+></para
+></listitem>
+<listitem
+><para
+>Lucijan Busch <email
+>lucijan@kde.org</email
+></para
+></listitem>
+<listitem
+><para
+>Sascha Cunz <email
+>mail@sacu.de</email
+></para
+></listitem>
+<listitem
+><para
+>Steve Wollkind <email
+>steve@njord.org</email
+></para
+></listitem>
+<listitem
+><para
+>Thomas Nagy <email
+>thomas.nagy@eleve.emn.fr</email
+></para
+></listitem>
+<listitem
+><para
+>Tobias Olry <email
+>tobias.olry@web.de</email
+></para
+></listitem>
+<listitem
+><para
+>Ruud Nabben <email
+>r.nabben@gawab.com</email
+></para
+></listitem>
+</itemizedlist>
+</para>
+
+<para
+>Dokumentation Copyright &copy; 2003-2005 Gary R. Cramblitt <email
+>garycramblitt@comcast.net</email
+> </para>
+
+<para
+>Översättning Stefan Asserhäll <email
+>stefan.asserhall@comhem.se</email
+></para
+>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Installation</title>
+
+<!-- =================================================================== -->
+
+<sect1 id="getting-kapp">
+<title
+>Hur man skaffar &konversation;</title>
+&install.intro.documentation; <para
+>Den senaste versionen av &konversation;, inklusive källkod och bygginstruktioner kan också hämtas från <ulink url="&konviwebsite;"
+>&konviwebsite; hemsida</ulink
+>. </para>
+
+</sect1>
+
+<!-- =================================================================== -->
+
+<sect1 id="requirements">
+<title
+>Krav</title>
+
+<!--
+List any special requirements for your application here. This should include:
+.Libraries or other software that is not included in kdesupport,
+kdelibs, or kdebase.
+.Hardware requirements like amount of RAM, disk space, graphics card
+capabilities, screen resolution, special expansion cards, etc.
+.Operating systems the app will run on. If your app is designed only for a
+specific OS, (you wrote a graphical LILO configurator for example) put this
+information here.
+-->
+
+<para
+>För att använda &konversation; med lyckat resultat behöver du &kde; 3.2 eller senare, och en nätverksanslutning. För tidigare &kde;-versioner kan vissa funktioner saknas. Om du kommer att köra &konversation; bakom en brandvägg, se <link linkend="faq"
+>Vanliga frågor</link
+>. Om du vill använda SSL-protokollet, kanske du behöver OpenSSL. </para>
+
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->
diff --git a/doc/sv/kimproxy_create_screen2.png b/doc/sv/kimproxy_create_screen2.png
new file mode 100644
index 0000000..bdfe978
--- /dev/null
+++ b/doc/sv/kimproxy_create_screen2.png
Binary files differ
diff --git a/doc/sv/kimproxy_create_screen_co.png b/doc/sv/kimproxy_create_screen_co.png
new file mode 100644
index 0000000..d86b127
--- /dev/null
+++ b/doc/sv/kimproxy_create_screen_co.png
Binary files differ
diff --git a/doc/sv/logviewer_co.png b/doc/sv/logviewer_co.png
new file mode 100644
index 0000000..060da4a
--- /dev/null
+++ b/doc/sv/logviewer_co.png
Binary files differ
diff --git a/doc/sv/nicksonline_co.png b/doc/sv/nicksonline_co.png
new file mode 100644
index 0000000..22fbc21
--- /dev/null
+++ b/doc/sv/nicksonline_co.png
Binary files differ
diff --git a/doc/sv/nickthemes_screen_co.png b/doc/sv/nickthemes_screen_co.png
new file mode 100644
index 0000000..2b3421a
--- /dev/null
+++ b/doc/sv/nickthemes_screen_co.png
Binary files differ
diff --git a/doc/sv/notification_screen_co.png b/doc/sv/notification_screen_co.png
new file mode 100644
index 0000000..f039025
--- /dev/null
+++ b/doc/sv/notification_screen_co.png
Binary files differ
diff --git a/doc/sv/notifylist_screen_co.png b/doc/sv/notifylist_screen_co.png
new file mode 100644
index 0000000..38743ed
--- /dev/null
+++ b/doc/sv/notifylist_screen_co.png
Binary files differ
diff --git a/doc/sv/osd_demo.png b/doc/sv/osd_demo.png
new file mode 100644
index 0000000..8256151
--- /dev/null
+++ b/doc/sv/osd_demo.png
Binary files differ
diff --git a/doc/sv/osd_screen_co.png b/doc/sv/osd_screen_co.png
new file mode 100644
index 0000000..9455413
--- /dev/null
+++ b/doc/sv/osd_screen_co.png
Binary files differ
diff --git a/doc/sv/quickbuttons_screen.png b/doc/sv/quickbuttons_screen.png
new file mode 100644
index 0000000..e83ae07
--- /dev/null
+++ b/doc/sv/quickbuttons_screen.png
Binary files differ
diff --git a/doc/sv/quickconnect_screen.png b/doc/sv/quickconnect_screen.png
new file mode 100644
index 0000000..ec248f0
--- /dev/null
+++ b/doc/sv/quickconnect_screen.png
Binary files differ
diff --git a/doc/sv/serverlist_co.png b/doc/sv/serverlist_co.png
new file mode 100644
index 0000000..1c826af
--- /dev/null
+++ b/doc/sv/serverlist_co.png
Binary files differ
diff --git a/doc/sv/urlcatcher_screen_co.png b/doc/sv/urlcatcher_screen_co.png
new file mode 100644
index 0000000..1508aec
--- /dev/null
+++ b/doc/sv/urlcatcher_screen_co.png
Binary files differ
diff --git a/doc/sv/webbrowser_screen_co.png b/doc/sv/webbrowser_screen_co.png
new file mode 100644
index 0000000..1df054b
--- /dev/null
+++ b/doc/sv/webbrowser_screen_co.png
Binary files differ
diff --git a/konversation/Makefile.am b/konversation/Makefile.am
new file mode 100644
index 0000000..4641e7b
--- /dev/null
+++ b/konversation/Makefile.am
@@ -0,0 +1,19 @@
+SUBDIRS = src images scripts
+EXTRA_DIST = AUTHORS COPYING ChangeLog INSTALL README TODO
+
+messages: rc.cpp
+ $(EXTRACTRC) `find . -name "*.rc" -o -name "*.ui" -o -name "*.kcfg"` > rc.cpp
+# we haven't got a tips file atm, so there isn't a lot of point in making one...
+# maybe someone will document the process of writing tips files, or tell me that
+# it needs to be done
+# $(PREPARETIPS) > tips.cpp
+ LIST=`find . -name \*.h -o -name \*.hh -o -name \*.H -o -name \*.hxx -o -name \*.hpp -o -name \*.cpp -o -name \*.cc -o -name *.cxx -o -name \*.ecpp -o -name \*.C`; \
+ if test -n "$$LIST"; then \
+ $(XGETTEXT) $$LIST -o $(podir)/konversation.pot; \
+ fi
+# rm -f tips.cpp
+ rm -f rc.cpp
+
+
+include $(top_srcdir)/admin/Doxyfile.am
+
diff --git a/konversation/NEWS b/konversation/NEWS
new file mode 100644
index 0000000..1e542ef
--- /dev/null
+++ b/konversation/NEWS
@@ -0,0 +1,5 @@
+Mon Jul 14 08:40:00 CEST 2008
+- Konversation now depends on KDE 3.5
+
+Tue Jan 17 16:11:00 CEST 2006
+- Konversation now depends on KDE 3.4
diff --git a/konversation/configure.files b/konversation/configure.files
new file mode 100644
index 0000000..dc6867b
--- /dev/null
+++ b/konversation/configure.files
@@ -0,0 +1,3 @@
+./admin/configure.in.min
+configure.in.in
+
diff --git a/konversation/configure.in.in b/konversation/configure.in.in
new file mode 100644
index 0000000..d6d72da
--- /dev/null
+++ b/konversation/configure.in.in
@@ -0,0 +1,48 @@
+#MIN_CONFIG(3.2)
+CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
+
+KDE_CHECK_HEADER(knotifyclient.h,
+ [
+ AC_DEFINE(USE_KNOTIFY, 1, [Define if you have KNotify] )
+ ])
+
+
+KDE_CHECK_HEADER(kimiface.h,
+ [
+ AC_DEFINE(HAVE_KIMIFACE, 1, [Define if you have Kimiface headers] )
+ LIB_KIMIFACE="-lkimproxy"
+ AC_SUBST(LIB_KIMIFACE)
+ ])
+
+# Check for XScreenSaver
+AC_CHECK_HEADERS(tgmath.h)xss_save_ldflags="$LDFLAGS"
+LDFLAGS="$X_LDFLAGS"
+
+LIB_XSS=
+
+KDE_CHECK_HEADER(X11/extensions/scrnsaver.h,
+ [
+ AC_CHECK_LIB(Xext,XScreenSaverQueryInfo,
+ [
+ AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
+ LIB_XSS="-lXext"
+ ],
+ [
+ ld_shared_flag=
+ KDE_CHECK_COMPILER_FLAG(shared, [ld_shared_flag="-shared"])
+ AC_CHECK_LIB(Xss,XScreenSaverQueryInfo,
+ [
+ AC_DEFINE(HAVE_XSCREENSAVER, 1, [Define if you have the XScreenSaver extension])
+ LIB_XSS="-lXss"
+ ],
+ [],
+ [ $ld_shared_flag $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS ])
+ ],
+ [ $X_PRE_LIBS -lX11 $X_EXTRA_LIBS ])
+ ], [],
+ [
+ #include <X11/Xlib.h>
+ ] )
+
+AC_SUBST(LIB_XSS)
+LDFLAGS="$xss_save_ldflags"
diff --git a/konversation/images/Makefile.am b/konversation/images/Makefile.am
new file mode 100644
index 0000000..e565828
--- /dev/null
+++ b/konversation/images/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = icons nickicons
diff --git a/konversation/images/icons/Makefile.am b/konversation/images/icons/Makefile.am
new file mode 100644
index 0000000..e5515a8
--- /dev/null
+++ b/konversation/images/icons/Makefile.am
@@ -0,0 +1 @@
+KDE_ICON = AUTO
diff --git a/konversation/images/icons/README-kimproxy b/konversation/images/icons/README-kimproxy
new file mode 100644
index 0000000..e0bf8eb
--- /dev/null
+++ b/konversation/images/icons/README-kimproxy
@@ -0,0 +1,5 @@
+These are the icons that are shown in kaddressbook, kmail etc for konversation contacts.
+This icons are provided via the kimiface dcop interface.
+
+The icons were created by Seba y Loretito (aka segfault2k).
+
diff --git a/konversation/images/icons/cr16-action-kimproxyaway.png b/konversation/images/icons/cr16-action-kimproxyaway.png
new file mode 100644
index 0000000..cf7d168
--- /dev/null
+++ b/konversation/images/icons/cr16-action-kimproxyaway.png
Binary files differ
diff --git a/konversation/images/icons/cr16-action-kimproxyoffline.png b/konversation/images/icons/cr16-action-kimproxyoffline.png
new file mode 100644
index 0000000..c35816e
--- /dev/null
+++ b/konversation/images/icons/cr16-action-kimproxyoffline.png
Binary files differ
diff --git a/konversation/images/icons/cr16-action-kimproxyonline.png b/konversation/images/icons/cr16-action-kimproxyonline.png
new file mode 100644
index 0000000..7252280
--- /dev/null
+++ b/konversation/images/icons/cr16-action-kimproxyonline.png
Binary files differ
diff --git a/konversation/images/icons/cr22-action-char.png b/konversation/images/icons/cr22-action-char.png
new file mode 100644
index 0000000..76917d5
--- /dev/null
+++ b/konversation/images/icons/cr22-action-char.png
Binary files differ
diff --git a/konversation/images/icons/cr22-action-kimproxyaway.png b/konversation/images/icons/cr22-action-kimproxyaway.png
new file mode 100644
index 0000000..dc1dc66
--- /dev/null
+++ b/konversation/images/icons/cr22-action-kimproxyaway.png
Binary files differ
diff --git a/konversation/images/icons/cr22-action-kimproxyoffline.png b/konversation/images/icons/cr22-action-kimproxyoffline.png
new file mode 100644
index 0000000..56c8270
--- /dev/null
+++ b/konversation/images/icons/cr22-action-kimproxyoffline.png
Binary files differ
diff --git a/konversation/images/icons/cr22-action-kimproxyonline.png b/konversation/images/icons/cr22-action-kimproxyonline.png
new file mode 100644
index 0000000..1c0ecd6
--- /dev/null
+++ b/konversation/images/icons/cr22-action-kimproxyonline.png
Binary files differ
diff --git a/konversation/images/icons/cr22-action-konv_message.png b/konversation/images/icons/cr22-action-konv_message.png
new file mode 100644
index 0000000..66b2771
--- /dev/null
+++ b/konversation/images/icons/cr22-action-konv_message.png
Binary files differ
diff --git a/konversation/images/icons/cr32-action-kimproxyaway.png b/konversation/images/icons/cr32-action-kimproxyaway.png
new file mode 100644
index 0000000..016c0fe
--- /dev/null
+++ b/konversation/images/icons/cr32-action-kimproxyaway.png
Binary files differ
diff --git a/konversation/images/icons/cr32-action-kimproxyoffline.png b/konversation/images/icons/cr32-action-kimproxyoffline.png
new file mode 100644
index 0000000..52f2c2d
--- /dev/null
+++ b/konversation/images/icons/cr32-action-kimproxyoffline.png
Binary files differ
diff --git a/konversation/images/icons/cr32-action-kimproxyonline.png b/konversation/images/icons/cr32-action-kimproxyonline.png
new file mode 100644
index 0000000..53308ff
--- /dev/null
+++ b/konversation/images/icons/cr32-action-kimproxyonline.png
Binary files differ
diff --git a/konversation/images/icons/crsc-action-kimproxyaway.svgz b/konversation/images/icons/crsc-action-kimproxyaway.svgz
new file mode 100644
index 0000000..473befc
--- /dev/null
+++ b/konversation/images/icons/crsc-action-kimproxyaway.svgz
Binary files differ
diff --git a/konversation/images/icons/crsc-action-kimproxyoffline.svgz b/konversation/images/icons/crsc-action-kimproxyoffline.svgz
new file mode 100644
index 0000000..b983517
--- /dev/null
+++ b/konversation/images/icons/crsc-action-kimproxyoffline.svgz
Binary files differ
diff --git a/konversation/images/icons/crsc-action-kimproxyonline.svgz b/konversation/images/icons/crsc-action-kimproxyonline.svgz
new file mode 100644
index 0000000..ffb4f42
--- /dev/null
+++ b/konversation/images/icons/crsc-action-kimproxyonline.svgz
Binary files differ
diff --git a/konversation/images/icons/crsc-action-konv_message.svgz b/konversation/images/icons/crsc-action-konv_message.svgz
new file mode 100644
index 0000000..fc42686
--- /dev/null
+++ b/konversation/images/icons/crsc-action-konv_message.svgz
Binary files differ
diff --git a/konversation/images/icons/hi128-app-konversation.png b/konversation/images/icons/hi128-app-konversation.png
new file mode 100644
index 0000000..3ca81d8
--- /dev/null
+++ b/konversation/images/icons/hi128-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hi16-app-konversation.png b/konversation/images/icons/hi16-app-konversation.png
new file mode 100644
index 0000000..360ca30
--- /dev/null
+++ b/konversation/images/icons/hi16-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hi22-app-konversation.png b/konversation/images/icons/hi22-app-konversation.png
new file mode 100644
index 0000000..6da9b6a
--- /dev/null
+++ b/konversation/images/icons/hi22-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hi32-app-konversation.png b/konversation/images/icons/hi32-app-konversation.png
new file mode 100644
index 0000000..7a85d5f
--- /dev/null
+++ b/konversation/images/icons/hi32-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hi48-app-konversation.png b/konversation/images/icons/hi48-app-konversation.png
new file mode 100644
index 0000000..4d0b066
--- /dev/null
+++ b/konversation/images/icons/hi48-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hi64-app-konversation.png b/konversation/images/icons/hi64-app-konversation.png
new file mode 100644
index 0000000..b10e66f
--- /dev/null
+++ b/konversation/images/icons/hi64-app-konversation.png
Binary files differ
diff --git a/konversation/images/icons/hisc-app-konversation.svgz b/konversation/images/icons/hisc-app-konversation.svgz
new file mode 100644
index 0000000..27dcd1f
--- /dev/null
+++ b/konversation/images/icons/hisc-app-konversation.svgz
Binary files differ
diff --git a/konversation/images/nickicons/Makefile.am b/konversation/images/nickicons/Makefile.am
new file mode 100644
index 0000000..32c7af8
--- /dev/null
+++ b/konversation/images/nickicons/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = alternative christmas classic default smiling square oxygen
diff --git a/konversation/images/nickicons/alternative/Makefile.am b/konversation/images/nickicons/alternative/Makefile.am
new file mode 100644
index 0000000..78b04ec
--- /dev/null
+++ b/konversation/images/nickicons/alternative/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/alternative
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/alternative/index.desktop b/konversation/images/nickicons/alternative/index.desktop
new file mode 100644
index 0000000..cb7baa2
--- /dev/null
+++ b/konversation/images/nickicons/alternative/index.desktop
@@ -0,0 +1,57 @@
+[Desktop Entry]
+Type=Theme
+Name=Big Bullets
+Name[bg]=Големи орнаменти
+Name[br]=Melloù bras
+Name[cs]=Velké odrážky
+Name[de]=Große Kugeln
+Name[el]=Μεγάλα Bullet
+Name[fi]=Isot luettelomerkit
+Name[fr]=Grosse balles
+Name[he]=עיגולים גדולים
+Name[hi]=बिग बुलेट्स
+Name[ja]=ビュレット
+Name[ka]=დიდი ტყვიები
+Name[lt]=Dideli ženkliukai
+Name[pa]=ਵੱਡੀਆਂ ਬਿੰਦੀਆਂ
+Name[pt_BR]=Bolas grandes
+Name[sr]=Велики предзнаци
+Name[sr@Latn]=Veliki predznaci
+Name[sv]=Stora punkter
+Name[ta]=பெரிய புள்ளிகள்
+Name[tr]=Büyük Mermiler
+Name[uk]=Великі крапки
+Name[xx]=xxBig Bulletsxx
+Name[zh_CN]=圆点
+Comment="Big Bullets" by Dario Abatianni
+Comment[ar]="Big Bullets" من Dario Abatianni
+Comment[bg]="Големи орнаменти" от Dario Abatianni
+Comment[ca]="Big Bullets" per Dario Abatianni
+Comment[cs]=Velké odrážky od Daria Abatianniho
+Comment[da]="Big Bullets" af Dario Abatianni
+Comment[de]="Big Bullets" von Dario Abatianni
+Comment[el]="Μεγάλα Bullet" από Dario Abatianni
+Comment[es]=«Big Bullets» de Dario Abatianni
+Comment[et]="Big Bullets" (autor Dario Abatianni)
+Comment[fi]="Isot luettelomerkit" (Dario Abatianni)
+Comment[fr]=« Grosses balles » par Dario Abatianni
+Comment[ga]="Big Bullets" le Dario Abatianni
+Comment[gl]="Big Bullets" por Dario Abatianni
+Comment[he]="עיגולים גדולים" של Dario Abatianni
+Comment[hi]="बिग बुलेट्स" दारियो अबातिआनी द्वारा
+Comment[it]=«Big Bullets» di Dario Abatianni
+Comment[ja]=Dario Abatianni 作のビュレットテーマ
+Comment[ka]="დიდი ტყვიები" დარიო აბატიანის მიერ
+Comment[lt]=„Dideli ženkliukai“, sukurti Dario Abatianni
+Comment[nl]="Big Bullets", door Dario Abatianni
+Comment[pt]="Big Bullets" por Dario Abatianni
+Comment[pt_BR]="Bolas grandes" de Dario Abatianni
+Comment[sr]=„Велики предзнаци“ од Дарија Абатијанија (Dario Abatianni)
+Comment[sr@Latn]=„Veliki predznaci“ od Darija Abatijanija (Dario Abatianni)
+Comment[sv]="Stora punkter" av Dario Abatianni
+Comment[ta]="Big Bullets" டாரியோ அபடையானி
+Comment[tr]=Dario Abatianni tarafından "Büyük Mermiler"
+Comment[uk]="Великі крапки" - Dario Abatianni
+Comment[xx]=xx"Big Bullets" by Dario Abatiannixx
+Comment[zh_CN]=“圆点”,由 Dario Abatianni 设计
+Comment[zh_TW]="Big Bullets",由 Dario Abatianni 撰寫
diff --git a/konversation/images/nickicons/alternative/irc_admin.png b/konversation/images/nickicons/alternative/irc_admin.png
new file mode 100644
index 0000000..d071f6f
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_away.png b/konversation/images/nickicons/alternative/irc_away.png
new file mode 100644
index 0000000..381982e
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_halfop.png b/konversation/images/nickicons/alternative/irc_halfop.png
new file mode 100644
index 0000000..fab9b15
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_normal.png b/konversation/images/nickicons/alternative/irc_normal.png
new file mode 100644
index 0000000..89b9dd2
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_op.png b/konversation/images/nickicons/alternative/irc_op.png
new file mode 100644
index 0000000..d8b849f
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_owner.png b/konversation/images/nickicons/alternative/irc_owner.png
new file mode 100644
index 0000000..b52668a
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/alternative/irc_voice.png b/konversation/images/nickicons/alternative/irc_voice.png
new file mode 100644
index 0000000..8090ad3
--- /dev/null
+++ b/konversation/images/nickicons/alternative/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/Makefile.am b/konversation/images/nickicons/christmas/Makefile.am
new file mode 100644
index 0000000..4c1aa5c
--- /dev/null
+++ b/konversation/images/nickicons/christmas/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/christmas
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/christmas/index.desktop b/konversation/images/nickicons/christmas/index.desktop
new file mode 100644
index 0000000..c3ae670
--- /dev/null
+++ b/konversation/images/nickicons/christmas/index.desktop
@@ -0,0 +1,68 @@
+[Desktop Entry]
+Type=Theme
+Name=Christmas Theme
+Name[ar]=سمة Christmas
+Name[bg]=Коледна тема
+Name[br]=Giz Nedeleg
+Name[ca]=Tema nadalenc
+Name[cs]=Vánoční téma
+Name[da]=Juletema
+Name[de]=Weihnachtsdesign
+Name[el]=Χριστουγεννιάτικο θέμα
+Name[es]=Tema navideño
+Name[et]=Jõuluteema
+Name[fi]=Jouluteema
+Name[fr]=Thème de Noël
+Name[gl]=Tema de Nadal
+Name[he]=ערכת חג מולד
+Name[it]=Tema natalizio
+Name[ja]=クリスマス
+Name[ka]=საშობაო გაფორმება
+Name[lt]=Kalėdinė tema
+Name[nl]=Kerstthema
+Name[pa]=ਕਰਿਸਮਿਸ ਸਰੂਪ
+Name[pt]=Tema de Natal
+Name[pt_BR]=Tema de Natal
+Name[ru]=Рождественская
+Name[sr]=Божићна тема
+Name[sr@Latn]=Božićna tema
+Name[sv]=Jultema
+Name[ta]=கிறிஸ்துமஸ் பொருள்
+Name[tr]=Noel Teması
+Name[uk]=Різдвяна тема
+Name[xx]=xxChristmas Themexx
+Name[zh_CN]=耶诞节主题
+Name[zh_TW]=聖誕主題
+Comment="Christmas Theme" by Kenichiro Takahashi
+Comment[ar]=سمة "Christmas Theme" من Kenichiro Takahashi
+Comment[bg]="Коледна тема" от Kenichiro Takahashi
+Comment[br]=« Giz Nedeleg » gant Kenichiro Takahashi
+Comment[ca]="Tema nadalenc" per Kenichiro Takahashi
+Comment[cs]=Vánoční téma od Kenichiro Takahashi
+Comment[da]="Juletema" af Kenichiro Takahashi
+Comment[de]="Christmas Theme" von Kenichiro Takahashi
+Comment[el]="Χριστουγεννιάτικο θέμα" από Kenichiro Takahashi
+Comment[es]=«Tema navideño» de Kenichiro Takahashi
+Comment[et]="Jõuluteema" (autor Kenichiro Takahashi)
+Comment[fi]="Jouluteema" (Kenichiro Takahashi)
+Comment[fr]=« Thème de Noël » par Kenichiro Takahashi
+Comment[ga]="Christmas Theme" le Kenichiro Takahashi
+Comment[gl]="Tema de Nadal" por Kenichiro Takahashi
+Comment[he]="ערכת חג מולד " של Kenichiro Takahashi
+Comment[it]=«Tema natalizio» di Kenichiro Takahashi
+Comment[ja]=Kenichiro Takahashi 作のクリスマステーマ
+Comment[ka]="საშობაო გაფორმება" კენიჩირო ტაკაჰაშის მიერ
+Comment[lt]=„Kalėdinė tema“, sukurta Kenichiro Takahashi
+Comment[nl]="Christmas Theme" door Kenichiro Takahashi
+Comment[pt]="Tema de Natal" por Kenichiro Takahashi
+Comment[pt_BR]="Tema de Natal" de Kenichiro Takahashi
+Comment[ru]=Сделал Kenichiro Takahashi
+Comment[sr]=„Божићна тема“ од Кеничира Такахашија (Kenichiro Takahashi)
+Comment[sr@Latn]=„Božićna tema“ od Keničira Takahašija (Kenichiro Takahashi)
+Comment[sv]="Jultema" av Kenichiro Takahashi
+Comment[ta]="Christmas Theme" கெனிசிரோ டகாஹாஷி
+Comment[tr]=Kenichiro Takahashi tarafından "Noel Teması"
+Comment[uk]="Різдвяна тема" - Kenichiro Takahashi
+Comment[xx]=xx"Christmas Theme" by Kenichiro Takahashixx
+Comment[zh_CN]=“耶诞节主题”,由 Kenichiro Takahashi 设计
+Comment[zh_TW]="聖誕"主題,由 Kenichiro Takahashi 撰寫
diff --git a/konversation/images/nickicons/christmas/irc_admin.png b/konversation/images/nickicons/christmas/irc_admin.png
new file mode 100644
index 0000000..ef64b8d
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_away.png b/konversation/images/nickicons/christmas/irc_away.png
new file mode 100644
index 0000000..e36e7ba
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_halfop.png b/konversation/images/nickicons/christmas/irc_halfop.png
new file mode 100644
index 0000000..130c552
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_normal.png b/konversation/images/nickicons/christmas/irc_normal.png
new file mode 100644
index 0000000..ce45e5c
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_op.png b/konversation/images/nickicons/christmas/irc_op.png
new file mode 100644
index 0000000..c4608ff
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_owner.png b/konversation/images/nickicons/christmas/irc_owner.png
new file mode 100644
index 0000000..c18bff4
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/christmas/irc_voice.png b/konversation/images/nickicons/christmas/irc_voice.png
new file mode 100644
index 0000000..5043867
--- /dev/null
+++ b/konversation/images/nickicons/christmas/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/Makefile.am b/konversation/images/nickicons/classic/Makefile.am
new file mode 100644
index 0000000..343835b
--- /dev/null
+++ b/konversation/images/nickicons/classic/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/classic
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/classic/index.desktop b/konversation/images/nickicons/classic/index.desktop
new file mode 100644
index 0000000..5191fd9
--- /dev/null
+++ b/konversation/images/nickicons/classic/index.desktop
@@ -0,0 +1,70 @@
+[Desktop Entry]
+Type=Theme
+Name=Classic Theme
+Name[ar]=سمة كلاسيكية
+Name[bg]=Класическа тема
+Name[br]=Giz da gustum
+Name[ca]=Tema clàssic
+Name[cs]=Klasické téma
+Name[da]=Klassisk tema
+Name[de]=Klassisches Design
+Name[el]=Κλασικό θέμα
+Name[es]=Tema clásico
+Name[et]=Klassikaline teema
+Name[fi]=Klassinen teema
+Name[fr]=Thème classique
+Name[ga]=Téama Clasaiceach
+Name[gl]=Tema Clásico
+Name[he]=הערכה הישנה והטובה
+Name[hi]=क्लासिक प्रसंग
+Name[it]=Tema classico
+Name[ja]=クラシック
+Name[ka]=კლასიკური გაფორმება
+Name[lt]=Klasikinė tema
+Name[nl]=Klassiek thema
+Name[pa]=ਟਕਸਾਲੀ ਸਰੂਪ
+Name[pt]=Tema Clássico
+Name[pt_BR]=Tema Clássico
+Name[ru]=Классическая
+Name[sr]=Класична тема
+Name[sr@Latn]=Klasična tema
+Name[sv]=Klassiskt tema
+Name[ta]=சிறந்த தலைப்பு
+Name[tr]=Klasik tema
+Name[uk]=Класична тема
+Name[xx]=xxClassic Themexx
+Name[zh_CN]=经典主题
+Name[zh_TW]=傳統式主題
+Comment="LED" by Dario Abatianni
+Comment[ar]="LED" من Dario Abatianni
+Comment[bg]="LED" от Dario Abatianni
+Comment[br]=« LED » gant Dario Abatianni
+Comment[ca]="LED" per Dario Abatianni
+Comment[cs]=LED od Daria Abatianniho
+Comment[da]="LED" af Dario Abatianni
+Comment[de]="LED" von Dario Abatianni
+Comment[el]="LED" από Dario Abatianni
+Comment[es]=«LED» de Dario Abatianni
+Comment[et]="LED" (autor Dario Abatianni)
+Comment[fi]="LEDit" (Dario Abatianni)
+Comment[fr]=« LED » par Dario Abatianni
+Comment[ga]="LED" le Dario Abatianni
+Comment[gl]="LED" led Dario Abatianni
+Comment[he]="LED" של Dario Abatianni
+Comment[hi]="एलईडी" दारियो अबातिआनी द्वारा
+Comment[it]=«LED» di Dario Abatianni
+Comment[ja]=Dario Abatianni 作の LED テーマ
+Comment[ka]="LED" დარიო აბატიანის მიერ
+Comment[lt]=„LED“, sukurta Dario Abatianni
+Comment[nl]="LED", door Dario Abatianni
+Comment[pt]="LED" por Dario Abatianni
+Comment[pt_BR]="LED" de Dario Abatianni
+Comment[sr]=„LED“ од Дарија Абатијанија (Dario Abatianni)
+Comment[sr@Latn]=„LED“ od Darija Abatijanija (Dario Abatianni)
+Comment[sv]="Lampor" av Dario Abatianni
+Comment[ta]="LED" டைரியோ அபடியானி
+Comment[tr]=Dario Abatianni tarafından "LED"
+Comment[uk]="LED" - Dario Abatianni
+Comment[xx]=xx"LED" by Dario Abatiannixx
+Comment[zh_CN]=“指示灯”,由 Dario Abatianni 设计
+Comment[zh_TW]="LED" 由 Dario Abatianni 撰寫
diff --git a/konversation/images/nickicons/classic/irc_admin.png b/konversation/images/nickicons/classic/irc_admin.png
new file mode 100644
index 0000000..6a04b69
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_away.png b/konversation/images/nickicons/classic/irc_away.png
new file mode 100644
index 0000000..ba569b1
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_halfop.png b/konversation/images/nickicons/classic/irc_halfop.png
new file mode 100644
index 0000000..b4bc2ce
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_normal.png b/konversation/images/nickicons/classic/irc_normal.png
new file mode 100644
index 0000000..78b9be4
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_op.png b/konversation/images/nickicons/classic/irc_op.png
new file mode 100644
index 0000000..539a97d
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_owner.png b/konversation/images/nickicons/classic/irc_owner.png
new file mode 100644
index 0000000..cdb0aa4
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/classic/irc_voice.png b/konversation/images/nickicons/classic/irc_voice.png
new file mode 100644
index 0000000..dd103a2
--- /dev/null
+++ b/konversation/images/nickicons/classic/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/default/Makefile.am b/konversation/images/nickicons/default/Makefile.am
new file mode 100644
index 0000000..10886c0
--- /dev/null
+++ b/konversation/images/nickicons/default/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/default
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/default/index.desktop b/konversation/images/nickicons/default/index.desktop
new file mode 100644
index 0000000..d0c1222
--- /dev/null
+++ b/konversation/images/nickicons/default/index.desktop
@@ -0,0 +1,69 @@
+[Desktop Entry]
+Type=Theme
+Name=Default Theme
+Name[ar]=السِمة الإفتراضية
+Name[bg]=Стандартна тема
+Name[br]=Giz dre ziouer
+Name[ca]=Tema per omissió
+Name[cs]=Výchozí téma
+Name[da]=Standardtema
+Name[de]=Standard-Design
+Name[el]=Προκαθορισμένο θέμα
+Name[es]=Tema predeterminado
+Name[et]=Vaiketeema
+Name[fi]=Oletusteema
+Name[fr]=Thème par défaut
+Name[ga]=Téama Réamhshocraithe
+Name[gl]=Tema por omisión
+Name[he]=ערכת ברירת מחדל
+Name[hi]=डिफ़ॉल्ट प्रसंग
+Name[it]=Tema predefinito
+Name[ja]=標準テーマ
+Name[ka]=ნაგულისხმები გაფორმება
+Name[lt]=Numatyta tema
+Name[nl]=Standaardthema
+Name[pa]=ਮੂਲ ਸਰੂਪ
+Name[pt]=Tema Predefinido
+Name[pt_BR]=Tema Padrão
+Name[ru]=Стандартная
+Name[sr]=Подразумевана тема
+Name[sr@Latn]=Podrazumevana tema
+Name[sv]=Standardtema
+Name[ta]=முன்னிருப்பு தலைப்பு
+Name[tr]=Öntanımlı tema
+Name[uk]=Типова тема
+Name[xx]=xxDefault Themexx
+Name[zh_CN]=默认页面
+Name[zh_TW]=預設主題
+Comment="Simplistic" by Shintaro Matsuoka
+Comment[ar]="Simplistic" من Shintaro Matsuoka
+Comment[bg]="Опростена" от Shintaro Matsuoka
+Comment[ca]="Simplistic" per Shintaro Matsuoka
+Comment[cs]=Jednoduché téma od Shintara Matsuoky
+Comment[da]="Simplistic" af Shintaro Matsuoka
+Comment[de]="Simplistic" von Shintaro Matsuoka
+Comment[el]="Απλοϊκό" από Shintaro Matsuoka
+Comment[es]=«Simplistic» de Shintaro Matsuoka
+Comment[et]="Simplistic" (autor Shintaro Matsuoka)
+Comment[fi]="Yksinkertainen" (Shintaro Matsuoka)
+Comment[fr]=« Simpliste » par Shintaro Matsuoka
+Comment[ga]="Simplistic" le Shintaro Matsuoka
+Comment[gl]="Simples" por Shintaro Matsuoka
+Comment[he]="מראה פשוט" של Shintaro Matsuoka
+Comment[hi]="सिम्प्लिस्टिक" शिनतारो मात्सुओका द्वारा
+Comment[it]=«Simplistic» di Shintaro Matsuoka
+Comment[ja]=Shintaro Matsuoka 作のシンプルなテーマ
+Comment[ka]="Simplistic" შინტარო მაცუოკას მიერ
+Comment[lt]=„Supaprastinta“, sukurta Shintaro Matsuoka
+Comment[nl]="Simplistic", door Shintaro Matsuoka
+Comment[pt]="Simplistic" por Shintaro Matsuoka
+Comment[pt_BR]="Simplista" de Shintaro Matsuoka
+Comment[sr]=„Једноставно“ од Шинтара Мацуоке (Shintaro Matsuoka)
+Comment[sr@Latn]=„Jednostavno“ od Šintara Macuoke (Shintaro Matsuoka)
+Comment[sv]="Förenklat" av Shintaro Matsuoka
+Comment[ta]="Simplistic" ஷிண்டாரோ மாட்சொக்கா
+Comment[tr]=Shintaro Matsuoka tarafından "Basitlik"
+Comment[uk]="Проста" - Shintaro Matsuoka
+Comment[xx]=xx"Simplistic" by Shintaro Matsuokaxx
+Comment[zh_CN]=“简洁”,由 Shintaro Matsuoka 设计
+Comment[zh_TW]="Simplistic" 由 Shintaro Matsuoka 撰寫
diff --git a/konversation/images/nickicons/default/irc_admin.png b/konversation/images/nickicons/default/irc_admin.png
new file mode 100644
index 0000000..dc4cfc8
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_away.png b/konversation/images/nickicons/default/irc_away.png
new file mode 100644
index 0000000..1a209e2
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_halfop.png b/konversation/images/nickicons/default/irc_halfop.png
new file mode 100644
index 0000000..3494353
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_normal.png b/konversation/images/nickicons/default/irc_normal.png
new file mode 100644
index 0000000..3402cf3
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_op.png b/konversation/images/nickicons/default/irc_op.png
new file mode 100644
index 0000000..8dd62fb
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_owner.png b/konversation/images/nickicons/default/irc_owner.png
new file mode 100644
index 0000000..289ee21
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/default/irc_voice.png b/konversation/images/nickicons/default/irc_voice.png
new file mode 100644
index 0000000..2ea8713
--- /dev/null
+++ b/konversation/images/nickicons/default/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/Makefile.am b/konversation/images/nickicons/oxygen/Makefile.am
new file mode 100644
index 0000000..66ef8e5
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/oxygen
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/oxygen/index.desktop b/konversation/images/nickicons/oxygen/index.desktop
new file mode 100644
index 0000000..07796da
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/index.desktop
@@ -0,0 +1,22 @@
+[Desktop Entry]
+Type=Theme
+Name=Oxygen Theme
+Name[da]=Oxygen-tema
+Name[de]=Oxygen-Design
+Name[et]=Oxygeni teema
+Name[it]=Tema Oxygen
+Name[ja]=Oxygen テーマ
+Name[sr]=Кисеоник тема
+Name[sr@Latn]=Kiseonik tema
+Name[sv]=Oxygen-tema
+Name[zh_TW]=Oxygen 主題
+Comment="Oxygen" by Nuno Pinheiro
+Comment[da]="Oxygen" af Nuno Pinheiro
+Comment[de]="Oxygen" von Nuno Pinheiro
+Comment[et]="Oxygen" (autor Nuno Pinheiro)
+Comment[it]=«Oxygen» di Nuno Pinheiro
+Comment[ja]=Nuno Pinheiro 作の Oxygen テーマ
+Comment[sr]=„Кисеоник“ од Нуна Пињеира
+Comment[sr@Latn]=„Kiseonik“ od Nuna Pinjeira
+Comment[sv]="Oxygen" av Nuno Pinheiro
+Comment[zh_TW]="Oxygen",由 Nuno Pinheiro 提供
diff --git a/konversation/images/nickicons/oxygen/irc_admin.png b/konversation/images/nickicons/oxygen/irc_admin.png
new file mode 100644
index 0000000..0f94c26
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_away.png b/konversation/images/nickicons/oxygen/irc_away.png
new file mode 100644
index 0000000..9569339
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_halfop.png b/konversation/images/nickicons/oxygen/irc_halfop.png
new file mode 100644
index 0000000..a3ae78f
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_normal.png b/konversation/images/nickicons/oxygen/irc_normal.png
new file mode 100644
index 0000000..1ad0090
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_op.png b/konversation/images/nickicons/oxygen/irc_op.png
new file mode 100644
index 0000000..308beba
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_owner.png b/konversation/images/nickicons/oxygen/irc_owner.png
new file mode 100644
index 0000000..3fb0969
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/oxygen/irc_voice.png b/konversation/images/nickicons/oxygen/irc_voice.png
new file mode 100644
index 0000000..7bfdb40
--- /dev/null
+++ b/konversation/images/nickicons/oxygen/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/Makefile.am b/konversation/images/nickicons/smiling/Makefile.am
new file mode 100644
index 0000000..8b92cf0
--- /dev/null
+++ b/konversation/images/nickicons/smiling/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/smiling
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/smiling/index.desktop b/konversation/images/nickicons/smiling/index.desktop
new file mode 100644
index 0000000..f749f61
--- /dev/null
+++ b/konversation/images/nickicons/smiling/index.desktop
@@ -0,0 +1,70 @@
+[Desktop Entry]
+Type=Theme
+Name=Smiling Theme
+Name[ar]=سمة ضاحِكة ( Smiling )
+Name[bg]=Тема "Усмивка"
+Name[br]=Giz Mousc'hoarzh
+Name[ca]=Tema Smiling
+Name[cs]=Smajlíkové téma
+Name[da]=Smilende tema
+Name[de]=Smiley-Design
+Name[el]=Θέμα χαμόγελου
+Name[es]=Tema «Smiling»
+Name[et]=Naerusuuteema
+Name[fi]=Hymiöteema
+Name[fr]=Thème sourire
+Name[ga]=Téama "Smiling"
+Name[gl]=Tema Sorrinte
+Name[he]=ערכה מחייכת
+Name[hi]=मुस्कुराता प्रसंग
+Name[it]=Tema sorridente
+Name[ja]=スマイリー
+Name[ka]=მომღიმარი გაფორმება
+Name[lt]=Besišypsanti tema
+Name[nl]=Smiling-thema
+Name[pa]=ਖੁਸ਼ ਸਰੂਪ
+Name[pt]=Tema "Smiling"
+Name[pt_BR]=Tema Sorridente
+Name[ru]=Улыбочки
+Name[sr]=Насмејана тема
+Name[sr@Latn]=Nasmejana tema
+Name[sv]=Leende tema
+Name[ta]=சிரிக்கின்ற பொருள்
+Name[tr]=Gülümseyen Tema
+Name[uk]=Тема посмішок
+Name[xx]=xxSmiling Themexx
+Name[zh_CN]=微笑主题
+Name[zh_TW]=微笑主題
+Comment="Smiling" stolen from Kopete by John Tapsell
+Comment[ar]=أخِذ "Smiling" من Kopete من قِبل John Tapsell
+Comment[bg]=Тема "Усмивка" е откраднато от Kopete от John Tapsell
+Comment[ca]="Smiling" robat del Kopete per John Tapsell
+Comment[cs]=Smajlíkové téma od Johna Tapsella převzato z Kopete
+Comment[da]="Smilende" stjålet fra Kopete af John Tapsell
+Comment[de]="Smiling" geklaut bei Kopete von John Tapsell
+Comment[el]="Χαμόγελο" κλεμμένο από το Kopete από John Tapsell
+Comment[es]=«Smiling» tomado de Kopete por John Tapsell
+Comment[et]="Smiling" (Kopetest hiivas John Tapsell)
+Comment[fi]="Hymiöteema" Kopetesta (John Tapsell)
+Comment[fr]=« Sourire » volé à Kopete par John Tapsell
+Comment[ga]="Smiling", goidte ó Kopete ag John Tapsell
+Comment[gl]="Sorriso" roubado de Kopete por John Tapsell
+Comment[he]="ערכה מחייכת" נגנבה מ־Kopete על ידי John Tapsell
+Comment[hi]="मुस्कान" को के-ऑप्टी से जॉन तापसेल द्वारा चुराया गया
+Comment[it]=«Sorridente» rubato a Kopete da John Tapsell
+Comment[ja]=John Tapsell 作の Kopete のテーマを借用
+Comment[ka]="მომღიმარი" მოპარულია Kopete-დან ჯონ ტაპსელის მიერ
+Comment[lt]=„Besišypsanti tema“, John Tapsell pavogta iš Kopete programos
+Comment[nl]="Smiling", overgenomen van Kopete, door John Tapsell
+Comment[pt]="Smiling" retirado do Kopete por John Tapsell
+Comment[pt_BR]="Sorridente" roubado do Kopete por John Tapsell
+Comment[ru]=Украл у Kopete John Tapsell
+Comment[sr]=„Насмејано“ украо из Kopete-а Џон Тапсел (John Tapsell)
+Comment[sr@Latn]=„Nasmejano“ ukrao iz Kopete-a Džon Tapsel (John Tapsell)
+Comment[sv]="Leende" stulen från Kopete av John Tapsell
+Comment[ta]=Kopeteல் இருந்து "Smiling" ஸ்டோலன் ஜான் டாப்செல்
+Comment[tr]=John Tapsell tarafından Kopete'in "Gülümseyen"i
+Comment[uk]="Посмішки" взято з Kopete - John Tapsell
+Comment[xx]=xx"Smiling" stolen from Kopete by John Tapsellxx
+Comment[zh_CN]=“微笑”,借鉴自 John Tapsell 为 Kopete 设计的造型
+Comment[zh_TW]="微笑"主題,從 Kopete 偷來的,由 John Tapsell 撰寫
diff --git a/konversation/images/nickicons/smiling/irc_admin.png b/konversation/images/nickicons/smiling/irc_admin.png
new file mode 100644
index 0000000..7b259d5
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_away.png b/konversation/images/nickicons/smiling/irc_away.png
new file mode 100644
index 0000000..3a3f3c2
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_halfop.png b/konversation/images/nickicons/smiling/irc_halfop.png
new file mode 100644
index 0000000..2335545
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_normal.png b/konversation/images/nickicons/smiling/irc_normal.png
new file mode 100644
index 0000000..2224c37
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_op.png b/konversation/images/nickicons/smiling/irc_op.png
new file mode 100644
index 0000000..a9317a2
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_owner.png b/konversation/images/nickicons/smiling/irc_owner.png
new file mode 100644
index 0000000..fb7e483
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/smiling/irc_voice.png b/konversation/images/nickicons/smiling/irc_voice.png
new file mode 100644
index 0000000..8df68ee
--- /dev/null
+++ b/konversation/images/nickicons/smiling/irc_voice.png
Binary files differ
diff --git a/konversation/images/nickicons/square/Makefile.am b/konversation/images/nickicons/square/Makefile.am
new file mode 100644
index 0000000..6ef4b68
--- /dev/null
+++ b/konversation/images/nickicons/square/Makefile.am
@@ -0,0 +1,3 @@
+konversationicondir = $(kde_datadir)/konversation/themes/square
+konversationicon_DATA = irc_admin.png irc_away.png irc_halfop.png irc_normal.png irc_op.png \
+ irc_owner.png irc_voice.png index.desktop
diff --git a/konversation/images/nickicons/square/index.desktop b/konversation/images/nickicons/square/index.desktop
new file mode 100644
index 0000000..955b293
--- /dev/null
+++ b/konversation/images/nickicons/square/index.desktop
@@ -0,0 +1,69 @@
+[Desktop Entry]
+Type=Theme
+Name=Square Theme
+Name[ar]=سمة Square
+Name[bg]=Тема "Квадрат"
+Name[br]=Giz karrez
+Name[ca]=Tema Square
+Name[cs]=Square téma
+Name[da]=Square tema
+Name[de]=Rechteck-Design
+Name[el]=Τετράγωνο θέμα
+Name[es]=Tema «Square»
+Name[et]=Kandiline teema
+Name[fi]=Neliöteema
+Name[fr]=Thème carré
+Name[ga]=Téama "Square"
+Name[gl]=Tema Cadrado
+Name[he]=ערכה מרובעת
+Name[it]=Tema quadrato
+Name[ja]=四角
+Name[ka]=კვადრატული გაფორმება
+Name[lt]=Kvadratinė tema
+Name[nl]=Vierkant thema
+Name[pa]=ਵਰਗ ਸਰੂਪ
+Name[pt]=Tema Quadrado
+Name[pt_BR]=Tema Quadrado
+Name[ru]=Квадратики
+Name[sr]=Квадратна тема
+Name[sr@Latn]=Kvadratna tema
+Name[sv]=Kvadratiskt tema
+Name[ta]=சதுர பொருள்
+Name[tr]=Kare Teması
+Name[uk]=Квадратна тема
+Name[xx]=xxSquare Themexx
+Name[zh_CN]=方块主题
+Name[zh_TW]=方塊主題
+Comment="SQUARE" by Kenichiro Takahashi
+Comment[ar]="SQUARE" تأليف Kenichiro Takahashi
+Comment[bg]=Тема "Квадрат" от Kenichiro Takahashi
+Comment[br]=« SQUARE » gant Kenichiro Takahashi
+Comment[ca]="SQUARE" per Kenichiro Takahashi
+Comment[cs]="SQUARE" od Kenichiro Takahashi
+Comment[da]="SQUARE" af Kenichiro Takahashi
+Comment[de]="SQUARE" von Kenichiro Takahashi
+Comment[el]="Τετράγωνο" από Kenichiro Takahashi
+Comment[es]=«SQUARE» de Kenichiro Takahashi
+Comment[et]="SQUARE" (autor Kenichiro Takahashi)
+Comment[fi]="NELIÖT" (Kenichiro Takahashi)
+Comment[fr]=« CARRÉ » par Kenichiro Takahashi
+Comment[ga]="SQUARE" le Kenichiro Takahashi
+Comment[gl]="Cadrado" por Kenichiro Takahashi
+Comment[he]="ערכה מרובעת" של Kenichiro Takahashi
+Comment[it]=«Quadrato» di Kenichiro Takahashi
+Comment[ja]=Kenichiro Takahashi 作の四角いテーマ
+Comment[ka]="კვადრატული" კენიჩირო ტაკაჰაშის მიერ
+Comment[lt]=„Kvadratinė tema“, sukurta Kenichiro Takahashi
+Comment[nl]="SQUARE" door Kenichiro Takahashi
+Comment[pt]="QUADRADO" por Kenichiro Takahashi
+Comment[pt_BR]="Quadrado" por Kenichiro Takahashi
+Comment[ru]=Сделал Kenichiro Takahashi
+Comment[sr]=„Квадрат“ од Кеничира Такахашија (Kenichiro Takahashi)
+Comment[sr@Latn]=„Kvadrat“ od Keničira Takahašija (Kenichiro Takahashi)
+Comment[sv]="KVADRATISK" av Kenichiro Takahashi
+Comment[ta]="SQUARE" கெனிசிரோ டகாஹாஷி
+Comment[tr]=Kenichiro Takahashi tarafından "KARE"
+Comment[uk]="КВАДРАТ" - Kenichiro Takahashi
+Comment[xx]=xx"SQUARE" by Kenichiro Takahashixx
+Comment[zh_CN]=“方块”,由 Kenichiro Takahashi 设计
+Comment[zh_TW]="方塊"主題,由 Kenichiro Takahashi 撰寫
diff --git a/konversation/images/nickicons/square/irc_admin.png b/konversation/images/nickicons/square/irc_admin.png
new file mode 100644
index 0000000..8c78d47
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_admin.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_away.png b/konversation/images/nickicons/square/irc_away.png
new file mode 100644
index 0000000..532b0d4
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_away.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_halfop.png b/konversation/images/nickicons/square/irc_halfop.png
new file mode 100644
index 0000000..6047bc6
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_halfop.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_normal.png b/konversation/images/nickicons/square/irc_normal.png
new file mode 100644
index 0000000..5a25719
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_normal.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_op.png b/konversation/images/nickicons/square/irc_op.png
new file mode 100644
index 0000000..a9dd9f5
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_op.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_owner.png b/konversation/images/nickicons/square/irc_owner.png
new file mode 100644
index 0000000..e9f51df
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_owner.png
Binary files differ
diff --git a/konversation/images/nickicons/square/irc_voice.png b/konversation/images/nickicons/square/irc_voice.png
new file mode 100644
index 0000000..7aab216
--- /dev/null
+++ b/konversation/images/nickicons/square/irc_voice.png
Binary files differ
diff --git a/konversation/scripts/Makefile.am b/konversation/scripts/Makefile.am
new file mode 100644
index 0000000..77ce9cd
--- /dev/null
+++ b/konversation/scripts/Makefile.am
@@ -0,0 +1,4 @@
+scriptsdir=$(kde_datadir)/konversation/scripts
+scripts_SCRIPTS=bug fortune gauge uptime kdeversion cmd sayclip weather sysinfo media mail tinyurl
+scripts_DATA=fortunes.dat
+
diff --git a/konversation/scripts/README b/konversation/scripts/README
new file mode 100644
index 0000000..6efdefe
--- /dev/null
+++ b/konversation/scripts/README
@@ -0,0 +1,55 @@
+Here are some scripts that can help you in everyday life with konvi.
+
+They are usually put in ~/.kde/share/apps/konversation/scripts/ and executed by
+typing /exec <scriptname> in konversation.
+
+Since scripts are executed by system, they should have 'executable' flag on.
+This is most easily achieved by running chmod +x <scriptname>
+
+Please add descriptions here as new scripts appear:
+
+bug Opens up konqueror with kde bugzilla on specified bug number.
+ usage: /bug 65090
+
+gauge Displays funny "beer load" meter. Author: Eisfuchs, Idea: berkus.
+ usage: /gauge 55
+
+
+uptime Displays the system uptime on the current channel.
+ usage: /uptime
+
+fortune Displays a random fortune cookie
+ usage: /fortune
+
+kdeversion Displays the Qt/KDE version.
+ usage: /kdeversion
+
+cmd Prints the output of a given command.
+ usage: /cmd command
+
+sayclip Prints the contents of the clipboard on the current channel
+ with flood protection. Klipper must be running.
+ usage: /sayclip [pause-time]
+
+weather Displays current weather using KWeather applet.
+ usage: /weather
+
+colorizer Randomly colorizes the message.
+ usage: /colorize message
+
+media Plays the currently played media.
+ Supports amaroK,JuK,Noatun,Kaffeine
+ Usage: /media
+
+mail Print the number of unread emails in your inbox folder in
+ kmail. Kmail or kontact must be running.
+ Usage: /mail [folder-substring]
+
+google Use Google services
+ Usage: /google (--search) <query> # Search <query> in Google
+ /google --spell <word> # Spellcheck <word> using Google
+ /google -b|--browser <query> # Launch konqueror with google search for <query>
+
+qurl Display a short version of the url using qurl.net
+ Requires Ruby.
+ usage: /qurl http://some.very.long.url.com/
diff --git a/konversation/scripts/bug b/konversation/scripts/bug
new file mode 100755
index 0000000..0f5ec86
--- /dev/null
+++ b/konversation/scripts/bug
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+PORT=$1
+SERVER=$2
+TARGET=$3
+BUG=$4
+
+if [ ! $TARGET ]
+then
+ dcop $PORT default error "Can't write into status view."
+else
+ if [ -z $BUG ]
+ then
+ dcop $PORT default error "You forgot the bug number!"
+ else
+ kfmclient openURL http://bugs.kde.org/show_bug.cgi?id=$4
+ fi
+fi
diff --git a/konversation/scripts/cmd b/konversation/scripts/cmd
new file mode 100755
index 0000000..ebd7112
--- /dev/null
+++ b/konversation/scripts/cmd
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+# Copyright (C) 2004 by İsmail Dönmez
+# Licensed under GPL v2 or later at your option
+
+$PORT= shift;
+$SERVER= shift;
+$TARGET= shift;
+
+my $i;
+my $command;
+
+if( $ARGV[0] eq "yes" ){
+ exec 'dcop', $PORT, 'default', 'error', 'Requested command is not executed!';
+}
+
+foreach $word (@ARGV) {
+ $command = $command." ".$word;
+}
+
+$ARG_MESSAGE = `exec $command`;
+
+foreach $entry (split(/\n/, $ARG_MESSAGE)) {
+ chomp $entry;
+ $i=1;
+ $entry =~ s/^\//\/\//;
+ system 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, $entry;
+}
+
+unless($i) {
+ exec 'dcop', $PORT, 'default', 'error', "Command @ARGV doesn't exist";
+}
diff --git a/konversation/scripts/fortune b/konversation/scripts/fortune
new file mode 100755
index 0000000..a3b61d3
--- /dev/null
+++ b/konversation/scripts/fortune
@@ -0,0 +1,53 @@
+#!/usr/bin/env perl
+# Copyright (C) 2004 by İsmail Dönmez
+# Licensed under GPL v2 or later at your option
+
+$PORT = shift;
+$SERVER = shift;
+$TARGET = shift;
+
+sub RANDOM_INT ($$) {
+ my($min, $max) = @_;
+ return $min if $min == $max;
+ ($min, $max) = ($max, $min) if $min > $max;
+ return $min + int rand(1 + $max - $min);
+}
+
+open(FORTUNES,"fortunes.dat") or die("Could not open fortunes file!");
+
+while (<FORTUNES>) {
+ chomp;
+ ++$TOTAL_LINES;
+}
+
+seek(FORTUNES,0,0);
+
+srand;
+$LINE = RANDOM_INT(0,$TOTAL_LINES - 5);
+
+$MESSAGE = "4Random Fortune: ";
+
+while (<FORTUNES>) {
+ $LINE_COUNT++;
+
+ if ( !$START && $LINE_COUNT >= $LINE ) {
+ if ( $_ eq "\%\n" ) {
+ $START = 1;
+ next;
+ }
+ next;
+ }
+
+ elsif ( $START ) {
+ if( $_ eq "\%\n" ) {
+ last;
+ }
+ else {
+ chomp;
+ s/(\s)+/$1/g;
+ $MESSAGE .= $_." ";
+ }
+ }
+}
+close(FORTUNES);
+exec 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, $MESSAGE;
diff --git a/konversation/scripts/fortunes.dat b/konversation/scripts/fortunes.dat
new file mode 100644
index 0000000..756f18a
--- /dev/null
+++ b/konversation/scripts/fortunes.dat
@@ -0,0 +1,680 @@
+%
+Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing.
+%
+Let's call it an accidental feature.
+ -- Larry Wall
+%
+I did this 'cause Linux gives me a woody. It doesn't generate revenue.
+ -- Dave '-ddt->` Taylor, announcing DOOM for Linux
+%
+Feel free to contact me (flames about my english and the useless of this
+driver will be redirected to /dev/null, oh no, it's full...).
+ -- Michael Beck, describing the PC-speaker sound device
+%
+lp1 on fire
+ -- One of the more obfuscated kernel messages
+%
+A Linux machine! Because a 486 is a terrible thing to waste!
+ -- Joe Sloan, jjs@wintermute.ucr.edu
+%
+Microsoft is not the answer.
+Microsoft is the question.
+NO (or Linux) is the answer.
+ -- Taken from a .signature from someone from the UK, source unknown
+%
+In most countries selling harmful things like drugs is punishable.
+Then howcome people can sell Microsoft software and go unpunished?
+ -- Hasse Skrifvars, hasku@rost.abo.fi,
+%
+Windows without the X is like making love without a partner.
+Sex, Drugs & Linux Rules
+win-nt from the people who invented edlin.
+Apples have meant trouble since eden.
+Linux, the way to get rid of boot viruses
+ -- MaDsen Wikholm, mwikholm@at8.abo.fi
+%
+Once upon a time there was a DOS user who saw Unix, and saw that it was
+good. After typing cp on his DOS machine at home, he downloaded GNU's
+unix tools ported to DOS and installed them. He rm'd, cp'd, and mv'd
+happily for many days, and upon finding elvis, he vi'd and was happy. After
+a long day at work (on a Unix box) he came home, started editing a file,
+and couldn't figure out why he couldn't suspend vi (w/ ctrl-z) to do
+a compile.
+ -- Erik Troan, ewt@tipper.oit.unc.edu
+%
+We are MicroSoft. You will be assimilated. Resistance is futile.
+ -- Attributed to B.G., Gill Bates
+%
+Avoid the Gates of Hell. Use Linux
+ -- unknown source
+%
+Intel engineering seem to have misheard Intel marketing strategy. The
+phrase was "Divide and conquer" not "Divide and cock up"
+ -- Alan Cox, iialan@www.linux.org.uk
+%
+Linux! Guerrilla UNIX Development Venimus, Vidimus, Dolavimus.
+ -- Mark A. Horton KA4YBR, mah@ka4ybr.com
+%
+"Who is General Failure and why is he reading my hard disk?"
+Microsoft spel chekar vor sail, worgs grate !!
+ -- Felix von Leitner, leitner@inf.fu-berlin.de
+%
+Personally, I think my choice in the mostest-superlative-computer wars has to
+be the HP-48 series of calculators. They'll run almost anything. And if they
+can't, while I'll just plug a Linux box into the serial port and load up the
+HP-48 VT-100 emulator.
+ -- Jeff Dege, jdege@winternet.com
+%
+There are no threads in a.b.p.erotica, so there's no gain in using a
+threaded news reader.
+ -- unknown source
+%
+/*
+ * Oops. The kernel tried to access some bad page. We'll have to
+ * terminate things with extreme prejudice.
+*/
+die_if_kernel("Oops", regs, error_code);
+ -- From linux/arch/i386/mm/fault.c
+%
+Linux: because a PC is a terrible thing to waste
+ -- ksh@cis.ufl.edu put this on Tshirts in '93
+%
+Linux: the choice of a GNU generation
+ -- ksh@cis.ufl.edu put this on Tshirts in '93
+%
+There are two types of Linux developers - those who can spell, and
+those who can't. There is a constant pitched battle between the two.
+ -- From one of the post-1.1.54 kernel update messages posted to c.o.l.a
+%
+When you say "I wrote a program that crashed Windows", people just stare at
+you blankly and say "Hey, I got those with the system, *for free*".
+ -- Linus Torvalds
+%
+We come to bury DOS, not to praise it.
+ -- Paul Vojta, vojta@math.berkeley.edu
+%
+Be warned that typing killall name may not have the desired
+effect on non-Linux systems, especially when done by a privileged user.
+ -- From the killall manual page
+%
+Note that if I can get you to "su and say" something just by asking,
+you have a very serious security problem on your system and you should
+look into it.
+ -- Paul Vixie, vixie-cron 3.0.1 installation notes
+%
+How should I know if it works? That's what beta testers are for. I
+only coded it.
+ -- Attributed to Linus Torvalds, somewhere in a posting
+%
+I develop for Linux for a living, I used to develop for DOS.
+Going from DOS to Linux is like trading a glider for an F117.
+ -- Lawrence Foard, entropy@world.std.com
+%
+Absolutely nothing should be concluded from these figures except that
+no conclusion can be drawn from them.
+ -- Joseph L. Brothers, Linux/PowerPC Project)
+%
+If the future navigation system [for interactive networked services on
+the NII] looks like something from Microsoft, it will never work.
+ -- Chairman of Walt Disney Television & Telecommunications
+%
+Problem solving under Linux has never been the circus that it is under
+AIX.
+ -- Pete Ehlke in comp.unix.aix
+%
+I don't know why, but first C programs tend to look a lot worse than
+first programs in any other language (maybe except for fortran, but then
+I suspect all fortran programs look like `firsts')
+ -- Olaf Kirch
+%
+On a normal ascii line, the only safe condition to detect is a 'BREAK'
+- everything else having been assigned functions by Gnu EMACS.
+ -- Tarl Neustaedter
+%
+By golly, I'm beginning to think Linux really *is* the best thing since
+sliced bread.
+ -- Vance Petree, Virginia Power
+%
+I'd crawl over an acre of 'Visual This++' and 'Integrated Development
+That' to get to gcc, Emacs, and gdb. Thank you.
+ -- Vance Petree, Virginia Power
+%
+Oh, I've seen copies [of Linux Journal] around the terminal room at The Labs.
+ -- Dennis Ritchie
+%
+If you want to travel around the world and be invited to speak at a lot
+of different places, just write a Unix operating system.
+ -- Linus Torvalds
+%
+...and scantily clad females, of course. Who cares if it's below zero
+outside.
+ -- Linus Torvalds
+%
+...you might as well skip the Xmas celebration completely, and instead
+sit in front of your linux computer playing with the all-new-and-improved
+linux kernel version.
+ -- Linus Torvalds
+%
+Besides, I think Slackware sounds better than 'Microsoft,' don't you?
+ -- Patrick Volkerding
+%
+All language designers are arrogant. Goes with the territory...
+ -- Larry Wall
+%
+And the next time you consider complaining that running Lucid Emacs
+19.05 via NFS from a remote Linux machine in Paraguay doesn't seem to
+get the background colors right, you'll know who to thank.
+ -- Matt Welsh
+%
+Are Linux users lemmings collectively jumping off of the cliff of
+reliable, well-engineered commercial software?
+ -- Matt Welsh
+%
+Even more amazing was the realization that God has Internet access. I
+wonder if He has a full newsfeed?
+ -- Matt Welsh
+%
+I once witnessed a long-winded, month-long flamewar over the use of
+mice vs. trackballs... It was very silly.
+ -- Matt Welsh
+%
+Linux poses a real challenge for those with a taste for late-night
+hacking (and/or conversations with God).
+ -- Matt Welsh
+%
+What you end up with, after running an operating system concept through
+these many marketing coffee filters, is something not unlike plain hot
+water.
+ -- Matt Welsh
+%
+...Deep Hack Mode -- that mysterious and frightening state of
+consciousness where Mortal Users fear to tread.
+ -- Matt Welsh
+%
+...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and
+the Ugly).
+ -- Matt Welsh
+%
+...very few phenomena can pull someone out of Deep Hack Mode, with two
+noted exceptions: being struck by lightning, or worse, your *computer*
+being struck by lightning.
+ -- Matt Welsh
+%
+..you could spend *all day* customizing the title bar. Believe me. I
+speak from experience.
+ -- Matt Welsh
+%
+[In 'Doctor' mode], I spent a good ten minutes telling Emacs what I
+thought of it. (The response was, 'Perhaps you could try to be less
+abusive.')
+ -- Matt Welsh
+%
+I would rather spend 10 hours reading someone else's source code than
+10 minutes listening to Musak waiting for technical support which isn't.
+ -- Dr. Greg Wettstein, Roger Maris Cancer Center
+%
+...[Linux's] capacity to talk via any medium except smoke signals.
+ -- Dr. Greg Wettstein, Roger Maris Cancer Center
+%
+Whip me. Beat me. Make me maintain AIX.
+ -- Stephan Zielinski
+%
+Your job is being a professor and researcher: That's one hell of a good excuse
+for some of the brain-damages of minix.
+ -- Linus Torvalds to Andrew Tanenbaum
+%
+I still maintain the point that designing a monolithic kernel in 1991 is a
+fundamental error. Be thankful you are not my student. You would not get a
+high grade for such a design :-)
+ -- Andrew Tanenbaum to Linus Torvalds
+%
+We use Linux for all our mission-critical applications. Having the source code
+means that we are not held hostage by anyone's support department.
+ -- Russell Nelson, President of Crynwr Software
+%
+Linux is obsolete
+ -- Andrew Tanenbaum
+%
+Dijkstra probably hates me.
+ -- Linus Torvalds, in kernel/sched.c
+%
+And 1.1.81 is officially BugFree(tm), so if you receive any bug-reports
+on it, you know they are just evil lies.
+ -- Linus Torvalds
+%
+We are Pentium of Borg. Division is futile. You will be approximated.
+ -- seen in someone's .signature
+%
+Linux: the operating system with a CLUE... Command Line User Environment.
+ -- seen in a posting in comp.software.testing
+%
+quit When the quit statement is read, the bc processor
+ is terminated, regardless of where the quit state-
+ ment is found. For example, "if (0 == 1) quit"
+ will cause bc to terminate.
+ -- seen in the manpage for "bc". Note the "if" statement's logic
+%
+Sic transit discus mundi
+ -- From the System Administrator's Guide, by Lars Wirzenius
+%
+Sigh. I like to think it's just the Linux people who want to be on
+the "leading edge" so bad they walk right off the precipice.
+ -- Craig E. Groeschel
+%
+We all know Linux is great... it does infinite loops in 5 seconds.
+ - Linus Torvalds about the superiority of Linux on the Amterdam Linux Symposium
+%
+Waving away a cloud of smoke, I look up, and am blinded by a bright, white
+light. It's God. No, not Richard Stallman, or Linus Torvalds, but God. In
+a booming voice, He says: "THIS IS A SIGN. USE LINUX, THE FREE UNIX SYSTEM
+FOR THE 386.
+ -- Matt Welsh
+%
+The chat program is in public domain. This is not the GNU public license.
+If it breaks then you get to keep both pieces.
+ -- Copyright notice for the chat program
+%
+'Mounten' wird fr drei Dinge benutzt: 'Aufsitzen' auf Pferde, 'einklinken'
+von Festplatten in Dateisysteme, und, nun, 'besteigen' beim Sex.
+ -- Christa Keil
+%
+Manchmal stehe nachts auf und installier's mir einfach...
+ -- H0arry @ IRC
+%
+'Mounting' is used for three things: climbing on a horse, linking in a
+hard disk unit in data systems, and, well, mounting during sex.
+ -- Christa Keil
+%
+We are using Linux daily to UP our productivity - so UP yours!
+ -- Adapted from Pat Paulsen by Joe Sloan
+%
+But what can you do with it?
+ -- ubiquitous cry from Linux-user partner
+%
+/*
+ * [...] Note that 120 sec is defined in the protocol as the maximum
+ * possible RTT. I guess we'll have to use something other than TCP
+ * to talk to the University of Mars.
+ * PAWS allows us longer timeouts and large windows, so once implemented
+ * ftp to mars will work nicely.
+ */
+ -- from /usr/src/linux/net/inet/tcp.c, concerning RTT [round trip time]
+%
+DOS: n., A small annoying boot virus that causes random spontaneous system
+ crashes, usually just before saving a massive project. Easily cured by
+ UNIX. See also MS-DOS, IBM-DOS, DR-DOS.
+ -- David Vicker's .plan
+%
+MSDOS didn't get as bad as it is overnight -- it took over ten years
+of careful development.
+ -- dmeggins@aix1.uottawa.ca
+%
+LILO, you've got me on my knees!
+ -- David Black, dblack@pilot.njin.net, with apologies to Derek and the
+Dominos, and Werner Almsberger
+%
+I've run DOOM more in the last few days than I have the last few
+months. I just love debugging ;-)
+ -- Linus Torvalds
+%
+Microsoft Corp., concerned by the growing popularity of the free 32-bit
+operating system for Intel systems, Linux, has employed a number of top
+programmers from the underground world of virus development. Bill Gates stated
+yesterday: "World domination, fast -- it's either us or Linus". Mr. Torvalds
+was unavailable for comment ...
+ -- Robert Manners, rjm@swift.eng.ox.ac.uk, in comp.os.linux.setup
+%
+The only "intuitive" interface is the nipple. After that, it's all learned.
+ -- Bruce Ediger, bediger@teal.csn.org, on X interfaces
+%
+After watching my newly-retired dad spend two weeks learning how to make a new
+folder, it became obvious that "intuitive" mostly means "what the writer or
+speaker of intuitive likes".
+ -- Bruce Ediger, bediger@teal.csn.org, on X the intuitiveness of a Mac interface
+%
+Now I know someone out there is going to claim, "Well then, UNIX is intuitive,
+because you only need to learn 5000 commands, and then everything else follows
+from that! Har har har!"
+ -- Andy Bates on "intuitive interfaces", slightly defending Macs
+%
+> No manual is ever necessary.
+May I politely interject here: BULLSHIT. That's the biggest Apple lie of all!
+ -- Discussion in comp.os.linux.misc on the intuitiveness of interfaces
+%
+How do I type "for i in *.dvi do xdvi $i done" in a GUI?
+ -- Discussion in comp.os.linux.misc on the intuitiveness of interfaces
+%
+>Ever heard of .cshrc?
+That's a city in Bosnia. Right?
+ -- Discussion in comp.os.linux.misc on the intuitiveness of commands
+%
+Who wants to remember that escape-x-alt-control-left shift-b puts you into
+super-edit-debug-compile mode?
+ -- Discussion on the intuitiveness of commands, especially Emacs
+%
+Anyone who thinks UNIX is intuitive should be forced to write 5000 lines of
+code using nothing but vi or emacs. AAAAACK!
+ -- Discussion on the intuitiveness of commands, especially Emacs
+%
+Now, it we had this sort of thing:
+ yield -a for yield to all traffic
+ yield -t for yield to trucks
+ yield -f for yield to people walking (yield foot)
+ yield -d t* for yield on days starting with t
+
+...you'd have a lot of dead people at intersections, and traffic jams you
+wouldn't believe...
+ -- Discussion on the intuitiveness of commands
+%
+Actually, typing random strings in the Finder does the equivalent of
+filename completion.
+ -- Discussion on file completion vs. the Mac Finder
+%
+Not me, guy. I read the Bash man page each day like a Jehovah's Witness reads
+the Bible. No wait, the Bash man page IS the bible. Excuse me...
+ -- More on confusing aliases, taken from comp.os.linux.misc
+%
+On the Internet, no one knows you're using Windows NT
+ -- Submitted by Ramiro Estrugo, restrugo@fateware.com
+%
+> I'm an idiot.. At least this [bug] took about 5 minutes to find..
+Disquieting ...
+ -- Gonzalo Tornaria in response to Linus Torvalds's
+%
+> I'm an idiot.. At least this [bug] took about 5 minutes to find..
+We need to find some new terms to describe the rest of us mere mortals
+then.
+ -- Craig Schlenter in response to Linus Torvalds's
+%
+> I'm an idiot.. At least this [bug] took about 5 minutes to find..
+Surely, Linus is talking about the kind of idiocy that others aspire to :-).
+ -- Bruce Perens in response to Linus Torvalds's
+%
+Never make any mistaeks.
+ -- Anonymous, in a mail discussion about to a kernel bug report
+%
++#if defined(__alpha__) && defined(CONFIG_PCI)
++ /*
++ * The meaning of life, the universe, and everything. Plus
++ * this makes the year come out right.
++ */
++ year -= 42;
++#endif
+ -- From the patch for 1.3.2: (kernel/time.c), submitted by Marcus Meissner
+%
+As usual, this being a 1.3.x release, I haven't even compiled this
+kernel yet. So if it works, you should be doubly impressed.
+ -- Linus Torvalds, announcing kernel 1.3.3
+%
+People disagree with me. I just ignore them.
+ -- Linus Torvalds, regarding the use of C++ for the Linux kernel
+%
+It's now the GNU Emacs of all terminal emulators.
+ -- Linus Torvalds, regarding the fact that Linux started off as a terminal emulator
+%
+Audience: What will become of Linux when the Hurd is ready?
+Eric Youngdale: Err... is Richard Stallman here?
+ -- From the Linux conference in spring '95, Berlin
+%
+Linux: The OS people choose without $200,000,000 of persuasion.
+ -- Mike Coleman
+%
+The memory management on the PowerPC can be used to frighten small children.
+ -- Linus Torvalds
+%
+... faster BogoMIPS calculations (yes, it now boots 2 seconds faster than
+it used to: we're considering changing the name from "Linux" to "InstaBOOT"
+ -- Linus, in the announcement for 1.3.26
+%
+... of course, this probably only happens for tcsh which uses wait4(),
+which is why I never saw it. Serves people who use that abomination
+right 8^)
+ -- Linus Torvalds, about a patch that fixes getrusage for 1.3.26
+%
+It's a bird..
+It's a plane..
+No, it's KernelMan, faster than a speeding bullet, to your rescue.
+Doing new kernel versions in under 5 seconds flat..
+ -- Linus, in the announcement for 1.3.27
+%
+Eh, that's it, I guess. No 300 million dollar unveiling event for this
+kernel, I'm afraid, but you're still supposed to think of this as the
+"happening of the century" (at least until the next kernel comes along).
+ -- Linus, in the announcement for 1.3.27
+%
+Oh, and this is another kernel in that great and venerable "BugFree(tm)"
+series of kernels. So be not afraid of bugs, but go out in the streets
+and deliver this message of joy to the masses.
+ -- Linus, in the announcement for 1.3.27
+%
+When you say 'I wrote a program that crashed Windows', people just stare at
+you blankly and say 'Hey, I got those with the system, *for free*'.
+ -- Linus Torvalds
+%
+Never trust an operating system you don't have sources for. ;-)
+ -- Unknown source
+%
+> Linux is not user-friendly.
+It _is_ user-friendly. It is not ignorant-friendly and idiot-friendly.
+ -- Seen somewhere on the net
+%
+Keep me informed on the behaviour of this kernel.. As the "BugFree(tm)"
+series didn't turn out too well, I'm starting a new series called the
+"ItWorksForMe(tm)" series, of which this new kernel is yet another
+shining example.
+ -- Linus, in the announcement for 1.3.29
+%
+Seriously, the way I did this was by using a special /sbin/loader binary
+with debugging hooks that I made ("dd" is your friend: binary editors
+are for wimps).
+ -- Linus Torvalds, in an article on a dnserver
+%
+(I tried to get some documentation out of Digital on this, but as far as
+I can tell even _they_ don't have it ;-)
+ -- Linus Torvalds, in an article on a dnserver
+%
+Q: Why shouldn't I simply delete the stuff I never use, it's just taking up
+ space?
+A: This question is in the category of Famous Last Words..
+ -- From the Frequently Unasked Questions
+%
+Q: What's the big deal about rm, I have been deleting stuff for years? And
+ never lost anything.. oops!
+A: ...
+ -- From the Frequently Unasked Questions
+%
+Linux is addictive, I'm hooked!
+ -- MaDsen Wikholm's .sig
+%
+panic("Foooooooood fight!");
+ -- In the kernel source aha1542.c, after detecting a bad segment list
+%
+Convention organizer to Linus Torvalds: "You might like to come with us
+to some licensed[1] place, and have some pizza."
+
+Linus: "Oh, I did not know that you needed a license to eat pizza".
+
+[1] Licenced - refers in Australia to a restaurant which has government
+licence to sell liquor.
+ -- Linus at a talk at the Melbourne University
+%
+Footnotes are for things you believe don't really belong in LDP manuals,
+but want to include anyway.
+ -- Joel N. Weber II discussing the 'make' chapter of LPG
+%
+Eh, that's it, I guess. No 300 million dollar unveiling event for this
+kernel, I'm afraid, but you're still supposed to think of this as the
+"happening of the century" (at least until the next kernel comes along).
+Oh, and this is another kernel in that great and venerable "BugFree(tm)"
+series of kernels. So be not afraid of bugs, but go out in the streets
+and deliver this message of joy to the masses.
+ -- Linus Torvalds, on releasing 1.3.27
+%
+Ok, I'm just uploading the new version of the kernel, v1.3.33, also
+known as "the buggiest kernel ever".
+ -- Linus Torvalds
+%
+Go not unto the Usenet for advice, for you will be told both yea and nay (and
+quite a few things that just have nothing at all to do with the question).
+ -- seen in a .sig somewhere
+%
+Those who don't understand Linux are doomed to reinvent it, poorly.
+ -- unidentified source
+%
+Look, I'm about to buy me a double barreled sawed off shotgun and show
+Linus what I think about backspace and delete not working.
+ -- some anonymous .signature
+%
+We apologize for the inconvenience, but we'd still like yout to test out
+this kernel.
+ -- Linus Torvalds, announcing another kernel patch
+%
+The new Linux anthem will be "He's an idiot, but he's ok", as performed by
+Monthy Python. You'd better start practicing.
+ -- Linus Torvalds, announcing another kernel patch
+%
+How do you power off this machine?
+ -- Linus, when upgrading linux.cs.helsinki.fi, and after using the machine for several months
+%
+Excusing bad programming is a shooting offence, no matter _what_ the
+circumstances.
+ -- Linus Torvalds, to the linux-kernel list
+%
+Linus? Whose that?
+ -- clueless newbie on #Linux
+%
+Whoa...I did a 'zcat /vmlinuz > /dev/audio' and I think I heard God...
+ -- mikecd on #Linux
+%
+Some people have told me they don't think a fat penguin really embodies the
+grace of Linux, which just tells me they have never seen a angry penguin
+charging at them in excess of 100mph. They'd be a lot more careful about what
+they say if they had.
+ -- Linus Torvalds, announcing Linux v2.0
+%
+MS-DOS, you can't live with it, you can live without it.
+ -- from Lars Wirzenius' .sig
+%
+.. I used to get in more fights with SCO than I did my girlfriend, but
+now, thanks to Linux, she has more than happily accepted her place back at
+number one antagonist in my life..
+ -- Jason Stiefel, krypto@s30.nmex.com
+%
+I mean, well, if it were not for Linux I might be roaming the streets looking
+for drugs or prostitutes or something. Hannu and Linus have my highest
+admiration (apple polishing mode off).
+ -- Phil Lewis, plewis@nyx.nyx.net
+%
+> What does ELF stand for (in respect to Linux?)
+ELF is the first rock group that Ronnie James Dio performed with back in
+the early 1970's. In constrast, a.out is a misspelling of the French word
+for the month of August. What the two have in common is beyond me, but
+Linux users seem to use the two words together.
+ -- seen on c.o.l.misc
+%
+"Linux was made by foreign terrorists to take money from true US companies
+like Microsoft." - Some AOL'er.
+"To this end we dedicate ourselves..." -Don
+ -- From the sig of "Don", don@cs.byu.edu
+%
+Shoot me again.
+Just proving that the quickest way to solve the problem is to post a
+whine to the newsgroups: within moments the solution presents itself to
+me, and meanwhile my ass is hanging out on the Net... *sigh*...
+ -- Dave Phillips, dlphilp@bright.net, about problem solving via news
+%
+Besides, its really not worthwhile to use more than two times your physical
+ram in swap (except in a select few situations). The performance of the system
+becomes so abysmal you'd rather heat pins under your toenails while reciting
+Windows95 source code and staring at porn flicks of Bob Dole than actually try
+to type something.
+ -- seen on c.o.l.development.system, about the size of the swap space
+%
+Only wimps use tape backup: _real_ men just upload their important stuff
+on ftp, and let the rest of the world mirror it ;)
+ -- Linus Torvalds, about his failing hard drive on linux.cs.helsinki.fi
+%
+One of the things that hamper Linux's climb to world domination is the
+shortage of bad Computer Role Playing Games, or CRaPGs. No operating system
+can be considered respectable without one.
+ -- Brian O'Donnell, odonnllb@tcd.ie
+%
+The game, anoraks.2.0.0.tgz, will be available from sunsite until somebody
+responsible notices it and deletes it, and shortly from
+ftp.mee.tcd.ie/pub/Brian, though they don't know that yet.
+ -- Brian O'Donnell, odonnllb@tcd.ie
+%
+'Ooohh.. "FreeBSD is faster over loopback, when compared to Linux
+over the wire". Film at 11.'
+ -- Linus Torvalds
+%
+Q: Would you like to see the WINE list?
+A: What's on it, anything expensive?
+Q: No, just Solitaire and MineSweeper for now, but the WINE is free.
+ -- Kevin M. Bealer, about the WINdows Emulator
+%
+So in the future, one 'client' at a time or you'll be spending CPU time with
+lots of little 'child processes'.
+ -- Kevin M. Bealer, commenting on the private life of a Linux nerd
+%
+By the way, I can hardly feel sorry for you... All last night I had to listen
+to her tears, so great they were redirected to a stream. What? Of _course_
+you didn't know. You and your little group no longer have any permissions
+around here. She changed her .lock files, too.
+ -- Kevin M. Bealer, commenting on the private life of a Linux nerd
+%
+We should start referring to processes which run in the background by their
+correct technical name... paenguins.
+ -- Kevin M. Bealer, commenting on the penguin Linux logo
+%
+We can use symlinks of course... syslogd would be a symlink to syslogp and
+ftpd and ircd would be linked to ftpp and ircp... and of course the
+point-to-point protocal paenguin.
+ -- Kevin M. Bealer, commenting on the penguin Linux logo
+%
+This is a logical analogy too... anyone who's been around, knows the world is
+run by paenguins. Always a paenguin behind the curtain, really getting things
+done. And paenguins in politics--who can deny it?
+ -- Kevin M. Bealer, commenting on the penguin Linux logo
+%
+Linux: Where Don't We Want To Go Today?
+ -- Submitted by Pancrazio De Mauro, paraphrasing some well-known sales talk
+%
+The most important design issue... is the fact that Linux is supposed to
+be fun...
+ -- Linus Torvalds at the First Dutch International Symposium on Linux
+%
+In short, at least give the penguin a fair viewing. If you still don't
+like it, that's ok: that's why I'm boss. I simply know better than you do.
+ -- Linus "what, me arrogant?" Torvalds, on c.o.l.advocacy
+%
+<SomeLamer> what's the difference between chattr and chmod?
+<SomeGuru> SomeLamer: man chattr > 1; man chmod > 2; diff -u 1 2 | less
+ -- Seen on #linux on irc
+%
+The linuX Files -- The Source is Out There.
+ -- Sent in by Craig S. Bell, goat@aracnet.com
+%
+"... being a Linux user is sort of like living in a house inhabited
+by a large family of carpenters and architects. Every morning when
+you wake up, the house is a little different. Maybe there is a new
+turret, or some walls have moved. Or perhaps someone has temporarily
+removed the floor under your bed." - Unix for Dummies, 2nd Edition
+ -- found in the .sig of Rob Riggs, rriggs@tesser.com
+%
+C is quirky, flawed, and an enormous success
+ -- Dennis M. Ritchie
+%
+If Bill Gates is the Devil then Linus Torvalds must be the Messiah.
+ -- Unknown source
+%
+Vini, vidi, Linux!
+ -- Unknown source
+%
+The good thing about standards is that there are so many to choose from.
+ -- Andrew S. Tanenbaum
+%
+I'm telling you that the kernel is stable not because it's a kernel,
+but because I refuse to listen to arguments like this.
+ -- Linus Torvalds
+% \ No newline at end of file
diff --git a/konversation/scripts/gauge b/konversation/scripts/gauge
new file mode 100755
index 0000000..2befb87
--- /dev/null
+++ b/konversation/scripts/gauge
@@ -0,0 +1,71 @@
+#!/usr/bin/env bash
+
+PORT=$1
+SERVER=$2
+TARGET=$3
+
+shift
+shift
+shift
+
+PERCENTAGE=$1
+
+if [ ! $TARGET ]
+then
+ dcop $PORT default error "Can't write into status view."
+else
+ if [ ! $PERCENTAGE ]
+ then
+ dcop $PORT default error "USAGE: $0 <percentage>"
+ else
+ PERCENTAGE=`echo $PERCENTAGE | sed 's/^0\+//'`
+ LEFT=$(($PERCENTAGE/5))
+ RIGHT=$((20-$LEFT))
+
+ if [[ $PERCENTAGE -lt 0 ]]; then
+ dcop $PORT default error "Percentage has to be bigger than 0"
+ exit
+ fi
+
+ if [[ $PERCENTAGE -gt 100 ]]; then
+ dcop $PORT default error "Percentage has to be smaller than 100"
+ exit
+ fi
+
+
+ if [ $PERCENTAGE = 50 ]
+ then
+ METER="|"
+ else
+ if [[ $PERCENTAGE -lt 50 ]]
+ then
+ METER="\\"
+ else
+ METER="/"
+ fi
+ fi
+
+ for (( i=$LEFT ; $i != 0 ; i-- ))
+ do
+ OUTPUT="$OUTPUT,"
+ done
+
+ OUTPUT="$OUTPUT$METER"
+
+ for (( i=$RIGHT ; $i != 0 ; i-- ))
+ do
+ OUTPUT="$OUTPUT,"
+ done
+
+ OUTPUT=`echo $OUTPUT | sed 's/,/ /g'`
+
+ OUTPUT="[$OUTPUT] $PERCENTAGE%"
+
+ if [ $PERCENTAGE = 100 ]
+ then
+ OUTPUT="$OUTPUT *ding*"
+ fi
+
+ dcop $PORT default say $SERVER "$TARGET" "Beer load $OUTPUT"
+ fi
+fi
diff --git a/konversation/scripts/kdeversion b/konversation/scripts/kdeversion
new file mode 100755
index 0000000..34fef02
--- /dev/null
+++ b/konversation/scripts/kdeversion
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# Prints the KDE version.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+
+kde-config --version | while read line; do dcop $PORT default say $SERVER "$TARGET" "$line"; done
diff --git a/konversation/scripts/mail b/konversation/scripts/mail
new file mode 100755
index 0000000..b5882b1
--- /dev/null
+++ b/konversation/scripts/mail
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+#
+# Licensed under GPL v2 or later at your option
+# Copyright 2005 by John Tapsell <john.tapsell@kdemail.net>
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+
+FOLDER=$4;
+
+
+if [ "$FOLDER" = "" ] ; then
+ FOLDER="inbox"
+fi
+
+
+getmails()
+{
+
+ dcop kmail > /dev/null || {
+ dcop $PORT default info "Sorry kmail is not running"
+ exit
+ }
+
+ for f in $(dcop kmail KMailIface folderList) ; do
+ MAILFOLDER=$(dcop $(dcop kmail KMailIface getFolder $f) "displayPath" | grep -i $FOLDER)
+ if [ "$MAILFOLDER" != "" ] ; then
+ FOUNDFOLDER=1
+ MAILCOUNT=$(dcop $(dcop kmail KMailIface getFolder $f ) "unreadMessages()" )
+ MAILTOTALCOUNT=$(dcop $(dcop kmail KMailIface getFolder $f ) "messages()" )
+ MAILTOTALCOUNT=$(($MAILCOUNT + $MAILTOTALCOUNT))
+ if [[ -z "$MAILCOUNT" ]] ; then MAILCOUNT = "0" ; fi
+ if [ "$MAILCOUNT" != 0 ] ; then
+ FOUNDEMAIL=1
+ echo "Email folder %B$MAILFOLDER%B has %B$MAILCOUNT%B unread messages, out of %B$MAILTOTALCOUNT%B"
+ fi
+ fi
+ done
+
+ if [[ -z "$FOUNDEMAIL" ]] ; then
+ if [[ -z "$FOUNDFOLDER" ]] ; then
+ dcop $PORT default info "No email folders were found that had a name containing '$FOLDER'"
+ exit
+ else
+ echo "No new emails in any folders matching '$FOLDER'"
+ fi
+ fi
+
+}
+
+if [[ -z "$3" ]] ; then
+ echo "Scripts are not meant to be called from the command line."
+ echo "This script should be installed to $KDEDIR/share/apps/konversation/scripts"
+ echo "Then executed with /script from the konversation"
+ echo
+ echo The output is:
+ getmails
+ exit
+fi
+
+#LINECOUNT=$(getmails | wc -l)
+#if [[ "$LINECOUNT" -gt 5 ]] ; then
+# dcop $PORT default info "There are more than 5 matches. Cancelling to avoid flooding the server"
+# exit
+#fi
+
+getmails | head -n 3 | while read line; do dcop $PORT default say $SERVER "$TARGET" "$line"; done
+
diff --git a/konversation/scripts/media b/konversation/scripts/media
new file mode 100755
index 0000000..e369262
--- /dev/null
+++ b/konversation/scripts/media
@@ -0,0 +1,484 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+#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.
+
+# Copyright 2006 Eli J. MacKenzie
+# Inspired by `media` (Copyright 2005 İsmail Dönmez)
+
+
+# If you wish to customize the formatting strings, do so in this table.
+# Do not change the numbers unless you're changing the logic.
+# Title, artist, and album will be set once the player is queried.
+# See Player.format() for how these are used.
+
+
+#Changing these 3 values will likely cause the script to fail
+Title =4
+Artist=2
+Album =1
+
+#To disable self-titled (eponymous) checking, subtract 8
+SelfTitled=11
+
+outputFormat="/me $intro $info [$player]"
+formatStrings = {
+ Title+SelfTitled : "$title by $artist (eponymous)",
+ SelfTitled : "${artist}'s self-titled album",
+ Title+Artist+Album : "$title by $artist on $album", #7,15
+ Title+Artist : "$title by $artist", #6,14
+ Title+Album : "$title from $album", #5,13
+ Album+Artist : "$album by $artist", #3,11
+ Title : "$title", #4,12
+ Artist : "$artist", #2,10
+ Album : "$album", #1,9
+}
+
+#Intro defaults to first type the player supports when a specific type was not demanded
+formatVariables={'audio': 'is listening to', 'video': 'is watching'}
+
+## Static player ranking list
+## If you add a new player, you must add it here or it won't get checked when in audio-only or video-only modes.
+playerRankings= {
+ 'video' :['kaffeine','kmplayer', 'kplayer', 'noatun', 'kdetv'],
+ 'audio' :['amarok', 'MPD' 'juk', 'noatun', 'kscd', 'kaffeine', 'kmplayer', 'Audacious', 'xmms', 'yammi']
+}
+
+## Title, album and artist fields to be quoted depending on contents
+# List the possible trigger characters here.
+# If you want a '-', it must be first. if you want a '^', it must be last.
+SIMPLE_FIXUP = '' #I use ' '
+
+# If you want to use a regex for the above, specify it here in which case it will be used
+REGEX_FIXUP = ''
+
+# Quote chars to use:
+QUOTE_BEFORE = '"'
+QUOTE_AFTER = '"'
+
+
+ ###############################
+ ## The Real work is done below
+#############################
+
+import os
+import sys
+import re
+import string
+
+try:
+ APP_ID = sys.argv[1]
+ IRC_SERVER = sys.argv[2]
+ TARGET = sys.argv[3]
+except IndexError:
+ print >>sys.stderr, "This script is intended to be run from within Konversation."
+ sys.exit(0)
+
+if (sys.hexversion >> 16) < 0x0204:
+ err="The media script requires Python 2.4."
+ os.popen('dcop %s default error "%s"' %(APP_ID,err))
+ sys.exit(err)
+
+import subprocess
+
+# Python 2.5 has this ...
+try:
+ any(())
+except NameError:
+ def any(data):
+ """Return true of any of the items in the sequence 'data' are true.
+
+ (ie non-zero or not empty)"""
+ try:
+ return reduce(lambda x,y: bool(x) or bool(y), data)
+ except TypeError:
+ return False
+
+def tell(data, feedback='info'):
+ """Report back to the user"""
+ l=['dcop', APP_ID, 'default', feedback]
+ if type(data) is type(''):
+ l.append(data)
+ else:
+ l.extend(data)
+ subprocess.Popen(l).communicate()
+
+class Player(object):
+ def __init__(self, display_name, playerType=None):
+ if playerType is None:
+ self.type = "audio"
+ else:
+ self.type=playerType
+ self.displayName=display_name
+ self.running = False
+ d={}
+ d.update(formatVariables)
+ d['player']=self.displayName
+ self._format = d
+
+ def get(self, mode):
+ data=self.getData()
+ if any(data):
+ self._format['info']=self.format(*data)
+ if mode and mode != self.displayName:
+ self._format['intro']=self._format[mode]
+ else:
+ self._format['intro']=self._format[self.type.replace(',','').split()[0]]
+ return string.Template(outputFormat).safe_substitute(self._format)
+ return ''
+
+ def format(self, title='', artist='', album=''):
+ """Return a 'pretty-printed' info string for the track.
+
+ Uses formatStrings from above."""
+ #Update args last to prevent non-sensical override in formatVariables
+ x={'title':title, 'artist':artist, 'album':album}
+ if FIXUP:
+ for i,j in x.items():
+ if re.search(FIXUP,j):
+ x[i]='%s%s%s'%(QUOTE_BEFORE,j,QUOTE_AFTER)
+ self._format.update(x)
+ n=0
+ if title:
+ n|=4 #Still binary to make you read the code ;p
+ if artist:
+ if artist == album:
+ n|=SelfTitled
+ else:
+ n|=2
+ if album:
+ n|=1
+ if n:
+ return string.Template(formatStrings[n]).safe_substitute(self._format)
+ return ''
+
+ def getData(self):
+ """Implement this to do the work"""
+ return ''
+
+ def reEncodeString(self, input):
+ if input:
+ try:
+ input = input.decode('utf-8')
+ except UnicodeError:
+ try:
+ input = input.decode('latin-1')
+ except UnicodeError:
+ input = input.decode('ascii', 'replace')
+ except NameError:
+ pass
+ return input.encode('utf-8')
+
+ def test_format(self, title='', artist='', album=''):
+ s=[]
+ l=["to","by","on"]
+ if title:
+ s.append(title)
+ else:
+ album,artist=artist,album
+ l.pop()
+ if artist:
+ s.append(artist)
+ else:
+ del l[1]
+ if album:
+ s.append(album)
+ else:
+ l.pop()
+ t=["is listening"]
+ while l:
+ t.append(l.pop(0))
+ t.append(s.pop(0))
+ return ' '.join(t)
+
+ def isRunning(self):
+ return self.running
+
+class DCOPPlayer(Player):
+ def __init__(self, display_name, service_name, getTitle='', getArtist='', getAlbum='',playerType=None):
+ Player.__init__(self, display_name, playerType)
+ self.serviceName=service_name
+ self._title=getTitle
+ self._artist=getArtist
+ self._album=getAlbum
+ self.DCOP=""
+
+ def getData(self):
+ self.getService()
+ return (self.grab(self._title), self.grab(self._artist), self.grab(self._album))
+
+ def getService(self):
+ if self.DCOP:
+ return self.DCOP
+ running = re.findall('^' + self.serviceName + "(?:-\\d*)?$", DCOP_ITEMS, re.M)
+ if type(running) is list:
+ try:
+ running=running[0]
+ except IndexError:
+ running=''
+ self.DCOP=running.strip()
+ self.running=bool(self.DCOP)
+ return self.DCOP
+
+ def grab(self, item):
+ if item and self.isRunning():
+ return self.reEncodeString(os.popen("dcop %s %s"%(self.DCOP, item)).readline().rstrip('\n'))
+ return ''
+
+ def isRunning(self):
+ self.getService()
+ return self.running
+
+class AmarokPlayer(DCOPPlayer):
+ def __init__(self):
+ DCOPPlayer.__init__(self,'Amarok','amarok','player title','player artist','player album')
+
+ def getData(self):
+ data=DCOPPlayer.getData(self)
+ if not any(data):
+ data=(self.grab('player nowPlaying'),'','')
+ if not data[0]:
+ return ''
+ return data
+
+#class Amarok2Player(Player):
+# def __init__(self):
+# Player.__init__(self, 'Amarok2', 'audio')
+# self.isRunning()
+#
+# def getData(self):
+# playing=os.popen("qdbus org.mpris.amarok /Player PositionGet").readline().strip() != "0"
+# if playing and self.isRunning():
+# for line in os.popen("qdbus org.mpris.amarok /Player GetMetadata").readlines():
+# if re.match("^title", line):
+# title=self.reEncodeString(line.strip().split(None,1)[1])
+# if re.match("^artist", line):
+# artist=self.reEncodeString(line.strip().split(None,1)[1])
+# if re.match("^album", line):
+# album=self.reEncodeString(line.strip().split(None,1)[1])
+# return (title, artist, album)
+# else:
+# return ''
+#
+# def isRunning(self):
+# qdbus_items=subprocess.Popen(['qdbus'], stdout=subprocess.PIPE).communicate()[0]
+# running=re.findall('^ org.mpris.amarok$', qdbus_items, re.M)
+# if type(running) is list:
+# try:
+# running=running[0]
+# except IndexError:
+# running=''
+# self.running=bool(running.strip())
+# return self.running
+
+import socket
+
+class MPD(Player):
+ def __init__(self, display_name):
+ Player.__init__(self, display_name)
+
+ self.host = "localhost"
+ self.port = 6600
+ self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.sock.settimeout(0.5)
+
+ try:
+ self.sock.connect((self.host, self.port))
+ # just welcome message, we don't need it
+ self.sock.recv(1024)
+ self.running = True
+ except socket.error:
+ self.running = False
+
+ def getData(self):
+ if not self.running:
+ return ''
+ try:
+ self.sock.send("currentsong\n")
+ data = self.sock.recv(1024)
+ except socket.error:
+ return ''
+
+ # mpd sends OK always, so if nothing to show, we should seek for at least 3 chars
+ if len(data) < 4:
+ return ''
+ else:
+ # if there is Artist, Title and Album, get it
+ data=data.splitlines()
+ d={}
+ for i in data:
+ if ':' not in i:
+ continue
+ k,v=i.split(':',1)
+ d[k.lower()]=self.reEncodeString(v.strip())
+ data=(d.get('title',''),d.get('artist',''),d.get('album',''))
+ if not any(data):
+ return d.get('file','')
+ return data
+
+class StupidPlayer(DCOPPlayer):
+ def getData(self):
+ data=DCOPPlayer.getData(self)[0]
+ if data:
+ if data.startswith('URL'):
+ # KMPlayer window titles in the form of "URL - file:///path/to/<media file> - KMPlayer"
+ data=data.split(None,2)[2].rsplit(None,2)[0].rsplit('/')[-1]
+ else:
+ # KPlayer window titles in the form of "<media file> - KPlayer"
+ data=data.rsplit(None,2)[0]
+ return (data,'','')
+ return ''
+
+try:
+ import xmms.common
+ class XmmsPlayer(Player):
+ def __init__(self, display_name):
+ Player.__init__(self, display_name)
+
+ def isRunning(self):
+ self.running = xmms.control.is_running()
+ return self.running
+
+ def getData(self):
+ if self.isRunning() and xmms.control.is_playing():
+ # get the position in the playlist for current playing track
+ index = xmms.control.get_playlist_pos();
+ # get the title of the currently playing track
+ return (self.reEncodeString(xmms.control.get_playlist_title(index)),'','')
+ return ''
+
+except ImportError:
+ XmmsPlayer=Player
+
+class AudaciousPlayer(Player):
+ def __init__(self, display_name):
+ Player.__init__(self, display_name)
+
+ def isRunning(self):
+ self.running = not os.system('audtool current-song')
+ return self.running
+
+ def getData(self):
+ if self.isRunning() and not os.system('audtool playback-playing'):
+ # get the title of the currently playing track
+ data = os.popen('audtool current-song').read().strip()
+ data_list = data.split(' - ')
+ list_length = len(data_list)
+ if list_length == 1:
+ return (self.reEncodeString(data_list[0]),'','')
+ elif list_length == 3:
+ return (self.reEncodeString(data_list[-1]),data_list[0],data_list[1])
+ else:
+ return (self.reEncodeString(data),'','')
+ else:
+ return ''
+
+
+def playing(playerList, mode=None):
+ for i in playerList:
+ s=i.get(mode)
+ if s:
+ tell([IRC_SERVER, TARGET, s], 'say' )
+ return 1
+ return 0
+
+def handleErrors(playerList, kind):
+ if kind:
+ kind=kind.strip()
+ kind=kind.center(len(kind)+2)
+ else:
+ kind= ' supported '
+ x=any([i.running for i in playerList])
+ if x:
+ l=[i.displayName for i in playerList if i.isRunning()]
+ err= "Nothing is playing in %s."%(', '.join(l))
+ else:
+ err= "No%splayers are running."%(kind,)
+ tell(err,'error')
+
+def run(kind):
+ if not kind:
+ kind = ''
+ play=PLAYERS
+ else:
+ if kind in ['audio', 'video']:
+ unsorted=dict([(i.displayName.lower(),i) for i in PLAYERS if kind in i.type])
+ play=[unsorted.pop(i.lower(),Player("ImproperlySupported")) for i in playerRankings[kind]]
+ if len(unsorted):
+ play.extend(unsorted.values())
+ else:
+ play=[i for i in PLAYERS if i.displayName.lower() == kind]
+ try:
+ kind=play[0].displayName
+ except IndexError:
+ tell("%s is not a supported player."%(kind,),'error')
+ sys.exit(0)
+
+ if not playing(play, kind):
+ handleErrors(play, kind)
+
+
+#It would be so nice to just keep this pipe open and use it for all the dcop action,
+#but of course you're supposed to use the big iron (language bindings) instead of
+#the command line tools. One could consider `dcop` the bash dcop language binding,
+#but of course when using shell you don't need to be efficient at all, right?
+
+DCOP_ITEMS=subprocess.Popen(['dcop'], stdout=subprocess.PIPE).communicate()[0] #re.findall("^amarok(?:-\\d*)?$",l,re.M)
+
+# Add your new players here. No more faulty logic due to copy+paste.
+
+PLAYERS = [
+AmarokPlayer(),
+DCOPPlayer("JuK","juk","Player trackProperty Title","Player trackProperty Artist","Player trackProperty Album"),
+DCOPPlayer("Noatun",'noatun',"Noatun title",playerType='audio, video'),
+DCOPPlayer("Kaffeine","kaffeine","KaffeineIface title","KaffeineIface artist","KaffeineIface album",playerType='video, audio'),
+StupidPlayer("KMPlayer","kmplayer","kmplayer-mainwindow#1 caption",playerType="video audio"),
+StupidPlayer("KPlayer","kplayer","kplayer-mainwindow#1 caption",playerType="video audio"),
+DCOPPlayer("KsCD","kscd","CDPlayer currentTrackTitle","CDPlayer currentArtist","CDPlayer currentAlbum"),
+DCOPPlayer("kdetv","kdetv","KdetvIface channelName",playerType='video'),
+AudaciousPlayer('Audacious'), XmmsPlayer('XMMS'),
+DCOPPlayer("Yammi","yammi","YammiPlayer songTitle","YammiPlayer songArtist","YammiPlayer songAlbum"),
+MPD('MPD')
+]
+
+# Get rid of players that didn't get subclassed so they don't appear in the available players list
+for i in PLAYERS[:]:
+ if type(i) is Player:
+ PLAYERS.remove(i)
+
+if REGEX_FIXUP:
+ FIXUP=REGEX_FIXUP
+elif SIMPLE_FIXUP:
+ FIXUP="[%s]"%(SIMPLE_FIXUP)
+else:
+ FIXUP=''
+
+# It all comes together right here
+if __name__=="__main__":
+
+ if not TARGET:
+ s="""media v2.0.1 for Konversation 1.0. One media command to rule them all, inspired from Kopete's now listening plugin.
+Usage:
+ "\00312/media\017" - report what the first player found is playing
+ "\00312/media\017 [ '\00312audio\017' | '\00312video\017' ]" - report what is playing in a supported audio or video player
+ "\00312/media\017 { \00312Player\017 }" - report what is playing in \00312Player\017 if it is supported
+
+ Available players are:
+ """ + ', '.join([("%s (%s)"%(i.displayName,i.type)) for i in PLAYERS])
+
+ for i in s.splitlines():
+ tell(i)
+ #tell("%s"%(len(s.splitlines()),))
+ # called from the server tab
+ pass
+ else:
+ try:
+ kind = sys.argv[4].lower()
+ except IndexError:
+ kind = None
+
+ run(kind)
+
diff --git a/konversation/scripts/sayclip b/konversation/scripts/sayclip
new file mode 100755
index 0000000..06b8234
--- /dev/null
+++ b/konversation/scripts/sayclip
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# Prints the contents of the clipbaord into Konversation with flood protection.
+# Klipper must be running.
+# Usage: /exec sayclip [pause-time]
+# Pause time defaults to 1 second.
+# By Gary Cramblitt (garycramblitt@comcast.net)
+# Use however you wish.
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+PAUSETIME="1s";
+if [ -n "$4" ]
+then
+ PAUSETIME="$4"
+fi
+
+dcop klipper klipper getClipboardContents | while read line; do dcop $PORT default say $SERVER "$TARGET" " $line"; sleep $PAUSETIME; done
diff --git a/konversation/scripts/sysinfo b/konversation/scripts/sysinfo
new file mode 100644
index 0000000..d2b3851
--- /dev/null
+++ b/konversation/scripts/sysinfo
@@ -0,0 +1,86 @@
+#!/bin/sh
+#
+# Licensed under GPL v2 or later at your option
+# Copyright 2004 by Michiel de Boer <infobash@rebelhomicide.demon.nl>
+# Copyright 2006 by Emil Obermayr <nobs@tigress.com>
+#
+# this version is stripped down to no-color
+#
+# get full original version at http://rebelhomicide.demon.nl/scripts/
+
+PORT=$1;
+SERVER=$2;
+TARGET=$3;
+
+export LC_ALL="C"
+
+HN="$(hostname)"
+OSKERN="$(uname -s) $(uname -r)"
+if [ "$KDE_FULL_SESSION" = "true" ]; then
+ if [ "$KDE_SESSION_VERSION" = 4 ]; then
+ KDE="$(kde4-config --version | sed -n '2p' | sed 's/://;s/ *$//')"
+ else
+ KDE="$(kde-config --version | sed -n '2p' | sed 's/://;s/ *$//')"
+ fi
+fi
+
+CPU=$(awk -F':' '/model name/{name=$2}
+ /cpu MHz/{mhz=int($2)}
+ /bogomips/ {bogo=int($2)
+}
+END{
+ gsub (/ *\(tm\) */, " ", name);
+ gsub (/ *\(TM\) */, " ", name);
+ gsub (/ *Processor */, " ", name);
+ gsub (/ *$/, "", name);
+ gsub (/^ */, "", name);
+ printf "CPU: %s at %d MHz (%d bogomips)", name, mhz, bogo;
+}
+' /proc/cpuinfo )
+
+HDD=$(df -lP| awk '($1~/\/dev/){
+ use+=$3/1024^2;
+ tot+=$2/1024^2;
+ }
+ END{print "HD: " int(use) "/" int(tot) "GB"}')
+
+MEM=$(awk '($1=="MemTotal:"){tot=int($2/1024)}
+ ($1=="MemFree:"){free=int($2/1024)}
+ END{
+use=tot-free
+print "RAM: " use "/" tot "MB"}
+' /proc/meminfo)
+
+PROC="$(($(ps aux | wc -l)-1))"
+
+UPT=$(awk '{u="s";
+n=$1;
+if (n>60){
+ n2=n%60;
+ n/=60;
+ u="min";
+ if (n>60){
+ n2=n%60;
+ n/=60;
+ u="h";
+ if (n>24){
+ n2=n%24;
+ n/=24;
+ u="d";
+ }
+ }
+ }
+printf ("%d.%d%s up",n, n2, u);
+}' /proc/uptime )
+
+out="Sysinfo for '$HN': $OSKERN running $KDE, $CPU, $HDD, $MEM, $PROC proc's, ${UPT}"
+
+if [ "x$PORT" = "x" ] ; then
+ echo "$out"
+else
+ if [ "x$TARGET" = "x" ] ; then
+ dcop $PORT default error "$out"
+ else
+ dcop $PORT default say $SERVER "$TARGET" "$out"
+ fi
+fi
diff --git a/konversation/scripts/tinyurl b/konversation/scripts/tinyurl
new file mode 100755
index 0000000..14efde9
--- /dev/null
+++ b/konversation/scripts/tinyurl
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+#
+# Creates a TinyURL from a long URL
+# Licensed under GPL v2 or later at your option
+# Copyright 2007 Terence Simpson
+
+PORT=$1
+SERVER=$2
+TARGET=$3
+export URL="$4"
+NICK="$5"
+
+if test ! -z $URL; then
+ if test $(which curl); then
+ TINYURL="$(curl -s -i http://tinyurl.com/create.php?url=$URL|grep "The following URL" -A3|tail -1|awk -F\> '{print $3}'|sed 's,</b,,')"
+ else
+ TINYURL="$(wget -T10 -t2 -qO- http://tinyurl.com/create.php?url=$URL|grep "The following URL" -A3|tail -1|awk -F\> '{print $3}'|sed 's,</b,,')"
+ fi
+else dcop $PORT default error "No url given: usage is \"/tinyurl URL [NickName]\""
+ exit 1
+fi
+
+if test -z $TINYURL; then
+ dcop $PORT default error "Unable run tinyurl script, please make sure you have curl or wget installed"
+else
+ if test ! -z $NICK; then
+ dcop $PORT default say $SERVER "$TARGET" "${NICK}: $TINYURL"
+ else
+ dcop $PORT default say $SERVER "$TARGET" "$TINYURL"
+ fi
+fi
diff --git a/konversation/scripts/uptime b/konversation/scripts/uptime
new file mode 100755
index 0000000..8c25cfd
--- /dev/null
+++ b/konversation/scripts/uptime
@@ -0,0 +1,56 @@
+#!/usr/bin/env perl
+
+# Uptime script for Konversation
+# made by Magnus Romnes (gromnes@online.no)
+# The script might be uncompatible with other unix variants than linux.
+# only tested on Debian GNU/Linux Sid
+# use the code for whatever you wish :-)
+
+
+$PORT = shift;
+$SERVER = shift;
+$TARGET = shift;
+
+$PLATFORM = `uname -s`;
+chomp($PLATFORM);
+if($PLATFORM eq "FreeBSD") {
+ $BOOTTIME = `sysctl kern.boottime`;
+ $BOOTTIME =~ s/.* sec = ([0-9]+).*/\1/;
+ $TIMENOW = `date +%s`;
+ $seconds = $TIMENOW - $BOOTTIME;
+} else {
+ $UPTIME = `cat /proc/uptime`;
+ if (not $UPTIME) {
+ exec 'dcop', $PORT, 'default', 'info', 'Could not read uptime. Check that /proc/uptime exists.';
+ }
+ @uparray = split(/\./, $UPTIME);
+ $seconds = $uparray[0];
+}
+
+if($seconds >= 86400)
+{
+ $days = int($seconds/86400);
+ $seconds = $seconds-($days*86400);
+}
+if($seconds >= 3600)
+{
+ $hours = int($seconds/3600);
+ $seconds = $seconds-($hours*3600);
+}
+if($seconds > 60)
+{
+ $minutes = int($seconds/60);
+}
+if( $days && $hours ) {
+ exec 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, "Uptime: $days days, $hours hours and $minutes minutes";
+}
+elsif( !$days && $hours ) {
+ exec 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, "Uptime: $hours hours and $minutes minutes";
+}
+elsif( $days && !$hours ) {
+ exec 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, "Uptime: $days days and $minutes minutes";
+}
+elsif( !$days && !$hours ) {
+ exec 'dcop', $PORT, 'default', 'say', $SERVER, $TARGET, "Uptime: $minutes minutes";
+}
+
diff --git a/konversation/scripts/weather b/konversation/scripts/weather
new file mode 100755
index 0000000..5d3dafb
--- /dev/null
+++ b/konversation/scripts/weather
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright 2005,2007 by İsmail Dönmez <ismail@pardus.org.tr>
+# Licensed under GPL v2 or later at your option
+
+import sys
+from subprocess import *
+
+port = sys.argv[1]
+server = sys.argv[2]
+target = sys.argv[3]
+
+msg_template = "Current weather for %%B%s%%B : Temperature: %%B%s%%B, Pressure: %%B%s%%B, Wind: %%B%s%%B"
+msg_detailed_template = "Current weather for %%B%s%%B : %%B%s%%B, Temperature: %%B%s%%B, Pressure: %%B%s%%B, Wind: %%B%s%%B"
+
+def printMessage(message=None):
+ Popen(['dcop', port, 'default', 'say', server, target, message]).communicate()
+
+def printError(message=None):
+ Popen(['dcop', port, 'default', 'error', message]).communicate()
+
+def getData(section, station=None):
+ if station:
+ data = Popen(['dcop','KWeatherService','WeatherService', section, station], stdout=PIPE).communicate()[0].rstrip("\n")
+ else:
+ data = Popen(['dcop','KWeatherService','WeatherService', section], stdout=PIPE).communicate()[0].rstrip("\n")
+
+ return data
+
+def stationMessage(station):
+ city = getData("stationName", station)
+ temperature = getData("temperature", station)
+ pressure = getData("pressure", station)
+ wind = getData("wind", station)
+ detail = getData("weather", station)
+ detail2 = getData("cover", station)
+
+ if detail2:
+ if detail:
+ detail = detail+', '+detail2
+ else:
+ detail = detail2
+
+ if detail:
+ return msg_detailed_template % (city,detail,temperature,pressure,wind)
+ else:
+ return msg_template % (city,temperature,pressure,wind)
+
+def printWeather(index):
+ stations = getData("listStations").split("\n")
+
+ if index != None:
+ if index <= 0:
+ printError("Station index should be bigger than zero!")
+ elif index > len(stations):
+ printError("Station index is out of range")
+ else:
+ printMessage(stationMessage(stations[index-1]))
+ else:
+ for station in stations:
+ printMessage(stationMessage(station))
+
+if __name__ == "__main__":
+ try:
+ index = int(sys.argv[4])
+ except IndexError:
+ index = None
+
+ printWeather(index)
diff --git a/konversation/src/Makefile.am b/konversation/src/Makefile.am
new file mode 100644
index 0000000..ee2fb29
--- /dev/null
+++ b/konversation/src/Makefile.am
@@ -0,0 +1,73 @@
+SUBDIRS = config linkaddressbook blowfish .
+
+METASOURCES = AUTO
+
+bin_PROGRAMS = konversation
+
+konversation_SOURCES = konviface.skel konviconfigdialog.cpp konversationstatusbar.cpp \
+ konvisettingsdialog.cpp viewcontainer.cpp viewtree.cpp viewtreeitem.cpp konversationmainwindow.cpp \
+ valuelistviewitem.cpp urlcatcher.cpp scriptlauncher.cpp rawlog.cpp konvdcop.cpp channellistpanel.cpp \
+ konsolepanel.cpp identity.cpp statuspanel.cpp dccrecipientdialog.cpp topiccombobox.cpp nicksonline.cpp \
+ dcctransferpanel.cpp dcctransferpanelitem.cpp highlight.cpp highlightviewitem.cpp modebutton.cpp \
+ ignore_preferencesui.ui ignore_preferences.cpp ignore.cpp nicklistview.cpp ircinput.cpp \
+ channeloptionsui.ui channeloptionsdialog.cpp ignorelistviewitem.cpp images.cpp quickbutton.cpp \
+ chatwindow.cpp outputfilter.cpp logfilereader.cpp query.cpp konversationapplication.cpp nick.cpp \
+ inputfilter.cpp channel.cpp ircview.cpp server.cpp main.cpp dcc_preferencesui.ui log_preferences.ui \
+ tabs_preferencesui.ui tabs_preferences.cpp chatwindowappearance_preferences.ui irccolorchooserui.ui \
+ colorsappearance_preferences.ui irccolorchooser.cpp channellistviewitem.cpp osd.cpp trayicon.cpp \
+ dccchat.cpp multilineedit.cpp nickinfo.cpp dccresumedialog.cpp konversationsound.cpp quickconnectdialog.cpp \
+ serverlistdialog.cpp dcctransfersend.cpp dcctransferrecv.cpp channelnick.cpp insertchardialog.cpp \
+ irccharsets.cpp editnotifydialog.cpp common.cpp serverison.cpp sslsocket.cpp servergroupsettings.cpp \
+ serversettings.cpp servergroupdialog.cpp ssllabel.cpp serverdialog.cpp channeldialog.cpp identitydialog.cpp \
+ topiclabel.cpp notificationhandler.cpp joinchannelui.ui joinchanneldialog.cpp emoticon.cpp \
+ chatwindowbehaviour_preferences.ui alias_preferencesui.ui osd_preferencesui.ui theme_preferencesui.ui \
+ highlight_preferencesui.ui warnings_preferencesui.ui warnings_preferences.cpp quickbuttons_preferencesui.ui \
+ watchednicknames_preferencesui.ui generalbehavior_preferences.ui connectionbehavior_preferences.ui \
+ fontappearance_preferences.ui nicklistbehavior_preferencesui.ui konvibookmarkhandler.cpp konvibookmarkmenu.cpp \
+ ircviewbox.cpp searchbar.cpp osd_preferences.cpp theme_preferences.cpp dcc_preferences.cpp \
+ alias_preferences.cpp highlight_preferences.cpp watchednicknames_preferences.cpp quickbuttons_preferences.cpp \
+ nicklistbehavior_preferences.cpp tabnotifications_preferences.ui multilinetextedit.cpp serverlistview.cpp \
+ nicksonlineitem.cpp searchbarbase.ui autoreplace_preferencesui.ui autoreplace_preferences.cpp \
+ servergroupdialogui.ui dcctransfer.cpp dcctransfermanager.cpp dcctransferdetailedinfopanelui.ui \
+ dcctransferdetailedinfopanel.cpp dcccommon.cpp queuetunerbase.ui queuetuner.cpp ircqueue.cpp \
+ connectionsettings.cpp connectionmanager.cpp awaymanager.cpp
+
+konversation_COMPILE_FIRST = config/preferences_base.h
+konversation_LDADD = $(LIB_KIO) $(LIB_XSS) $(LIB_KABC) $(LIB_KIMIFACE) linkaddressbook/liblinkaddressbookui.la blowfish/libblowfish.la config/libkonversationconfig.la
+
+xdg_apps_DATA = konversation.desktop
+
+# set the include path for X, qt and KDE
+INCLUDES= -Ilinkaddressbook -I$(srcdir)/linkaddressbook -Iblowfish -I$(srcdir)/blowfish\
+ -Iconfig -I$(srcdir)/config $(all_includes)
+# the library search path.
+konversation_LDFLAGS = $(all_libraries) $(KDE_RPATH)
+
+rcdir = $(kde_datadir)/konversation
+rc_DATA = konversationui.rc eventsrc
+
+kdelnk_DATA = konvirc.protocol konvirc6.protocol
+kdelnkdir = $(kde_servicesdir)
+
+updatedir = $(kde_datadir)/kconf_update
+update_DATA = konversation.upd
+update_SCRIPTS = konversation-0.19-colors.pl konversation-0.19-sortorder.pl konversation-0.19-appearance.pl \
+ konversation-0.19-tabplacement.pl konversation-0.19-custombrowser.pl \
+ konversation-0.19-colorcodes.pl konversation-0.19-notifylists.pl \
+ konversation-0.20-quickbuttons.pl konversation-0.20-customfonts.pl
+
+messages: rc.cpp
+ LIST=`find . -name \*.h -o -name \*.hh -o -name \*.H -o -name \*.hxx -o -name \*.hpp -o -name \*.cpp -o -name \*.cc -o -name \*.cxx -o -name \*.ecpp -o -name \*.C`; \
+ if test -n "$$LIST"; then \
+ $(XGETTEXT) $$LIST -o $(podir)/konversation.pot; \
+ fi
+
+noinst_HEADERS = serverlistdialog.h dcctransfersend.h dcctransferrecv.h \
+ insertchardialog.h editnotifydialog.h serverison.h \
+ servergroupsettings.h serversettings.h servergroupdialog.h serverdialog.h channeldialog.h \
+ identitydialog.h topiclabel.h channeloptionsdialog.h joinchanneldialog.h \
+ highlight_preferences.h watchednicknames_preferences.h quickbuttons_preferences.h \
+ nicklistbehavior_preferences.h konvisettingspage.h nicksonlineitem.h
+
+# User might still have these in src/ instead of src/config, so remove these in that case
+CLEANFILES = preferences_base.h preferences_base.cpp watchednicknamesconfigcontroller.*
diff --git a/konversation/src/alias_preferences.cpp b/konversation/src/alias_preferences.cpp
new file mode 100644
index 0000000..ed3498e
--- /dev/null
+++ b/konversation/src/alias_preferences.cpp
@@ -0,0 +1,223 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#include "alias_preferences.h"
+#include "config/preferences.h"
+
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qheader.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <klineedit.h>
+#include <klistview.h>
+
+
+Alias_Config::Alias_Config(QWidget* parent, const char* name)
+ : Alias_ConfigUI(parent, name)
+{
+ // reset flag to defined state (used to block signals when just selecting a new item)
+ m_newItemSelected = false;
+
+ // populate listview
+ loadSettings();
+
+ // make items react to drag & drop
+ aliasListView->setSorting(-1,false);
+ aliasListView->header()->setMovingEnabled(false);
+
+ connect(aliasListView, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(entrySelected(QListViewItem*)));
+ connect(aliasListView, SIGNAL(clicked(QListViewItem*)), this, SLOT(entrySelected(QListViewItem*)) );
+ connect(aliasListView, SIGNAL(moved()), this, SIGNAL(modified()));
+
+ connect(aliasInput, SIGNAL(textChanged(const QString&)), this, SLOT(nameChanged(const QString&)));
+ connect(replacementInput, SIGNAL(textChanged(const QString&)), this, SLOT(actionChanged(const QString&)));
+
+ connect(newButton, SIGNAL(clicked()), this, SLOT(addEntry()));
+ connect(removeButton, SIGNAL(clicked()), this, SLOT(removeEntry()));
+}
+
+Alias_Config::~Alias_Config()
+{
+}
+
+void Alias_Config::loadSettings()
+{
+ setAliasListView(Preferences::aliasList());
+}
+
+void Alias_Config::saveSettings()
+{
+ QStringList newList=currentAliasList();
+ Preferences::setAliasList(newList);
+
+ // saved list is now old list, to check for changes
+ m_oldAliasList=newList;
+}
+
+void Alias_Config::restorePageToDefaults()
+{
+ aliasListView->clear();
+ setAliasListView(Preferences::defaultAliasList());
+}
+
+bool Alias_Config::hasChanged()
+{
+ return (currentAliasList() != m_oldAliasList);
+}
+
+void Alias_Config::setAliasListView(const QStringList& aliasList)
+{
+ aliasListView->clear();
+
+ // Insert alias items backwards to get them sorted properly
+ for(int index=aliasList.count(); index!=0; index--)
+ {
+ QString item=aliasList[index-1];
+ new KListViewItem(aliasListView,item.section(' ',0,0),item.section(' ',1));
+ }
+
+ aliasListView->setSelected(aliasListView->firstChild(), true);
+ // remember alias list
+ m_oldAliasList=aliasList;
+}
+
+QStringList Alias_Config::currentAliasList()
+{
+ QStringList newList;
+
+ QListViewItem* item=aliasListView->itemAtIndex(0);
+ while(item)
+ {
+ newList.append(item->text(0)+' '+item->text(1));
+ item=item->itemBelow();
+ }
+ return newList;
+}
+
+// what to do when the user selects an item
+void Alias_Config::entrySelected(QListViewItem* aliasEntry)
+{
+ // play it safe, assume disabling all widgets first
+ bool enabled = false;
+
+ // check if there really was an item selected
+ if (aliasEntry)
+ {
+ // remember to enable the editing widgets
+ enabled = true;
+ // tell the editing widgets not to emit modified() on signals now
+ m_newItemSelected = true;
+ // update editing widget contents
+ aliasInput->setText(aliasEntry->text(0));
+ replacementInput->setText(aliasEntry->text(1));
+ // re-enable modified() signal on text changes in edit widgets
+ m_newItemSelected = false;
+ }
+ // enable or disable editing widgets
+ removeButton->setEnabled(enabled);
+ aliasLabel->setEnabled(enabled);
+ aliasInput->setEnabled(enabled);
+ replacementLabel->setEnabled(enabled);
+ replacementInput->setEnabled(enabled);
+}
+
+// what to do when the user change the name of a quick button
+void Alias_Config::nameChanged(const QString& newName)
+{
+ // get possible first selected item
+ QListViewItem* item = aliasListView->selectedItem();
+
+ // sanity check
+ if (item)
+ {
+ // rename item
+ item->setText(0,newName);
+ // tell the config system that something has changed
+ if (!m_newItemSelected) emit modified();
+ }
+}
+
+// what to do when the user change the action definition of a quick button
+void Alias_Config::actionChanged(const QString& newAction)
+{
+ // get possible first selected item
+ QListViewItem* item = aliasListView->selectedItem();
+
+ // sanity check
+ if (item)
+ {
+ // rename item
+ item->setText(1,newAction);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// add button pressed
+void Alias_Config::addEntry()
+{
+ // add new item at the bottom of list view
+ KListViewItem* newItem = new KListViewItem(aliasListView,aliasListView->lastChild(),i18n("New"),QString());
+ // if successful ...
+ if (newItem)
+ {
+ // select new item and make it the current one
+ aliasListView->setSelected(newItem,true);
+ aliasListView->setCurrentItem(newItem);
+ // set input focus on item name edit
+ aliasInput->setFocus();
+ // select all text to make overwriting easier
+ aliasInput->selectAll();
+ // tell the config system that something has changed
+ emit modified();
+ }
+}
+
+// remove button pressed
+void Alias_Config::removeEntry()
+{
+ // get possible first selected item
+ QListViewItem* item = aliasListView->selectedItem();
+
+ // sanity check
+ if (item)
+ {
+ // get item below the current one
+ QListViewItem* nextItem = item->itemBelow();
+ // if there was none, get the one above
+ if(!nextItem) nextItem = item->itemAbove();
+
+ // remove the item from the list
+ delete item;
+
+ // check if we found the next item
+ if (nextItem)
+ {
+ // select the item and make it the current ite,
+ aliasListView->setSelected(nextItem,true);
+ aliasListView->setCurrentItem(nextItem);
+ }
+ else
+ {
+ // no next item found, this means the list is empty
+ entrySelected(0);
+ }
+ // tell the config system that somethig has changed
+ emit modified();
+ }
+}
+
+#include "alias_preferences.moc"
diff --git a/konversation/src/alias_preferences.h b/konversation/src/alias_preferences.h
new file mode 100644
index 0000000..4f1cfff
--- /dev/null
+++ b/konversation/src/alias_preferences.h
@@ -0,0 +1,51 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef EXALIASPREFERENCES_H
+#define EXALIASPREFERENCES_H
+
+#include "alias_preferencesui.h"
+#include "konvisettingspage.h"
+
+class Alias_Config : public Alias_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Alias_Config(QWidget* parent, const char* name = 0);
+ ~Alias_Config();
+
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void entrySelected(QListViewItem* aliasEntry);
+ void nameChanged(const QString& newName);
+ void actionChanged(const QString& newAction);
+ void addEntry();
+ void removeEntry();
+
+ protected:
+ void setAliasListView(const QStringList& aliasList);
+
+ bool m_newItemSelected;
+
+ QStringList m_oldAliasList;
+ QStringList currentAliasList();
+};
+
+#endif
diff --git a/konversation/src/alias_preferencesui.ui b/konversation/src/alias_preferencesui.ui
new file mode 100644
index 0000000..2e144cc
--- /dev/null
+++ b/konversation/src/alias_preferencesui.ui
@@ -0,0 +1,174 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Alias_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Alias_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>292</width>
+ <height>206</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>aliasLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Alias:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>replacementLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Replacement:</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="0" column="1">
+ <property name="name">
+ <cstring>aliasInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>replacementInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="KListView" row="0" column="0">
+ <column>
+ <property name="text">
+ <string>Alias</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Replacement</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>aliasListView</cstring>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="hScrollBarMode">
+ <enum>Auto</enum>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>true</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>layout8</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New...</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer18</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>350</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </grid>
+</widget>
+<tabstops>
+ <tabstop>aliasListView</tabstop>
+ <tabstop>aliasInput</tabstop>
+ <tabstop>replacementInput</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klistview.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/autoreplace_preferences.cpp b/konversation/src/autoreplace_preferences.cpp
new file mode 100644
index 0000000..67fd9cd
--- /dev/null
+++ b/konversation/src/autoreplace_preferences.cpp
@@ -0,0 +1,403 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "autoreplace_preferences.h"
+#include "config/preferences.h"
+
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qcombobox.h>
+#include <qheader.h>
+#include <qtooltip.h>
+#include <qdialog.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <klineedit.h>
+#include <klistview.h>
+#include <kparts/componentfactory.h>
+#include <kregexpeditorinterface.h>
+
+#define DIRECTION_OUTPUT 0
+#define DIRECTION_INPUT 1
+#define DIRECTION_BOTH 2
+
+
+Autoreplace_Config::Autoreplace_Config(QWidget* parent, const char* name)
+ : Autoreplace_ConfigUI(parent, name)
+{
+ // reset flag to defined state (used to block signals when just selecting a new item)
+ m_newItemSelected=false;
+
+ //Check if the regexp editor is installed
+ bool installed = !KTrader::self()->query("KRegExpEditor/KRegExpEditor").isEmpty();
+
+ if(installed)
+ {
+ regExpEditorButton->setEnabled(true);
+ QToolTip::add(regExpEditorButton, i18n("Click to run Regular Expression Editor (KRegExpEditor)"));
+ }
+ else
+ {
+ regExpEditorButton->setEnabled(false);
+ QToolTip::add(regExpEditorButton, i18n("The Regular Expression Editor (KRegExpEditor) is not installed"));
+ }
+
+ // populate combobox
+ directionCombo->insertItem(i18n("Outgoing"),DIRECTION_OUTPUT);
+ directionCombo->insertItem(i18n("Incoming"),DIRECTION_INPUT);
+ directionCombo->insertItem(i18n("Both"),DIRECTION_BOTH);
+
+ // make items react to drag & drop
+ patternListView->setSorting(-1,false);
+ patternListView->setShowSortIndicator(true);
+ patternListView->setShadeSortColumn(true);
+ patternListView->header()->setMovingEnabled(false);
+
+ // populate listview
+ loadSettings();
+
+ connect(patternListView, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(entrySelected(QListViewItem*)));
+ connect(patternListView, SIGNAL(clicked(QListViewItem*)), this, SLOT(entrySelected(QListViewItem*)));
+ connect(patternListView, SIGNAL(moved()), SIGNAL(modified()));
+
+ connect(patternListView, SIGNAL(aboutToMove()), SLOT(disableSort()));
+ connect(patternListView->header(), SIGNAL(clicked(int)), SLOT(sort(int)));
+
+ connect(directionCombo, SIGNAL(activated(int)), this, SLOT(directionChanged(int)));
+
+ connect(patternInput, SIGNAL(textChanged(const QString&)), this, SLOT(patternChanged(const QString&)));
+ connect(regExpEditorButton, SIGNAL(clicked()), this, SLOT(showRegExpEditor()));
+ connect(replacementInput, SIGNAL(textChanged(const QString&)), this, SLOT(replacementChanged(const QString&)));
+
+ connect(newButton, SIGNAL(clicked()), this, SLOT(addEntry()));
+ connect(removeButton, SIGNAL(clicked()), this, SLOT(removeEntry()));
+}
+
+Autoreplace_Config::~Autoreplace_Config()
+{
+}
+
+void Autoreplace_Config::loadSettings()
+{
+ setAutoreplaceListView(Preferences::autoreplaceList());
+
+ // remember autoreplace list for hasChanged()
+ m_oldAutoreplaceList=Preferences::autoreplaceList();
+}
+
+// fill listview with autoreplace definitions
+void Autoreplace_Config::setAutoreplaceListView(const QStringList &autoreplaceList)
+{
+ // clear listView
+ patternListView->clear();
+ // go through the list
+ for(unsigned int index=autoreplaceList.count();index!=0;index--)
+ {
+ // get autoreplace definition
+ QString definition=autoreplaceList[index-1];
+ // cut definition apart in name and action, and create a new listview item
+ QCheckListItem* newItem=new QCheckListItem(patternListView,QString(),QCheckListItem::CheckBox);
+ // Regular expression?
+ if(definition.section(',',0,0)=="1") newItem->setOn(true);
+ // direction input/output/both
+ if(definition.section(',',1,1)=="i") newItem->setText(1,directionCombo->text(DIRECTION_INPUT));
+ else if(definition.section(',',1,1)=="o") newItem->setText(1,directionCombo->text(DIRECTION_OUTPUT));
+ else if(definition.section(',',1,1)=="io") newItem->setText(1,directionCombo->text(DIRECTION_BOTH));
+ // pattern
+ newItem->setText(2,definition.section(',',2,2));
+ // replacement
+ newItem->setText(3,definition.section(',',3));
+ // hidden column, so we are independent of the i18n()ed display string
+ newItem->setText(4,definition.section(',',1,1));
+ } // for
+ patternListView->setSelected(patternListView->firstChild(), true);
+}
+
+// save autoreplace entries to configuration
+void Autoreplace_Config::saveSettings()
+{
+ // get configuration object
+ KConfig* config=kapp->config();
+
+ // delete all patterns
+ config->deleteGroup("Autoreplace List");
+ // create new empty autoreplace group
+ config->setGroup("Autoreplace List");
+
+ // create empty list
+ QStringList newList=currentAutoreplaceList();
+
+ // check if there are any patterns in the list view
+ if(newList.count())
+ {
+ // go through all patterns and save them into the configuration
+ for(unsigned int index=0;index<newList.count();index++)
+ {
+ // write the current entry's pattern and replacement (adds a "#" to preserve blanks at the end of the line)
+ config->writeEntry(QString("Autoreplace%1").arg(index),newList[index]+'#');
+ } // for
+ }
+ // if there were no entries at all, write a dummy entry to prevent KConfigXT from "optimizing"
+ // the group out, which would in turn make konvi restore the default entries
+ else
+ config->writeEntry("Empty List",QString());
+
+ // set internal autoreplace list
+ Preferences::setAutoreplaceList(newList);
+
+ // remember autoreplace list for hasChanged()
+ m_oldAutoreplaceList=newList;
+}
+
+void Autoreplace_Config::restorePageToDefaults()
+{
+ setAutoreplaceListView(Preferences::defaultAutoreplaceList());
+}
+
+QStringList Autoreplace_Config::currentAutoreplaceList()
+{
+ // get first item of the autoreplace listview
+ QListViewItem* item=patternListView->firstChild();
+ // create empty list
+ QStringList newList;
+
+ // go through all items and save them into the configuration
+ while(item)
+ {
+ QString checked="0";
+ if(static_cast<QCheckListItem*>(item)->isOn()) checked="1";
+
+ // remember entry in internal list (col 4 is hidden for input/output)
+ newList.append(checked+','+item->text(4)+','+item->text(2)+','+item->text(3));
+ // get next item in the listview
+ item=item->itemBelow();
+ } // while
+
+ // return list
+ return newList;
+}
+
+bool Autoreplace_Config::hasChanged()
+{
+ return(m_oldAutoreplaceList!=currentAutoreplaceList());
+}
+
+// slots
+
+// what to do when the user selects an item
+void Autoreplace_Config::entrySelected(QListViewItem* autoreplaceEntry)
+{
+ // play it safe, assume disabling all widgets first
+ bool enabled=false;
+
+ // check if there really was an item selected
+ if(autoreplaceEntry)
+ {
+ // remember to enable the editing widgets
+ enabled=true;
+
+ // tell the editing widgets not to emit modified() on signals now
+ m_newItemSelected=true;
+ // update editing widget contents
+ patternInput->setText(autoreplaceEntry->text(2));
+ replacementInput->setText(autoreplaceEntry->text(3));
+
+ // set combobox to selected item
+ int itemIndex=0;
+ QString direction=autoreplaceEntry->text(4);
+ if(direction=="i") itemIndex=DIRECTION_INPUT;
+ else if(direction=="o") itemIndex=DIRECTION_OUTPUT;
+ else if(direction=="io") itemIndex=DIRECTION_BOTH;
+ directionCombo->setCurrentItem(itemIndex);
+ // re-enable modified() signal on text changes in edit widgets
+ m_newItemSelected=false;
+ }
+ // enable or disable editing widgets
+ removeButton->setEnabled(enabled);
+ directionLabel->setEnabled(enabled);
+ directionCombo->setEnabled(enabled);
+ patternLabel->setEnabled(enabled);
+ patternInput->setEnabled(enabled);
+ replacementLabel->setEnabled(enabled);
+ replacementInput->setEnabled(enabled);
+
+ if(!KTrader::self()->query("KRegExpEditor/KRegExpEditor").isEmpty())
+ {
+ regExpEditorButton->setEnabled(enabled);
+ }
+
+ // make checkboxes work
+ emit modified();
+}
+
+// what to do when the user changes the direction of an entry
+void Autoreplace_Config::directionChanged(int newDirection)
+{
+ // get possible selected item
+ QListViewItem* item=patternListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // prepare hidden identifier string
+ QString id;
+ // find the direction strings to set up in the item
+ if(newDirection==DIRECTION_INPUT) id="i";
+ else if(newDirection==DIRECTION_OUTPUT) id="o";
+ else if(newDirection==DIRECTION_BOTH) id="io";
+ // rename direction
+ item->setText(1,directionCombo->text(newDirection));
+ item->setText(4,id);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// what to do when the user changes the pattern of an entry
+void Autoreplace_Config::patternChanged(const QString& newPattern)
+{
+ // get possible selected item
+ QListViewItem* item=patternListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // rename pattern
+ item->setText(2,newPattern);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// what to do when the user changes the replacement of an entry
+void Autoreplace_Config::replacementChanged(const QString& newReplacement)
+{
+ // get possible selected item
+ QListViewItem* item=patternListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // rename item
+ item->setText(3,newReplacement);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// add button pressed
+void Autoreplace_Config::addEntry()
+{
+ disableSort();
+
+ // add new item at the bottom of list view
+ QCheckListItem* newItem=new QCheckListItem(patternListView,QString(),QCheckListItem::CheckBox);
+ // if successful ...
+ if(newItem)
+ {
+ // set default direction
+ newItem->setText(1,directionCombo->text(DIRECTION_OUTPUT));
+ // set default pattern name
+ newItem->setText(2,i18n("New"));
+ // set default direction
+ newItem->setText(4,"o");
+ // select new item and make it the current one
+ patternListView->setSelected(newItem,true);
+ patternListView->setCurrentItem(newItem);
+ // set input focus on item pattern edit
+ patternInput->setFocus();
+ // select all text to make overwriting easier
+ patternInput->selectAll();
+ // tell the config system that something has changed
+ emit modified();
+ }
+}
+
+// remove button pressed
+void Autoreplace_Config::removeEntry()
+{
+ // get possible first selected item
+ QListViewItem* item=patternListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // get item below the current one
+ QListViewItem* nextItem=item->itemBelow();
+ // if there was none, get the one above
+ if(!nextItem) nextItem=item->itemAbove();
+
+ // remove the item from the list
+ delete item;
+
+ // check if we found the next item
+ if(nextItem)
+ {
+ // select the item and make it the current item
+ patternListView->setSelected(nextItem,true);
+ patternListView->setCurrentItem(nextItem);
+ }
+ else
+ {
+ // no next item found, this means the list is empty
+ entrySelected(0);
+ }
+ // tell the config system that somethig has changed
+ emit modified();
+ }
+}
+
+void Autoreplace_Config::sort(int column)
+{
+ bool ascending = true;
+
+ if (patternListView->sortColumn() != -1)
+ ascending = (patternListView->sortOrder() == Qt::Ascending);
+
+ patternListView->setSorting(column, ascending);
+
+ emit modified();
+}
+
+void Autoreplace_Config::disableSort()
+{
+ patternListView->setSorting(-1);
+}
+
+void Autoreplace_Config::showRegExpEditor()
+{
+ QDialog *editorDialog =
+ KParts::ComponentFactory::createInstanceFromQuery<QDialog>( "KRegExpEditor/KRegExpEditor" );
+
+ if(editorDialog)
+ {
+ // kdeutils was installed, so the dialog was found. Fetch the editor interface.
+ KRegExpEditorInterface *reEditor =
+ static_cast<KRegExpEditorInterface *>(editorDialog->qt_cast( "KRegExpEditorInterface" ) );
+ Q_ASSERT(reEditor); // This should not fail!
+ reEditor->setRegExp(patternInput->text());
+ int dlgResult = editorDialog->exec();
+
+ if(dlgResult == QDialog::Accepted)
+ {
+ QString re = reEditor->regExp();
+ patternInput->setText(re);
+ }
+
+ delete editorDialog;
+ }
+}
+
+#include "autoreplace_preferences.moc"
diff --git a/konversation/src/autoreplace_preferences.h b/konversation/src/autoreplace_preferences.h
new file mode 100644
index 0000000..303487c
--- /dev/null
+++ b/konversation/src/autoreplace_preferences.h
@@ -0,0 +1,57 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef AUTOREPLACECONFIG_H
+#define AUTOREPLACECONFIG_H
+
+#include "autoreplace_preferencesui.h"
+#include "konvisettingspage.h"
+
+
+class Autoreplace_Config : public Autoreplace_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Autoreplace_Config(QWidget* parent, const char* name=NULL);
+ ~Autoreplace_Config();
+
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void entrySelected(QListViewItem* autoreplaceEntry);
+ void directionChanged(int newDirection);
+ void patternChanged(const QString& newPattern);
+ void replacementChanged(const QString& newReplacement);
+ void addEntry();
+ void removeEntry();
+ void sort(int column);
+ void disableSort();
+ void showRegExpEditor();
+
+ protected:
+ void setAutoreplaceListView(const QStringList &autoreplaceList);
+
+ bool m_newItemSelected;
+
+ QStringList m_oldAutoreplaceList;
+ QStringList currentAutoreplaceList();
+};
+
+#endif
diff --git a/konversation/src/autoreplace_preferencesui.ui b/konversation/src/autoreplace_preferencesui.ui
new file mode 100644
index 0000000..db6521c
--- /dev/null
+++ b/konversation/src/autoreplace_preferencesui.ui
@@ -0,0 +1,292 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Autoreplace_ConfigUI</class>
+<author>Dario Abatianni</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Autoreplace_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>586</width>
+ <height>576</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLayoutWidget" row="0" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="text">
+ <string>Ne&amp;w</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="text">
+ <string>R&amp;emove</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>506</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="KListView" row="0" column="0">
+ <column>
+ <property name="text">
+ <string>RegEx</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Replace In</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Find</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Replace With</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>patternListView</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>1</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>false</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>layout16</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton" row="1" column="2">
+ <property name="name">
+ <cstring>regExpEditorButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>directionLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Replace in:</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>patternInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>replacementInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>patternLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Find:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>replacementLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Replace with:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>directionCombo</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<tabstops>
+ <tabstop>patternListView</tabstop>
+ <tabstop>directionCombo</tabstop>
+ <tabstop>patternInput</tabstop>
+ <tabstop>regExpEditorButton</tabstop>
+ <tabstop>replacementInput</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/awaymanager.cpp b/konversation/src/awaymanager.cpp
new file mode 100644
index 0000000..5676bd1
--- /dev/null
+++ b/konversation/src/awaymanager.cpp
@@ -0,0 +1,372 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (c) 1999 Martin R. Jones <mjones@kde.org>
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#include "awaymanager.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "connectionmanager.h"
+#include "server.h"
+#include "preferences.h"
+
+#include <qtimer.h>
+
+#include <dcopref.h>
+#include <kaction.h>
+#include <klocale.h>
+
+#include <kdebug.h>
+
+#ifdef Q_WS_X11
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/Xresource.h>
+#include <X11/Xutil.h>
+#ifdef HAVE_XSCREENSAVER
+#define HasScreenSaver
+#include <X11/extensions/scrnsaver.h>
+#endif
+#endif
+
+// Don't use XIdle for now, it's experimental.
+#undef HAVE_XIDLE
+#undef HasXidle
+
+
+struct AwayManagerPrivate
+{
+ int mouseX;
+ int mouseY;
+ unsigned int mouseMask;
+#ifdef Q_WS_X11
+ Window root;
+ Screen* screen;
+ Time xIdleTime;
+#endif
+ bool useXidle;
+ bool useMit;
+};
+
+AwayManager::AwayManager(QObject* parent) : QObject(parent)
+{
+ int dummy = 0;
+ dummy = dummy;
+
+ d = new AwayManagerPrivate;
+
+ d->mouseX = d->mouseY = 0;
+ d->mouseMask = 0;
+ d->useXidle = false;
+ d->useMit = false;
+
+ m_connectionManager = static_cast<KonversationApplication*>(kapp)->getConnectionManager();
+
+#ifdef Q_WS_X11
+ Display* display = qt_xdisplay();
+ d->root = DefaultRootWindow(display);
+ d->screen = ScreenOfDisplay(display, DefaultScreen (display));
+
+ d->xIdleTime = 0;
+#endif
+
+#ifdef HasXidle
+ d->useXidle = XidleQueryExtension(qt_xdisplay(), &dummy, &dummy);
+#endif
+
+#ifdef HasScreenSaver
+ if (!d->useXidle)
+ d->useMit = XScreenSaverQueryExtension(qt_xdisplay(), &dummy, &dummy);
+#endif
+
+ m_activityTimer = new QTimer(this, "AwayTimer");
+ connect(m_activityTimer, SIGNAL(timeout()), this, SLOT(checkActivity()));
+
+ m_idleTime.start();
+}
+
+AwayManager::~AwayManager()
+{
+ delete d;
+}
+
+void AwayManager::identitiesChanged()
+{
+ QValueList<int> newIdentityList;
+
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ IdentityPtr identity = server->getIdentity();
+
+ if (identity && identity->getAutomaticAway() && server->isConnected())
+ newIdentityList.append(identity->id());
+ }
+
+ m_identitiesOnAutoAway = newIdentityList;
+
+ toggleTimer();
+}
+
+void AwayManager::identityOnline(int identityId)
+{
+ IdentityPtr identity = Preferences::identityById(identityId);
+
+ if (identity && identity->getAutomaticAway() &&
+ !m_identitiesOnAutoAway.contains(identityId))
+ {
+ m_identitiesOnAutoAway.append(identityId);
+
+ toggleTimer();
+ }
+}
+
+void AwayManager::identityOffline(int identityId)
+{
+ if (m_identitiesOnAutoAway.contains(identityId))
+ {
+ m_identitiesOnAutoAway.remove(identityId);
+
+ toggleTimer();
+ }
+}
+
+void AwayManager::toggleTimer()
+{
+ if (m_identitiesOnAutoAway.count() > 0)
+ {
+ if (!m_activityTimer->isActive())
+ m_activityTimer->start(Preferences::autoAwayPollInterval() * 1000);
+ }
+ else if (m_activityTimer->isActive())
+ m_activityTimer->stop();
+}
+
+void AwayManager::checkActivity()
+{
+ // Allow the event loop to be called, to avoid deadlock.
+ static bool rentrencyProtection = false;
+ if (rentrencyProtection) return;
+
+ rentrencyProtection = true;
+
+ DCOPRef screenSaver("kdesktop", "KScreensaverIface");
+ DCOPReply isBlanked = screenSaver.callExt("isBlanked", DCOPRef::UseEventLoop, 10);
+
+ rentrencyProtection = false;
+
+ if (!(isBlanked.isValid() && isBlanked.type == "bool" && ((bool)isBlanked)))
+ implementIdleAutoAway(Xactivity());
+}
+
+bool AwayManager::Xactivity()
+{
+ bool activity = false;
+
+#ifdef Q_WS_X11
+ Display* display = qt_xdisplay();
+ Window dummyW;
+ int dummyC;
+ unsigned int mask;
+ int rootX;
+ int rootY;
+
+ if (!XQueryPointer (display, d->root, &(d->root), &dummyW, &rootX, &rootY,
+ &dummyC, &dummyC, &mask))
+ {
+ // Figure out which screen the pointer has moved to.
+ for (int i = 0; i < ScreenCount(display); i++)
+ {
+ if (d->root == RootWindow(display, i))
+ {
+ d->screen = ScreenOfDisplay (display, i);
+
+ break;
+ }
+ }
+ }
+
+ Time xIdleTime = 0;
+
+ #ifdef HasXidle
+ if (d->useXidle)
+ XGetIdleTime(display, &xIdleTime);
+ else
+ #endif
+ {
+ #ifdef HasScreenSaver
+ if (d->useMit)
+ {
+ static XScreenSaverInfo* mitInfo = 0;
+ if (!mitInfo) mitInfo = XScreenSaverAllocInfo();
+ XScreenSaverQueryInfo (display, d->root, mitInfo);
+ xIdleTime = mitInfo->idle;
+ }
+ #endif
+ }
+
+ if (rootX != d->mouseX || rootY != d->mouseY || mask != d->mouseMask
+ || ((d->useXidle || d->useMit) && xIdleTime < d->xIdleTime + 2000))
+ {
+ // Set by setManagedIdentitiesAway() to skip X-based activity checking for one
+ // round, to avoid jumping on residual mouse activity after manual screensaver
+ // activation.
+ if (d->mouseX != -1) activity = true;
+
+ d->mouseX = rootX;
+ d->mouseY = rootY;
+ d->mouseMask = mask;
+ d->xIdleTime = xIdleTime;
+ }
+#endif
+
+ return activity;
+}
+
+void AwayManager::implementIdleAutoAway(bool activity)
+{
+ if (activity)
+ {
+ m_idleTime.start();
+
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ IdentityPtr identity = server->getIdentity();
+
+ if (m_identitiesOnAutoAway.contains(identity->id()) && identity->getAutomaticUnaway()
+ && server->isConnected() && server->isAway())
+ {
+ server->requestUnaway();
+ }
+ }
+ }
+ else
+ {
+ long int idleTime = m_idleTime.elapsed() / 1000;
+
+ QValueList<int> identitiesIdleTimeExceeded;
+ QValueList<int>::ConstIterator it;
+
+ for (it = m_identitiesOnAutoAway.begin(); it != m_identitiesOnAutoAway.end(); ++it)
+ {
+ if (idleTime >= Preferences::identityById((*it))->getAwayInactivity() * 60)
+ identitiesIdleTimeExceeded.append((*it));
+ }
+
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ int identityId = server->getIdentity()->id();
+
+ if (identitiesIdleTimeExceeded.contains(identityId) && server->isConnected() && !server->isAway())
+ server->requestAway();
+ }
+ }
+}
+
+void AwayManager::setManagedIdentitiesAway()
+{
+ // Used to skip X-based activity checking for one round, to avoid jumping
+ // on residual mouse activity after manual screensaver activation.
+ d->mouseX = -1;
+
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ if (m_identitiesOnAutoAway.contains(server->getIdentity()->id()) && server->isConnected() && !server->isAway())
+ server->requestAway();
+ }
+}
+
+void AwayManager::setManagedIdentitiesUnaway()
+{
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ IdentityPtr identity = server->getIdentity();
+
+ if (m_identitiesOnAutoAway.contains(identity->id()) && identity->getAutomaticUnaway()
+ && server->isConnected() && server->isAway())
+ {
+ server->requestUnaway();
+ }
+ }
+}
+
+void AwayManager::requestAllAway(const QString& reason)
+{
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ if (server->isConnected()) server->requestAway(reason);
+}
+
+void AwayManager::requestAllUnaway()
+{
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ if (server->isConnected() && server->isAway()) server->requestUnaway();
+}
+
+void AwayManager::toggleGlobalAway(bool away)
+{
+ if (away)
+ requestAllAway();
+ else
+ requestAllUnaway();
+}
+
+void AwayManager::updateGlobalAwayAction(bool away)
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ KToggleAction* awayAction = static_cast<KToggleAction*>(konvApp->getMainWindow()->actionCollection()->action("toggle_away"));
+
+ if (!awayAction) return;
+
+ if (away)
+ {
+ QPtrList<Server> serverList = m_connectionManager->getServerList();
+ Server* server = 0;
+ uint awayCount = 0;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ if (server->isAway())
+ awayCount++;
+ }
+
+ if (awayCount == serverList.count())
+ {
+ awayAction->setChecked(true);
+ awayAction->setIcon("konversationaway");
+ }
+ }
+ else
+ {
+ awayAction->setChecked(false);
+ awayAction->setIcon("konversationavailable");
+ }
+}
+
+#include "awaymanager.moc"
diff --git a/konversation/src/awaymanager.h b/konversation/src/awaymanager.h
new file mode 100644
index 0000000..76819f3
--- /dev/null
+++ b/konversation/src/awaymanager.h
@@ -0,0 +1,73 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef AWAYMANAGER_H
+#define AWAYMANAGER_H
+
+
+#include <qobject.h>
+#include <qdatetime.h>
+
+
+class ConnectionManager;
+
+class QTimer;
+
+
+struct AwayManagerPrivate;
+
+
+class AwayManager : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit AwayManager(QObject* parent = 0);
+ ~AwayManager();
+
+
+ public slots:
+ void identitiesChanged();
+
+ void identityOnline(int identityId);
+ void identityOffline(int identityId);
+
+ void requestAllAway(const QString& reason = "");
+ void requestAllUnaway();
+
+ void setManagedIdentitiesAway();
+ void setManagedIdentitiesUnaway();
+
+ void toggleGlobalAway(bool away);
+ void updateGlobalAwayAction(bool away);
+
+
+ private slots:
+ void checkActivity();
+
+
+ private:
+ void toggleTimer();
+ bool Xactivity();
+
+ void implementIdleAutoAway(bool activity);
+
+ AwayManagerPrivate* d;
+
+ QTime m_idleTime;
+ QTimer* m_activityTimer;
+
+ QValueList<int> m_identitiesOnAutoAway;
+
+ ConnectionManager* m_connectionManager;
+};
+
+#endif
diff --git a/konversation/src/blowfish/BlowfishCbc.cpp b/konversation/src/blowfish/BlowfishCbc.cpp
new file mode 100644
index 0000000..fd8ff2f
--- /dev/null
+++ b/konversation/src/blowfish/BlowfishCbc.cpp
@@ -0,0 +1,654 @@
+/*
+ Public Domain. Without any warranty.
+
+ Copyright (C) George Anescu <unknown@unknown>
+ Copyright (C) mouser <fvarick@users.sourceforge.net>
+*/
+
+//---------------------------------------------------------------------------
+//The implementation of blowfish for CBC mode is from http://www.thecodeproject.com/cpp/blowfish.asp by George Anescu
+// I removed exception handling, so it is callers responsibility to insure
+// that strings are length multiples of 8 bytes
+// -mouser 1/08/05
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// Mouser 1/14/05
+// I'm not sure this implementation of cbc is exactly the same as other cbc
+// algorithms you may find, though the different is insignificant and just
+// requires you to call your other algorithm slightly differently.
+// This blowfish cbc class basically pretends that the IV is 00000000 but
+// but that the first 8byte block of the plaintext to encrypt is treated
+// like the IV (ie its a random nonce).
+// In other words, it does not accept a separate IV, but expects the first
+// 8bytes to be the IV (this is a slight difference from textbook cbc since
+// the encrypted IV is now part of the ciphertext).
+// This actually works out well for us since we want to send the IV to
+// our recipient as part of our message.
+// ANYWAY, bottom line is, if you have a blowfish implementation that takes
+// an explicit IV parameter as its input, just pass it 0 as the IV, and
+// when encrypting, prefix your plaintext with an 8 byte random nonce, and
+// you will have a compatible algorithm. Remember its not that this
+// algorithm uses a fixed IV of 0, but rather that the IV is the first
+// block of the test to encrypt.
+//---------------------------------------------------------------------------
+
+
+////////////////////////////////////////////////////////////////////////////
+///
+// BlowFish.cpp
+//
+// Implementation of Bruce Schneier's BLOWFISH algorithm from "Applied
+// Cryptography", Second Edition.
+
+#include "BlowfishCbc.h"
+
+#include <cstring>
+#include <memory.h>
+
+//#include <exception>
+
+//Initialization with a fixed string which consists of the hexadecimal digits of PI (less the initial 3)
+//P-array, 18 32-bit subkeys
+const unsigned int CBlowFish::scm_auiInitP[18] = {
+ 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
+ 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
+ 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
+ 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
+ 0x9216d5d9, 0x8979fb1b
+};
+
+//Four 32-bit S-boxes with 256 entries each
+const unsigned int CBlowFish::scm_auiInitS[4][256] = {
+ //0
+ {0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
+ 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
+ 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
+ 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
+ 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
+ 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
+ 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,
+ 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
+ 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
+ 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
+ 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
+ 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
+ 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,
+ 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
+ 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,
+ 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
+ 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,
+ 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
+ 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,
+ 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
+ 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,
+ 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
+ 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,
+ 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
+ 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,
+ 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
+ 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,
+ 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
+ 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,
+ 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
+ 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,
+ 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
+ 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,
+ 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
+ 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,
+ 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
+ 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,
+ 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
+ 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,
+ 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
+ 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,
+ 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
+ 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,
+ 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
+ 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,
+ 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
+ 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,
+ 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
+ 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,
+ 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
+ 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,
+ 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
+ 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,
+ 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
+ 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,
+ 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
+ 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,
+ 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
+ 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,
+ 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
+ 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,
+ 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
+ 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,
+ 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a},
+
+ //1
+ {0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,
+ 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
+ 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,
+ 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
+ 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,
+ 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
+ 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,
+ 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
+ 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,
+ 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
+ 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,
+ 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
+ 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,
+ 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
+ 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,
+ 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
+ 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,
+ 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
+ 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,
+ 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
+ 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,
+ 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
+ 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,
+ 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
+ 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,
+ 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
+ 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,
+ 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
+ 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,
+ 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
+ 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,
+ 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
+ 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,
+ 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
+ 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,
+ 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
+ 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,
+ 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
+ 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,
+ 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
+ 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,
+ 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
+ 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,
+ 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
+ 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,
+ 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
+ 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,
+ 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
+ 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,
+ 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
+ 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,
+ 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
+ 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,
+ 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
+ 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,
+ 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
+ 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,
+ 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
+ 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,
+ 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
+ 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,
+ 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
+ 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,
+ 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7},
+
+ //2
+ {0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,
+ 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
+ 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,
+ 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
+ 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,
+ 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
+ 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,
+ 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
+ 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,
+ 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
+ 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,
+ 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
+ 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,
+ 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
+ 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,
+ 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
+ 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,
+ 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
+ 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,
+ 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
+ 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,
+ 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
+ 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,
+ 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
+ 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,
+ 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
+ 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,
+ 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
+ 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,
+ 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
+ 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,
+ 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
+ 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,
+ 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
+ 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,
+ 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
+ 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,
+ 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
+ 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,
+ 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
+ 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,
+ 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
+ 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,
+ 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
+ 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,
+ 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
+ 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,
+ 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
+ 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,
+ 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
+ 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,
+ 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
+ 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,
+ 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
+ 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,
+ 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
+ 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,
+ 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
+ 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,
+ 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
+ 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,
+ 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
+ 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,
+ 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0},
+
+ //3
+ {0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,
+ 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
+ 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,
+ 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
+ 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,
+ 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
+ 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,
+ 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
+ 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,
+ 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
+ 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,
+ 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
+ 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,
+ 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
+ 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,
+ 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
+ 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,
+ 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
+ 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,
+ 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
+ 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,
+ 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
+ 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,
+ 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
+ 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,
+ 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
+ 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,
+ 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
+ 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,
+ 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
+ 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,
+ 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
+ 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,
+ 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
+ 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,
+ 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
+ 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,
+ 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
+ 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,
+ 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
+ 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,
+ 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
+ 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,
+ 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
+ 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,
+ 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
+ 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,
+ 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
+ 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,
+ 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
+ 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,
+ 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
+ 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,
+ 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
+ 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,
+ 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
+ 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,
+ 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
+ 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,
+ 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
+ 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,
+ 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
+ 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,
+ 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6}
+};
+
+//Constructor - Initialize the P and S boxes for a given Key
+CBlowFish::CBlowFish(unsigned char* ucKey, size_t keysize, const SBlock& roChain) : m_oChain0(roChain), m_oChain(roChain)
+{
+ if(keysize<1)
+ // throw exception("Incorrect key length");
+ return;
+
+
+ //Check the Key - the key length should be between 1 and 56 bytes
+ if(keysize>56)
+ keysize = 56;
+ unsigned char aucLocalKey[56];
+ unsigned int i, j;
+ memcpy(aucLocalKey, ucKey, keysize);
+ //Reflexive Initialization of the Blowfish.
+ //Generating the Subkeys from the Key flood P and S boxes with PI
+ memcpy(m_auiP, scm_auiInitP, sizeof m_auiP);
+ memcpy(m_auiS, scm_auiInitS, sizeof m_auiS);
+ //Load P boxes with key bytes
+ const unsigned char* p = aucLocalKey;
+ unsigned int x=0;
+ //Repeatedly cycle through the key bits until the entire P array has been XORed with key bits
+ unsigned int iCount = 0;
+ for(i=0; i<18; i++)
+ {
+ x=0;
+ for(int n=4; n--; )
+ {
+ //int iVal = (int)(*p);
+ x <<= 8;
+ x |= *(p++);
+ iCount++;
+ if(iCount == keysize)
+ {
+ //All bytes used, so recycle bytes
+ iCount = 0;
+ p = aucLocalKey;
+ }
+ }
+ m_auiP[i] ^= x;
+ }
+ //Reflect P and S boxes through the evolving Blowfish
+ SBlock block(0UL,0UL); //all-zero block
+ for(i=0; i<18; )
+ Encrypt(block), m_auiP[i++] = block.m_uil, m_auiP[i++] = block.m_uir;
+ for(j=0; j<4; j++)
+ for(int k=0; k<256; )
+ Encrypt(block), m_auiS[j][k++] = block.m_uil, m_auiS[j][k++] = block.m_uir;
+}
+
+//Sixteen Round Encipher of Block
+void CBlowFish::Encrypt(SBlock& block)
+{
+ unsigned int uiLeft = block.m_uil;
+ unsigned int uiRight = block.m_uir;
+ uiLeft ^= m_auiP[0];
+ uiRight ^= F(uiLeft)^m_auiP[1]; uiLeft ^= F(uiRight)^m_auiP[2];
+ uiRight ^= F(uiLeft)^m_auiP[3]; uiLeft ^= F(uiRight)^m_auiP[4];
+ uiRight ^= F(uiLeft)^m_auiP[5]; uiLeft ^= F(uiRight)^m_auiP[6];
+ uiRight ^= F(uiLeft)^m_auiP[7]; uiLeft ^= F(uiRight)^m_auiP[8];
+ uiRight ^= F(uiLeft)^m_auiP[9]; uiLeft ^= F(uiRight)^m_auiP[10];
+ uiRight ^= F(uiLeft)^m_auiP[11]; uiLeft ^= F(uiRight)^m_auiP[12];
+ uiRight ^= F(uiLeft)^m_auiP[13]; uiLeft ^= F(uiRight)^m_auiP[14];
+ uiRight ^= F(uiLeft)^m_auiP[15]; uiLeft ^= F(uiRight)^m_auiP[16];
+ uiRight ^= m_auiP[17];
+ block.m_uil = uiRight;
+ block.m_uir = uiLeft;
+}
+
+//Sixteen Round Decipher of SBlock
+void CBlowFish::Decrypt(SBlock& block)
+{
+ unsigned int uiLeft = block.m_uil;
+ unsigned int uiRight = block.m_uir;
+ uiLeft ^= m_auiP[17];
+ uiRight ^= F(uiLeft)^m_auiP[16]; uiLeft ^= F(uiRight)^m_auiP[15];
+ uiRight ^= F(uiLeft)^m_auiP[14]; uiLeft ^= F(uiRight)^m_auiP[13];
+ uiRight ^= F(uiLeft)^m_auiP[12]; uiLeft ^= F(uiRight)^m_auiP[11];
+ uiRight ^= F(uiLeft)^m_auiP[10]; uiLeft ^= F(uiRight)^m_auiP[9];
+ uiRight ^= F(uiLeft)^m_auiP[8]; uiLeft ^= F(uiRight)^m_auiP[7];
+ uiRight ^= F(uiLeft)^m_auiP[6]; uiLeft ^= F(uiRight)^m_auiP[5];
+ uiRight ^= F(uiLeft)^m_auiP[4]; uiLeft ^= F(uiRight)^m_auiP[3];
+ uiRight ^= F(uiLeft)^m_auiP[2]; uiLeft ^= F(uiRight)^m_auiP[1];
+ uiRight ^= m_auiP[0];
+ block.m_uil = uiRight;
+ block.m_uir = uiLeft;
+}
+
+//Semi-Portable Byte Shuffling
+inline void BytesToBlock(unsigned char const* p, SBlock& b)
+{
+ unsigned int y;
+ //Left
+ b.m_uil = 0;
+ y = *p++;
+ y <<= 24;
+ b.m_uil |= y;
+ y = *p++;
+ y <<= 16;
+ b.m_uil |= y;
+ y = *p++;
+ y <<= 8;
+ b.m_uil |= y;
+ y = *p++;
+ b.m_uil |= y;
+ //Right
+ b.m_uir = 0;
+ y = *p++;
+ y <<= 24;
+ b.m_uir |= y;
+ y = *p++;
+ y <<= 16;
+ b.m_uir |= y;
+ y = *p++;
+ y <<= 8;
+ b.m_uir |= y;
+ y = *p++;
+ b.m_uir |= y;
+}
+
+inline void BlockToBytes(SBlock const& b, unsigned char* p)
+{
+ unsigned int y;
+ //Right
+ y = b.m_uir;
+ *--p = Byte(y);
+ y = b.m_uir >> 8;
+ *--p = Byte(y);
+ y = b.m_uir >> 16;
+ *--p = Byte(y);
+ y = b.m_uir >> 24;
+ *--p = Byte(y);
+ //Left
+ y = b.m_uil;
+ *--p = Byte(y);
+ y = b.m_uil >> 8;
+ *--p = Byte(y);
+ y = b.m_uil >> 16;
+ *--p = Byte(y);
+ y = b.m_uil >> 24;
+ *--p = Byte(y);
+}
+
+//Encrypt Buffer in Place
+//Returns false if n is multiple of 8
+void CBlowFish::Encrypt(unsigned char* buf, size_t n, int iMode)
+{
+ //Check the buffer's length - should be > 0 and multiple of 8
+ if((n==0)||(n%8!=0))
+ //throw exception("Incorrect buffer length");
+ return;
+
+ SBlock work;
+ if(iMode == CBC) //CBC mode, using the Chain
+ {
+ SBlock chain(m_oChain);
+ for(; n >= 8; n -= 8)
+ {
+ BytesToBlock(buf, work);
+ work ^= chain;
+ Encrypt(work);
+ chain = work;
+ BlockToBytes(work, buf+=8);
+ }
+ }
+ else if(iMode == CFB) //CFB mode, using the Chain
+ {
+ SBlock chain(m_oChain);
+ for(; n >= 8; n -= 8)
+ {
+ Encrypt(chain);
+ BytesToBlock(buf, work);
+ work ^= chain;
+ chain = work;
+ BlockToBytes(work, buf+=8);
+ }
+ }
+ else //ECB mode, not using the Chain
+ {
+ for(; n >= 8; n -= 8)
+ {
+ BytesToBlock(buf, work);
+ Encrypt(work);
+ BlockToBytes(work, buf+=8);
+ }
+ }
+}
+
+//Decrypt Buffer in Place
+//Returns false if n is multiple of 8
+void CBlowFish::Decrypt(unsigned char* buf, size_t n, int iMode)
+{
+ //Check the buffer's length - should be > 0 and multiple of 8
+ if((n==0)||(n%8!=0))
+ //throw exception("Incorrect buffer length");
+ return;
+
+ SBlock work;
+ if(iMode == CBC) //CBC mode, using the Chain
+ {
+ SBlock crypt, chain(m_oChain);
+ for(; n >= 8; n -= 8)
+ {
+ BytesToBlock(buf, work);
+ crypt = work;
+ Decrypt(work);
+ work ^= chain;
+ chain = crypt;
+ BlockToBytes(work, buf+=8);
+ }
+ }
+ else if(iMode == CFB) //CFB mode, using the Chain, not using Decrypt()
+ {
+ SBlock crypt, chain(m_oChain);
+ for(; n >= 8; n -= 8)
+ {
+ BytesToBlock(buf, work);
+ Encrypt(chain);
+ crypt = work;
+ work ^= chain;
+ chain = crypt;
+ BlockToBytes(work, buf+=8);
+ }
+ }
+ else //ECB mode, not using the Chain
+ {
+ for(; n >= 8; n -= 8)
+ {
+ BytesToBlock(buf, work);
+ Decrypt(work);
+ BlockToBytes(work, buf+=8);
+ }
+ }
+}
+
+//Encrypt from Input Buffer to Output Buffer
+//Returns false if n is multiple of 8
+void CBlowFish::Encrypt(const unsigned char* in, unsigned char* out, size_t n, int iMode)
+{
+ //Check the buffer's length - should be > 0 and multiple of 8
+ if((n==0)||(n%8!=0))
+ //throw exception("Incorrect buffer length");
+ return;
+
+ SBlock work;
+ if(iMode == CBC) //CBC mode, using the Chain
+ {
+ SBlock chain(m_oChain);
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ BytesToBlock(in, work);
+ work ^= chain;
+ Encrypt(work);
+ chain = work;
+ BlockToBytes(work, out+=8);
+ }
+ }
+ else if(iMode == CFB) //CFB mode, using the Chain
+ {
+ SBlock chain(m_oChain);
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ Encrypt(chain);
+ BytesToBlock(in, work);
+ work ^= chain;
+ chain = work;
+ BlockToBytes(work, out+=8);
+ }
+ }
+ else //ECB mode, not using the Chain
+ {
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ BytesToBlock(in, work);
+ Encrypt(work);
+ BlockToBytes(work, out+=8);
+ }
+ }
+}
+
+//Decrypt from Input Buffer to Output Buffer
+//Returns false if n is multiple of 8
+void CBlowFish::Decrypt(const unsigned char* in, unsigned char* out, size_t n, int iMode)
+{
+ //Check the buffer's length - should be > 0 and multiple of 8
+ if((n==0)||(n%8!=0))
+ //throw exception("Incorrect buffer length");
+ return;
+
+ SBlock work;
+ if(iMode == CBC) //CBC mode, using the Chain
+ {
+ SBlock crypt, chain(m_oChain);
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ BytesToBlock(in, work);
+ crypt = work;
+ Decrypt(work);
+ work ^= chain;
+ chain = crypt;
+ BlockToBytes(work, out+=8);
+ }
+ }
+ else if(iMode == CFB) //CFB mode, using the Chain, not using Decrypt()
+ {
+ SBlock crypt, chain(m_oChain);
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ BytesToBlock(in, work);
+ Encrypt(chain);
+ crypt = work;
+ work ^= chain;
+ chain = crypt;
+ BlockToBytes(work, out+=8);
+ }
+ }
+ else //ECB mode, not using the Chain
+ {
+ for(; n >= 8; n -= 8, in += 8)
+ {
+ BytesToBlock(in, work);
+ Decrypt(work);
+ BlockToBytes(work, out+=8);
+ }
+ }
+}
+
diff --git a/konversation/src/blowfish/BlowfishCbc.h b/konversation/src/blowfish/BlowfishCbc.h
new file mode 100644
index 0000000..2abb335
--- /dev/null
+++ b/konversation/src/blowfish/BlowfishCbc.h
@@ -0,0 +1,228 @@
+/*
+ Public Domain. Without any warranty.
+
+ Copyright (C) George Anescu <unknown@unknown>
+ Copyright (C) mouser <fvarick@users.sourceforge.net>
+*/
+
+//---------------------------------------------------------------------------
+//The implementation of blowfish for CBC mode is from http://www.thecodeproject.com/cpp/blowfish.asp by George Anescu
+// I removed exception handling, so it is callers responsibility to insure
+// that strings are length multiples of 8 bytes
+// -mouser 1/08/05
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// Mouser 1/14/05
+// I'm not sure this implementation of cbc is exactly the same as other cbc
+// algorithms you may find, though the difference is insignificant and just
+// requires you to call your other algorithm slightly differently.
+// This blowfish cbc class basically pretends that the IV is 00000000 but
+// but that the first 8byte block of the plaintext to encrypt is treated
+// like the IV (ie its a random nonce).
+// In other words, it does not accept a separate IV, but expects the first
+// 8bytes to be the IV (this is a slight difference from textbook cbc since
+// the encrypted IV is now part of the ciphertext).
+// This actually works out well for us since we want to send the IV to
+// our recipient as part of our message.
+// ANYWAY, bottom line is, if you have a blowfish implementation that takes
+// an explicit IV parameter as its input, just pass it 0 as the IV, and
+// when encrypting, prefix your plaintext with an 8 byte random nonce, and
+// you will have a compatible algorithm. Remember its not that this
+// algorithm uses a fixed IV of 0, but rather that the IV is the first
+// block of the test to encrypt.
+//---------------------------------------------------------------------------
+
+
+
+////////////////////////////////////////////////////////////////////////////
+///
+// Blowfish.h Header File
+//
+// BLOWFISH ENCRYPTION ALGORITHM
+//
+// Encryption and Decryption of Byte Strings using the Blowfish Encryption Algorithm.
+// Blowfish is a block cipher that encrypts data in 8-byte blocks. The algorithm consists
+// of two parts: a key-expansion part and a data-ancryption part. Key expansion converts a
+// variable key of at least 1 and at most 56 bytes into several subkey arrays totaling
+// 4168 bytes. Blowfish has 16 rounds. Each round consists of a key-dependent permutation,
+// and a key and data-dependent substitution. All operations are XORs and additions on 32-bit words.
+// The only additional operations are four indexed array data lookups per round.
+// Blowfish uses a large number of subkeys. These keys must be precomputed before any data
+// encryption or decryption. The P-array consists of 18 32-bit subkeys: P0, P1,...,P17.
+// There are also four 32-bit S-boxes with 256 entries each: S0,0, S0,1,...,S0,255;
+// S1,0, S1,1,...,S1,255; S2,0, S2,1,...,S2,255; S3,0, S3,1,...,S3,255;
+//
+// The Electronic Code Book (ECB), Cipher Block Chaining (CBC) and Cipher Feedback modes
+// are used:
+//
+// In ECB mode if the same block is encrypted twice with the same key, the resulting
+// ciphertext blocks are the same.
+//
+// In CBC Mode a ciphertext block is obtained by first xoring the
+// plaintext block with the previous ciphertext block, and encrypting the resulting value.
+//
+// In CFB mode a ciphertext block is obtained by encrypting the previous ciphertext block
+// and xoring the resulting value with the plaintext
+//
+// The previous ciphertext block is usually stored in an Initialization Vector (IV).
+// An Initialization Vector of zero is commonly used for the first block, though other
+// arrangements are also in use.
+
+/*
+http://www.counterpane.com/vectors.txt
+Test vectors by Eric Young. These tests all assume Blowfish with 16
+rounds.
+
+All data is shown as a hex string with 012345 loading as
+data[0]=0x01;
+data[1]=0x23;
+data[2]=0x45;
+ecb test data (taken from the DES validation tests)
+
+key bytes clear bytes cipher bytes
+0000000000000000 0000000000000000 4EF997456198DD78
+FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 51866FD5B85ECB8A
+3000000000000000 1000000000000001 7D856F9A613063F2 ???
+1111111111111111 1111111111111111 2466DD878B963C9D
+0123456789ABCDEF 1111111111111111 61F9C3802281B096
+1111111111111111 0123456789ABCDEF 7D0CC630AFDA1EC7
+0000000000000000 0000000000000000 4EF997456198DD78
+FEDCBA9876543210 0123456789ABCDEF 0ACEAB0FC6A0A28D
+7CA110454A1A6E57 01A1D6D039776742 59C68245EB05282B
+0131D9619DC1376E 5CD54CA83DEF57DA B1B8CC0B250F09A0
+07A1133E4A0B2686 0248D43806F67172 1730E5778BEA1DA4
+3849674C2602319E 51454B582DDF440A A25E7856CF2651EB
+04B915BA43FEB5B6 42FD443059577FA2 353882B109CE8F1A
+0113B970FD34F2CE 059B5E0851CF143A 48F4D0884C379918
+0170F175468FB5E6 0756D8E0774761D2 432193B78951FC98
+43297FAD38E373FE 762514B829BF486A 13F04154D69D1AE5
+07A7137045DA2A16 3BDD119049372802 2EEDDA93FFD39C79
+04689104C2FD3B2F 26955F6835AF609A D887E0393C2DA6E3
+37D06BB516CB7546 164D5E404F275232 5F99D04F5B163969
+1F08260D1AC2465E 6B056E18759F5CCA 4A057A3B24D3977B
+584023641ABA6176 004BD6EF09176062 452031C1E4FADA8E
+025816164629B007 480D39006EE762F2 7555AE39F59B87BD
+49793EBC79B3258F 437540C8698F3CFA 53C55F9CB49FC019
+4FB05E1515AB73A7 072D43A077075292 7A8E7BFA937E89A3
+49E95D6D4CA229BF 02FE55778117F12A CF9C5D7A4986ADB5
+018310DC409B26D6 1D9D5C5018F728C2 D1ABB290658BC778
+1C587F1C13924FEF 305532286D6F295A 55CB3774D13EF201
+0101010101010101 0123456789ABCDEF FA34EC4847B268B2
+1F1F1F1F0E0E0E0E 0123456789ABCDEF A790795108EA3CAE
+E0FEE0FEF1FEF1FE 0123456789ABCDEF C39E072D9FAC631D
+0000000000000000 FFFFFFFFFFFFFFFF 014933E0CDAFF6E4
+FFFFFFFFFFFFFFFF 0000000000000000 F21E9A77B71C49BC
+0123456789ABCDEF 0000000000000000 245946885754369A
+FEDCBA9876543210 FFFFFFFFFFFFFFFF 6B5C5A9C5D9E0A5A
+
+set_key test data
+data[8]= FEDCBA9876543210
+c=F9AD597C49DB005E k[ 1]=F0
+c=E91D21C1D961A6D6 k[ 2]=F0E1
+c=E9C2B70A1BC65CF3 k[ 3]=F0E1D2
+c=BE1E639408640F05 k[ 4]=F0E1D2C3
+c=B39E44481BDB1E6E k[ 5]=F0E1D2C3B4
+c=9457AA83B1928C0D k[ 6]=F0E1D2C3B4A5
+c=8BB77032F960629D k[ 7]=F0E1D2C3B4A596
+c=E87A244E2CC85E82 k[ 8]=F0E1D2C3B4A59687
+c=15750E7A4F4EC577 k[ 9]=F0E1D2C3B4A5968778
+c=122BA70B3AB64AE0 k[10]=F0E1D2C3B4A596877869
+c=3A833C9AFFC537F6 k[11]=F0E1D2C3B4A5968778695A
+c=9409DA87A90F6BF2 k[12]=F0E1D2C3B4A5968778695A4B
+c=884F80625060B8B4 k[13]=F0E1D2C3B4A5968778695A4B3C
+c=1F85031C19E11968 k[14]=F0E1D2C3B4A5968778695A4B3C2D
+c=79D9373A714CA34F k[15]=F0E1D2C3B4A5968778695A4B3C2D1E ???
+c=93142887EE3BE15C k[16]=F0E1D2C3B4A5968778695A4B3C2D1E0F
+c=03429E838CE2D14B k[17]=F0E1D2C3B4A5968778695A4B3C2D1E0F00
+c=A4299E27469FF67B k[18]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011
+c=AFD5AED1C1BC96A8 k[19]=F0E1D2C3B4A5968778695A4B3C2D1E0F001122
+c=10851C0E3858DA9F k[20]=F0E1D2C3B4A5968778695A4B3C2D1E0F00112233
+c=E6F51ED79B9DB21F k[21]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011223344
+c=64A6E14AFD36B46F k[22]=F0E1D2C3B4A5968778695A4B3C2D1E0F001122334455
+c=80C7D7D45A5479AD k[23]=F0E1D2C3B4A5968778695A4B3C2D1E0F00112233445566
+c=05044B62FA52D080 k[24]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011223344556677
+
+chaining mode test data
+key[16] = 0123456789ABCDEFF0E1D2C3B4A59687
+iv[8] = FEDCBA9876543210
+data[29] = "7654321 Now is the time for " (includes trailing '\0')
+data[29] = 37363534333231204E6F77206973207468652074696D6520666F722000
+cbc cipher text
+cipher[32]= 6B77B4D63006DEE605B156E27403979358DEB9E7154616D959F1652BD5FF92CC
+cfb64 cipher text cipher[29]=
+E73214A2822139CAF26ECF6D2EB9E76E3DA3DE04D1517200519D57A6C3
+ofb64 cipher text cipher[29]=
+E73214A2822139CA62B343CC5B65587310DD908D0C241B2263C2CF80DA
+
+*/
+
+//---------------------------------------------------------------------------
+// includes for size_t
+#include <stddef.h>
+//---------------------------------------------------------------------------
+
+
+#ifndef BLOWFISH_H
+#define BLOWFISH_H
+
+//Block Structure
+struct SBlock
+{
+ //Constructors
+ SBlock(unsigned int l=0, unsigned int r=0) : m_uil(l), m_uir(r) {}
+ //Copy Constructor
+ SBlock(const SBlock& roBlock) : m_uil(roBlock.m_uil), m_uir(roBlock.m_uir) {}
+ SBlock& operator^=(SBlock& b) { m_uil ^= b.m_uil; m_uir ^= b.m_uir; return *this; }
+ unsigned int m_uil, m_uir;
+};
+
+class CBlowFish
+{
+public:
+ enum { ECB=0, CBC=1, CFB=2 };
+
+ //Constructor - Initialize the P and S boxes for a given Key
+ CBlowFish(unsigned char* ucKey, size_t n, const SBlock& roChain = SBlock(0UL,0UL));
+
+ //Resetting the chaining block
+ void ResetChain() { m_oChain = m_oChain0; }
+
+ // Encrypt/Decrypt Buffer in Place
+ void Encrypt(unsigned char* buf, size_t n, int iMode=ECB);
+ void Decrypt(unsigned char* buf, size_t n, int iMode=ECB);
+
+ // Encrypt/Decrypt from Input Buffer to Output Buffer
+ void Encrypt(const unsigned char* in, unsigned char* out, size_t n, int iMode=ECB);
+ void Decrypt(const unsigned char* in, unsigned char* out, size_t n, int iMode=ECB);
+
+//Private Functions
+private:
+ unsigned int F(unsigned int ui);
+ void Encrypt(SBlock&);
+ void Decrypt(SBlock&);
+
+private:
+ //The Initialization Vector, by default {0, 0}
+ SBlock m_oChain0;
+ SBlock m_oChain;
+ unsigned int m_auiP[18];
+ unsigned int m_auiS[4][256];
+ static const unsigned int scm_auiInitP[18];
+ static const unsigned int scm_auiInitS[4][256];
+};
+
+//Extract low order byte
+inline unsigned char Byte(unsigned int ui)
+{
+ return (unsigned char)(ui & 0xff);
+}
+
+//Function F
+inline unsigned int CBlowFish::F(unsigned int ui)
+{
+ return ((m_auiS[0][Byte(ui>>24)] + m_auiS[1][Byte(ui>>16)]) ^ m_auiS[2][Byte(ui>>8)]) + m_auiS[3][Byte(ui)];
+}
+
+#endif // __BLOWFISH_H__
+
diff --git a/konversation/src/blowfish/Makefile.am b/konversation/src/blowfish/Makefile.am
new file mode 100644
index 0000000..07abe04
--- /dev/null
+++ b/konversation/src/blowfish/Makefile.am
@@ -0,0 +1,7 @@
+AM_CPPFLAGS = $(all_includes) -I$(srcdir)/../
+
+noinst_LTLIBRARIES = libblowfish.la
+noinst_HEADERS = b64stuff.h BlowfishCbc.h blowfish.h mc_blowfish.h newblowfish.h oldblowfish1.h oldblowfish2.h
+
+libblowfish_la_SOURCES = b64stuff.cpp BlowfishCbc.cpp blowfish.cpp mc_blowfish.cpp newblowfish.cpp oldblowfish.cpp
+libblowfish_la_LDFLAGS = $(all_libraries) -no-undefined
diff --git a/konversation/src/blowfish/README b/konversation/src/blowfish/README
new file mode 100644
index 0000000..d949ba0
--- /dev/null
+++ b/konversation/src/blowfish/README
@@ -0,0 +1,3 @@
+b64stuff.{h,cpp} is public domain
+blowfish.{cpp,h} is written by İsmail Dönmez <ismail@kde.org> and licensed under GPLv2
+Rest of the code is from Mircryption v1.11.27 ( http://mircryption.sourceforge.net/ ) project and licensed under GPLv2
diff --git a/konversation/src/blowfish/b64stuff.cpp b/konversation/src/blowfish/b64stuff.cpp
new file mode 100644
index 0000000..72f0776
--- /dev/null
+++ b/konversation/src/blowfish/b64stuff.cpp
@@ -0,0 +1,218 @@
+/*
+ Copyright (C) John Viega <viega@viega.org>
+ Copyright (C) Matt Messier <mmessier@prilnari.com>
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the <OWNER> nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+//---------------------------------------------------------------------------
+#include "b64stuff.h"
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+//static char b64table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+// "abcdefghijklmnopqrstuvwxyz"
+// "0123456789+/";
+static char b64table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+/* Accepts a binary buffer with an associated size.
+ * Returns a base64-encoded, NULL-terminated string.
+ */
+unsigned char *spc_base64_encode(unsigned char *input, size_t len, int wrap) {
+ unsigned char *output, *p;
+ size_t i = 0, mod = len % 3, toalloc;
+
+ // ATTN: WTF is this allocation function - does it fail sometimes?)
+ //toalloc = (len / 3) * 4 + (3 - mod) % 3 + 1;
+ toalloc = (len / 3) * 4 + (3 - mod) % 3 + 1 + 8;
+
+ if (wrap) {
+ toalloc += len / 57;
+ if (len % 57) toalloc++;
+ }
+
+ if (toalloc < len) return 0;
+
+ //p = output = (unsigned char *)malloc(toalloc);
+ p = output = new unsigned char [toalloc];
+
+ if (!p) return 0;
+
+ while (i < len - mod) {
+ *p++ = b64table[input[i++] >> 2];
+ *p++ = b64table[((input[i - 1] << 4) | (input[i] >> 4)) & 0x3f];
+ *p++ = b64table[((input[i] << 2) | (input[i + 1] >> 6)) & 0x3f];
+ *p++ = b64table[input[i + 1] & 0x3f];
+ i += 2;
+ if (wrap && !(i % 57)) *p++ = '\n';
+ }
+ if (!mod) {
+ if (wrap && i % 57) *p++ = '\n';
+ *p = 0;
+ return output;
+ } else {
+ *p++ = b64table[input[i++] >> 2];
+ *p++ = b64table[((input[i - 1] << 4) | (input[i] >> 4)) & 0x3f];
+ if (mod == 1) {
+ *p++ = '=';
+ *p++ = '=';
+ if (wrap) *p++ = '\n';
+ *p = 0;
+ return output;
+ } else {
+ *p++ = b64table[(input[i] << 2) & 0x3f];
+ *p++ = '=';
+ if (wrap) *p++ = '\n';
+ *p = 0;
+ return output;
+ }
+ }
+}
+//---------------------------------------------------------------------------
+
+
+
+
+//---------------------------------------------------------------------------
+static char b64revtb[256] = {
+ -3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*0-15*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*16-31*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, /*32-47*/
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, /*48-63*/
+ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, /*64-79*/
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, /*80-95*/
+ -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /*96-111*/
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, /*112-127*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*128-143*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*144-159*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*160-175*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*176-191*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*192-207*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*208-223*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /*224-239*/
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 /*240-255*/
+};
+
+static unsigned int raw_base64_decode(unsigned char *in, unsigned char *out,
+ int strict, int *err) {
+ unsigned int result = 0;
+ int x;
+ unsigned char buf[3], *p = in, pad = 0;
+
+ *err = 0;
+ while (!pad) {
+ switch ((x = b64revtb[*p++])) {
+ case -3: /* NULL TERMINATOR */
+ if (((p - 1) - in) % 4) *err = 1;
+ return result;
+ case -2: /* PADDING CHARACTER. INVALID HERE */
+ if (((p - 1) - in) % 4 < 2) {
+ *err = 1;
+ return result;
+ } else if (((p - 1) - in) % 4 == 2) {
+ /* Make sure there's appropriate padding */
+ if (*p != '=') {
+ *err = 1;
+ return result;
+ }
+ buf[2] = 0;
+ pad = 2;
+ result++;
+ break;
+ } else {
+ pad = 1;
+ result += 2;
+ break;
+ }
+ return result;
+ case -1:
+ if (strict) {
+ *err = 2;
+ return result;
+ }
+ break;
+ default:
+ switch (((p - 1) - in) % 4) {
+ case 0:
+ buf[0] = x << 2;
+ break;
+ case 1:
+ buf[0] |= (x >> 4);
+ buf[1] = x << 4;
+ break;
+ case 2:
+ buf[1] |= (x >> 2);
+ buf[2] = x << 6;
+ break;
+ case 3:
+ buf[2] |= x;
+ result += 3;
+ for (x = 0; x < 3 - pad; x++) *out++ = buf[x];
+ break;
+ }
+ break;
+ }
+ }
+ for (x = 0; x < 3 - pad; x++) *out++ = buf[x];
+ return result;
+}
+
+/* If err is non-zero on exit, then there was an incorrect padding error. We
+ * allocate enough space for all circumstances, but when there is padding, or
+ * there are characters outside the character set in the string (which we are
+ * supposed to ignore), then we end up allocating too much space. You can
+ * realloc() to the correct length if you wish.
+ */
+
+unsigned char *spc_base64_decode(unsigned char *buf, size_t *len, int strict, int *err) {
+ unsigned char *outbuf;
+
+// outbuf = (unsigned char *)malloc(3 * (strlen(buf) / 4 + 1));
+ // ATTN: WTF is this allocation function - does it fail sometimes?)
+ //outbuf = (unsigned char *)malloc(3 * (strlen((char*)buf) / 4 + 1));
+ //outbuf = (unsigned char *)malloc(3 * (strlen((char*)buf)+1));
+ //outbuf = new unsigned char [3 * (strlen((char*)buf)+1)];
+ outbuf = new unsigned char [3 * (strlen((char*)buf) / 4 + 1 + 8)];
+
+ if (!outbuf) {
+ *err = -3;
+ *len = 0;
+ return 0;
+ }
+ *len = raw_base64_decode(buf, outbuf, strict, err);
+ if (*err) {
+ //free(outbuf);
+ delete [] outbuf;
+ *len = 0;
+ outbuf = 0;
+ }
+ return outbuf;
+}
+//---------------------------------------------------------------------------
+
diff --git a/konversation/src/blowfish/b64stuff.h b/konversation/src/blowfish/b64stuff.h
new file mode 100644
index 0000000..292300b
--- /dev/null
+++ b/konversation/src/blowfish/b64stuff.h
@@ -0,0 +1,53 @@
+/*
+ Copyright (C) John Viega <viega@viega.org>
+ Copyright (C) Matt Messier <mmessier@prilnari.com>
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the <OWNER> nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+
+//---------------------------------------------------------------------------
+// To prevent multiple includes
+#ifndef _b64stuffh
+#define _b64stuffh
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include <stdlib.h>
+#include <string.h>
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+unsigned char *spc_base64_encode(unsigned char *input, size_t len, int wrap);
+unsigned char *spc_base64_decode(unsigned char *buf, size_t *len, int strict, int *err);
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+#endif
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/blowfish.cpp b/konversation/src/blowfish/blowfish.cpp
new file mode 100644
index 0000000..7951202
--- /dev/null
+++ b/konversation/src/blowfish/blowfish.cpp
@@ -0,0 +1,129 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 İsmail Dönmez <ismail@kde.org>
+*/
+
+#include "blowfish.h"
+#include "mc_blowfish.h"
+#include "server.h"
+#include "channel.h"
+
+#include <qcstring.h>
+#include <qstringlist.h>
+
+
+namespace Konversation
+{
+ // Find n'th occurrence of separator in input and return the index
+ int findOccurrence(const QCString& input, const QCString& separator, int nth)
+ {
+ int j=1;
+ uint i;
+
+ for(i=0; i < input.length(); ++i)
+ {
+ if((input.mid(i,1) == separator))
+ {
+ if (j == nth)
+ return i;
+ else
+ ++j;
+ }
+ }
+ return i;
+ }
+
+ void decrypt(const QString& recipient, QCString& cipher, Server* server)
+ {
+ QCString key = server->getKeyForRecipient(recipient);
+
+ if(!key.isEmpty())
+ {
+ int index = findOccurrence(cipher, ":", 2);
+ QCString backup = cipher.mid(0,index+1);
+ QCString tmp = cipher.mid(index+1);
+ char* tmp2;
+
+ if(server->identifyMsgEnabled()) // Workaround braindead Freenode prefixing messages with +
+ tmp = tmp.mid(1);
+
+ if( !(tmp.mid(0,4) == "+OK ") && !(tmp.mid(0,5) == "mcps ") )
+ return;
+ else
+ cipher = tmp;
+
+ if(cipher.mid(0,5) == "mcps ")
+ cipher = cipher.mid(5);
+ else
+ cipher = cipher.mid(4);
+
+ QCString ckey( key.length()+2 );
+ QCString result( cipher.length()+1 );
+ qstrncpy(result.data(), cipher.data(), cipher.length());
+ qstrncpy(ckey.data(), key.data(), key.length()+1);
+ tmp2 = decrypt_string(ckey.data(),result.data());
+ const char *pfx="(e) ";
+ // If it's a CTCP we don't want to have the (e) interfering with the processing
+ if (tmp2[0] == 1)
+ pfx = "\x0";
+ cipher = backup+pfx+tmp2+' '+'\n'; // FIXME(??) why is there an added space here?
+ free(tmp2);
+ }
+ }
+
+ void decryptTopic(const QString& recipient, QCString& cipher, Server* server)
+ {
+ QCString key = server->getKeyForRecipient(recipient);
+
+ if(!key.isEmpty())
+ {
+ int index = findOccurrence(cipher, ":", 2);
+ QCString backup = cipher.mid(0,index+1);
+ QCString tmp = cipher.mid(index+1);
+ char* tmp2;
+
+ if(tmp.mid(0,4) == "+OK ") // FiSH style topic
+ cipher = tmp.mid(4);
+ else if(tmp.left(5) == "«m«")
+ cipher = tmp.mid(5,tmp.length()-10);
+ else
+ return;
+
+ QCString result( cipher.length()+1 );
+ QCString ckey( key.length()+2 );
+ qstrncpy(ckey.data(), key.data(), key.length()+1);
+ qstrncpy(result.data(), cipher.data(), cipher.length());
+ tmp2 = decrypt_string(ckey.data(),result.data());
+ cipher = tmp2;
+ if(cipher.mid(0,2) == "@@")
+ cipher = cipher.mid(2);
+
+ cipher = backup+"(e) "+cipher;
+ free(tmp2);
+ }
+ }
+
+ bool encrypt(const QString& key, QCString& cipher)
+ {
+ if(key.isEmpty())
+ return false;
+
+ if (cipher.left(3) == "+p ")
+ cipher = cipher.mid(3);
+ else
+ {
+ QCString ckey(key.local8Bit());
+
+ char *tmp = encrypt_string(ckey.data(), cipher.data());
+ cipher = QCString("+OK ") + tmp;
+ free(tmp);
+ }
+ return true;
+ }
+}
diff --git a/konversation/src/blowfish/blowfish.h b/konversation/src/blowfish/blowfish.h
new file mode 100644
index 0000000..0c37317
--- /dev/null
+++ b/konversation/src/blowfish/blowfish.h
@@ -0,0 +1,30 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 İsmail Dönmez <ismail@kde.org>
+*/
+
+#ifndef BLOWFISH_H
+#define BLOWFISH_H
+
+
+class Server;
+
+class QString;
+class QCString;
+
+
+namespace Konversation
+{
+
+ int findOccurrence(const QCString& input, const QCString& separator, int nth);
+ void decrypt(const QString& recipient, QCString& cipher, Server* server);
+ void decryptTopic(const QString& recipient, QCString& cipher, Server* server);
+ bool encrypt(const QString& key, QCString& cipher);
+}
+#endif
diff --git a/konversation/src/blowfish/mc_blowfish.cpp b/konversation/src/blowfish/mc_blowfish.cpp
new file mode 100644
index 0000000..0fb8da9
--- /dev/null
+++ b/konversation/src/blowfish/mc_blowfish.cpp
@@ -0,0 +1,63 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+*/
+
+//---------------------------------------------------------------------------
+// mc_blowfish.cpp
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// include header
+#include "mc_blowfish.h"
+#include "newblowfish.h"
+#include "oldblowfish1.h"
+
+#include <string.h>
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// Proxies for deciding which algorithm to use based on a key prefix
+
+// encrypt and decrypt
+char *encrypt_string(char *key, char *str)
+{
+ // Note: Returned string must be freed when done with it!
+ if (key!=0 && (strncmp(key,"cbc:",4)==0 || strncmp(key,"CBC:",4)==0))
+ {
+ // new method
+ return encrypt_string_new(key+4,str);
+ }
+
+ // invoke old ecb method
+ return encrypt_string_oldecb(key,str);
+}
+
+char *decrypt_string(char *key, char *str)
+{
+ // Note: Returned string must be freed when done with it!
+ if (key!=NULL && (strncmp(key,"cbc:",4)==0 || strncmp(key,"CBC:",4)==0))
+ {
+ // new method
+ if (str[0]=='*')
+ return decrypt_string_new(key+4,str+1);
+ // it wasnt in cbc as expected, so use old method and warn user
+ char *cp=decrypt_string_oldecb(key,str);
+ char *cp2 = new char[strlen(cp)+15];
+ strcpy(cp2,"ERROR_NONCBC:");
+ strcat(cp2,cp);
+ delete cp;
+ return cp2;
+ }
+ // invoke old ecb method
+ return decrypt_string_oldecb(key,str);
+}
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/mc_blowfish.h b/konversation/src/blowfish/mc_blowfish.h
new file mode 100644
index 0000000..b1a3537
--- /dev/null
+++ b/konversation/src/blowfish/mc_blowfish.h
@@ -0,0 +1,34 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+*/
+
+// mc_blowfish.h
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+// To prevent multiple includes
+#ifndef _mcblowfishh
+#define _mcblowfishh
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+// forward declarations
+char *encrypt_string(char *key, char *str);
+char *decrypt_string(char *key, char *str);
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// header guard
+#endif
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/newblowfish.cpp b/konversation/src/blowfish/newblowfish.cpp
new file mode 100644
index 0000000..501c9d1
--- /dev/null
+++ b/konversation/src/blowfish/newblowfish.cpp
@@ -0,0 +1,208 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+*/
+
+// mc_blowfishnew.cpp
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#include "newblowfish.h"
+#include "b64stuff.h"
+#include "BlowfishCbc.h"
+#include <string.h>
+#include <stdio.h>
+#include <time.h>
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+void ChooseIv(char *iv)
+{
+ // file the 8 byte IV with a nonce
+ // ATTN: this is not the best nonce IV generator, we'd like to improve it later
+
+ static unsigned int staticcounter=0;
+ static int didinit=0;
+ int i;
+ time_t t1;
+ int part1,part2;
+ char *part1p,*part2p;
+
+ // get current time
+ time(&t1);
+
+ // on first use, initialize random number generator to time
+ if (didinit==0)
+ {
+ srand((long) t1);
+ didinit=1;
+ }
+
+ // increment counter
+ ++staticcounter;
+ if (staticcounter>=65534L)
+ staticcounter=0;
+
+ // ok now the IV will be 4 bytes random and 4 bytes time_t
+ int intsize=sizeof(int);
+
+ // now part1 and part2 of the 8 byte iv
+ // part1 is a timestamp, number of seconds past since 1970
+ part1=(int)t1;
+ part1p=(char*)(&part1);
+ // part2 is a random number, from prng initted with time, plus a counter
+ part2=(int)(rand()+staticcounter);
+ part2p=(char*)(&part2);
+
+ // now fill IV
+ for (i=0;i<4;++i)
+ iv[i]=part1p[i%intsize];
+ for (i=0;i<4;++i)
+ iv[4+i]=part2p[i%intsize];
+}
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// NEW CBCB METHODS
+char *encrypt_string_new(char *key, char *str)
+{
+ char *p;
+ char *s, *dest,*dest2;
+ char iv[8];
+ int i;
+ int len;
+
+ // Pad fake string with 8 bytes to make sure there's enough PLUS add 8 bytes for IV
+ s = new char[strlen(str) + 9+8];
+ if ((!key) || (!key[0]))
+ return s;
+ // allocate max space we will need for encrypted, base64d
+ dest = new char[(strlen(str) + 9+8) * 2];
+
+ // choose a (random or timestamped) IV block, 8 bytes wide and stick it into first 8 bytes of s
+ ChooseIv(iv);
+
+ // load the iv into start of s
+ for (i=0;i<8;++i)
+ s[i]=iv[i];
+ // add user string after
+ strcpy(&s[8], str);
+ len=8+strlen(str);
+
+ // pad at end of source with 0s
+ p = s+len;
+ for (i = 0; i < 8; i++)
+ *p++ = 0;
+
+ // modify len to be mod%8
+ if (len%8!=0)
+ len+=8-(len%8);
+
+ // encrypt into dest (note len does not change)
+ CBlowFish oBlowFish((unsigned char*)key, strlen(key));
+ oBlowFish.ResetChain();
+ oBlowFish.Encrypt((unsigned char*)s,(unsigned char*)dest, len, CBlowFish::CBC);
+
+ // now base 64 it, allocating new dest2 in the process
+ dest2=(char*)(spc_base64_encode((unsigned char*)dest,len,0));
+ if (dest2==0)
+ {
+ delete s;
+ return dest;
+ }
+
+ // now prefix a * to it while copying to dest and delete s
+ strcpy(dest,"*");
+ strcat(dest,dest2);
+ delete dest2;
+ delete s;
+
+ // return the dest (user will free)
+ return dest;
+}
+
+
+// Returned string must be freed when done with it!
+char *decrypt_string_new(char *key, char *str)
+{
+ char *p, *s, *dest;
+ char *dest2,*dest3;
+ int i;
+ int err;
+ size_t len;
+ char iv[9];
+
+ // Pad encoded string with 0 bits in case it's bogus
+ s = new char[strlen(str) + 12];
+ strcpy(s, str);
+
+ if ((!key) || (!key[0]))
+ return s;
+ dest = new char[strlen(str) + 12 + 8];
+
+ // pad with 0s
+ p = s+strlen(str);
+ for (i = 0; i < 12; i++)
+ *p++ = 0;
+
+ // now unbase64 it, allocating new dest2 in the process
+ len=strlen(str);
+ dest2=(char*)(spc_base64_decode((unsigned char*)s,&len,0,&err));
+ if (dest2==0)
+ {
+ delete dest;
+ return s;
+ }
+ if (err)
+ {
+ // FOR TESTING:
+ // printf("ERROR IN BASE 64 decode!\n");
+ delete dest;
+ return s;
+ }
+
+ // copy unbase64'd to new temp dest3 then delete dest2
+ // pad it to be mod%8 (this should not be necesary on decrypt but could be on a truncated transmission);
+ dest3 = new char[strlen(str) + 12 + 8];
+ memcpy(dest3,dest2,len);
+ if (len%8!=0)
+ {
+ int newbytes=8-(len%8);
+ while (newbytes>0)
+ {
+ ++len;
+ --newbytes;
+ dest3[len]='\0';
+ }
+ }
+ delete dest2;
+
+ // decrypt from dest3 (length len) to dest
+ CBlowFish oBlowFish((unsigned char*)key, strlen(key));
+ oBlowFish.ResetChain();
+ oBlowFish.Decrypt((unsigned char*)dest3,(unsigned char*)dest, len, CBlowFish::CBC);
+ // 0 terminate in case it is exactly mod 8 real characters
+ dest[len]='\0';
+
+ // now the first block (8bytes) is just the IV so we don't want to return that
+ strncpy(iv,dest,8);
+ iv[8]='\0';
+ strcpy(dest,&dest[8]);
+
+ // delete s and dest3
+ delete s;
+ delete dest3;
+
+ // return dest
+ return dest;
+}
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/newblowfish.h b/konversation/src/blowfish/newblowfish.h
new file mode 100644
index 0000000..16e50c2
--- /dev/null
+++ b/konversation/src/blowfish/newblowfish.h
@@ -0,0 +1,32 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+*/
+
+// mc_blowfishnew.h
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// To prevent multiple includes
+#ifndef _newblowfishh
+#define _newblowfishh
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// forward declarations
+char *encrypt_string_new(char *key, char *str);
+char *decrypt_string_new(char *key, char *str);
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// header guard
+#endif
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/oldblowfish.cpp b/konversation/src/blowfish/oldblowfish.cpp
new file mode 100644
index 0000000..1f274db
--- /dev/null
+++ b/konversation/src/blowfish/oldblowfish.cpp
@@ -0,0 +1,425 @@
+/*
+ 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.
+*/
+
+/*
+ Blowfish algorythms: Bruce Schneier and Jim Conger
+ Bruce Schneier, 1996, Applied Cryptography, 2nd ed., John Wiley & Sons
+ Blowfish Eggdrop algorythms: Robey Pointer
+
+ Copyright (C) 1994 Bruce Schneier <schneier@counterpane.com>
+ Copyright (C) 1996 Jim Conger <jconger@cox.net>
+ Copyright (C) Robey Pointer <robey@lag.net>
+*/
+
+//---------------------------------------------------------------------------
+#include <string.h>
+#include "oldblowfish1.h"
+#include "oldblowfish2.h"
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+#define S(x,i) (SBoxes[i][x.w.byte##i])
+#define bf_F(x) (((S(x,0) + S(x,1)) ^ S(x,2)) + S(x,3))
+#define ROUND(a,b,n) (a.dword ^= bf_F(b) ^ PArray[n])
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+oldCBlowFish::oldCBlowFish ()
+{
+ PArray = new DWORD [18] ;
+ SBoxes = new DWORD [4][256] ;
+}
+
+oldCBlowFish::~oldCBlowFish ()
+{
+ delete PArray ;
+ delete [] SBoxes ;
+}
+
+// the low level (private) encryption function
+void oldCBlowFish::Blowfish_encipher (DWORD *xl, DWORD *xr)
+{
+ union aword Xl, Xr ;
+
+ Xl.dword = *xl ;
+ Xr.dword = *xr ;
+
+ Xl.dword ^= PArray [0];
+ ROUND (Xr, Xl, 1) ; ROUND (Xl, Xr, 2) ;
+ ROUND (Xr, Xl, 3) ; ROUND (Xl, Xr, 4) ;
+ ROUND (Xr, Xl, 5) ; ROUND (Xl, Xr, 6) ;
+ ROUND (Xr, Xl, 7) ; ROUND (Xl, Xr, 8) ;
+ ROUND (Xr, Xl, 9) ; ROUND (Xl, Xr, 10) ;
+ ROUND (Xr, Xl, 11) ; ROUND (Xl, Xr, 12) ;
+ ROUND (Xr, Xl, 13) ; ROUND (Xl, Xr, 14) ;
+ ROUND (Xr, Xl, 15) ; ROUND (Xl, Xr, 16) ;
+ Xr.dword ^= PArray [17] ;
+
+ *xr = Xl.dword ;
+ *xl = Xr.dword ;
+}
+
+// the low level (private) decryption function
+void oldCBlowFish::Blowfish_decipher (DWORD *xl, DWORD *xr)
+{
+ union aword Xl ;
+ union aword Xr ;
+
+ Xl.dword = *xl ;
+ Xr.dword = *xr ;
+
+ Xl.dword ^= PArray [17] ;
+ ROUND (Xr, Xl, 16) ; ROUND (Xl, Xr, 15) ;
+ ROUND (Xr, Xl, 14) ; ROUND (Xl, Xr, 13) ;
+ ROUND (Xr, Xl, 12) ; ROUND (Xl, Xr, 11) ;
+ ROUND (Xr, Xl, 10) ; ROUND (Xl, Xr, 9) ;
+ ROUND (Xr, Xl, 8) ; ROUND (Xl, Xr, 7) ;
+ ROUND (Xr, Xl, 6) ; ROUND (Xl, Xr, 5) ;
+ ROUND (Xr, Xl, 4) ; ROUND (Xl, Xr, 3) ;
+ ROUND (Xr, Xl, 2) ; ROUND (Xl, Xr, 1) ;
+ Xr.dword ^= PArray[0];
+
+ *xl = Xr.dword;
+ *xr = Xl.dword;
+}
+
+
+// constructs the enctryption sieve
+void oldCBlowFish::Initialize (BYTE key[], int keybytes)
+{
+ int i, j ;
+ DWORD data, datal, datar ;
+ union aword temp ;
+
+
+ // ATTN: new fix for keys > 56, should make it more compatible with FISH
+ // but fish uses 80 ???
+ if (keybytes>MAXKEYBYTES_COMPATMODE)
+ keybytes=MAXKEYBYTES_COMPATMODE;
+
+ // first fill arrays from data tables
+ for (i = 0 ; i < 18 ; i++)
+ PArray [i] = bf_P [i] ;
+
+ for (i = 0 ; i < 4 ; i++)
+ {
+ for (j = 0 ; j < 256 ; j++)
+ SBoxes [i][j] = bf_S [i][j] ;
+ }
+
+
+ j = 0 ;
+ for (i = 0 ; i < NPASS + 2 ; ++i)
+ {
+ temp.dword = 0 ;
+ temp.w.byte0 = key[j];
+ temp.w.byte1 = key[(j+1) % keybytes] ;
+ temp.w.byte2 = key[(j+2) % keybytes] ;
+ temp.w.byte3 = key[(j+3) % keybytes] ;
+ data = temp.dword ;
+ PArray [i] ^= data ;
+ j = (j + 4) % keybytes ;
+ }
+
+ datal = 0 ;
+ datar = 0 ;
+
+ for (i = 0 ; i < NPASS + 2 ; i += 2)
+ {
+ Blowfish_encipher (&datal, &datar) ;
+ PArray [i] = datal ;
+ PArray [i + 1] = datar ;
+ }
+
+ for (i = 0 ; i < 4 ; ++i)
+ {
+ for (j = 0 ; j < 256 ; j += 2)
+ {
+ Blowfish_encipher (&datal, &datar) ;
+ SBoxes [i][j] = datal ;
+ SBoxes [i][j + 1] = datar ;
+ }
+ }
+}
+
+// get output length, which must be even MOD 8
+DWORD oldCBlowFish::GetOutputLength (DWORD lInputLong)
+{
+ DWORD lVal ;
+
+ lVal = lInputLong % 8 ; // find out if uneven number of bytes at the end
+ if (lVal != 0)
+ return lInputLong + 8 - lVal ;
+ else
+ return lInputLong ;
+}
+
+
+// Encode pIntput into pOutput. Input length in lSize. Returned value
+// is length of output which will be even MOD 8 bytes. Input buffer and
+// output buffer can be the same, but be sure buffer length is even MOD 8.
+DWORD oldCBlowFish::Encode (BYTE * pInput, BYTE * pOutput, DWORD lSize)
+{
+ DWORD lCount, lOutSize, lGoodBytes ;
+ BYTE *pi, *po ;
+ int i, j ;
+ int SameDest = (pInput == pOutput ? 1 : 0) ;
+
+ lOutSize = GetOutputLength (lSize) ;
+ for (lCount = 0 ; lCount < lOutSize ; lCount += 8)
+ {
+ if (SameDest) // if encoded data is being written into input buffer
+ {
+ if (lCount < lSize - 7) // if not dealing with uneven bytes at end
+ {
+ Blowfish_encipher ((DWORD *) pInput,
+ (DWORD *) (pInput + 4)) ;
+ }
+ else // pad end of data with null bytes to complete encryption
+ {
+ po = pInput + lSize ; // point at byte past the end of actual data
+ j = (int) (lOutSize - lSize) ; // number of bytes to set to null
+ for (i = 0 ; i < j ; i++)
+ *po++ = 0 ;
+ Blowfish_encipher ((DWORD *) pInput,
+ (DWORD *) (pInput + 4)) ;
+ }
+ pInput += 8 ;
+ }
+ else // output buffer not equal to input buffer, so must copy
+ { // input to output buffer prior to encrypting
+ if (lCount < lSize - 7) // if not dealing with uneven bytes at end
+ {
+ pi = pInput ;
+ po = pOutput ;
+ for (i = 0 ; i < 8 ; i++) // copy bytes to output
+ *po++ = *pi++ ;
+ Blowfish_encipher ((DWORD *) pOutput, // now encrypt them
+ (DWORD *) (pOutput + 4)) ;
+ }
+ else // pad end of data with null bytes to complete encryption
+ {
+ lGoodBytes = lSize - lCount ; // number of remaining data bytes
+ po = pOutput ;
+ for (i = 0 ; i < (int) lGoodBytes ; i++)
+ *po++ = *pInput++ ;
+ for (j = i ; j < 8 ; j++)
+ *po++ = 0 ;
+ Blowfish_encipher ((DWORD *) pOutput,
+ (DWORD *) (pOutput + 4)) ;
+ }
+ pInput += 8 ;
+ pOutput += 8 ;
+ }
+ }
+ return lOutSize ;
+ }
+
+// Decode pIntput into pOutput. Input length in lSize. Input buffer and
+// output buffer can be the same, but be sure buffer length is even MOD 8.
+void oldCBlowFish::Decode (BYTE * pInput, BYTE * pOutput, DWORD lSize)
+{
+ DWORD lCount ;
+ BYTE *pi, *po ;
+ int i ;
+ int SameDest = (pInput == pOutput ? 1 : 0) ;
+
+ for (lCount = 0 ; lCount < lSize ; lCount += 8)
+ {
+ if (SameDest) // if encoded data is being written into input buffer
+ {
+ Blowfish_decipher ((DWORD *) pInput,
+ (DWORD *) (pInput + 4)) ;
+ pInput += 8 ;
+ }
+ else // output buffer not equal to input buffer
+ { // so copy input to output before decoding
+ pi = pInput ;
+ po = pOutput ;
+ for (i = 0 ; i < 8 ; i++)
+ *po++ = *pi++ ;
+ Blowfish_decipher ((DWORD *) pOutput,
+ (DWORD *) (pOutput + 4)) ;
+ pInput += 8 ;
+ pOutput += 8 ;
+ }
+ }
+}
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// The following code is adapted from the eggdrop bot source:
+// by Robey Pointer
+// DR - as i understand this, what we have here is a function where you pass
+// it a string(passphrase), and it convolutes it into an encrypted version
+// (witout using a separate key). and you use this one-way encrypted
+// string later, when you ask person for their passphrase. when they give
+// you there passphrase, you call this again, and compare the two outputs.
+// if the outputs are the same, then the inputs presumably were, and so
+// passphrase is judged to match. In this way you can store one-way encrypted
+// passphrases in plain files.
+//
+
+#define SALT1 0xdeadd061
+#define SALT2 0x23f6b095
+
+// Convert 64-bit encrypted passphrase to text for userfile
+char base64[] = "./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+int base64dec(char c)
+{
+ // updated 1/20/03 for speed improvement
+ static char base64unmap[255];
+ static bool didinit=false;
+ int i;
+
+ if (!didinit)
+ {
+ // initialize base64unmap
+ for (i=0;i<255;++i)
+ base64unmap[i]=0;
+ for (i=0;i<64;++i)
+ base64unmap[(int)base64[i]]=i;
+ didinit=true;
+ }
+
+ return base64unmap[(int)c];
+}
+
+void blowfish_encrypt_pass(char *text, char *str)
+{
+ DWORD left,right;
+ int n;
+ char *p;
+ oldCBlowFish caca;
+ caca.Initialize((unsigned char*)text,strlen(text));
+ left = SALT1;
+ right = SALT2;
+ caca.Blowfish_encipher(&left, &right);
+ p = str;
+ *p++ = '+'; // + means encrypted pass
+ n = 32;
+ while (n > 0) {
+ *p++ = base64[right & 0x3f];
+ right = (right >> 6);
+ n -= 6;
+ }
+ n = 32;
+ while (n > 0) {
+ *p++ = base64[left & 0x3f];
+ left = (left >> 6);
+ n -= 6;
+ }
+ *p = 0;
+}
+//---------------------------------------------------------------------------
+
+
+
+
+
+
+
+
+
+
+
+
+//---------------------------------------------------------------------------
+// ORIGINAL COMPATIBLE (ECB) METHODS
+
+char *encrypt_string_oldecb(char *key, char *str)
+{
+ DWORD left, right;
+ unsigned char *p;
+ char *s, *dest, *d;
+ int i;
+
+ // Pad fake string with 8 bytes to make sure there's enough
+ s = new char[strlen(str) + 9];
+ strcpy(s, str);
+ if ((!key) || (!key[0]))
+ return s;
+ p = (unsigned char*)s;
+ dest = new char[(strlen(str) + 9) * 2];
+ while (*p)
+ p++;
+ for (i = 0; i < 8; i++)
+ *p++ = 0;
+
+ oldCBlowFish caca;
+ caca.Initialize((unsigned char*)key,strlen(key));
+ p = (unsigned char*)s;
+ d = dest;
+ while (*p) {
+ left = ((*p++) << 24);
+ left += ((*p++) << 16);
+ left += ((*p++) << 8);
+ left += (*p++);
+ right = ((*p++) << 24);
+ right += ((*p++) << 16);
+ right += ((*p++) << 8);
+ right += (*p++);
+ caca.Blowfish_encipher(&left, &right);
+ for (i = 0; i < 6; i++) {
+ *d++ = base64[right & 0x3f];
+ right = (right >> 6);
+ }
+ for (i = 0; i < 6; i++) {
+ *d++ = base64[left & 0x3f];
+ left = (left >> 6);
+ }
+ }
+ *d = 0;
+ delete s;
+ return dest;
+}
+
+
+// Returned string must be freed when done with it!
+char *decrypt_string_oldecb(char *key, char *str)
+{
+ DWORD left, right;
+ char *p, *s, *dest, *d;
+ int i;
+
+ // Pad encoded string with 0 bits in case it's bogus
+ s = new char[strlen(str) + 12];
+ strcpy(s, str);
+ if ((!key) || (!key[0]))
+ return s;
+ p = s;
+ dest = new char[strlen(str) + 12];
+ while (*p)
+ p++;
+ for (i = 0; i < 12; i++)
+ *p++ = 0;
+ oldCBlowFish caca;
+ caca.Initialize((unsigned char*)key,strlen(key));
+ p = s;
+ d = dest;
+ while (*p) {
+ right = 0L;
+ left = 0L;
+ for (i = 0; i < 6; i++)
+ right |= (base64dec(*p++)) << (i * 6);
+ for (i = 0; i < 6; i++)
+ left |= (base64dec(*p++)) << (i * 6);
+ caca.Blowfish_decipher(&left, &right);
+ for (i = 0; i < 4; i++)
+ *d++ = (char) ((left & (0xff << ((3 - i) * 8))) >> ((3 - i) * 8));
+ for (i = 0; i < 4; i++)
+ *d++ = (char) ((right & (0xff << ((3 - i) * 8))) >> ((3 - i) * 8));
+ }
+ *d = 0;
+ delete s;
+ return dest;
+}
+//---------------------------------------------------------------------------
diff --git a/konversation/src/blowfish/oldblowfish1.h b/konversation/src/blowfish/oldblowfish1.h
new file mode 100644
index 0000000..729e27c
--- /dev/null
+++ b/konversation/src/blowfish/oldblowfish1.h
@@ -0,0 +1,141 @@
+/*
+ blowfish1.h interface file for mc_blowfish.cpp
+ _THE BLOWFISH ENCRYPTION ALGORITHM_
+ by Bruce Schneier, 1996, Applied Cryptography, 2nd ed., John Wiley & Sons
+
+ Public Domain.
+
+ Copyright (C) 1994 Bruce Schneier <schneier@counterpane.com>
+ Copyright (C) 1996 Jim Conger <jconger@cox.net>
+*/
+
+//---------------------------------------------------------------------------
+// To prevent multiple includes
+#ifndef _oldblowfish1h
+#define _oldblowfish1h
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// Forward declarations
+char *encrypt_string_oldecb(char *key, char *str);
+char *decrypt_string_oldecb(char *key, char *str);
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+#define MAXKEYBYTES 56 // 448 bits max
+#define NPASS 16 // SBox passes
+
+#define DWORD unsigned long
+#define WORD unsigned short
+#define BYTE unsigned char
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+// for fish compatibility we use 80 instead of 56
+#define MAXKEYBYTES_COMPATMODE 80
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+//#include "oldblowfish2.h"
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+// choose a byte order for your hardware
+
+// NEW 7/10/03 trying to be smarter about endian
+// first try to be smart about it, and user can define LITTLE_ENDIAN or BIG_ENDIAN from makefile
+#ifdef LITTLE_ENDIAN
+ #define ORDER_DCBA // choosing Intel in this case
+#else
+ #ifdef BIG_ENDIAN
+ #define ORDER_ABCD
+ #endif
+#endif
+
+// default to intel if not overridden
+#ifndef ORDER_DCBA
+ #ifndef ORDER_ABCD
+ #define ORDER_DCBA
+ #endif
+#endif
+
+#ifdef ORDER_DCBA // DCBA - little endian - intel
+// ATTN: THIS IS THE MAJOR CAUSE OF INCOMPATIBILITIES WITH OTHER BLOWFISH IMPLEMENTATIONS
+// AS THIS LITTLE ENDIAN MODE IS USED ON THE PC BY THIS BLOWFISH, AND *NOT* IN OTHER BLOWFISHES
+// THE FIX I THINK IS SIMPLE, THE bytex VARS ARE USED IN ONLY 1 PLACE IN MC_BLOWFISH.CPP AND YOU
+// SHOULD BE ABLE TO MODIFY YOUR BLOWFISH CODE TO USE (4-BYTE#) instead of BYTE# IN ONE LINE OF CODE
+// TO FIX THE INCOMPATIBILITY.
+// THERE IS ALSO A BASE64 INCOMPATIBILITY THAT YOU NEED TO FIX TO USE OTHER BLOWFISH ALGORITHMS.
+// WE ARE WORKING TO MAKE A COLLECTION OF COMPATIBLE ROUTINES IN DIF. LANGUAGES (java, php, perl).
+// PLEASE BARE WITH US - WE CHOSE TO USE THESE METHODS TO INSURE BACKWARD COMPATIBILITY WITH EXISTING SCRIPTS
+ union aword {
+ DWORD dword;
+ BYTE byte [4];
+ struct {
+ unsigned int byte3:8;
+ unsigned int byte2:8;
+ unsigned int byte1:8;
+ unsigned int byte0:8;
+ } w;
+ };
+#endif
+
+#ifdef ORDER_ABCD // ABCD - big endian - motorola
+ union aword {
+ DWORD dword;
+ BYTE byte [4];
+ struct {
+ unsigned int byte0:8;
+ unsigned int byte1:8;
+ unsigned int byte2:8;
+ unsigned int byte3:8;
+ } w;
+ };
+#endif
+
+#ifdef ORDER_BADC // BADC - vax
+ union aword {
+ DWORD dword;
+ BYTE byte [4];
+ struct {
+ unsigned int byte1:8;
+ unsigned int byte0:8;
+ unsigned int byte3:8;
+ unsigned int byte2:8;
+ } w;
+};
+#endif
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+class oldCBlowFish
+{
+private:
+ DWORD * PArray ;
+ DWORD (* SBoxes)[256];
+public:
+ void Blowfish_encipher (DWORD *xl, DWORD *xr) ;
+ void Blowfish_decipher (DWORD *xl, DWORD *xr) ;
+public:
+ oldCBlowFish () ;
+ ~oldCBlowFish () ;
+ void Initialize (BYTE key[], int keybytes) ;
+ DWORD GetOutputLength (DWORD lInputLong) ;
+ DWORD Encode (BYTE * pInput, BYTE * pOutput, DWORD lSize) ;
+ void Decode (BYTE * pInput, BYTE * pOutput, DWORD lSize) ;
+} ;
+//---------------------------------------------------------------------------
+
+
+
+
+
+//---------------------------------------------------------------------------
+#endif
+//---------------------------------------------------------------------------
+
diff --git a/konversation/src/blowfish/oldblowfish2.h b/konversation/src/blowfish/oldblowfish2.h
new file mode 100644
index 0000000..8afbe93
--- /dev/null
+++ b/konversation/src/blowfish/oldblowfish2.h
@@ -0,0 +1,295 @@
+/*
+ blowfish1.h interface file for mc_blowfish.cpp
+ _THE BLOWFISH ENCRYPTION ALGORITHM_
+ by Bruce Schneier, 1996, Applied Cryptography, 2nd ed., John Wiley & Sons
+
+ Public Domain.
+
+ Copyright (C) 1994 Bruce Schneier <schneier@counterpane.com>
+ Copyright (C) 1996 Jim Conger <jconger@cox.net>
+*/
+
+// blowfish.h2 header file containing random number tables
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+// To prevent multiple includes
+#ifndef _oldblowfish2h
+#define _oldblowfish2h
+//---------------------------------------------------------------------------
+
+//---------------------------------------------------------------------------
+static DWORD bf_P[NPASS + 2] = {
+ 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344,
+ 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89,
+ 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c,
+ 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917,
+ 0x9216d5d9, 0x8979fb1b,
+};
+static DWORD bf_S[4][256] = {
+ {0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
+ 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
+ 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
+ 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
+ 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
+ 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
+ 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,
+ 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
+ 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
+ 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
+ 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
+ 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
+ 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,
+ 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
+ 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,
+ 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
+ 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,
+ 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
+ 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,
+ 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
+ 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,
+ 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
+ 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,
+ 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
+ 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,
+ 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
+ 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,
+ 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
+ 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,
+ 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
+ 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,
+ 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
+ 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,
+ 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
+ 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,
+ 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
+ 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,
+ 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
+ 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,
+ 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
+ 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,
+ 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
+ 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,
+ 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
+ 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,
+ 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
+ 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,
+ 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
+ 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,
+ 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
+ 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,
+ 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
+ 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,
+ 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
+ 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,
+ 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
+ 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,
+ 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
+ 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,
+ 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
+ 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,
+ 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
+ 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,
+ 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a},
+ {0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,
+ 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
+ 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,
+ 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
+ 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,
+ 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
+ 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,
+ 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
+ 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,
+ 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
+ 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,
+ 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
+ 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,
+ 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
+ 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,
+ 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
+ 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,
+ 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
+ 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,
+ 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
+ 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,
+ 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
+ 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,
+ 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
+ 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,
+ 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
+ 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,
+ 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
+ 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,
+ 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
+ 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,
+ 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
+ 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,
+ 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
+ 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,
+ 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
+ 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,
+ 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
+ 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,
+ 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
+ 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,
+ 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
+ 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,
+ 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
+ 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,
+ 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
+ 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,
+ 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
+ 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,
+ 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
+ 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,
+ 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
+ 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,
+ 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
+ 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,
+ 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
+ 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,
+ 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
+ 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,
+ 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
+ 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,
+ 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
+ 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,
+ 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7},
+ {0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,
+ 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
+ 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,
+ 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
+ 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,
+ 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
+ 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,
+ 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
+ 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,
+ 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
+ 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,
+ 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
+ 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,
+ 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
+ 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,
+ 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
+ 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,
+ 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
+ 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,
+ 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
+ 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,
+ 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
+ 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,
+ 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
+ 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,
+ 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
+ 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,
+ 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
+ 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,
+ 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
+ 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,
+ 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
+ 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,
+ 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
+ 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,
+ 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
+ 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,
+ 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
+ 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,
+ 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
+ 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,
+ 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
+ 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,
+ 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
+ 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,
+ 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
+ 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,
+ 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
+ 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,
+ 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
+ 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,
+ 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
+ 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,
+ 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
+ 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,
+ 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
+ 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,
+ 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
+ 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,
+ 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
+ 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,
+ 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
+ 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,
+ 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0},
+ {0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,
+ 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
+ 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,
+ 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
+ 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,
+ 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
+ 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,
+ 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
+ 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,
+ 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
+ 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,
+ 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
+ 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,
+ 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
+ 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,
+ 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
+ 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,
+ 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
+ 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,
+ 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
+ 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,
+ 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
+ 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,
+ 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
+ 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,
+ 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
+ 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,
+ 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
+ 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,
+ 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
+ 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,
+ 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
+ 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,
+ 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
+ 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,
+ 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
+ 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,
+ 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
+ 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,
+ 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
+ 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,
+ 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
+ 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,
+ 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
+ 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,
+ 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
+ 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,
+ 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
+ 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,
+ 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
+ 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,
+ 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
+ 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,
+ 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
+ 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,
+ 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
+ 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,
+ 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
+ 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,
+ 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
+ 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,
+ 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
+ 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,
+ 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6},
+};
+//---------------------------------------------------------------------------
+
+
+
+//---------------------------------------------------------------------------
+// header guard
+#endif
+//---------------------------------------------------------------------------
diff --git a/konversation/src/channel.cpp b/konversation/src/channel.cpp
new file mode 100644
index 0000000..38a7e63
--- /dev/null
+++ b/konversation/src/channel.cpp
@@ -0,0 +1,2960 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004-2006 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "channel.h"
+#include "konversationapplication.h"
+#include "server.h"
+#include "blowfish.h"
+#include "nick.h"
+#include "nicklistview.h"
+#include "quickbutton.h"
+#include "modebutton.h"
+#include "ircinput.h"
+#include "ircviewbox.h"
+#include "ircview.h"
+#include <kabc/addressbook.h>
+#include <kabc/stdaddressbook.h>
+#include "common.h"
+#include "topiclabel.h"
+#include "channeloptionsdialog.h"
+#include "notificationhandler.h"
+#include "viewcontainer.h"
+#include "linkaddressbook/linkaddressbookui.h"
+#include "linkaddressbook/addressbook.h"
+
+#include <qlabel.h>
+#include <qvbox.h>
+#include <qevent.h>
+#include <qhbox.h>
+#include <qgrid.h>
+#include <qdragobject.h>
+#include <qsizepolicy.h>
+#include <qheader.h>
+#include <qregexp.h>
+#include <qtooltip.h>
+#include <qsplitter.h>
+#include <qcheckbox.h>
+#include <qtimer.h>
+#include <qcombobox.h>
+#include <qtextcodec.h>
+#include <qwhatsthis.h>
+#include <qtoolbutton.h>
+#include <qlayout.h>
+
+#include <kprocess.h>
+
+#include <klineedit.h>
+#include <kinputdialog.h>
+#include <kpassdlg.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <kglobalsettings.h>
+#include <kdeversion.h>
+#include <kmessagebox.h>
+#include <kiconloader.h>
+#include <kwin.h>
+
+
+Channel::Channel(QWidget* parent, QString _name) : ChatWindow(parent)
+{
+ // init variables
+
+ //HACK I needed the channel name at time of setServer, but setName needs m_server..
+ // This effectively assigns the name twice, but none of the other logic has been moved or updated.
+ name=_name;
+ m_processingTimer = 0;
+ m_delayedSortTimer = 0;
+ m_optionsDialog = NULL;
+ m_pendingChannelNickLists.clear();
+ m_currentIndex = 0;
+ m_opsToAdd = 0;
+ nicks = 0;
+ ops = 0;
+ completionPosition = 0;
+ nickChangeDialog = 0;
+ channelCommand = false;
+
+ m_joined = false;
+
+ quickButtonsChanged = false;
+ quickButtonsState = false;
+
+ modeButtonsChanged = false;
+ modeButtonsState = false;
+
+ awayChanged = false;
+ awayState = false;
+
+ splittersInitialized = false;
+ topicSplitterHidden = false;
+ channelSplitterHidden = false;
+
+ // flag for first seen topic
+ topicAuthorUnknown = true;
+
+ setType(ChatWindow::Channel);
+
+ setChannelEncodingSupported(true);
+
+ // Build some size policies for the widgets
+ QSizePolicy hfixed = QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
+ QSizePolicy hmodest = QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
+ QSizePolicy vmodest = QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ QSizePolicy vfixed = QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ QSizePolicy modest = QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ QSizePolicy greedy = QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
+
+ m_vertSplitter = new QSplitter(Qt::Vertical, this);
+ m_vertSplitter->setOpaqueResize(KGlobalSettings::opaqueResize());
+
+
+ QWidget* topicWidget = new QWidget(m_vertSplitter);
+ m_vertSplitter->setResizeMode(topicWidget,QSplitter::KeepSize);
+
+ QGridLayout* topicLayout = new QGridLayout(topicWidget, 2, 3, 0, 0);
+
+ m_topicButton = new QToolButton(topicWidget);
+ m_topicButton->setIconSet(SmallIconSet("edit", 16));
+ QToolTip::add(m_topicButton, i18n("Edit Channel Settings"));
+ connect(m_topicButton, SIGNAL(clicked()), this, SLOT(showOptionsDialog()));
+
+ topicLine = new Konversation::TopicLabel(topicWidget);
+ QWhatsThis::add(topicLine, i18n("<qt>Every channel on IRC has a topic associated with it. This is simply a message that everybody can see.<p>If you are an operator, or the channel mode <em>'T'</em> has not been set, then you can change the topic by clicking the Edit Channel Properties button to the left of the topic. You can also view the history of topics there.</qt>"));
+ connect(topicLine, SIGNAL(setStatusBarTempText(const QString&)), this, SIGNAL(setStatusBarTempText(const QString&)));
+ connect(topicLine, SIGNAL(clearStatusBarTempText()), this, SIGNAL(clearStatusBarTempText()));
+ connect(topicLine,SIGNAL(popupCommand(int)),this,SLOT(popupChannelCommand(int)));
+
+ topicLayout->addWidget(m_topicButton, 0, 0);
+ topicLayout->addMultiCellWidget(topicLine, 0, 1, 1, 1);
+
+ // The box holding the channel modes
+ modeBox = new QHBox(topicWidget);
+ modeBox->setSizePolicy(hfixed);
+ modeT = new ModeButton("T",modeBox,0);
+ modeN = new ModeButton("N",modeBox,1);
+ modeS = new ModeButton("S",modeBox,2);
+ modeI = new ModeButton("I",modeBox,3);
+ modeP = new ModeButton("P",modeBox,4);
+ modeM = new ModeButton("M",modeBox,5);
+ modeK = new ModeButton("K",modeBox,6);
+ modeL = new ModeButton("L",modeBox,7);
+
+ QWhatsThis::add(modeT, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>The <b>T</b>opic mode means that only the channel operator can change the topic for the channel.</qt>"));
+ QWhatsThis::add(modeN, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p><b>N</b>o messages from outside means that users that are not in the channel cannot send messages that everybody in the channel can see. Almost all channels have this set to prevent nuisance messages.</qt>"));
+ QWhatsThis::add(modeS, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any user be able to see that you are in the channel with the <em>WHOIS</em> command or anything similar. Only the people that are in the same channel will know that you are in this channel, if this mode is set.</qt>"));
+ QWhatsThis::add(modeI, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>An <b>I</b>nvite only channel means that people can only join the channel if they are invited. To invite someone, a channel operator needs to issue the command <em>/invite nick</em> from within the channel.</qt>"));
+ QWhatsThis::add(modeP, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the topic is not shown. A user's <em>WHOIS</e> may or may not show them as being in a private channel depending on the IRC server.</qt>"));
+ QWhatsThis::add(modeM, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>A <b>M</b>oderated channel is one where only operators, half-operators and those with voice can talk.</qt>"));
+ QWhatsThis::add(modeK, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>A <b>P</b>rotected channel requires users to enter a password in order to join.</qt>"));
+ QWhatsThis::add(modeL, i18n("<qt>These control the <em>mode</em> of the channel. Only an operator can change these.<p>A channel that has a user <b>L</b>imit means that only that many users can be in the channel at any one time. Some channels have a bot that sits in the channel and changes this automatically depending on how busy the channel is.</qt>"));
+
+ connect(modeT,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeN,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeS,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeI,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeP,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeM,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeK,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+ connect(modeL,SIGNAL(clicked(int,bool)),this,SLOT(modeButtonClicked(int,bool)));
+
+ limit=new KLineEdit(modeBox);
+ QToolTip::add(limit, i18n("Maximum users allowed in channel"));
+ QWhatsThis::add(limit, i18n("<qt>This is the channel user limit - the maximum number of users that can be in the channel at a time. If you are an operator, you can set this. The channel mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"));
+ connect(limit,SIGNAL (returnPressed()),this,SLOT (channelLimitChanged()) );
+ connect(limit,SIGNAL (lostFocus()), this, SLOT(channelLimitChanged()) );
+
+ topicLayout->addWidget(modeBox, 0, 2);
+ topicLayout->setRowStretch(1, 10);
+ topicLayout->setColStretch(1, 10);
+
+ showTopic(Preferences::showTopic());
+ showModeButtons(Preferences::showModeButtons());
+
+ // (this) The main Box, holding the channel view/topic and the input line
+ m_horizSplitter = new QSplitter(m_vertSplitter);
+ m_horizSplitter->setOpaqueResize( KGlobalSettings::opaqueResize() );
+
+ // Server will be set later in setServer()
+ IRCViewBox* ircViewBox = new IRCViewBox(m_horizSplitter, NULL);
+ setTextView(ircViewBox->ircView());
+ connect(textView,SIGNAL(popupCommand(int)),this,SLOT(popupChannelCommand(int)));
+ connect(topicLine, SIGNAL(currentChannelChanged(const QString&)),textView,SLOT(setCurrentChannel(const QString&)));
+
+ // The box that holds the Nick List and the quick action buttons
+ nickListButtons = new QVBox(m_horizSplitter);
+ m_horizSplitter->setResizeMode(nickListButtons,QSplitter::KeepSize);
+ nickListButtons->setSpacing(spacing());
+
+ nicknameListView=new NickListView(nickListButtons, this);
+ nicknameListView->setHScrollBarMode(QScrollView::AlwaysOff);
+ nicknameListView->setSelectionModeExt(KListView::Extended);
+ nicknameListView->setAllColumnsShowFocus(true);
+ nicknameListView->setSorting(1,true);
+ nicknameListView->addColumn(QString());
+ nicknameListView->addColumn(QString());
+ nicknameListView->setColumnWidthMode(1,KListView::Maximum);
+
+ nicknameListView->header()->hide();
+
+ // setResizeMode must be called after all the columns are added
+ nicknameListView->setResizeMode(KListView::LastColumn);
+
+ // separate LED from Text a little more
+ nicknameListView->setColumnWidth(0, 10);
+ nicknameListView->setColumnAlignment(0, Qt::AlignHCenter);
+
+ nicknameListView->installEventFilter(this);
+
+ // initialize buttons grid, will be set up in updateQuickButtons
+ buttonsGrid=0;
+
+ // The box holding the Nickname button and Channel input
+ commandLineBox = new QHBox(this);
+ commandLineBox->setSpacing(spacing());
+
+ nicknameCombobox = new QComboBox(commandLineBox);
+ nicknameCombobox->setEditable(true);
+ nicknameCombobox->insertStringList(Preferences::nicknameList());
+ QWhatsThis::add(nicknameCombobox, i18n("<qt>This shows your current nick, and any alternatives you have set up. If you select or type in a different nickname, then a request will be sent to the IRC server to change your nick. If the server allows it, the new nickname will be selected. If you type in a new nickname, you need to press 'Enter' at the end.<p>You can add change the alternative nicknames from the <em>Identities</em> option in the <em>File</em> menu.</qt>"));
+ oldNick = nicknameCombobox->currentText();
+
+ awayLabel = new QLabel(i18n("(away)"), commandLineBox);
+ awayLabel->hide();
+ blowfishLabel = new QLabel(commandLineBox);
+ blowfishLabel->hide();
+ blowfishLabel->setPixmap(KGlobal::iconLoader()->loadIcon("encrypted", KIcon::Toolbar));
+ channelInput = new IRCInput(commandLineBox);
+
+ getTextView()->installEventFilter(channelInput);
+ topicLine->installEventFilter(channelInput);
+ channelInput->installEventFilter(this);
+
+ // Set the widgets size policies
+ m_topicButton->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+ topicLine->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum));
+
+ commandLineBox->setSizePolicy(vfixed);
+
+ limit->setMaximumSize(40,100);
+ limit->setSizePolicy(hfixed);
+
+ modeT->setMaximumSize(20,100);
+ modeT->setSizePolicy(hfixed);
+ modeN->setMaximumSize(20,100);
+ modeN->setSizePolicy(hfixed);
+ modeS->setMaximumSize(20,100);
+ modeS->setSizePolicy(hfixed);
+ modeI->setMaximumSize(20,100);
+ modeI->setSizePolicy(hfixed);
+ modeP->setMaximumSize(20,100);
+ modeP->setSizePolicy(hfixed);
+ modeM->setMaximumSize(20,100);
+ modeM->setSizePolicy(hfixed);
+ modeK->setMaximumSize(20,100);
+ modeK->setSizePolicy(hfixed);
+ modeL->setMaximumSize(20,100);
+ modeL->setSizePolicy(hfixed);
+
+ getTextView()->setSizePolicy(greedy);
+ nicknameListView->setSizePolicy(hmodest);
+
+ connect(channelInput,SIGNAL (submit()),this,SLOT (channelTextEntered()) );
+ connect(channelInput,SIGNAL (envelopeCommand()),this,SLOT (channelPassthroughCommand()) );
+ connect(channelInput,SIGNAL (nickCompletion()),this,SLOT (completeNick()) );
+ connect(channelInput,SIGNAL (endCompletion()),this,SLOT (endCompleteNick()) );
+ connect(channelInput,SIGNAL (textPasted(const QString&)),this,SLOT (textPasted(const QString&)) );
+
+ connect(getTextView(), SIGNAL(textPasted(bool)), channelInput, SLOT(paste(bool)));
+ connect(getTextView(),SIGNAL (gotFocus()),channelInput,SLOT (setFocus()) );
+ connect(getTextView(),SIGNAL (sendFile()),this,SLOT (sendFileMenu()) );
+ connect(getTextView(),SIGNAL (autoText(const QString&)),this,SLOT (sendChannelText(const QString&)) );
+
+ connect(nicknameListView,SIGNAL (popupCommand(int)),this,SLOT (popupCommand(int)) );
+ connect(nicknameListView,SIGNAL (doubleClicked(QListViewItem*)),this,SLOT (doubleClickCommand(QListViewItem*)) );
+ connect(nicknameListView,SIGNAL (dropped(QDropEvent*,QListViewItem*)),this,SLOT (filesDropped(QDropEvent*)) );
+ connect(nicknameCombobox,SIGNAL (activated(int)),this,SLOT(nicknameComboboxChanged()));
+
+ if(nicknameCombobox->lineEdit())
+ connect(nicknameCombobox->lineEdit(), SIGNAL (lostFocus()),this,SLOT(nicknameComboboxChanged()));
+
+ nicknameList.setAutoDelete(true);
+
+ setLog(Preferences::log());
+
+ connect(&userhostTimer,SIGNAL (timeout()),this,SLOT (autoUserhost()));
+
+ // every few seconds try to get more userhosts
+ userhostTimer.start(10000);
+
+ connect(&m_whoTimer,SIGNAL (timeout()),this,SLOT (autoWho()));
+
+ // every 5 minutes decrease everyone's activity by 1 unit
+ m_fadeActivityTimer.start(5*60*1000);
+
+ connect(&m_fadeActivityTimer, SIGNAL(timeout()), this, SLOT(fadeActivity()));
+
+ // re-schedule when the settings were changed
+ connect(Preferences::self(), SIGNAL (autoContinuousWhoChanged()),this,SLOT (scheduleAutoWho()));
+
+ updateAppearance();
+
+ //FIXME JOHNFLUX
+ // connect( Konversation::Addressbook::self()->getAddressBook(), SIGNAL( addressBookChanged( AddressBook * ) ), this, SLOT( slotLoadAddressees() ) );
+ // connect( Konversation::Addressbook::self(), SIGNAL(addresseesChanged()), this, SLOT(slotLoadAddressees()));
+}
+
+//FIXME there is some logic in setLogfileName that needs to be split out and called here if the server display name gets changed
+void Channel::setServer(Server* server)
+{
+ if (m_server != server)
+ connect(server, SIGNAL(connectionStateChanged(Server*, Konversation::ConnectionState)),
+ SLOT(connectionStateChanged(Server*, Konversation::ConnectionState)));
+ ChatWindow::setServer(server);
+ if (server->getKeyForRecipient(getName()))
+ blowfishLabel->show();
+ topicLine->setServer(server);
+ refreshModeButtons();
+ setIdentity(server->getIdentity());
+}
+
+void Channel::connectionStateChanged(Server* server, Konversation::ConnectionState state)
+{
+ if (server == m_server)
+ {
+ if (state != Konversation::SSConnected)
+ {
+ m_joined = false;
+
+ //HACK the way the notification priorities work sucks, this forces the tab text color to gray right now.
+ if (m_currentTabNotify == Konversation::tnfNone || (!Preferences::tabNotificationsEvents() && m_currentTabNotify == Konversation::tnfControl))
+ KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this);
+ }
+ }
+}
+
+void Channel::setEncryptedOutput(bool e)
+{
+ if (e) {
+ blowfishLabel->show();
+ //scan the channel topic and decrypt it if necessary
+ QString topic(m_topicHistory[0].section(' ',2));
+
+ //prepend two colons to make it appear to be an irc message for decryption,
+ // \r because it won't decrypt without it, even though the message did not have a \r
+ // when encrypted. Bring on the QCA!
+ QCString cipher="::"+topic.utf8()+'\x0d';
+ Konversation::decryptTopic(getName(), cipher, m_server);
+ topic=QString::fromUtf8(cipher.data()+2, cipher.length()-2);
+ m_topicHistory[0] = m_topicHistory[0].section(' ', 0, 1) + ' ' + topic;
+ topicLine->setText(topic);
+ emit topicHistoryChanged();
+ }
+ else
+ blowfishLabel->hide();
+}
+
+Channel::~Channel()
+{
+ kdDebug() << "Channel::~Channel(" << getName() << ")" << endl;
+
+ // Purge nickname list
+ purgeNicks();
+ kdDebug() << "nicks purged" << endl;
+
+ // Unlink this channel from channel list
+ m_server->removeChannel(this);
+ kdDebug() << "Channel removed." << endl;
+
+}
+
+bool Channel::rejoinable()
+{
+ if (getServer() && getServer()->isConnected())
+ return !m_joined;
+
+ return false;
+}
+
+void Channel::rejoin()
+{
+ if (rejoinable())
+ m_server->sendJoinCommand(getName(), getPassword());
+}
+
+ChannelNickPtr Channel::getOwnChannelNick()
+{
+ return m_ownChannelNick;
+}
+
+ChannelNickPtr Channel::getChannelNick(const QString &ircnick)
+{
+ return m_server->getChannelNick(getName(), ircnick);
+}
+
+void Channel::purgeNicks()
+{
+ // Purge nickname list
+ nicknameList.clear();
+
+ // clear stats counter
+ nicks=0;
+ ops=0;
+}
+
+void Channel::showOptionsDialog()
+{
+ if(!m_optionsDialog)
+ m_optionsDialog = new Konversation::ChannelOptionsDialog(this);
+
+ m_optionsDialog->refreshModes();
+ m_optionsDialog->refreshTopicHistory();
+ m_optionsDialog->show();
+}
+
+void Channel::filesDropped(QDropEvent* e)
+{
+ QPoint p(nicknameListView->contentsToViewport(e->pos()));
+ Nick* it = dynamic_cast<Nick*>(nicknameListView->itemAt(p));
+ if (!it) return;
+ QStrList uris;
+ if (QUriDrag::decode(e,uris))
+ m_server->sendURIs(uris, it->getChannelNick()->getNickname());
+}
+
+void Channel::textPasted(const QString& text)
+{
+ if(m_server)
+ {
+ QStringList multiline=QStringList::split('\n',text);
+ for(unsigned int index=0;index<multiline.count();index++)
+ {
+ QString line=multiline[index];
+ QString cChar(Preferences::commandChar());
+ // make sure that lines starting with command char get escaped
+ if(line.startsWith(cChar)) line=cChar+line;
+ sendChannelText(line);
+ }
+ }
+}
+
+// Will be connected to IRCView::popupCommand(int)
+void Channel::popupChannelCommand(int id)
+{
+ channelCommand = true; // Context menu executed from ircview
+ popupCommand(id);
+ textView->clearContextNick();
+ channelCommand = false;
+}
+
+// Will be connected to NickListView::popupCommand(int)
+void Channel::popupCommand(int id)
+{
+ QString pattern;
+ QString cc = Preferences::commandChar();
+ QString args;
+ QString question;
+ bool raw=false;
+ QStringList nickList = getSelectedNickList();
+
+ switch(id)
+ {
+ case Konversation::AddressbookEdit:
+ {
+ ChannelNickList nickList=getSelectedChannelNicks();
+ for(ChannelNickList::ConstIterator it=nickList.begin();it!=nickList.end();++it)
+ {
+ if(!(*it)->getNickInfo()->editAddressee()) break;;
+ }
+ break;
+ }
+ case Konversation::AddressbookNew:
+ case Konversation::AddressbookDelete:
+ {
+ Konversation::Addressbook *addressbook = Konversation::Addressbook::self();
+ ChannelNickList nickList=getSelectedChannelNicks();
+ //Handle all the selected nicks in one go. Either they all save, or none do.
+ if(addressbook->getAndCheckTicket())
+ {
+ for(ChannelNickList::ConstIterator it=nickList.begin();it!=nickList.end();++it)
+ {
+ if(id == Konversation::AddressbookDelete)
+ {
+ KABC::Addressee addr = (*it)->getNickInfo()->getAddressee();
+ addressbook->unassociateNick(addr, (*it)->getNickname(), m_server->getServerName(), m_server->getDisplayName());
+ }
+ else
+ {
+ //make new addressbook contact
+ KABC::Addressee addr;
+ NickInfoPtr nickInfo = (*it)->getNickInfo();
+ if(nickInfo->getRealName().isEmpty())
+ addr.setGivenName(nickInfo->getNickname());
+ else
+ addr.setGivenName(nickInfo->getRealName());
+ addr.setNickName(nickInfo->getNickname());
+ addressbook->associateNickAndUnassociateFromEveryoneElse(addr, (*it)->getNickname(), m_server->getServerName(), m_server->getDisplayName());
+ }
+ }
+ addressbook->saveTicket(); // This will refresh the nicks automatically for us. At least, if it doesn't, it's a bug :)
+ }
+ break;
+ }
+ case Konversation::AddressbookChange:
+ {
+ ChannelNickList nickList=getSelectedChannelNicks();
+ for(ChannelNickList::ConstIterator it=nickList.begin();it!=nickList.end();++it)
+ {
+ (*it)->getNickInfo()->showLinkAddressbookUI();
+ }
+ break;
+ }
+ case Konversation::SendEmail:
+ {
+ Konversation::Addressbook::self()->sendEmail(getSelectedChannelNicks());
+ break;
+ }
+ case Konversation::AddressbookSub:
+ kdDebug() << "sub called" << endl;
+ break;
+ case Konversation::GiveOp:
+ pattern="MODE %c +o %u";
+ raw=true;
+ break;
+ case Konversation::TakeOp:
+ pattern="MODE %c -o %u";
+ raw=true;
+ break;
+ case Konversation::GiveHalfOp:
+ pattern="MODE %c +h %u";
+ raw=true;
+ break;
+ case Konversation::TakeHalfOp:
+ pattern="MODE %c -h %u";
+ raw=true;
+ break;
+ case Konversation::GiveVoice:
+ pattern="MODE %c +v %u";
+ raw=true;
+ break;
+ case Konversation::TakeVoice:
+ pattern="MODE %c -v %u";
+ raw=true;
+ break;
+ case Konversation::Version:
+ pattern=cc+"CTCP %u VERSION";
+ break;
+ case Konversation::Whois:
+ pattern="WHOIS %u %u";
+ raw=true;
+ break;
+ case Konversation::Topic:
+ m_server->requestTopic(getTextView()->currentChannel());
+ break;
+ case Konversation::Names:
+ m_server->queue("NAMES " + getTextView()->currentChannel(), Server::LowPriority);
+ break;
+ case Konversation::Join:
+ m_server->queue("JOIN " + getTextView()->currentChannel());
+ break;
+ case Konversation::Ping:
+ {
+ unsigned int time_t = QDateTime::currentDateTime().toTime_t();
+ pattern=QString(cc+"CTCP %u PING %1").arg(time_t);
+ }
+ break;
+ case Konversation::Kick:
+ pattern=cc+"KICK %u";
+ break;
+ case Konversation::KickBan:
+ pattern=cc+"BAN %u\n"+
+ cc+"KICK %u";
+ break;
+ case Konversation::BanNick:
+ pattern=cc+"BAN %u";
+ break;
+ case Konversation::BanHost:
+ pattern=cc+"BAN -HOST %u";
+ break;
+ case Konversation::BanDomain:
+ pattern=cc+"BAN -DOMAIN %u";
+ break;
+ case Konversation::BanUserHost:
+ pattern=cc+"BAN -USERHOST %u";
+ break;
+ case Konversation::BanUserDomain:
+ pattern=cc+"BAN -USERDOMAIN %u";
+ break;
+ case Konversation::KickBanHost:
+ pattern=cc+"KICKBAN -HOST %u";
+ break;
+ case Konversation::KickBanDomain:
+ pattern=cc+"KICKBAN -DOMAIN %u";
+ break;
+ case Konversation::KickBanUserHost:
+ pattern=cc+"KICKBAN -USERHOST %u";
+ break;
+ case Konversation::KickBanUserDomain:
+ pattern=cc+"KICKBAN -USERDOMAIN %u";
+ break;
+ case Konversation::OpenQuery:
+ pattern=cc+"QUERY %u";
+ break;
+ case Konversation::StartDccChat:
+ pattern=cc+"DCC CHAT %u";
+ break;
+ case Konversation::DccSend:
+ pattern=cc+"DCC SEND %u";
+ break;
+ case Konversation::IgnoreNick:
+ if (nickList.size() == 1)
+ question=i18n("Do you want to ignore %1?").arg(nickList.first());
+ else
+ question = i18n("Do you want to ignore the selected users?");
+ if (KMessageBox::warningContinueCancel(this, question, i18n("Ignore"), i18n("Ignore"), "IgnoreNick") ==
+ KMessageBox::Continue)
+ pattern = cc+"IGNORE -ALL %l";
+ break;
+ case Konversation::UnignoreNick:
+ {
+ QStringList selectedIgnoredNicks;
+
+ for (QStringList::Iterator it=nickList.begin(); it!=nickList.end(); ++it)
+ {
+ if (Preferences::isIgnored((*it)))
+ selectedIgnoredNicks.append((*it));
+ }
+
+ if (selectedIgnoredNicks.count() == 1)
+ question=i18n("Do you want to stop ignoring %1?").arg(selectedIgnoredNicks.first());
+ else
+ question = i18n("Do you want to stop ignoring the selected users?");
+ if (KMessageBox::warningContinueCancel(this, question, i18n("Unignore"), i18n("Unignore"), "UnignoreNick") ==
+ KMessageBox::Continue)
+ {
+ sendChannelText(cc+"UNIGNORE "+selectedIgnoredNicks.join(" "));
+ }
+ break;
+ }
+ case Konversation::AddNotify:
+ {
+ if (m_server->getServerGroup())
+ {
+ for (QStringList::Iterator it=nickList.begin(); it!=nickList.end(); ++it)
+ {
+ if (!Preferences::isNotify(m_server->getServerGroup()->id(), (*it)))
+ Preferences::addNotify(m_server->getServerGroup()->id(), (*it));
+ }
+ }
+ break;
+ }
+ } // switch
+
+ if (!pattern.isEmpty())
+ {
+ pattern.replace("%c",getName());
+
+ QString command;
+
+ if (pattern.contains("%l"))
+ {
+ QStringList list;
+
+ for (QStringList::Iterator it=nickList.begin(); it!=nickList.end(); ++it)
+ list.append((*it));
+
+ command = pattern.replace("%l", list.join(" "));
+
+ if (raw)
+ m_server->queue(command);
+ else
+ sendChannelText(command);
+ }
+ else
+ {
+ QStringList patternList = QStringList::split('\n',pattern);
+
+ for (QStringList::Iterator it=nickList.begin(); it!=nickList.end(); ++it)
+ {
+ for (unsigned int index = 0; index<patternList.count(); index++)
+ {
+ command = patternList[index];
+ command.replace("%u", (*it));
+
+ if (raw)
+ m_server->queue(command);
+ else
+ sendChannelText(command);
+ }
+ }
+ }
+ }
+}
+
+// Will be connected to NickListView::doubleClicked()
+void Channel::doubleClickCommand(QListViewItem* item)
+{
+ if(item)
+ {
+ nicknameListView->clearSelection();
+ nicknameListView->setSelected(item, true);
+ // TODO: put the quick button code in another function to make reusal more legitimate
+ quickButtonClicked(Preferences::channelDoubleClickAction());
+ }
+}
+
+void Channel::completeNick()
+{
+ int pos, oldPos;
+
+ channelInput->getCursorPosition(&oldPos,&pos);// oldPos is a dummy here, taking the paragraph parameter
+ oldPos = channelInput->getOldCursorPosition();
+
+ QString line=channelInput->text();
+ QString newLine;
+ // Check if completion position is out of range
+ if(completionPosition >= nicknameList.count()) completionPosition = 0;
+
+ // Check, which completion mode is active
+ char mode = channelInput->getCompletionMode();
+
+ if(mode == 'c')
+ {
+ line.remove(oldPos, pos - oldPos);
+ pos = oldPos;
+ }
+
+ // If the cursor is at beginning of line, insert last completion
+ if(pos == 0 && !channelInput->lastCompletion().isEmpty())
+ {
+ QString addStart(Preferences::nickCompleteSuffixStart());
+ newLine = channelInput->lastCompletion() + addStart;
+ // New cursor position is behind nickname
+ pos = newLine.length();
+ // Add rest of the line
+ newLine += line;
+ }
+ else
+ {
+ // remember old cursor position in input field
+ channelInput->setOldCursorPosition(pos);
+ // remember old cursor position locally
+ oldPos = pos;
+ // step back to last space or start of line
+ while(pos && line[pos-1] != ' ') pos--;
+ // copy search pattern (lowercase)
+ QString pattern = line.mid(pos, oldPos - pos);
+ // copy line to newLine-buffer
+ newLine = line;
+
+ // did we find any pattern?
+ if(!pattern.isEmpty())
+ {
+ bool complete = false;
+ QString foundNick;
+
+ // try to find matching nickname in list of names
+ if(Preferences::nickCompletionMode() == 1 ||
+ Preferences::nickCompletionMode() == 2)
+ { // Shell like completion
+ QStringList found;
+ foundNick = nicknameList.completeNick(pattern, complete, found,
+ (Preferences::nickCompletionMode() == 2),
+ Preferences::nickCompletionCaseSensitive());
+
+ if(!complete && !found.isEmpty())
+ {
+ if(Preferences::nickCompletionMode() == 1)
+ {
+ QString nicksFound = found.join(" ");
+ appendServerMessage(i18n("Completion"), i18n("Possible completions: %1.").arg(nicksFound));
+ }
+ else
+ {
+ channelInput->showCompletionList(found);
+ }
+ }
+ } // Cycle completion
+ else if(Preferences::nickCompletionMode() == 0)
+ {
+ if(mode == '\0') {
+ QPtrListIterator<Nick> it(nicknameList);
+ uint timeStamp = 0;
+ int listPosition = 0;
+ Nick* nick = 0;
+
+ while(it.current() != 0)
+ {
+ nick = it.current();
+
+ if(nick->getChannelNick()->getNickname().startsWith(pattern, Preferences::nickCompletionCaseSensitive()) &&
+ (nick->getChannelNick()->timeStamp() > timeStamp))
+ {
+ timeStamp = nick->getChannelNick()->timeStamp();
+ completionPosition = listPosition;
+ }
+
+ ++listPosition;
+ ++it;
+ }
+ }
+
+ // remember old nick completion position
+ unsigned int oldCompletionPosition = completionPosition;
+ complete = true;
+ QString prefixCharacter = Preferences::prefixCharacter();
+
+ do
+ {
+ QString lookNick = nicknameList.at(completionPosition)->getChannelNick()->getNickname();
+
+ if(!prefixCharacter.isEmpty() && lookNick.contains(prefixCharacter))
+ {
+ lookNick = lookNick.section( prefixCharacter,1 );
+ }
+
+ if(lookNick.startsWith(pattern, Preferences::nickCompletionCaseSensitive()))
+ {
+ foundNick = lookNick;
+ }
+
+ // increment search position
+ completionPosition++;
+
+ // wrap around
+ if(completionPosition == nicknameList.count())
+ {
+ completionPosition = 0;
+ }
+
+ // the search ends when we either find a suitable nick or we end up at the
+ // first search position
+ } while((completionPosition != oldCompletionPosition) && foundNick.isEmpty());
+ }
+
+ // did we find a suitable nick?
+ if(!foundNick.isEmpty())
+ {
+ // set channel nicks completion mode
+ channelInput->setCompletionMode('c');
+
+ // remove pattern from line
+ newLine.remove(pos, pattern.length());
+
+ // did we find the nick in the middle of the line?
+ if(pos && complete)
+ {
+ channelInput->setLastCompletion(foundNick);
+ QString addMiddle = Preferences::nickCompleteSuffixMiddle();
+ newLine.insert(pos, foundNick + addMiddle);
+ pos = pos + foundNick.length() + addMiddle.length();
+ }
+ // no, it was at the beginning
+ else if(complete)
+ {
+ channelInput->setLastCompletion(foundNick);
+ QString addStart = Preferences::nickCompleteSuffixStart();
+ newLine.insert(pos, foundNick + addStart);
+ pos = pos + foundNick.length() + addStart.length();
+ }
+ // the nick wasn't complete
+ else
+ {
+ newLine.insert(pos, foundNick);
+ pos = pos + foundNick.length();
+ }
+ }
+ // no pattern found, so restore old cursor position
+ else pos = oldPos;
+ }
+ }
+
+ // Set new text and cursor position
+ channelInput->setText(newLine);
+ channelInput->setCursorPosition(0, pos);
+}
+
+// make sure to step back one position when completion ends so the user starts
+// with the last complete they made
+void Channel::endCompleteNick()
+{
+ if(completionPosition) completionPosition--;
+ else completionPosition=nicknameList.count()-1;
+}
+
+void Channel::setName(const QString& newName)
+{
+ ChatWindow::setName(newName);
+ setLogfileName(newName.lower());
+}
+
+bool Channel::autoJoin()
+{
+ if (!m_server->getServerGroup()) return false;
+
+ Konversation::ChannelList channelList = m_server->getServerGroup()->channelList();
+
+ if (!channelList.empty())
+ return channelList.find(channelSettings()) != channelList.end();
+ else
+ return false;
+}
+
+void Channel::setAutoJoin(bool autojoin)
+{
+ if (autojoin && !(autoJoin()))
+ {
+ Konversation::ChannelSettings before;
+
+ QPtrList<Channel> channelList = m_server->getChannelList();
+
+ if (channelList.count() > 1)
+ {
+ QPtrListIterator<Channel> it(channelList);
+ Channel* channel;
+ QMap<int, Channel*> channelMap;
+
+ int index = -1;
+ int ownIndex = m_server->getViewContainer()->getViewIndex(this);
+
+ while ((channel = it.current()) != 0)
+ {
+ ++it;
+
+ index = m_server->getViewContainer()->getViewIndex(channel);
+
+ if (index && index > ownIndex) channelMap.insert(index, channel);
+ }
+
+ if (channelMap.count())
+ {
+ QMap<int, Channel*>::Iterator it2;
+
+ for (it2 = channelMap.begin(); it2 != channelMap.end(); ++it2)
+ {
+ channel = it2.data();
+
+ if (channel->autoJoin())
+ {
+ before = channel->channelSettings();
+
+ break;
+ }
+ }
+ }
+ }
+
+ if (m_server->getServerGroup())
+ m_server->getServerGroup()->addChannel(channelSettings(), before);
+ }
+ else
+ {
+ if (m_server->getServerGroup())
+ m_server->getServerGroup()->removeChannel(channelSettings());
+ }
+}
+
+
+
+QString Channel::getPassword()
+{
+ QString password;
+
+ for (QStringList::const_iterator it = m_modeList.begin(); it != m_modeList.end(); ++it)
+ {
+ if ((*it)[0] == 'k') password = (*it).mid(1);
+ }
+
+ return password;
+}
+
+const Konversation::ChannelSettings Channel::channelSettings()
+{
+ Konversation::ChannelSettings channel;
+
+ channel.setName(getName());
+ channel.setPassword(getPassword());
+ channel.setNotificationsEnabled(notificationsEnabled());
+
+ return channel;
+}
+
+void Channel::sendFileMenu()
+{
+ emit sendFile();
+}
+
+void Channel::channelTextEntered()
+{
+ QString line = channelInput->text();
+ channelInput->setText ("");
+
+ if(line.lower().stripWhiteSpace() == Preferences::commandChar()+"clear")
+ {
+ textView->clear();
+ }
+ else if(line.lower().stripWhiteSpace() == Preferences::commandChar()+"cycle")
+ {
+ cycleChannel();
+ }
+ else
+ {
+ if(!line.isEmpty())
+ sendChannelText(line);
+ }
+}
+
+void Channel::channelPassthroughCommand()
+{
+ QString commandChar = Preferences::commandChar();
+ QString line = channelInput->text();
+
+ channelInput->setText("");
+
+ if(!line.isEmpty())
+ {
+ // Prepend commandChar on Ctrl+Enter to bypass outputfilter command recognition
+ if (line.startsWith(commandChar))
+ {
+ line = commandChar + line;
+ }
+ sendChannelText(line);
+ }
+}
+
+void Channel::sendChannelText(const QString& sendLine)
+{
+ // create a work copy
+ QString outputAll(sendLine);
+ // replace aliases and wildcards
+ if(m_server->getOutputFilter()->replaceAliases(outputAll))
+ {
+ outputAll = m_server->parseWildcards(outputAll,m_server->getNickname(),getName(),getPassword(),
+ getSelectedNickList(),QString());
+ }
+
+ // Send all strings, one after another
+ QStringList outList=QStringList::split(QRegExp("[\r\n]+"),outputAll);
+ for(unsigned int index=0;index<outList.count();index++)
+ {
+ QString output(outList[index]);
+
+ // encoding stuff is done in Server()
+ Konversation::OutputFilterResult result = m_server->getOutputFilter()->parse(m_server->getNickname(),output,getName());
+
+ // Is there something we need to display for ourselves?
+ if(!result.output.isEmpty())
+ {
+ if(result.type == Konversation::Action) appendAction(m_server->getNickname(), result.output);
+ else if(result.type == Konversation::Command) appendCommandMessage(result.typeString, result.output);
+ else if(result.type == Konversation::Program) appendServerMessage(result.typeString, result.output);
+ else if(result.type == Konversation::PrivateMessage) appendQuery(result.typeString, result.output, true);
+ else append(m_server->getNickname(), result.output);
+ }
+ else if (result.outputList.count())
+ {
+ Q_ASSERT(result.type==Konversation::Message);
+ for ( QStringList::Iterator it = result.outputList.begin(); it != result.outputList.end(); ++it )
+ {
+ append(m_server->getNickname(), *it);
+ }
+ }
+ // Send anything else to the server
+ if(!result.toServerList.empty())
+ {
+ m_server->queueList(result.toServerList);
+ }
+ else
+ {
+ m_server->queue(result.toServer);
+ }
+ } // for
+}
+
+void Channel::setNickname(const QString& newNickname)
+{
+ nicknameCombobox->setCurrentText(newNickname);
+}
+
+QStringList Channel::getSelectedNickList()
+{
+ QStringList result;
+
+ if (channelCommand)
+ result.append(textView->getContextNick());
+ else
+ {
+ Nick* nick=nicknameList.first();
+
+ while(nick)
+ {
+ if(nick->isSelected()) result.append(nick->getChannelNick()->getNickname());
+ nick=nicknameList.next();
+ }
+ }
+
+ return result;
+}
+
+ChannelNickList Channel::getSelectedChannelNicks()
+{
+ ChannelNickList result;
+ Nick* nick=nicknameList.first();
+
+ while(nick)
+ {
+ if(channelCommand)
+ {
+ if(nick->getChannelNick()->getNickname() == textView->getContextNick())
+ {
+ result.append(nick->getChannelNick());
+ return result;
+ }
+ }
+ else if(nick->isSelected())
+ result.append(nick->getChannelNick());
+
+ nick=nicknameList.next();
+ }
+
+ return result;
+
+}
+
+void Channel::channelLimitChanged()
+{
+ unsigned int lim=limit->text().toUInt();
+
+ modeButtonClicked(7,lim>0);
+}
+
+void Channel::modeButtonClicked(int id, bool on)
+{
+ char mode[]={'t','n','s','i','p','m','k','l'};
+ QString command("MODE %1 %2%3 %4");
+ QString args = getPassword();
+
+ if (mode[id] == 'k')
+ {
+ if (args.isEmpty())
+ {
+ QCString newPassword;
+
+ int result = KPasswordDialog::getPassword(newPassword, i18n("Channel Password"));
+
+ if (result == KPasswordDialog::Accepted && !newPassword.isEmpty())
+ args = newPassword;
+ }
+
+ }
+ else if(mode[id]=='l')
+ {
+ if(limit->text().isEmpty() && on)
+ {
+ bool ok=false;
+ // ask user how many nicks should be the limit
+ args=KInputDialog::getText(i18n("Nick Limit"),
+ i18n("Enter the new nick limit:"),
+ limit->text(), // will be always "" but what the hell ;)
+ &ok,
+ this);
+ // leave this function if user cancels
+ if(!ok) return;
+ }
+ else if(on)
+ args=limit->text();
+ }
+ // put together the mode command and send it to the server queue
+ m_server->queue(command.arg(getName()).arg((on) ? "+" : "-").arg(mode[id]).arg(args));
+}
+
+void Channel::quickButtonClicked(const QString &buttonText)
+{
+ // parse wildcards (toParse,nickname,channelName,nickList,queryName,parameter)
+ QString out=m_server->parseWildcards(buttonText,m_server->getNickname(),getName(),getPassword(),getSelectedNickList(),QString());
+
+ // are there any newlines in the definition?
+ if(out.find('\n')!=-1)
+ sendChannelText(out);
+ // single line without newline needs to be copied into input line
+ else
+ channelInput->setText(out);
+}
+
+void Channel::addNickname(ChannelNickPtr channelnick)
+{
+
+ QString nickname = channelnick->loweredNickname();
+
+ Nick* nick=0;
+ Nick* lookNick;
+ QPtrListIterator<Nick> it(nicknameList);
+
+ while((lookNick = it.current()) != 0)
+ {
+ if(lookNick->getChannelNick()->loweredNickname() == nickname)
+ {
+ nick = lookNick;
+ break;
+ }
+
+ ++it;
+ }
+
+ if(nick == 0)
+ {
+ fastAddNickname(channelnick);
+
+ if(channelnick->isAnyTypeOfOp())
+ {
+ adjustOps(1);
+ }
+
+ adjustNicks(1);
+ requestNickListSort();
+ }
+ else
+ {
+ Q_ASSERT(false); // We shouldn't be adding someone that is already in the channel.
+ }
+}
+
+// Use with caution! Does not sort or check for duplicates!
+void Channel::fastAddNickname(ChannelNickPtr channelnick)
+{
+ Q_ASSERT(channelnick);
+ if(!channelnick) return;
+ Nick* nick = new Nick(nicknameListView, channelnick);
+ // nicks get sorted later
+ nicknameList.append(nick);
+}
+
+void Channel::nickRenamed(const QString &oldNick, const NickInfo& nickInfo)
+{
+
+ /* Did we change our nick name? */
+ QString newNick = nickInfo.getNickname();
+
+ if(newNick == m_server->getNickname()) /* Check newNick because m_server->getNickname() is already updated to new nick */
+ {
+ setNickname(newNick);
+ appendCommandMessage(i18n("Nick"),i18n("You are now known as %1.").arg(newNick), false, true, true);
+ }
+ else
+ {
+ /* No, must've been someone else */
+ appendCommandMessage(i18n("Nick"),i18n("%1 is now known as %2.").arg(oldNick).arg(newNick),false);
+ }
+
+ nicknameListView->sort();
+
+}
+
+void Channel::joinNickname(ChannelNickPtr channelNick)
+{
+ if(channelNick->getNickname() == m_server->getNickname())
+ {
+ m_joined = true;
+ emit joined(this);
+ appendCommandMessage(i18n("Join"),i18n("%1 is the channel and %2 is our hostmask",
+ "You have joined the channel %1 (%2).").arg(getName()).arg(channelNick->getHostmask()),false, false, true);
+ m_ownChannelNick = channelNick;
+ connect(m_ownChannelNick, SIGNAL(channelNickChanged()), SLOT(refreshModeButtons()));
+ refreshModeButtons();
+ setActive(true);
+
+ //HACK the way the notification priorities work sucks, this forces the tab text color to ungray right now.
+ if (m_currentTabNotify == Konversation::tnfNone || !Preferences::tabNotificationsEvents())
+ KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this);
+
+ KonversationApplication::instance()->notificationHandler()->channelJoin(this,getName());
+ }
+ else
+ {
+ QString nick = channelNick->getNickname();
+ QString hostname = channelNick->getHostmask();
+ appendCommandMessage(i18n("Join"), i18n("%1 is the nick joining and %2 the hostmask of that nick",
+ "%1 has joined this channel (%2).").arg(nick).arg(hostname),false, false);
+ addNickname(channelNick);
+ }
+}
+
+void Channel::removeNick(ChannelNickPtr channelNick, const QString &reason, bool quit)
+{
+ QString displayReason = reason;
+
+ if(!displayReason.isEmpty())
+ {
+ // if the reason contains text markup characters, play it safe and reset all
+ if(displayReason.find(QRegExp("[\\0000-\\0037]")) != -1)
+ displayReason += "\017";
+ }
+
+ if(channelNick->getNickname() == m_server->getNickname())
+ {
+ //If in the future we can leave a channel, but not close the window, refreshModeButtons() has to be called.
+ if (quit)
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Quit"), i18n("You have left this server."), false);
+ else
+ appendCommandMessage(i18n("Quit"), i18n("%1 adds the reason", "You have left this server (%1).").arg(displayReason), false);
+ }
+ else
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Part"), i18n("You have left channel %1.").arg(getName()), false);
+ else
+ appendCommandMessage(i18n("Part"), i18n("%1 adds the channel and %2 the reason",
+ "You have left channel %1 (%2).").arg(getName()).arg(displayReason), false);
+
+ }
+
+ delete this;
+ }
+ else
+ {
+ if (quit)
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Quit"), i18n("%1 has left this server.").arg(channelNick->getNickname()), false);
+ else
+ appendCommandMessage(i18n("Quit"), i18n("%1 adds the nick and %2 the reason",
+ "%1 has left this server (%2).").arg(channelNick->getNickname()).arg(displayReason), false);
+ }
+ else
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Part"), i18n("%1 has left this channel.").arg(channelNick->getNickname()), false);
+ else
+ appendCommandMessage(i18n("Part"), i18n("%1 adds the nick and %2 the reason",
+ "%1 has left this channel (%2).").arg(channelNick->getNickname()).arg(displayReason), false);
+ }
+
+ if(channelNick->isAnyTypeOfOp())
+ {
+ adjustOps(-1);
+ }
+
+ adjustNicks(-1);
+ Nick* nick = getNickByName(channelNick->getNickname());
+
+ if(nick)
+ {
+ nicknameList.removeRef(nick);
+ }
+ else
+ {
+ kdWarning() << "Channel::removeNick(): Nickname " << channelNick->getNickname() << " not found!"<< endl;
+ }
+ }
+}
+
+void Channel::kickNick(ChannelNickPtr channelNick, const QString &kicker, const QString &reason)
+{
+ QString displayReason = reason;
+
+ if(!displayReason.isEmpty())
+ {
+ // if the reason contains text markup characters, play it safe and reset all
+ if(displayReason.find(QRegExp("[\\0000-\\0037]")) != -1)
+ displayReason += "\017";
+ }
+
+ if(channelNick->getNickname() == m_server->getNickname())
+ {
+ if(kicker == m_server->getNickname())
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Kick"), i18n("You have kicked yourself from channel %1.").arg(getName()));
+ else
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the channel and %2 the reason",
+ "You have kicked yourself from channel %1 (%2).").arg(getName()).arg(displayReason));
+ }
+ else
+ {
+ if (displayReason.isEmpty())
+ {
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the channel, %2 adds the kicker",
+ "You have been kicked from channel %1 by %2.")
+ .arg(getName()).arg(kicker), true);
+ }
+ else
+ {
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the channel, %2 the kicker and %3 the reason",
+ "You have been kicked from channel %1 by %2 (%3).")
+ .arg(getName()).arg(kicker).arg(displayReason), true);
+ }
+
+ KonversationApplication::instance()->notificationHandler()->kick(this,getName(), kicker);
+ }
+
+ m_joined=false;
+ setActive(false);
+
+ //HACK the way the notification priorities work sucks, this forces the tab text color to gray right now.
+ if (m_currentTabNotify == Konversation::tnfNone || (!Preferences::tabNotificationsEvents() && m_currentTabNotify == Konversation::tnfControl))
+ KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this);
+
+ return;
+ }
+ else
+ {
+ if(kicker == m_server->getNickname())
+ {
+ if (displayReason.isEmpty())
+ appendCommandMessage(i18n("Kick"), i18n("You have kicked %1 from the channel.").arg(channelNick->getNickname()));
+ else
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the kicked nick and %2 the reason",
+ "You have kicked %1 from the channel (%2).").arg(channelNick->getNickname()).arg(displayReason), true);
+ }
+ else
+ {
+ if (displayReason.isEmpty())
+ {
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the kicked nick, %2 adds the kicker",
+ "%1 has been kicked from the channel by %2.")
+ .arg(channelNick->getNickname()).arg(kicker), true);
+ }
+ else
+ {
+ appendCommandMessage(i18n("Kick"), i18n("%1 adds the kicked nick, %2 the kicker and %3 the reason",
+ "%1 has been kicked from the channel by %2 (%3).")
+ .arg(channelNick->getNickname()).arg(kicker).arg(displayReason), true);
+ }
+ }
+
+ if(channelNick->isAnyTypeOfOp())
+ adjustOps(-1);
+
+ adjustNicks(-1);
+ Nick* nick = getNickByName(channelNick->getNickname());
+
+ if(nick == 0)
+ {
+ kdWarning() << "Channel::kickNick(): Nickname " << channelNick->getNickname() << " not found!"<< endl;
+ }
+ else
+ {
+ nicknameList.removeRef(nick);
+ }
+ }
+}
+
+Nick* Channel::getNickByName(const QString &lookname)
+{
+ QString lcLookname = lookname.lower();
+ QPtrListIterator<Nick> it(nicknameList);
+
+ while(it.current() != 0)
+ {
+ if(it.current()->getChannelNick()->loweredNickname() == lcLookname)
+ return it.current();
+
+ ++it;
+ }
+
+ return 0;
+}
+
+void Channel::adjustNicks(int value)
+{
+ if((nicks == 0) && (value <= 0))
+ {
+ return;
+ }
+
+ nicks += value;
+
+ if(nicks < 0)
+ {
+ nicks = 0;
+ }
+
+ emitUpdateInfo();
+}
+
+void Channel::adjustOps(int value)
+{
+ if((ops == 0) && (value <= 0))
+ {
+ return;
+ }
+
+ ops += value;
+
+ if(ops < 0)
+ {
+ ops = 0;
+ }
+
+ emitUpdateInfo();
+}
+
+void Channel::emitUpdateInfo()
+{
+ QString info = getName() + " - ";
+ info += i18n("%n nick", "%n nicks", numberOfNicks());
+ info += i18n(" (%n op)", " (%n ops)", numberOfOps());
+
+ emit updateInfo(info);
+}
+
+void Channel::setTopic(const QString &newTopic)
+{
+ appendCommandMessage(i18n("Topic"), i18n("The channel topic is \"%1\".").arg(newTopic));
+ QString topic = Konversation::removeIrcMarkup(newTopic);
+ topicLine->setText(topic);
+ topicAuthorUnknown=true; // if we only get called with a topic, it was a 332, which usually has a 333 next
+
+ // cut off "nickname" and "time_t" portion of the topic before comparing, otherwise the history
+ // list will fill up with the same entries while the user only requests the topic to be seen.
+
+ if(m_topicHistory.first().section(' ', 2) != newTopic)
+ {
+ m_topicHistory.prepend(QString("%1 "+i18n("unknown")+" %2").arg(QDateTime::currentDateTime().toTime_t()).arg(newTopic));
+ emit topicHistoryChanged();
+ }
+}
+
+void Channel::setTopic(const QString &nickname, const QString &newTopic) // Overloaded
+{
+ if(nickname == m_server->getNickname())
+ {
+ appendCommandMessage(i18n("Topic"), i18n("You set the channel topic to \"%1\".").arg(newTopic));
+ }
+ else
+ {
+ appendCommandMessage(i18n("Topic"), i18n("%1 sets the channel topic to \"%2\".").arg(nickname).arg(newTopic));
+ }
+
+ m_topicHistory.prepend(QString("%1 %2 %3").arg(QDateTime::currentDateTime().toTime_t()).arg(nickname).arg(newTopic));
+ QString topic = Konversation::removeIrcMarkup(newTopic);
+ topicLine->setText(topic);
+
+ emit topicHistoryChanged();
+}
+
+QStringList Channel::getTopicHistory()
+{
+ return m_topicHistory;
+}
+
+QString Channel::getTopic()
+{
+ return m_topicHistory[0];
+}
+
+void Channel::setTopicAuthor(const QString& newAuthor, QDateTime time)
+{
+ if (time.isNull() || !time.isValid())
+ time=QDateTime::currentDateTime();
+
+ if(topicAuthorUnknown)
+ {
+ m_topicHistory[0] = QString("%1").arg(time.toTime_t()) + ' ' + newAuthor + ' ' + m_topicHistory[0].section(' ', 2);
+ topicAuthorUnknown = false;
+
+ emit topicHistoryChanged();
+ }
+}
+
+void Channel::updateMode(const QString& sourceNick, char mode, bool plus, const QString &parameter)
+{
+ //Note for future expansion: doing m_server->getChannelNick(getName(), sourceNick); may not return a valid channelNickPtr if the
+ //mode is updated by the server.
+
+ QString message;
+ ChannelNickPtr parameterChannelNick=m_server->getChannelNick(getName(), parameter);
+
+ bool fromMe=false;
+ bool toMe=false;
+
+ // remember if this nick had any type of op.
+ bool wasAnyOp=false;
+ if(parameterChannelNick)
+ wasAnyOp=parameterChannelNick->isAnyTypeOfOp();
+
+ if(sourceNick.lower()==m_server->loweredNickname())
+ fromMe=true;
+ if(parameter.lower()==m_server->loweredNickname())
+ toMe=true;
+
+ switch(mode)
+ {
+ case 'q':
+ if(plus)
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You give channel owner privileges to yourself.");
+ else
+ message=i18n("You give channel owner privileges to %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 gives channel owner privileges to you.").arg(sourceNick);
+ else
+ message=i18n("%1 gives channel owner privileges to %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ else
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You take channel owner privileges from yourself.");
+ else
+ message=i18n("You take channel owner privileges from %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 takes channel owner privileges from you.").arg(sourceNick);
+ else
+ message=i18n("%1 takes channel owner privileges from %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ if(parameterChannelNick)
+ {
+ parameterChannelNick->setOwner(plus);
+ emitUpdateInfo();
+ nicknameListView->sort();
+ }
+ break;
+
+ case 'a':
+ if(plus)
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You give channel admin privileges to yourself.");
+ else
+ message=i18n("You give channel admin privileges to %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 gives channel admin privileges to you.").arg(sourceNick);
+ else
+ message=i18n("%1 gives channel admin privileges to %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ else
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You take channel admin privileges from yourself.");
+ else
+ message=i18n("You take channel admin privileges from %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 takes channel admin privileges from you.").arg(sourceNick);
+ else
+ message=i18n("%1 takes channel admin privileges from %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ if(parameterChannelNick)
+ {
+ parameterChannelNick->setOwner(plus);
+ emitUpdateInfo();
+ nicknameListView->sort();
+ }
+ break;
+
+ case 'o':
+ if(plus)
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You give channel operator privileges to yourself.");
+ else
+ message=i18n("You give channel operator privileges to %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 gives channel operator privileges to you.").arg(sourceNick);
+ else
+ message=i18n("%1 gives channel operator privileges to %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ else
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You take channel operator privileges from yourself.");
+ else
+ message=i18n("You take channel operator privileges from %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 takes channel operator privileges from you.").arg(sourceNick);
+ else
+ message=i18n("%1 takes channel operator privileges from %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ if(parameterChannelNick)
+ {
+ parameterChannelNick->setOp(plus);
+ emitUpdateInfo();
+ nicknameListView->sort();
+ }
+ break;
+
+ case 'h':
+ if(plus)
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You give channel halfop privileges to yourself.");
+ else
+ message=i18n("You give channel halfop privileges to %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 gives channel halfop privileges to you.").arg(sourceNick);
+ else
+ message=i18n("%1 gives channel halfop privileges to %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ else
+ {
+ if(fromMe)
+ {
+ if(toMe)
+ message=i18n("You take channel halfop privileges from yourself.");
+ else
+ message=i18n("You take channel halfop privileges from %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe)
+ message=i18n("%1 takes channel halfop privileges from you.").arg(sourceNick);
+ else
+ message=i18n("%1 takes channel halfop privileges from %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ if(parameterChannelNick)
+ {
+ parameterChannelNick->setHalfOp(plus);
+ emitUpdateInfo();
+ nicknameListView->sort();
+ }
+ break;
+
+ //case 'O': break;
+
+ case 'v':
+ if(plus)
+ {
+ if(fromMe)
+ {
+ if(toMe) message=i18n("You give yourself permission to talk.");
+ else message=i18n("You give %1 permission to talk.").arg(parameter);
+ }
+ else
+ {
+ if(toMe) message=i18n("%1 gives you permission to talk.").arg(sourceNick);
+ else message=i18n("%1 gives %2 permission to talk.").arg(sourceNick).arg(parameter);
+ }
+ }
+ else
+ {
+ if(fromMe)
+ {
+ if(toMe) message=i18n("You take the permission to talk from yourself.");
+ else message=i18n("You take the permission to talk from %1.").arg(parameter);
+ }
+ else
+ {
+ if(toMe) message=i18n("%1 takes the permission to talk from you.").arg(sourceNick);
+ else message=i18n("%1 takes the permission to talk from %2.").arg(sourceNick).arg(parameter);
+ }
+ }
+ if(parameterChannelNick)
+ {
+ parameterChannelNick->setVoice(plus);
+ nicknameListView->sort();
+ }
+ break;
+
+ case 'c':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'no colors allowed'.");
+ else message=i18n("%1 sets the channel mode to 'no colors allowed'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'allow color codes'.");
+ else message=i18n("%1 sets the channel mode to 'allow color codes'.").arg(sourceNick);
+ }
+ break;
+
+ case 'i':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'invite only'.");
+ else message=i18n("%1 sets the channel mode to 'invite only'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the 'invite only' mode from the channel.");
+ else message=i18n("%1 removes the 'invite only' mode from the channel.").arg(sourceNick);
+ }
+ modeI->setDown(plus);
+ break;
+
+ case 'm':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'moderated'.");
+ else message=i18n("%1 sets the channel mode to 'moderated'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'unmoderated'.");
+ else message=i18n("%1 sets the channel mode to 'unmoderated'.").arg(sourceNick);
+ }
+ modeM->setDown(plus);
+ break;
+
+ case 'n':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'no messages from outside'.");
+ else message=i18n("%1 sets the channel mode to 'no messages from outside'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'allow messages from outside'.");
+ else message=i18n("%1 sets the channel mode to 'allow messages from outside'.").arg(sourceNick);
+ }
+ modeN->setDown(plus);
+ break;
+
+ case 'p':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'private'.");
+ else message=i18n("%1 sets the channel mode to 'private'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'public'.");
+ else message=i18n("%1 sets the channel mode to 'public'.").arg(sourceNick);
+ }
+ modeP->setDown(plus);
+ if(plus) modeS->setDown(false);
+ break;
+
+ case 's':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'secret'.");
+ else message=i18n("%1 sets the channel mode to 'secret'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You set the channel mode to 'visible'.");
+ else message=i18n("%1 sets the channel mode to 'visible'.").arg(sourceNick);
+ }
+ modeS->setDown(plus);
+ if(plus) modeP->setDown(false);
+ break;
+
+ //case 'r': break;
+
+ case 't':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You switch on 'topic protection'.");
+ else message=i18n("%1 switches on 'topic protection'.").arg(sourceNick);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You switch off 'topic protection'.");
+ else message=i18n("%1 switches off 'topic protection'.").arg(sourceNick);
+ }
+ modeT->setDown(plus);
+ break;
+
+ case 'k':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel key to '%1'.").arg(parameter);
+ else message=i18n("%1 sets the channel key to '%2'.").arg(sourceNick).arg(parameter);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the channel key.");
+ else message=i18n("%1 removes the channel key.").arg(sourceNick);
+ }
+ modeK->setDown(plus);
+ break;
+
+ case 'l':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set the channel limit to %1 nicks.").arg(parameter);
+ else message=i18n("%1 sets the channel limit to %2 nicks.").arg(sourceNick).arg(parameter);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the channel limit.");
+ else message=i18n("%1 removes the channel limit.").arg(sourceNick);
+ }
+ modeL->setDown(plus);
+ if(plus) limit->setText(parameter);
+ else limit->clear();
+ break;
+
+ case 'b':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set a ban on %1.").arg(parameter);
+ else message=i18n("%1 sets a ban on %2.").arg(sourceNick).arg(parameter);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the ban on %1.").arg(parameter);
+ else message=i18n("%1 removes the ban on %2.").arg(sourceNick).arg(parameter);
+ }
+ break;
+
+ case 'e':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set a ban exception on %1.").arg(parameter);
+ else message=i18n("%1 sets a ban exception on %2.").arg(sourceNick).arg(parameter);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the ban exception on %1.").arg(parameter);
+ else message=i18n("%1 removes the ban exception on %2.").arg(sourceNick).arg(parameter);
+ }
+ break;
+
+ case 'I':
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set invitation mask %1.").arg(parameter);
+ else message=i18n("%1 sets invitation mask %2.").arg(sourceNick).arg(parameter);
+ }
+ else
+ {
+ if(fromMe) message=i18n("You remove the invitation mask %1.").arg(parameter);
+ else message=i18n("%1 removes the invitation mask %2.").arg(sourceNick).arg(parameter);
+ }
+ break;
+ default:
+ if(plus)
+ {
+ if(fromMe) message=i18n("You set channel mode +%1").arg(mode);
+ else message=i18n("%1 sets channel mode +%2").arg(sourceNick).arg(mode);
+ }
+ else
+ {
+ if (fromMe) message=i18n("You set channel mode -%1").arg(mode);
+ else message= i18n("%1 sets channel mode -%2").arg(sourceNick).arg(mode);
+ }
+ }
+
+ // check if this nick's anyOp-status has changed and adjust ops accordingly
+ if(parameterChannelNick)
+ {
+ if(wasAnyOp && (!parameterChannelNick->isAnyTypeOfOp()))
+ adjustOps(-1);
+ else if((!wasAnyOp) && parameterChannelNick->isAnyTypeOfOp())
+ adjustOps(1);
+ }
+
+ if(!message.isEmpty() && !Preferences::useLiteralModes())
+ {
+ appendCommandMessage(i18n("Mode"),message);
+ }
+
+ updateModeWidgets(mode,plus,parameter);
+}
+
+void Channel::clearModeList()
+{
+ QString k;
+
+ // Keep channel password in the backing store, for rejoins.
+ for (QStringList::const_iterator it = m_modeList.begin(); it != m_modeList.end(); ++it)
+ {
+ if ((*it)[0] == 'k') k = (*it);
+ }
+
+ m_modeList.clear();
+
+ if (!k.isEmpty()) m_modeList << k;
+
+ modeT->setOn(0);
+ modeT->setDown(0);
+
+ modeN->setOn(0);
+ modeN->setDown(0);
+
+ modeS->setOn(0);
+ modeS->setDown(0);
+
+ modeI->setOn(0);
+ modeI->setDown(0);
+
+ modeP->setOn(0);
+ modeP->setDown(0);
+
+ modeM->setOn(0);
+ modeM->setDown(0);
+
+ modeK->setOn(0);
+ modeK->setDown(0);
+
+ modeL->setOn(0);
+ modeL->setDown(0);
+
+ limit->clear();
+
+ emit modesChanged();
+}
+
+void Channel::updateModeWidgets(char mode, bool plus, const QString &parameter)
+{
+ ModeButton* widget=0;
+
+ if(mode=='t') widget=modeT;
+ else if(mode=='n') widget=modeN;
+ else if(mode=='s') widget=modeS;
+ else if(mode=='i') widget=modeI;
+ else if(mode=='p') widget=modeP;
+ else if(mode=='m') widget=modeM;
+ else if(mode=='k') widget=modeK;
+ else if(mode=='l')
+ {
+ widget=modeL;
+ if(plus) limit->setText(parameter);
+ else limit->clear();
+ }
+
+ if(widget) widget->setOn(plus);
+
+ if(plus)
+ {
+ m_modeList.append(QString(mode + parameter));
+ }
+ else
+ {
+ QStringList removable = m_modeList.grep(QRegExp(QString("^%1.*").arg(mode)));
+
+ for(QStringList::iterator it = removable.begin(); it != removable.end(); ++it)
+ {
+ m_modeList.remove(m_modeList.find((*it)));
+ }
+ }
+ emit modesChanged();
+}
+
+void Channel::updateQuickButtons(const QStringList &newButtonList)
+{
+ // remove quick buttons from memory and GUI
+ while(buttonList.count())
+ {
+ QuickButton* button=buttonList.at(0);
+ // remove tool tips as well
+ QToolTip::remove(button);
+ buttonList.remove(button);
+ delete button;
+ }
+
+ if(buttonsGrid)delete buttonsGrid;
+
+ // the grid that holds the quick action buttons
+ buttonsGrid = new QGrid(2, nickListButtons);
+
+ // add new quick buttons
+ for(unsigned int index=0;index<newButtonList.count();index++)
+ {
+ // generate empty buttons first, text will be added later
+ QuickButton* quickButton = new QuickButton(QString(), QString(), buttonsGrid);
+ buttonList.append(quickButton);
+
+ connect(quickButton, SIGNAL(clicked(const QString &)), this, SLOT(quickButtonClicked(const QString &)));
+
+ // Get the button definition
+ QString buttonText=newButtonList[index];
+ // Extract button label
+ QString buttonLabel=buttonText.section(',',0,0);
+ // Extract button definition
+ buttonText=buttonText.section(',',1);
+
+ quickButton->setText(buttonLabel);
+ quickButton->setDefinition(buttonText);
+
+ // Add tool tips
+ QString toolTip=buttonText.replace("&","&amp;").
+ replace("<","&lt;").
+ replace(">","&gt;");
+
+ QToolTip::add(quickButton,toolTip);
+
+ quickButton->show();
+ } // for
+
+ // set hide() or show() on grid
+ showQuickButtons(Preferences::showQuickButtons());
+}
+
+void Channel::showQuickButtons(bool show)
+{
+ // Qt does not redraw the buttons properly when they are not on screen
+ // while getting hidden, so we remember the "soon to be" state here.
+ if(isHidden() || !buttonsGrid)
+ {
+ quickButtonsChanged=true;
+ quickButtonsState=show;
+ }
+ else
+ {
+ if(show)
+ buttonsGrid->show();
+ else
+ buttonsGrid->hide();
+ }
+}
+
+void Channel::showModeButtons(bool show)
+{
+ // Qt does not redraw the buttons properly when they are not on screen
+ // while getting hidden, so we remember the "soon to be" state here.
+ if(isHidden())
+ {
+ modeButtonsChanged=true;
+ modeButtonsState=show;
+ }
+ else
+ {
+ if(show)
+ {
+ topicSplitterHidden = false;
+ modeBox->show();
+ modeBox->parentWidget()->show();
+ }
+ else
+ {
+ modeBox->hide();
+
+ if(topicLine->isHidden())
+ {
+ topicSplitterHidden = true;
+ modeBox->parentWidget()->hide();
+ }
+ }
+ }
+}
+
+void Channel::indicateAway(bool show)
+{
+ // Qt does not redraw the label properly when they are not on screen
+ // while getting hidden, so we remember the "soon to be" state here.
+ if(isHidden())
+ {
+ awayChanged=true;
+ awayState=show;
+ }
+ else
+ {
+ if(show)
+ awayLabel->show();
+ else
+ awayLabel->hide();
+ }
+}
+
+void Channel::showEvent(QShowEvent*)
+{
+ // If the show quick/mode button settings have changed, apply the changes now
+ if(quickButtonsChanged)
+ {
+ quickButtonsChanged=false;
+ showQuickButtons(quickButtonsState);
+ }
+
+ if(modeButtonsChanged)
+ {
+ modeButtonsChanged=false;
+ showModeButtons(modeButtonsState);
+ }
+
+ if(awayChanged)
+ {
+ awayChanged=false;
+ indicateAway(awayState);
+ }
+
+ syncSplitters();
+}
+
+void Channel::syncSplitters()
+{
+ QValueList<int> vertSizes = Preferences::topicSplitterSizes();
+ QValueList<int> horizSizes = Preferences::channelSplitterSizes();
+
+ if (vertSizes.isEmpty())
+ {
+ vertSizes << m_topicButton->height() << (height() - m_topicButton->height());
+ Preferences::setTopicSplitterSizes(vertSizes);
+ }
+
+ if (horizSizes.isEmpty())
+ {
+ int listWidth = nicknameListView->columnWidth(0) + nicknameListView->columnWidth(1);
+ horizSizes << (width() - listWidth) << listWidth;
+ Preferences::setChannelSplitterSizes(horizSizes);
+ }
+
+ m_vertSplitter->setSizes(vertSizes);
+ m_horizSplitter->setSizes(horizSizes);
+
+ splittersInitialized = true;
+}
+
+void Channel::updateAppearance()
+{
+ QColor fg,bg,abg;
+
+ if(Preferences::inputFieldsBackgroundColor())
+ {
+ fg=Preferences::color(Preferences::ChannelMessage);
+ bg=Preferences::color(Preferences::TextViewBackground);
+ abg=Preferences::color(Preferences::AlternateBackground);
+ }
+ else
+ {
+ fg=colorGroup().foreground();
+ bg=colorGroup().base();
+ abg=KGlobalSettings::alternateBackgroundColor();
+ }
+
+ channelInput->unsetPalette();
+ channelInput->setPaletteForegroundColor(fg);
+ channelInput->setPaletteBackgroundColor(bg);
+
+ limit->unsetPalette();
+ limit->setPaletteForegroundColor(fg);
+ limit->setPaletteBackgroundColor(bg);
+
+ getTextView()->unsetPalette();
+
+ if(Preferences::showBackgroundImage())
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ Preferences::backgroundImage());
+ }
+ else
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ QString());
+ }
+
+ if (Preferences::customTextFont())
+ {
+ getTextView()->setFont(Preferences::textFont());
+ topicLine->setFont(Preferences::textFont());
+ channelInput->setFont(Preferences::textFont());
+ nicknameCombobox->setFont(Preferences::textFont());
+ limit->setFont(Preferences::textFont());
+ }
+ else
+ {
+ getTextView()->setFont(KGlobalSettings::generalFont());
+ topicLine->setFont(KGlobalSettings::generalFont());
+ channelInput->setFont(KGlobalSettings::generalFont());
+ nicknameCombobox->setFont(KGlobalSettings::generalFont());
+ limit->setFont(KGlobalSettings::generalFont());
+ }
+
+ nicknameListView->resort();
+ nicknameListView->unsetPalette();
+ nicknameListView->setPaletteForegroundColor(fg);
+ nicknameListView->setPaletteBackgroundColor(bg);
+ nicknameListView->setAlternateBackground(abg);
+
+ if (Preferences::customListFont())
+ nicknameListView->setFont(Preferences::listFont());
+ else
+ nicknameListView->setFont(KGlobalSettings::generalFont());
+
+ nicknameListView->refresh();
+
+ showModeButtons(Preferences::showModeButtons());
+ showNicknameList(Preferences::showNickList());
+ showNicknameBox(Preferences::showNicknameBox());
+ showTopic(Preferences::showTopic());
+ setAutoUserhost(Preferences::autoUserhost());
+
+ updateQuickButtons(Preferences::quickButtonList());
+
+ ChatWindow::updateAppearance();
+}
+
+void Channel::nicknameComboboxChanged()
+{
+ QString newNick=nicknameCombobox->currentText();
+ oldNick=m_server->getNickname();
+ if(oldNick!=newNick)
+ {
+ nicknameCombobox->setCurrentText(oldNick);
+ changeNickname(newNick);
+ // return focus to input line
+ channelInput->setFocus();
+ }
+}
+
+void Channel::changeNickname(const QString& newNickname)
+{
+ if (!newNickname.isEmpty())
+ m_server->queue("NICK "+newNickname);
+}
+
+void Channel::resetNickList()
+{
+ nicknameListView->setUpdatesEnabled(false);
+ purgeNicks();
+}
+
+void Channel::addPendingNickList(const QStringList& pendingChannelNickList)
+{
+ if(pendingChannelNickList.isEmpty())
+ return;
+
+ if (!m_processingTimer)
+ {
+ m_processingTimer = new QTimer(this);
+ connect(m_processingTimer, SIGNAL(timeout()), this, SLOT(processPendingNicks()));
+ }
+
+ m_pendingChannelNickLists.append(pendingChannelNickList);
+
+ if (!m_processingTimer->isActive())
+ m_processingTimer->start(0);
+}
+
+void Channel::childAdjustFocus()
+{
+ channelInput->setFocus();
+ refreshModeButtons();
+}
+
+void Channel::refreshModeButtons()
+{
+ bool enable = true;
+ if(getOwnChannelNick())
+ {
+ enable=getOwnChannelNick()->isAnyTypeOfOp();
+ } // if not channel nick, then enable is true - fall back to assuming they are op
+
+ //don't disable the mode buttons since you can't then tell if they are enabled or not.
+ //needs to be fixed somehow
+
+ /* modeT->setEnabled(enable);
+ modeN->setEnabled(enable);
+ modeS->setEnabled(enable);
+ modeI->setEnabled(enable);
+ modeP->setEnabled(enable);
+ modeM->setEnabled(enable);
+ modeK->setEnabled(enable);
+ modeL->setEnabled(enable);*/
+ limit->setEnabled(enable);
+
+ // Tooltips for the ModeButtons
+ QString opOnly;
+ if(!enable) opOnly = i18n("You have to be an operator to change this.");
+
+ QToolTip::add(modeT, i18n("Topic can be changed by channel operator only. %1").arg(opOnly));
+ QToolTip::add(modeN, i18n("No messages to channel from clients on the outside. %1").arg(opOnly));
+ QToolTip::add(modeS, i18n("Secret channel. %1").arg(opOnly));
+ QToolTip::add(modeI, i18n("Invite only channel. %1").arg(opOnly));
+ QToolTip::add(modeP, i18n("Private channel. %1").arg(opOnly));
+ QToolTip::add(modeM, i18n("Moderated channel. %1").arg(opOnly));
+ QToolTip::add(modeK, i18n("Protect channel with a password."));
+ QToolTip::add(modeL, i18n("Set user limit to channel."));
+
+}
+
+void Channel::cycleChannel()
+{
+ closeYourself();
+ m_server->sendJoinCommand(getName(), getPassword());
+}
+
+void Channel::autoUserhost()
+{
+ if(Preferences::autoUserhost() && !Preferences::autoWhoContinuousEnabled())
+ {
+ int limit = 5;
+
+ QString nickString;
+ QPtrList<Nick> nickList = getNickList();
+ QPtrListIterator<Nick> it(nickList);
+ Nick* nick;
+
+ while((nick = it.current()) != 0)
+ {
+ if(nick->getChannelNick()->getHostmask().isEmpty())
+ {
+ if(limit--) nickString = nickString + nick->getChannelNick()->getNickname() + ' ';
+ else break;
+ }
+
+ ++it;
+ }
+
+ if(!nickString.isEmpty()) m_server->requestUserhost(nickString);
+ }
+}
+
+void Channel::setAutoUserhost(bool state)
+{
+ if(state)
+ {
+ // we can't have automatic resizing with three columns; the hostname column is too wide
+ nicknameListView->setHScrollBarMode(QScrollView::Auto);
+
+ // restart userhost timer
+ userhostTimer.start(10000);
+ // if the column was actually gone (just to be sure) ...
+ if(nicknameListView->columns()==2)
+ {
+ // re-add the hostmask column
+ nicknameListView->addColumn(QString());
+ nicknameListView->setColumnWidthMode(2,KListView::Maximum);
+ nicknameListView->setResizeMode(QListView::NoColumn);
+
+ // re-add already known hostmasks
+ QListViewItem* item=nicknameListView->itemAtIndex(0);
+ while(item)
+ {
+ Nick* lookNick=getNickByName(item->text(1));
+ if(lookNick) item->setText(2,lookNick->getChannelNick()->getHostmask());
+ item=item->itemBelow();
+ }
+ }
+ }
+ else
+ {
+ userhostTimer.stop();
+ if(nicknameListView->columns()==3) nicknameListView->removeColumn(2);
+ nicknameListView->setHScrollBarMode(QScrollView::AlwaysOff);
+ // make the nick column resize itself automatically to prevent horizontal scrollbar
+ nicknameListView->setResizeMode(QListView::LastColumn);
+ }
+}
+
+void Channel::scheduleAutoWho() // slot
+{
+ if(m_whoTimer.isActive())
+ m_whoTimer.stop();
+ if(Preferences::autoWhoContinuousEnabled())
+ m_whoTimer.start(Preferences::autoWhoContinuousInterval() * 1000, true);
+}
+
+void Channel::autoWho()
+{
+ // don't use auto /WHO when the number of nicks is too large, or get banned.
+ if((nicks > Preferences::autoWhoNicksLimit()) ||
+ m_server->getInputFilter()->isWhoRequestUnderProcess(getName()))
+ {
+ scheduleAutoWho();
+ return;
+ }
+
+ m_server->requestWho(getName());
+}
+
+void Channel::fadeActivity()
+{
+ QPtrListIterator<Nick> it( nicknameList );
+ Nick *nick;
+ while ( (nick = it.current()) != 0 ) {
+ ++it;
+ nick->getChannelNick()->lessActive();
+ }
+}
+
+QString Channel::getTextInLine()
+{
+ return channelInput->text();
+}
+
+bool Channel::canBeFrontView()
+{
+ return true;
+}
+
+bool Channel::searchView()
+{
+ return true;
+}
+
+void Channel::appendInputText(const QString& s, bool fromCursor)
+{
+ if(!fromCursor)
+ {
+ channelInput->append(s);
+ }
+ else
+ {
+ int para = 0, index = 0;
+ channelInput->getCursorPosition(&para, &index);
+ channelInput->insertAt(s, para, index);
+ channelInput->setCursorPosition(para, index + s.length());
+ }
+}
+
+bool Channel::closeYourself(bool confirm)
+{
+ int result=KMessageBox::Continue;
+ if (confirm)
+ result = KMessageBox::warningContinueCancel(this, i18n("Do you want to leave %1?").arg(getName()),
+ i18n("Leave Channel"), i18n("Leave"), "QuitChannelTab");
+
+ if (result==KMessageBox::Continue)
+ {
+ m_server->closeChannel(getName());
+ m_server->removeChannel(this);
+ Preferences::setSpellChecking(channelInput->checkSpellingEnabled());
+ deleteLater();
+ return true;
+ }
+ return false;
+}
+
+void Channel::serverOnline(bool online)
+{
+ setActive(online);
+}
+
+//Used to disable functions when not connected, does not necessarily mean the server is offline
+void Channel::setActive(bool active)
+{
+ if (active)
+ {
+ getTextView()->setNickAndChannelContextMenusEnabled(true);
+ nicknameCombobox->setEnabled(true);
+ }
+ else
+ {
+ purgeNicks();
+ getTextView()->setNickAndChannelContextMenusEnabled(false);
+ nicknameCombobox->setEnabled(false);
+ topicLine->setText(QString::null);
+ clearModeList();
+ clearBanList();
+ }
+}
+
+void Channel::showTopic(bool show)
+{
+ if(show)
+ {
+ topicSplitterHidden = false;
+ topicLine->show();
+ m_topicButton->show();
+ topicLine->parentWidget()->show();
+ }
+ else
+ {
+ topicLine->hide();
+ m_topicButton->hide();
+
+ if(modeBox->isHidden())
+ {
+ topicSplitterHidden = true;
+ topicLine->parentWidget()->hide();
+ }
+ }
+}
+
+void Channel::processPendingNicks()
+{
+ QString nickname = m_pendingChannelNickLists.first()[m_currentIndex];
+
+ bool admin = false;
+ bool owner = false;
+ bool op = false;
+ bool halfop = false;
+ bool voice = false;
+
+ // Remove possible mode characters from nickname and store the resulting mode
+ m_server->mangleNicknameWithModes(nickname, admin, owner, op, halfop, voice);
+
+ // TODO: make these an enumeration in KApplication or somewhere, we can use them as well
+ unsigned int mode = (admin ? 16 : 0) +
+ (owner ? 8 : 0) +
+ (op ? 4 : 0) +
+ (halfop ? 2 : 0) +
+ (voice ? 1 : 0);
+
+ // Check if nick is already in the nicklist
+ if (!getNickByName(nickname))
+ {
+ ChannelNickPtr nick = m_server->addNickToJoinedChannelsList(getName(), nickname);
+ Q_ASSERT(nick);
+ nick->setMode(mode);
+
+ fastAddNickname(nick);
+
+ if (nick->isAdmin() || nick->isOwner() || nick->isOp() || nick->isHalfOp())
+ m_opsToAdd++;
+
+ m_currentIndex++;
+ }
+ else
+ {
+ m_pendingChannelNickLists.first().pop_front();
+ }
+
+ if (m_pendingChannelNickLists.first().count() <= m_currentIndex)
+ {
+ adjustNicks(m_pendingChannelNickLists.first().count());
+ adjustOps(m_opsToAdd);
+ m_pendingChannelNickLists.pop_front();
+ m_currentIndex = 0;
+ m_opsToAdd = 0;
+ }
+
+ if (m_pendingChannelNickLists.isEmpty())
+ {
+ m_processingTimer->stop();
+ nicknameListView->sort();
+ sortNickList();
+ nicknameListView->setUpdatesEnabled(true);
+ nicknameListView->triggerUpdate();
+ }
+}
+
+void Channel::setChannelEncoding(const QString& encoding) // virtual
+{
+ Preferences::setChannelEncoding(m_server->getDisplayName(), getName(), encoding);
+}
+
+QString Channel::getChannelEncoding() // virtual
+{
+ return Preferences::channelEncoding(m_server->getDisplayName(), getName());
+}
+
+QString Channel::getChannelEncodingDefaultDesc() // virtual
+{
+ return i18n("Identity Default ( %1 )").arg(getServer()->getIdentity()->getCodecName());
+}
+
+void Channel::showNicknameBox(bool show)
+{
+ if(show)
+ {
+ nicknameCombobox->show();
+ }
+ else
+ {
+ nicknameCombobox->hide();
+ }
+}
+
+void Channel::showNicknameList(bool show)
+{
+ if (show)
+ {
+ channelSplitterHidden = false;
+ nickListButtons->show();
+ }
+ else
+ {
+ channelSplitterHidden = true;
+ nickListButtons->hide();
+ }
+}
+
+void Channel::requestNickListSort()
+{
+ if(!m_delayedSortTimer)
+ {
+ m_delayedSortTimer = new QTimer(this);
+ connect(m_delayedSortTimer, SIGNAL(timeout()), this, SLOT(sortNickList()));
+ }
+
+ if(!m_delayedSortTimer->isActive())
+ {
+ m_delayedSortTimer->start(1000, true);
+ }
+}
+
+void Channel::sortNickList()
+{
+ nicknameList.sort();
+ nicknameListView->resort();
+
+ if(m_delayedSortTimer)
+ {
+ m_delayedSortTimer->stop();
+ }
+}
+
+void Channel::setIdentity(const IdentityPtr identity)
+{
+ if (identity)
+ {
+ nicknameCombobox->clear();
+ nicknameCombobox->insertStringList(identity->getNicknameList());
+ }
+}
+
+bool Channel::eventFilter(QObject* watched, QEvent* e)
+{
+ if((watched == nicknameListView) && (e->type() == QEvent::Resize) && splittersInitialized && isShown())
+ {
+ if (!topicSplitterHidden && !channelSplitterHidden)
+ {
+ Preferences::setChannelSplitterSizes(m_horizSplitter->sizes());
+ Preferences::setTopicSplitterSizes(m_vertSplitter->sizes());
+ }
+ if (!topicSplitterHidden && channelSplitterHidden)
+ {
+ Preferences::setTopicSplitterSizes(m_vertSplitter->sizes());
+ }
+ if (!channelSplitterHidden && topicSplitterHidden)
+ {
+ Preferences::setChannelSplitterSizes(m_horizSplitter->sizes());
+ }
+ }
+
+ return ChatWindow::eventFilter(watched, e);
+}
+
+void Channel::addBan(const QString& ban)
+{
+ for ( QStringList::Iterator it = m_BanList.begin(); it != m_BanList.end(); ++it )
+ {
+ if ((*it).section(' ', 0, 0) == ban.section(' ', 0, 0))
+ {
+ // Ban is already in list.
+ it = m_BanList.remove(it);
+
+ emit banRemoved(ban.section(' ', 0, 0));
+ }
+ }
+
+ m_BanList.prepend(ban);
+
+ emit banAdded(ban);
+}
+
+void Channel::removeBan(const QString& ban)
+{
+ for ( QStringList::Iterator it = m_BanList.begin(); it != m_BanList.end(); ++it )
+ {
+ if ((*it).section(' ', 0, 0) == ban)
+ {
+ it = m_BanList.remove(it);
+
+ emit banRemoved(ban);
+ }
+ }
+}
+
+void Channel::clearBanList()
+{
+ m_BanList.clear();
+
+ emit banListCleared();
+}
+
+void Channel::append(const QString& nickname, const QString& message)
+{
+ if(nickname != getServer()->getNickname()) {
+ Nick* nick = getNickByName(nickname);
+
+ if(nick) {
+ nick->getChannelNick()->setTimeStamp(QDateTime::currentDateTime().toTime_t());
+ }
+ }
+
+ ChatWindow::append(nickname, message);
+ nickActive(nickname);
+}
+
+void Channel::appendAction(const QString& nickname, const QString& message)
+{
+ if(nickname != getServer()->getNickname()) {
+ Nick* nick = getNickByName(nickname);
+
+ if(nick) {
+ nick->getChannelNick()->setTimeStamp(QDateTime::currentDateTime().toTime_t());
+ }
+ }
+
+ ChatWindow::appendAction(nickname, message);
+ nickActive(nickname);
+}
+
+void Channel::nickActive(const QString& nickname) //FIXME reported to crash, can't reproduce
+{
+ ChannelNickPtr nick=getChannelNick(nickname);
+ //XXX Would be nice to know why it can be null here...
+ if (nick) {
+ nick->moreActive();
+ sortNickList(); //FIXME: no need to completely resort, we can just see if this particular nick should move
+ }
+}
+
+//
+// NickList
+//
+
+NickList::NickList() : QPtrList<Nick>()
+{
+ m_compareMethod = NickList::AlphaNumeric;
+}
+
+void NickList::setCompareMethod(CompareMethod method)
+{
+ m_compareMethod = method;
+}
+
+//doesn't the following somehow duplicate NickListViewItem::compare()?
+int NickList::compareItems(QPtrCollection::Item item1, QPtrCollection::Item item2)
+{
+ if(m_compareMethod == NickList::TimeStamp) {
+ int returnValue = static_cast<Nick*>(item2)->getChannelNick()->timeStamp() - static_cast<Nick*>(item1)->getChannelNick()->timeStamp();
+
+ if(returnValue == 0) {
+ returnValue = QString::compare(static_cast<Nick*>(item1)->getChannelNick()->loweredNickname(),
+ static_cast<Nick*>(item2)->getChannelNick()->loweredNickname());
+ }
+
+ return returnValue;
+ }
+
+ return QString::compare(static_cast<Nick*>(item1)->getChannelNick()->loweredNickname(),
+ static_cast<Nick*>(item2)->getChannelNick()->loweredNickname());
+}
+
+QString NickList::completeNick(const QString& pattern, bool& complete, QStringList& found,
+ bool skipNonAlfaNum, bool caseSensitive)
+{
+ found.clear();
+ QString prefix = "^";
+ QString newNick;
+ QString prefixCharacter = Preferences::prefixCharacter();
+ NickList foundNicks;
+ foundNicks.setCompareMethod(NickList::TimeStamp);
+
+ if((pattern.find(QRegExp("^(\\d|\\w)")) != -1) && skipNonAlfaNum)
+ {
+ prefix = "^([^\\d\\w]|[\\_]){0,}";
+ }
+
+ QRegExp regexp(prefix + QRegExp::escape(pattern));
+ regexp.setCaseSensitive(caseSensitive);
+ QPtrListIterator<Nick> it(*this);
+
+ while(it.current() != 0)
+ {
+ newNick = it.current()->getChannelNick()->getNickname();
+
+ if(!prefix.isEmpty() && newNick.contains(prefixCharacter))
+ {
+ newNick = newNick.section( prefixCharacter,1 );
+ }
+
+ if(newNick.find(regexp) != -1)
+ {
+ foundNicks.append(it.current());
+ }
+
+ ++it;
+ }
+
+ foundNicks.sort();
+
+ QPtrListIterator<Nick> it2(foundNicks);
+
+ while(it2.current() != 0)
+ {
+ found.append(it2.current()->getChannelNick()->getNickname());
+ ++it2;
+ }
+
+ if(found.count() > 1)
+ {
+ bool ok = true;
+ unsigned int patternLength = pattern.length();
+ QString firstNick = found[0];
+ unsigned int firstNickLength = firstNick.length();
+ unsigned int foundCount = found.count();
+
+ while(ok && ((patternLength) < firstNickLength))
+ {
+ ++patternLength;
+ QStringList tmp = found.grep(firstNick.left(patternLength), caseSensitive);
+
+ if(tmp.count() != foundCount)
+ {
+ ok = false;
+ --patternLength;
+ }
+ }
+
+ complete = false;
+ return firstNick.left(patternLength);
+ }
+ else if(found.count() == 1)
+ {
+ complete = true;
+ return found[0];
+ }
+
+ return QString();
+}
+
+bool NickList::containsNick(const QString& nickname)
+{
+ QPtrListIterator<Nick> it(*this);
+
+ while (it.current() != 0)
+ {
+ if (it.current()->getChannelNick()->getNickname()==nickname)
+ return true;
+
+ ++it;
+ }
+
+ return false;
+}
+
+#include "channel.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/channel.h b/konversation/src/channel.h
new file mode 100644
index 0000000..e04d52b
--- /dev/null
+++ b/konversation/src/channel.h
@@ -0,0 +1,375 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004-2006 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef CHANNEL_H
+#define CHANNEL_H
+
+#include "server.h"
+#include "chatwindow.h"
+#include "channelnick.h"
+#include "nick.h"
+
+#include <qtimer.h>
+#include <qstring.h>
+
+
+class QPushButton;
+class QCheckBox;
+class QLabel;
+class QTimer;
+class QListViewItem;
+class QHBox;
+class QStringList;
+class QSplitter;
+class QGrid;
+class QComboBox;
+class QDropEvent;
+class QToolButton;
+
+class KLineEdit;
+
+class NickListView;
+class QuickButton;
+class ModeButton;
+class IRCInput;
+class NickChangeDialog;
+
+namespace Konversation
+{
+ class TopicLabel;
+ class ChannelOptionsDialog;
+}
+
+class NickList : public QPtrList<Nick>
+{
+ public:
+ NickList();
+
+ enum CompareMethod { AlphaNumeric, TimeStamp };
+
+ QString completeNick(const QString& pattern, bool& complete, QStringList& found,
+ bool skipNonAlfaNum, bool caseSensitive);
+
+ void setCompareMethod(CompareMethod method);
+
+ bool containsNick(const QString& nickname);
+
+ protected:
+ virtual int compareItems(QPtrCollection::Item item1, QPtrCollection::Item item2);
+
+ private:
+ CompareMethod m_compareMethod;
+};
+
+class Channel : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit Channel(QWidget* parent, QString name);
+ ~Channel();
+//META
+ virtual bool canBeFrontView();
+ virtual bool searchView();
+
+ virtual void append(const QString& nickname,const QString& message);
+ virtual void appendAction(const QString& nickname,const QString& message);
+ void nickActive(const QString& nickname);
+
+//General administrative stuff
+ public:
+ void setName(const QString& newName);
+ QString getPassword();
+
+ const Konversation::ChannelSettings channelSettings();
+
+ QString getPassword() const;
+
+ virtual void setServer(Server* newServer);
+ void setIdentity(const IdentityPtr identity);
+
+ void setEncryptedOutput(bool);
+
+ bool joined() { return m_joined; }
+ bool rejoinable();
+//Unsure of future placement and/or continued existence of these members
+ int numberOfNicks() const { return nicks; }
+ int numberOfOps() const { return ops; }
+ virtual void setChannelEncoding(const QString& encoding);
+ virtual QString getChannelEncoding();
+ virtual QString getChannelEncodingDefaultDesc();
+ virtual bool isInsertSupported() { return true; }
+
+ protected:
+ // use with caution! does not check for duplicates
+ void fastAddNickname(ChannelNickPtr channelnick);
+ void setActive(bool active);
+
+ public slots:
+ void setNickname(const QString& newNickname);
+ void scheduleAutoWho();
+ void setAutoUserhost(bool state);
+ void rejoin();
+
+ protected slots:
+ void autoUserhost();
+ void autoWho();
+ void fadeActivity();
+ virtual void serverOnline(bool online);
+
+
+//Nicklist
+ public:
+ ChannelNickPtr getOwnChannelNick();
+ ChannelNickPtr getChannelNick(const QString &ircnick);
+
+ void joinNickname(ChannelNickPtr channelNick);
+ void removeNick(ChannelNickPtr channelNick, const QString &reason, bool quit);
+ void kickNick(ChannelNickPtr channelNick, const QString &kicker, const QString &reason);
+ void addNickname(ChannelNickPtr channelNick);
+ void nickRenamed(const QString &oldNick, const NickInfo& channelnick);
+ void resetNickList();
+ void addPendingNickList(const QStringList& pendingChannelNickList);
+ Nick *getNickByName(const QString& lookname);
+ NickList getNickList() { return nicknameList; }
+
+ void adjustNicks(int value);
+ void adjustOps(int value);
+ virtual void emitUpdateInfo();
+
+ protected slots:
+ void purgeNicks();
+ void processPendingNicks();
+
+//Topic
+ public:
+ /** Get the current channel topic.
+ *
+ * The topic may or may not have the author that set it at the start of the string,
+ * like: "<author> topic"
+ *
+ * The internal variable topicAuthorUnknown stores whether the "<author>" bit is there or not.
+ *
+ * */
+ QString getTopic();
+ /** Get the channel topic history sorted in reverse chronological order.
+ *
+ * Each topic may or may not have the author that set it at the start of the string,
+ * like: "<author> topic"
+ *
+ * @return a list of topics this channel used to have, current at the top.
+ */
+ QStringList getTopicHistory();
+
+ void setTopic(const QString& topic);
+ void setTopic(const QString& nickname, const QString& topic);
+ void setTopicAuthor(const QString& author, QDateTime t);
+
+ signals:
+ void topicHistoryChanged();
+ void joined(Channel* channel);
+
+
+//Modes
+//TODO: the only representation of the channel limit is held in the GUI
+
+ public:
+ /// Internal - Empty the modelist
+ void clearModeList();
+ /// Get the list of modes that this channel has - e.g. {+l,+s,-m}
+ //TODO: does this method return a list of all modes, all modes that have been changed, or all modes that are +?
+ QStringList getModeList() const { return m_modeList; }
+
+ /** Outputs a message on the channel, and modifies the mode for a ChannelNick.
+ * @param sourceNick The server or the nick of the person that made the mode change.
+ * @param mode The mode that is changing one of v,h,o,a for voice halfop op admin
+ * @param plus True if the mode is being granted, false if it's being taken away.
+ * @param parameter This depends on what the mode change is. In most cases it is the nickname of the person that is being given voice/op/admin etc. See the code.
+ */
+ void updateMode(const QString& sourceNick, char mode, bool plus, const QString &parameter);
+
+ signals:
+ void modesChanged();
+
+//Bans
+ public:
+
+ void addBan(const QString& ban);
+ void removeBan(const QString& ban);
+
+ void clearBanList();
+ QStringList getBanList() const { return m_BanList; }
+
+ signals:
+ void banAdded(const QString& newban);
+ void banRemoved(const QString& newban);
+ void banListCleared();
+
+//Generic GUI
+ public:
+ virtual bool eventFilter(QObject* watched, QEvent* e);
+
+//Specific GUI
+ public:
+ void updateModeWidgets(char mode, bool plus, const QString &parameter);
+ void updateQuickButtons(const QStringList &newButtonList);
+
+ /// Get the contents of the input line.
+ virtual QString getTextInLine();
+ /// Sounds suspiciously like a destructor..
+ virtual bool closeYourself(bool askForConfirmation=true);
+
+ bool autoJoin();
+
+ ChannelNickList getSelectedChannelNicks();
+ ///TODO: this looks like a half-arsed overload.
+ QStringList getSelectedNickList();
+
+ NickListView* getNickListView() const { return nicknameListView; }
+
+ Konversation::ChannelSettings channelSettings() const;
+
+ signals:
+ void sendFile();
+
+ public slots:
+ void updateAppearance();
+ void channelTextEntered();
+ void channelPassthroughCommand();
+ void sendChannelText(const QString& line);
+ void showOptionsDialog();
+ void showQuickButtons(bool show);
+ void showModeButtons(bool show);
+
+ void appendInputText(const QString& s, bool fromCursor);
+ virtual void indicateAway(bool show);
+ void showTopic(bool show);
+ void showNicknameBox(bool show);
+ void showNicknameList(bool show);
+
+ void setAutoJoin(bool autojoin);
+
+ void connectionStateChanged(Server*, Konversation::ConnectionState);
+
+ protected slots:
+ void completeNick(); ///< I guess this is a GUI function, might be nice to have at DCOP level though --argonel
+ void endCompleteNick();
+ void filesDropped(QDropEvent* e);
+ void quickButtonClicked(const QString& definition);
+ void modeButtonClicked(int id,bool on);
+ void channelLimitChanged();
+
+ void popupChannelCommand(int id); ///< Connected to IRCView::popupCommand()
+ void popupCommand(int id); ///< Connected to NickListView::popupCommand()
+ void doubleClickCommand(QListViewItem*); ///< Connected to NickListView::doubleClicked()
+ // Dialogs
+ void changeNickname(const QString& newNickname);
+
+ void textPasted(const QString& text); ///< connected to IRCInput::textPasted() - used to handle large/multiline pastings
+
+ void sendFileMenu(); ///< connected to IRCInput::sendFile()
+ void nicknameComboboxChanged();
+ /// Enable/disable the mode buttons depending on whether you are op or not.
+ void refreshModeButtons();
+
+//only the GUI cares about sorted nicklists
+ ///Request a delayed nicklist sorting
+ void requestNickListSort();
+ ///Sort the nicklist
+ void sortNickList();
+
+ protected:
+ void showEvent(QShowEvent* event);
+ void syncSplitters();
+ /// Called from ChatWindow adjustFocus
+ virtual void childAdjustFocus();
+ /// Close the channel then come back in
+ void cycleChannel(); ///< TODO this is definately implemented and hooked incorrectly.
+
+ bool channelCommand;///< True if nick context menu is executed from IRCView
+
+ // to take care of redraw problem if hidden
+ bool quickButtonsChanged;
+ bool quickButtonsState;
+ bool modeButtonsChanged;
+ bool modeButtonsState;
+ bool awayChanged;
+ bool awayState;
+ bool splittersInitialized;
+ bool topicSplitterHidden;
+ bool channelSplitterHidden;
+
+ unsigned int completionPosition;
+
+ QSplitter* m_horizSplitter;
+ QSplitter* m_vertSplitter;
+ QWidget* topicWidget;
+ QToolButton* m_topicButton;
+ Konversation::TopicLabel* topicLine;
+
+ //TODO: abstract these
+ QHBox* modeBox;
+ ModeButton* modeT;
+ ModeButton* modeN;
+ ModeButton* modeS;
+ ModeButton* modeI;
+ ModeButton* modeP;
+ ModeButton* modeM;
+ ModeButton* modeK;
+ ModeButton* modeL;
+
+ KLineEdit* limit; //TODO: this GUI element is the only storage for the mode
+
+ NickListView* nicknameListView;
+ QHBox* commandLineBox;
+ QVBox* nickListButtons;
+ QGrid* buttonsGrid;
+ QComboBox* nicknameCombobox;
+ QString oldNick; ///< GUI
+ QLabel* awayLabel;
+ QLabel* blowfishLabel;
+ IRCInput* channelInput;
+
+ NickChangeDialog* nickChangeDialog;
+ QPtrList<QuickButton> buttonList;
+
+//Members from here to end are not GUI
+ bool m_joined;
+ NickList nicknameList;
+ QTimer userhostTimer;
+
+ QStringList m_topicHistory;
+ QStringList m_BanList;
+ bool topicAuthorUnknown; ///< Stores whether the "<author>" bit is there or not.
+
+ bool m_firstAutoWhoDone;
+ QTimer m_whoTimer; ///< For continuous auto /WHO
+ QTimer m_fadeActivityTimer; ///< For the smoothing function used in activity sorting
+
+ QValueList<QStringList> m_pendingChannelNickLists;
+ int m_opsToAdd;
+ uint m_currentIndex;
+
+ QTimer* m_processingTimer;
+ QTimer* m_delayedSortTimer;
+
+ QStringList m_modeList;
+ ChannelNickPtr m_ownChannelNick;
+
+ bool pendingNicks; ///< are there still nicks to be added by /names reply?
+ int nicks; ///< How many nicks on the channel
+ int ops; ///< How many ops on the channel
+
+ Konversation::ChannelOptionsDialog *m_optionsDialog;
+};
+#endif
diff --git a/konversation/src/channeldialog.cpp b/konversation/src/channeldialog.cpp
new file mode 100644
index 0000000..2c07d5f
--- /dev/null
+++ b/konversation/src/channeldialog.cpp
@@ -0,0 +1,82 @@
+/*
+ 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.
+
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "channeldialog.h"
+#include "servergroupsettings.h"
+
+#include <qlayout.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+
+#include <klocale.h>
+#include <kmessagebox.h>
+
+
+namespace Konversation
+{
+
+ ChannelDialog::ChannelDialog(const QString& title, QWidget *parent, const char *name)
+ : KDialogBase(Plain, title, Ok|Cancel, Ok, parent, name)
+ {
+ QFrame* mainWidget = plainPage();
+ QGridLayout* mainLayout = new QGridLayout(mainWidget, 1, 2, 0, spacingHint());
+
+ QLabel* channelLbl = new QLabel(i18n("C&hannel:"), mainWidget);
+ m_channelEdit = new QLineEdit(mainWidget);
+ m_channelEdit->setMaxLength(50);
+ channelLbl->setBuddy(m_channelEdit);
+
+ QLabel* passwordLbl = new QLabel(i18n("Pass&word:"), mainWidget);
+ m_passwordEdit = new QLineEdit(mainWidget);
+ m_passwordEdit->setEchoMode(QLineEdit::Password);
+ passwordLbl->setBuddy(m_passwordEdit);
+
+ mainLayout->addWidget(channelLbl, 0, 0);
+ mainLayout->addWidget(m_channelEdit, 0, 1);
+ mainLayout->addWidget(passwordLbl, 1, 0);
+ mainLayout->addWidget(m_passwordEdit, 1, 1);
+
+ m_channelEdit->setFocus();
+ }
+
+ ChannelDialog::~ChannelDialog()
+ {
+ }
+
+ void ChannelDialog::setChannelSettings(const ChannelSettings& channel)
+ {
+ m_channelEdit->setText(channel.name());
+ m_passwordEdit->setText(channel.password());
+ }
+
+ ChannelSettings ChannelDialog::channelSettings()
+ {
+ ChannelSettings channel;
+ channel.setName(m_channelEdit->text());
+ channel.setPassword(m_passwordEdit->text());
+
+ return channel;
+ }
+
+ void ChannelDialog::slotOk()
+ {
+ if (m_channelEdit->text().isEmpty())
+ {
+ KMessageBox::error(this, i18n("The channel name is required."));
+ }
+ else
+ {
+ accept();
+ }
+ }
+}
+
+#include "channeldialog.moc"
diff --git a/konversation/src/channeldialog.h b/konversation/src/channeldialog.h
new file mode 100644
index 0000000..7af0195
--- /dev/null
+++ b/konversation/src/channeldialog.h
@@ -0,0 +1,46 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONCHANNELDIALOG_H
+#define KONVERSATIONCHANNELDIALOG_H
+
+#include <kdialogbase.h>
+
+
+class QLineEdit;
+
+namespace Konversation
+{
+
+ class ChannelSettings;
+
+ class ChannelDialog : public KDialogBase
+ {
+ Q_OBJECT
+
+ public:
+ explicit ChannelDialog(const QString& title, QWidget *parent = 0, const char *name = 0);
+ ~ChannelDialog();
+
+ void setChannelSettings(const ChannelSettings& channel);
+ ChannelSettings channelSettings();
+
+ protected slots:
+ void slotOk();
+
+ private:
+ QLineEdit* m_channelEdit;
+ QLineEdit* m_passwordEdit;
+
+ };
+
+}
+#endif
diff --git a/konversation/src/channellistpanel.cpp b/konversation/src/channellistpanel.cpp
new file mode 100644
index 0000000..3b20d57
--- /dev/null
+++ b/konversation/src/channellistpanel.cpp
@@ -0,0 +1,597 @@
+/*
+ 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.
+*/
+
+/*
+ Shows the list of channels
+ begin: Die Apr 29 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "channellistpanel.h"
+#include "channel.h"
+#include "channellistviewitem.h"
+#include "server.h"
+#include "common.h"
+
+#include <qhbox.h>
+#include <qvbox.h>
+#include <qgrid.h>
+#include <qlabel.h>
+#include <qspinbox.h>
+#include <qpushbutton.h>
+#include <qhgroupbox.h>
+#include <qregexp.h>
+#include <qcheckbox.h>
+#include <qtimer.h>
+#include <qwhatsthis.h>
+
+#include <krun.h>
+#include <klistview.h>
+#include <klineedit.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <kfiledialog.h>
+#include <kmessagebox.h>
+#include <kpopupmenu.h>
+#include <kdeversion.h>
+
+
+ChannelListPanel::ChannelListPanel(QWidget* parent) : ChatWindow(parent)
+{
+ setType(ChatWindow::ChannelList);
+ setName(i18n("Channel List"));
+
+ m_oldSortColumn = 0;
+
+ setNumChannels(0);
+ setNumUsers(0);
+ setVisibleChannels(0);
+ setVisibleUsers(0);
+
+ setMinUsers(0);
+ setMaxUsers(0);
+
+ setChannelTarget(true);
+ setTopicTarget(false);
+ setRegExp(false);
+
+ filterTextChanged(QString());
+
+ QHGroupBox* filterGroup=new QHGroupBox(i18n("Filter Settings"),this);
+ QGrid* mainGrid=new QGrid(2,Qt::Vertical,filterGroup);
+ mainGrid->setSpacing(spacing());
+
+ QLabel* minLabel=new QLabel(i18n("Minimum users:"),mainGrid);
+ QLabel* maxLabel=new QLabel(i18n("Maximum users:"),mainGrid);
+ QSpinBox* minUsersSpin=new QSpinBox(0, 9999, 1, mainGrid,"min_users_spin");
+ QWhatsThis::add(minUsersSpin, i18n("You can limit the channel list to those channels with a minimum number of users here. Choosing 0 disables this criterion."));
+ QSpinBox* maxUsersSpin=new QSpinBox(0, 9999, 1, mainGrid,"max_users_spin");
+ QWhatsThis::add(maxUsersSpin, i18n("You can limit the channel list to those channels with a maximum number of users here. Choosing 0 disables this criterion."));
+ minUsersSpin->setValue(getMinUsers());
+ maxUsersSpin->setValue(getMaxUsers());
+ minLabel->setBuddy(minUsersSpin);
+ maxLabel->setBuddy(maxUsersSpin);
+
+ QLabel* patternLabel=new QLabel(i18n("Filter pattern:"),mainGrid);
+ new QLabel(i18n("Filter target:"),mainGrid);
+
+ filterInput=new KLineEdit(mainGrid,"channel_list_filter_input");
+ QWhatsThis::add(filterInput, i18n("Enter a filter string here."));
+ filterInput->setText(getFilterText());
+
+ patternLabel->setBuddy(filterInput);
+
+ QHBox* targetBox=new QHBox(mainGrid);
+ targetBox->setSpacing(spacing());
+
+ channelFilter=new QCheckBox(i18n("Channel"),targetBox,"filter_target_channel_check");
+ topicFilter=new QCheckBox(i18n("Topic"),targetBox,"filter_target_topic_check");
+ regexpCheck=new QCheckBox(i18n("Regular expression"),targetBox,"regexp_check");
+ applyFilter=new QPushButton(i18n("Apply Filter"),targetBox,"apply_filter_button");
+ QWhatsThis::add(applyFilter, i18n("Click here to retrieve the list of channels from the server and apply the filter."));
+
+ channelFilter->setChecked(getChannelTarget());
+ topicFilter->setChecked(getTopicTarget());
+ regexpCheck->setChecked(getRegExp());
+
+ targetBox->setStretchFactor(topicFilter,10);
+
+ channelListView=new KListView(this,"channel_list_view");
+ QWhatsThis::add(channelListView, i18n("The filtered list of channels is displayed here. Notice that if you do not use regular expressions, Konversation lists any channel whose name contains the filter string you entered. The channel name does not have to start with the string you entered.\n\nSelect a channel you want to join by clicking on it. Right click on the channel to get a list of all web addresses mentioned in the channel's topic."));
+ channelListView->addColumn(i18n("Channel Name"));
+ channelListView->addColumn(i18n("Users"));
+ channelListView->addColumn(i18n("Channel Topic"));
+ channelListView->setAllColumnsShowFocus(true);
+ channelListView->setResizeMode( KListView::LastColumn );
+ channelListView->setSortColumn(-1); //Disable sorting
+
+ QHBox* statsBox=new QHBox(this);
+ statsBox->setSpacing(spacing());
+
+ QLabel* channelsLabel=new QLabel(QString(),statsBox);
+ QLabel* usersLabel=new QLabel(QString(),statsBox);
+
+ statsBox->setStretchFactor(usersLabel,10);
+
+ QHBox* actionBox=new QHBox(this);
+ actionBox->setSpacing(spacing());
+
+ refreshListButton=new QPushButton(i18n("Refresh List"),actionBox,"refresh_list_button");
+ QPushButton* saveListButton=new QPushButton(i18n("Save List..."),actionBox,"save_list_button");
+ joinChannelButton=new QPushButton(i18n("Join Channel"),actionBox,"join_channel_button");
+ QWhatsThis::add(joinChannelButton, i18n("Click here to join the channel. A new tab is created for the channel."));
+
+ connect(&updateTimer,SIGNAL (timeout()),this,SLOT (updateDisplay()));
+
+ // double click on channel entry joins the channel
+ connect(channelListView,SIGNAL (doubleClicked(QListViewItem*)),
+ this,SLOT (joinChannelClicked()) );
+
+ connect(channelListView,SIGNAL (contextMenu (KListView*, QListViewItem*, const QPoint&) ),
+ this, SLOT (contextMenu (KListView*, QListViewItem*, const QPoint&)) );
+
+ connect(minUsersSpin,SIGNAL (valueChanged(int)),this,SLOT(setMinUsers(int)) );
+ connect(maxUsersSpin,SIGNAL (valueChanged(int)),this,SLOT(setMaxUsers(int)) );
+ connect(this,SIGNAL (adjustMinValue(int)),minUsersSpin,SLOT (setValue(int)) );
+ connect(this,SIGNAL (adjustMaxValue(int)),maxUsersSpin,SLOT (setValue(int)) );
+
+ connect(filterInput,SIGNAL (textChanged(const QString&)),this,SLOT (filterTextChanged(const QString&)) );
+ connect(filterInput,SIGNAL (returnPressed()),this,SLOT (applyFilterClicked()) );
+
+ connect(channelFilter,SIGNAL (clicked()),this,SLOT (channelTargetClicked()) );
+ connect(topicFilter,SIGNAL (clicked()),this,SLOT (topicTargetClicked()) );
+ connect(regexpCheck,SIGNAL (clicked()),this,SLOT (regExpClicked()) );
+
+ connect(applyFilter,SIGNAL (clicked()),this,SLOT (applyFilterClicked()) );
+
+ connect(refreshListButton,SIGNAL (clicked()),this,SLOT (refreshList()) );
+ connect(saveListButton,SIGNAL (clicked()),this,SLOT (saveList()) );
+ connect(joinChannelButton,SIGNAL (clicked()),this,SLOT (joinChannelClicked()) );
+
+ connect(this,SIGNAL (updateNumUsers(const QString&)),usersLabel,SLOT (setText(const QString&)) );
+ connect(this,SIGNAL (updateNumChannels(const QString&)),channelsLabel,SLOT (setText(const QString&)) );
+
+ updateUsersChannels();
+}
+
+ChannelListPanel::~ChannelListPanel()
+{
+}
+
+void ChannelListPanel::refreshList()
+{
+ channelListView->clear();
+
+ setNumChannels(0);
+ setNumUsers(0);
+ setVisibleChannels(0);
+ setVisibleUsers(0);
+
+ updateUsersChannels();
+
+ /* No good idea: If the server is "temporary loaded" they stay disabled :-(
+ applyFilter->setEnabled(false);
+ refreshListButton->setEnabled(false); */
+
+ emit refreshChannelList();
+}
+
+void ChannelListPanel::saveList()
+{
+ // Ask user for file name
+ QString fileName=KFileDialog::getSaveFileName(
+ QString(),
+ QString(),
+ this,
+ i18n("Save Channel List"));
+
+ if(!fileName.isEmpty())
+ {
+ // first find the longest channel name and nick number for clean table layouting
+ unsigned int maxChannelWidth=0;
+ unsigned int maxNicksWidth=0;
+
+ QListViewItem* item = channelListView->firstChild();
+ while(item)
+ {
+ if(item->isVisible())
+ {
+ if(item->text(0).length()>maxChannelWidth)
+ {
+ maxChannelWidth = item->text(0).length();
+ }
+
+ if(item->text(1).length()>maxNicksWidth)
+ {
+ maxNicksWidth = item->text(1).length();
+ }
+ }
+
+ item = item->nextSibling();
+ }
+
+ // now save the list to disk
+ QFile listFile(fileName);
+ listFile.open(IO_WriteOnly);
+ // wrap the file into a stream
+ QTextStream stream(&listFile);
+
+ QString header(i18n("Konversation Channel List: %1 - %2\n\n")
+ .arg(m_server->getServerName())
+ .arg(QDateTime::currentDateTime().toString()));
+
+ // send header to stream
+ stream << header;
+
+ item = channelListView->firstChild();
+
+ while(item)
+ {
+ if(item->isVisible())
+ {
+ QString channelName;
+ channelName.fill(' ',maxChannelWidth);
+ channelName.replace(0,item->text(0).length(),item->text(0));
+
+ QString nicksPad;
+ nicksPad.fill(' ',maxNicksWidth);
+ QString nicksNum(nicksPad+item->text(1));
+ nicksNum=nicksNum.right(maxNicksWidth);
+
+ QString line(channelName+' '+nicksNum+' '+item->text(2)+'\n');
+
+ // send final line to stream
+ stream << line;
+ }
+
+ item = item->nextSibling();
+ }
+
+ listFile.close();
+ }
+}
+
+void ChannelListPanel::joinChannelClicked()
+{
+ QListViewItem* item=channelListView->selectedItem();
+ if(item)
+ {
+ emit joinChannel(item->text(0));
+ }
+}
+
+void ChannelListPanel::addToChannelList(const QString& channel,int users,const QString& topic)
+{
+ pendingChannels.append(channel + ' ' + QString::number(users)
+ + ' ' + Konversation::removeIrcMarkup(topic));
+
+ // set internal numbers of channels and users, display will be updated by a timer
+ setNumChannels(getNumChannels()+1);
+ setNumUsers(getNumUsers()+users);
+
+ if(!updateTimer.isActive())
+ {
+ updateTimer.start(10);
+
+ if(channelListView->sortColumn() != -1)
+ m_oldSortColumn = channelListView->sortColumn();
+
+ channelListView->setSortColumn(-1); //Disable sorting
+ }
+}
+
+void ChannelListPanel::updateDisplay()
+{
+ if(!pendingChannels.isEmpty())
+ {
+ // fetch next channel line
+ QString channelLine = pendingChannels.first();
+ // split it up into the single parts we need
+ QString channel = channelLine.section(' ',0,0);
+ QString users = channelLine.section(' ',1,1);
+ QString topic = channelLine.section(' ',2);
+ ChannelListViewItem* item = new ChannelListViewItem(channelListView, channel, users, topic);
+ applyFilterToItem(item);
+ pendingChannels.pop_front();
+ }
+
+ if(pendingChannels.isEmpty())
+ {
+ updateTimer.stop();
+ updateUsersChannels();
+ channelListView->setSortColumn(m_oldSortColumn); //Disable sorting
+ applyFilter->setEnabled(true);
+ refreshListButton->setEnabled(true);
+ }
+}
+
+void ChannelListPanel::filterTextChanged(const QString& newText)
+{
+ filterText=newText;
+}
+
+int ChannelListPanel::getNumChannels()
+{
+ return numChannels;
+}
+
+int ChannelListPanel::getNumUsers()
+{
+ return numUsers;
+}
+
+void ChannelListPanel::setNumChannels(int num)
+{
+ numChannels=num;
+}
+
+void ChannelListPanel::setNumUsers(int num)
+{
+ numUsers=num;
+}
+
+int ChannelListPanel::getVisibleChannels()
+{
+ return visibleChannels;
+}
+
+int ChannelListPanel::getVisibleUsers()
+{
+ return visibleUsers;
+}
+
+void ChannelListPanel::setVisibleChannels(int num)
+{
+ visibleChannels=num;
+}
+
+void ChannelListPanel::setVisibleUsers(int num)
+{
+ visibleUsers=num;
+}
+
+int ChannelListPanel::getMinUsers()
+{
+ return minUsers;
+}
+
+int ChannelListPanel::getMaxUsers()
+{
+ return maxUsers;
+}
+
+bool ChannelListPanel::getChannelTarget()
+{
+ return channelTarget;
+}
+
+bool ChannelListPanel::getTopicTarget()
+{
+ return topicTarget;
+}
+
+bool ChannelListPanel::getRegExp()
+{
+ return regExp;
+}
+
+const QString& ChannelListPanel::getFilterText()
+{
+ return filterText;
+}
+
+void ChannelListPanel::setMinUsers(int num)
+{
+ minUsers=num;
+}
+
+void ChannelListPanel::setMaxUsers(int num)
+{
+ maxUsers=num;
+}
+
+void ChannelListPanel::setChannelTarget(bool state)
+{
+ channelTarget=state;
+}
+
+void ChannelListPanel::setTopicTarget(bool state)
+{
+ topicTarget=state;
+}
+
+void ChannelListPanel::setRegExp(bool state)
+{
+ regExp=state;
+}
+
+void ChannelListPanel::channelTargetClicked()
+{
+ setChannelTarget(channelFilter->state()==2);
+}
+
+void ChannelListPanel::topicTargetClicked()
+{
+ setTopicTarget(topicFilter->state()==2);
+}
+
+void ChannelListPanel::regExpClicked()
+{
+ setRegExp(regexpCheck->state()==2);
+}
+
+void ChannelListPanel::applyFilterToItem(QListViewItem* item)
+{
+ bool visible=true;
+
+ if(getMinUsers() || getMaxUsers())
+ {
+ if(item->text(1).toInt()<getMinUsers() || (getMaxUsers()>=getMinUsers() &&
+ item->text(1).toInt()>getMaxUsers()))
+ visible=false;
+ }
+
+ if(!getFilterText().isEmpty())
+ {
+ if(getChannelTarget())
+ {
+ if(item->text(0).find(QRegExp(getFilterText(),false,!getRegExp()))==-1) visible=false;
+ }
+
+ if(getTopicTarget())
+ {
+ if(item->text(2).find(QRegExp(getFilterText(),false,!getRegExp()))==-1) visible=false;
+ }
+ }
+
+ item->setVisible(visible);
+ if(visible)
+ {
+ setVisibleUsers(getVisibleUsers()+item->text(1).toInt());
+ setVisibleChannels(getVisibleChannels()+1);
+ }
+}
+
+void ChannelListPanel::applyFilterClicked()
+{
+ if(!getNumChannels())
+ {
+ refreshList();
+ return;
+ }
+ else
+ {
+ QListViewItem* item = channelListView->firstChild();
+
+ setVisibleChannels(0);
+ setVisibleUsers(0);
+
+ while(item)
+ {
+ applyFilterToItem(item);
+ item = item->nextSibling();
+ }
+
+ updateUsersChannels();
+ }
+}
+
+void ChannelListPanel::updateUsersChannels()
+{
+ emit updateNumChannels(i18n("Channels: %1 (%2 shown)").arg(getNumChannels()).arg(getVisibleChannels()));
+ emit updateNumUsers(i18n("Non-unique users: %1 (%2 shown)").arg(getNumUsers()).arg(getVisibleUsers()));
+}
+
+bool ChannelListPanel::closeYourself()
+{
+ // make the server delete us so server can reset the pointer to us
+ m_server->closeChannelListPanel();
+ return true;
+}
+
+void ChannelListPanel::childAdjustFocus()
+{
+}
+
+void ChannelListPanel::contextMenu (KListView* /* l */, QListViewItem* i, const QPoint& p)
+{
+ if(!i) return;
+
+ KPopupMenu* showURLmenu = new KPopupMenu(this);
+ showURLmenu->insertTitle( i18n("Open URL") );
+ QString filteredLine(i->text(2));
+
+ QRegExp pattern("((http://|https://|ftp://|nntp://|news://|gopher://|www\\.|ftp\\.)"
+ // IP Address
+ "([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}|"
+ // Decimal IP address
+ "[0-9]{1,12}|"
+ // Standard host name
+ "[a-z0-9][\\.@%a-z0-9_-]+\\.[a-z]{2,}"
+ // Port number, path to document
+ ")(:[0-9]{1,5})?(/[^)>\"'\\s]*)?|"
+ // eDonkey2000 links need special treatment
+ "ed2k://\\|([^|]+\\|){4})");
+
+ pattern.setCaseSensitive(false);
+
+ int pos=0;
+ while(static_cast<unsigned int>(pos) < filteredLine.length())
+ {
+ if(pattern.search(filteredLine,pos)!=-1)
+ {
+ // Remember where we found the url
+ pos=pattern.pos();
+
+ // Extract url
+ QString url=pattern.capturedTexts()[0];
+ QString href(url);
+
+ // clean up href for browser
+ if(href.startsWith("www.")) href="http://"+href;
+ else if(href.startsWith("ftp.")) href="ftp://"+href;
+
+ // Replace all spaces with %20 in href
+ href.replace(' ', "%20");
+ href.replace('&', "&&");
+
+ // next search begins right after the link
+ pos+=url.length();
+
+ // tell the program that we have found a new url
+ showURLmenu->insertItem(href);
+ }
+ else
+ {
+ pos++;
+ }
+ }
+
+ if (showURLmenu->count()==1)
+ {
+ showURLmenu->insertItem(i18n("<<No URL found>>"),5);
+ showURLmenu->setItemEnabled(5,false);
+ }
+
+ int selected = showURLmenu->exec(p);
+ if (selected!=-1)
+ {
+ QMenuItem* item = showURLmenu->findItem( selected );
+ new KRun(KURL(item->text().replace("&&","&")));
+ }
+
+ delete showURLmenu;
+}
+
+void ChannelListPanel::appendInputText(const QString& text, bool fromCursor)
+{
+ Q_UNUSED(fromCursor);
+ filterInput->setText(filterInput->text() + text);
+}
+
+//Used to disable functions when not connected
+void ChannelListPanel::serverOnline(bool online)
+{
+ refreshListButton->setEnabled(online);
+ applyFilter->setEnabled(online);
+ joinChannelButton->setEnabled(online);
+}
+
+void ChannelListPanel::emitUpdateInfo()
+{
+ QString info;
+ info = i18n("Channel List for %1").arg(m_server->getDisplayName());
+ emit updateInfo(info);
+}
+
+void ChannelListPanel::setFilter(const QString& filter)
+{
+ filterInput->setText(filter);
+}
+
+#include "channellistpanel.moc"
diff --git a/konversation/src/channellistpanel.h b/konversation/src/channellistpanel.h
new file mode 100644
index 0000000..fa51ddf
--- /dev/null
+++ b/konversation/src/channellistpanel.h
@@ -0,0 +1,147 @@
+/*
+ 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.
+*/
+
+/*
+ Shows the list of channels
+ begin: Die Apr 29 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef CHANNELLISTPANEL_H
+#define CHANNELLISTPANEL_H
+
+#include "chatwindow.h"
+
+#include <qtimer.h>
+
+
+class QCheckBox;
+class QStringList;
+class QTimer;
+class QListView;
+class QListViewItem;
+class QPushButton;
+
+class KListView;
+class KLineEdit;
+class ChannelListViewItem;
+
+class ChannelListPanel : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit ChannelListPanel(QWidget* parent);
+ ~ChannelListPanel();
+
+ virtual bool closeYourself();
+ virtual void emitUpdateInfo();
+
+ signals:
+ void refreshChannelList();
+ void joinChannel(const QString& channelName);
+ void adjustMinValue(int num);
+ void adjustMaxValue(int num);
+ void updateNumUsers(const QString& num);
+ void updateNumChannels(const QString& num);
+
+ public slots:
+ void addToChannelList(const QString& channel,int users,const QString& topic);
+
+ virtual void appendInputText(const QString&, bool fromCursor);
+ void setFilter(const QString& filter);
+
+ void applyFilterClicked();
+
+ protected slots:
+ void refreshList();
+ void updateDisplay(); // will be called by a timer to update regularly
+ void saveList();
+ void joinChannelClicked();
+
+ void setMinUsers(int num);
+ void setMaxUsers(int num);
+
+ void filterTextChanged(const QString& newText);
+ void channelTargetClicked();
+ void topicTargetClicked();
+ void regExpClicked();
+
+ void contextMenu (KListView* l, QListViewItem* i, const QPoint& p);
+
+ //Used to disable functions when not connected
+ virtual void serverOnline(bool online);
+
+ protected:
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ virtual bool isInsertCharacterSupported() { return true; }
+
+ int getNumChannels();
+ int getNumUsers();
+ int getVisibleChannels();
+ int getVisibleUsers();
+
+ void setNumChannels(int num);
+ void setNumUsers(int num);
+ void setVisibleChannels(int num);
+ void setVisibleUsers(int num);
+
+ void setChannelTarget(bool state);
+ bool getChannelTarget();
+
+ void setTopicTarget(bool state);
+ bool getTopicTarget();
+
+ void setRegExp(bool state);
+ bool getRegExp();
+
+ int getMinUsers();
+ int getMaxUsers();
+
+ const QString& getFilterText();
+ void applyFilterToItem(QListViewItem* item);
+
+ void updateUsersChannels();
+
+ int numChannels;
+ int numUsers;
+ int visibleChannels;
+ int visibleUsers;
+
+ int minUsers;
+ int maxUsers;
+
+ bool channelTarget;
+ bool topicTarget;
+
+ bool regExp;
+
+ // store channels to be inserted in ListView here first
+ QStringList pendingChannels;
+ QTimer updateTimer;
+
+ QCheckBox* channelFilter;
+ QCheckBox* topicFilter;
+ QCheckBox* regexpCheck;
+
+ QPushButton* applyFilter;
+ QPushButton* refreshListButton;
+ QPushButton* joinChannelButton;
+
+ KListView* channelListView;
+
+ KLineEdit* filterInput;
+
+ QString filterText;
+
+ int m_oldSortColumn;
+};
+#endif
diff --git a/konversation/src/channellistviewitem.cpp b/konversation/src/channellistviewitem.cpp
new file mode 100644
index 0000000..fad3eab
--- /dev/null
+++ b/konversation/src/channellistviewitem.cpp
@@ -0,0 +1,40 @@
+/*
+ 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.
+*/
+
+/*
+ item in the channel list
+ begin: Die Apr 29 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "channellistviewitem.h"
+
+
+ChannelListViewItem::ChannelListViewItem(KListView* parent, const QString& channel, const QString& users, const QString& topic)
+: KListViewItem(parent,channel,users,topic)
+{
+}
+
+ChannelListViewItem::~ChannelListViewItem()
+{
+}
+
+int ChannelListViewItem::compare(QListViewItem* item, int col, bool ascending) const
+{
+ if(col==1)
+ {
+ bool ok;
+ int i=text(col).toInt(&ok);
+ if(ok)
+ {
+ int j=item->text(col).toInt(&ok);
+ if(ok) return (i<j) ? -1 : (i>j) ? 1 : 0;
+ }
+ }
+ return KListViewItem::compare(item,col,ascending);
+}
diff --git a/konversation/src/channellistviewitem.h b/konversation/src/channellistviewitem.h
new file mode 100644
index 0000000..28d9437
--- /dev/null
+++ b/konversation/src/channellistviewitem.h
@@ -0,0 +1,31 @@
+/*
+ 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.
+*/
+
+/*
+ item in the channel list
+ begin: Die Apr 29 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef CHANNELLISTVIEWITEM_H
+#define CHANNELLISTVIEWITEM_H
+
+#include <qstring.h>
+
+#include <klistview.h>
+
+
+class ChannelListViewItem : public KListViewItem
+{
+ public:
+ ChannelListViewItem(KListView* parent, const QString& channel, const QString& users, const QString& topic);
+ ~ChannelListViewItem();
+
+ int compare(QListViewItem* item, int col, bool ascending) const;
+};
+#endif
diff --git a/konversation/src/channelnick.cpp b/konversation/src/channelnick.cpp
new file mode 100644
index 0000000..8640acd
--- /dev/null
+++ b/konversation/src/channelnick.cpp
@@ -0,0 +1,259 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Aug 04 2004
+ copyright: (C) 2002,2003,2004 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+/* An instance of ChannelNick is made for each nick in each channel.
+ So for a person in multiple channels, they will have one NickInfo, and multiple ChannelNicks.
+ It contains a pointer to the NickInfo, and the mode of that person in the channel.
+*/
+
+#include "channelnick.h"
+#include "channel.h"
+#include "server.h"
+
+#include <klocale.h>
+
+
+ChannelNick::ChannelNick(const NickInfoPtr& nickInfo, const bool& isop, const bool& isadmin,
+ const bool& isowner, const bool& ishalfop, const bool& hasvoice)
+: KShared()
+{
+ this->nickInfo = nickInfo;
+ this->isop = isop;
+ this->isadmin = isadmin;
+ this->isowner = isowner;
+ this->ishalfop = ishalfop;
+ this->hasvoice = hasvoice;
+ m_timeStamp = 0;
+ m_recentActivity = 0;
+}
+
+ChannelNick::~ChannelNick()
+{
+}
+
+bool ChannelNick::isOp() const
+{
+ return isop;
+}
+
+bool ChannelNick::isAdmin() const
+{
+ return isadmin;
+}
+
+bool ChannelNick::isOwner() const
+{
+ return isowner;
+}
+
+bool ChannelNick::isHalfOp() const
+{
+ return ishalfop;
+}
+
+bool ChannelNick::hasVoice() const
+{
+ return hasvoice;
+}
+
+bool ChannelNick::isAnyTypeOfOp() const
+{
+ return isop || isadmin || isowner || ishalfop;
+}
+
+NickInfoPtr ChannelNick::getNickInfo() const
+{
+ return nickInfo;
+}
+
+/** @param mode 'v' to set voice, 'a' to set admin, 'h' to set halfop, 'o' to set op.
+ * @param state what to set the mode to.
+ */
+bool ChannelNick::setMode(char mode, bool state)
+{
+ switch (mode)
+ {
+ case 'q':
+ return setOwner(state);
+ case 'a':
+ return setAdmin(state);
+ case 'o':
+ return setOp(state);
+ case 'h':
+ return setHalfOp(state);
+ case 'v':
+ return setVoice(state);
+ default:
+ kdDebug() << "Mode '" << mode << "' not recognised in setModeForChannelNick";
+ return false;
+ }
+}
+
+/** Used still for passing modes from inputfilter to Server. Should be removed.
+ */
+bool ChannelNick::setMode(int mode)
+{
+ bool voice = mode%2;
+ mode >>= 1;
+ bool halfop = mode %2;
+ mode >>= 1;
+ bool op = mode %2;
+ mode >>= 1;
+ bool owner = mode %2;
+ mode >>= 1;
+ bool admin = mode %2;
+ return setMode(admin, owner, op, halfop, voice);
+}
+
+bool ChannelNick::setMode(bool admin,bool owner,bool op,bool halfop,bool voice)
+{
+ if(isadmin==admin && isowner==owner && isop==op && ishalfop==halfop && hasvoice==voice)
+ return false;
+ isadmin=admin;
+ isowner=owner;
+ isop=op;
+ ishalfop=halfop;
+ hasvoice=voice;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+/** set the voice for the nick, and update
+ * @returns Whether it needed to be changed. False for no change.
+ */
+bool ChannelNick::setVoice(bool state)
+{
+ if(hasvoice==state) return false;
+ hasvoice=state;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+bool ChannelNick::setOwner(bool state)
+{
+ if(isowner==state) return false;
+ isowner=state;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+bool ChannelNick::setAdmin(bool state)
+{
+ if(isadmin==state) return false;
+ isadmin=state;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+bool ChannelNick::setHalfOp(bool state)
+{
+ if(ishalfop==state) return false;
+ ishalfop=state;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+bool ChannelNick::setOp(bool state)
+{
+ if(isop==state) return false;
+ isop=state;
+ nickInfo->getServer()->emitChannelNickChanged(this);
+ emit channelNickChanged();
+ return true;
+}
+
+//Purely provided for convience because they are used so often.
+//Just calls nickInfo->getNickname() etc
+QString ChannelNick::getNickname() const
+{
+ if ( this )
+ return nickInfo->getNickname();
+ else
+ return QString();
+}
+
+QString ChannelNick::getHostmask() const
+{
+ if ( this )
+ return nickInfo->getHostmask();
+ else
+ return QString();
+}
+
+QString ChannelNick::tooltip()
+{
+ // if(addressee.isEmpty()) return QString();
+ KABC::Addressee addressee = nickInfo->getAddressee();
+ QString strTooltip;
+ QTextStream tooltip( &strTooltip, IO_WriteOnly );
+
+ tooltip << "<qt>";
+
+ tooltip << "<table cellspacing=\"0\" cellpadding=\"0\">";
+
+ nickInfo->tooltipTableData(tooltip);
+
+ QStringList modes;
+ if(isOp()) modes << i18n("Operator");
+ if(isAdmin()) modes << i18n("Admin");
+ if(isOwner()) modes << i18n("Owner");
+ if(isHalfOp()) modes << i18n("Half-operator");
+ if(hasVoice()) modes << i18n("Has voice");
+ //Don't show anything if the user is just a normal user
+ //if(modes.empty()) modes << i18n("A normal user");
+ if(!modes.empty())
+ {
+ tooltip << "<tr><td><b>" << i18n("Mode") << ": </b></td><td>" << modes.join(", ") << "</td></tr>";
+ }
+ tooltip << "</table></qt>";
+ //kdDebug() << strTooltip << endl;
+ //if(!dirty) return QString();
+ return strTooltip;
+}
+
+QString ChannelNick::loweredNickname() const
+{
+ return nickInfo->loweredNickname();
+}
+
+uint ChannelNick::timeStamp() const
+{
+ return m_timeStamp;
+}
+
+uint ChannelNick::recentActivity() const
+{
+ return m_recentActivity;
+}
+
+void ChannelNick::moreActive()
+{
+ m_recentActivity++;
+}
+
+void ChannelNick::lessActive()
+{
+ m_recentActivity--;
+}
+
+void ChannelNick::setTimeStamp(uint stamp)
+{
+ m_timeStamp = stamp;
+}
+
+#include "channelnick.moc"
diff --git a/konversation/src/channelnick.h b/konversation/src/channelnick.h
new file mode 100644
index 0000000..a7c5bbc
--- /dev/null
+++ b/konversation/src/channelnick.h
@@ -0,0 +1,95 @@
+/*
+ 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.
+*/
+
+/*
+ channelnick.h - There is an instance of this for each nick in each channel. So for a person in multiple channels, they will have one NickInfo, and multiple ChannelNicks.
+ begin: Wed Aug 04 2004
+ copyright: (C) 2002,2003,2004 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef CHANNEL_NICK_H
+#define CHANNEL_NICK_H
+
+#include "nickinfo.h"
+
+#include <ksharedptr.h>
+
+
+class ChannelNick : public QObject, public KShared
+{
+ Q_OBJECT
+
+ public:
+ ChannelNick(const NickInfoPtr& nickInfo, const bool& isop, const bool& isadmin,
+ const bool& isowner, const bool& ishalfop, const bool& hasvoice);
+ ~ChannelNick();
+ bool isOp() const;
+ bool isAdmin() const;
+ bool isOwner() const;
+ bool isHalfOp() const;
+
+ /** Return true if the may have any privillages at all
+ * @return true if isOp() || isAdmin() || isOwner() || isHalfOp()
+ */
+ bool isAnyTypeOfOp() const;
+ bool hasVoice() const;
+ uint timeStamp() const;
+ uint recentActivity() const;
+ void moreActive();
+
+ bool setVoice(bool state);
+ bool setOp(bool state);
+ bool setHalfOp(bool state);
+ bool setAdmin(bool state);
+ bool setOwner(bool state);
+ bool setMode(char mode, bool plus);
+ bool setMode(int mode);
+ bool setMode(bool admin,bool owner,bool op,bool halfop,bool voice);
+ void setTimeStamp(uint stamp);
+
+ NickInfoPtr getNickInfo() const;
+ //Purely provided for convenience because they are used so often.
+ //Just calls nickInfo->getNickname() etc
+ QString getNickname() const;
+ QString loweredNickname() const;
+ QString getHostmask() const;
+ QString tooltip();
+ private:
+ NickInfoPtr nickInfo;
+ bool isop;
+ bool isadmin;
+ bool isowner;
+ bool ishalfop;
+ bool hasvoice;
+ uint m_timeStamp;
+ uint m_recentActivity;
+
+ signals:
+ void channelNickChanged();
+
+ public slots:
+ void lessActive();
+};
+
+/** A ChannelNickPtr is a pointer to a ChannelNick. Since it is a KSharedPtr,
+ * the ChannelNick object is automatically destroyed when all references are destroyed.
+ */
+typedef KSharedPtr<ChannelNick> ChannelNickPtr;
+
+/** A ChannelNickMap is a list of ChannelNick pointers, indexed and sorted by
+ * lowercase nickname.
+ */
+typedef QMap<QString,ChannelNickPtr> ChannelNickMap;
+
+typedef QValueList<ChannelNickPtr> ChannelNickList;
+
+/** A ChannelMembershipMap is a list of ChannelNickMap pointers, indexed and
+ * sorted by lowercase channel name.
+ */
+typedef QMap<QString,ChannelNickMap *> ChannelMembershipMap;
+#endif /* CHANNEL_NICK_H */
diff --git a/konversation/src/channeloptionsdialog.cpp b/konversation/src/channeloptionsdialog.cpp
new file mode 100644
index 0000000..e10f950
--- /dev/null
+++ b/konversation/src/channeloptionsdialog.cpp
@@ -0,0 +1,537 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005-2007 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006-2007 Eike Hein <hein@kde.org>
+*/
+
+#include "channeloptionsdialog.h"
+#include "konversationapplication.h"
+#include "channeloptionsui.h"
+#include "channel.h"
+
+#include <qcheckbox.h>
+#include <qpushbutton.h>
+#include <qregexp.h>
+#include <qheader.h>
+#include <qtoolbutton.h>
+
+#include <klocale.h>
+#include <klistview.h>
+#include <ktextedit.h>
+#include <klineedit.h>
+#include <knuminput.h>
+#include <klistviewsearchline.h>
+#include <kiconloader.h>
+
+
+namespace Konversation
+{
+
+ ChannelOptionsDialog::ChannelOptionsDialog(Channel *channel)
+ : KDialogBase(channel, "channelOptions", false, i18n("Channel Settings for %1").arg(channel->getName()), Ok|Cancel, Ok)
+ {
+ Q_ASSERT(channel);
+ m_widget = new ChannelOptionsUI(this);
+ setMainWidget(m_widget);
+
+ m_widget->otherModesList->setRenameable(0, false);
+ m_widget->otherModesList->setRenameable(1, true);
+ m_widget->otherModesList->hide();
+
+ // don't allow sorting. most recent topic is always first
+ m_widget->topicHistoryList->setSortColumn(-1);
+ m_widget->clearButton->setIconSet(SmallIconSet("locationbar_erase"));
+ m_widget->banList->setDefaultRenameAction(QListView::Accept);
+ m_widget->banListSearchLine->setListView(m_widget->banList);
+ // hide column where the complete topic will be put in for convenience
+ m_widget->topicHistoryList->hideColumn(2);
+ // do not allow the user to resize the hidden column back into view
+ m_widget->topicHistoryList->header()->setResizeEnabled(false,2);
+
+ m_channel = channel;
+ m_editingTopic = false;
+
+ connect(m_widget->topicHistoryList, SIGNAL(clicked(QListViewItem*)), this, SLOT(topicHistoryItemClicked(QListViewItem*)));
+ connect(m_widget->topicHistoryList, SIGNAL(selectionChanged(QListViewItem*)), this, SLOT(topicHistoryItemClicked(QListViewItem*)));
+ connect(m_widget->toggleAdvancedModes, SIGNAL(clicked()), this, SLOT(toggleAdvancedModes()));
+ connect(m_widget->topicEdit, SIGNAL(modificationChanged(bool)), this, SLOT(topicBeingEdited(bool)));
+
+ connect(m_channel, SIGNAL(topicHistoryChanged()), this, SLOT(refreshTopicHistory()));
+
+ connect(m_channel, SIGNAL(modesChanged()), this, SLOT(refreshModes()));
+ connect(m_channel->getOwnChannelNick(), SIGNAL(channelNickChanged()), this, SLOT(refreshEnableModes()));
+
+ connect(this, SIGNAL(cancelClicked()), this, SLOT(cancelClicked()));
+ connect(this, SIGNAL(okClicked()), this, SLOT(changeOptions()));
+ connect(this, SIGNAL(okClicked()), this, SLOT(okClicked()));
+
+ connect(m_channel, SIGNAL(banAdded(const QString&)), this, SLOT(addBan(const QString&)));
+ connect(m_channel, SIGNAL(banRemoved(const QString&)), this, SLOT(removeBan(const QString&)));
+ connect(m_channel, SIGNAL(banListCleared()), m_widget->banList, SLOT(clear()));
+
+ connect(m_widget->addBan, SIGNAL(clicked()), this, SLOT(addBanClicked()));
+ connect(m_widget->removeBan, SIGNAL(clicked()), this, SLOT(removeBanClicked()));
+ connect(m_widget->banList, SIGNAL(itemRenamed (QListViewItem*)), this, SLOT(banEdited(QListViewItem*)));
+ connect(m_widget->banList, SIGNAL(itemRenamed (QListViewItem*, int, const QString&)), this, SLOT(banEdited(QListViewItem*)));
+
+ refreshTopicHistory();
+ refreshBanList();
+ refreshAllowedChannelModes();
+ refreshModes();
+ }
+
+ ChannelOptionsDialog::~ChannelOptionsDialog()
+ {
+ }
+
+ void ChannelOptionsDialog::changeOptions()
+ {
+ QString newTopic = topic(), oldTopic=m_channel->getTopicHistory().first().section(' ', 2);
+
+ if(newTopic != oldTopic)
+ {
+ // Pass a ^A so we can determine if we want to clear the channel topic.
+ if (newTopic.isEmpty())
+ {
+ if (!oldTopic.isEmpty())
+ m_channel->sendChannelText(Preferences::commandChar() + "TOPIC " + m_channel->getName() + " \x01");
+ }
+ else
+ m_channel->sendChannelText(Preferences::commandChar() + "TOPIC " + m_channel->getName() + ' ' + newTopic);
+ }
+
+ QStringList newModeList = modes();
+ QStringList currentModeList = m_channel->getModeList();
+ QStringList rmModes;
+ QStringList addModes;
+ QStringList tmp;
+ QString modeString;
+ bool plus;
+ QString command("MODE %1 %2%3 %4");
+
+ for(QStringList::iterator it = newModeList.begin(); it != newModeList.end(); ++it)
+ {
+ modeString = (*it).mid(1);
+ plus = ((*it)[0] == '+');
+ tmp = currentModeList.grep(QRegExp('^' + modeString));
+
+ if(tmp.isEmpty() && plus)
+ {
+ m_channel->getServer()->queue(command.arg(m_channel->getName()).arg("+").arg(modeString[0]).arg(modeString.mid(1)));
+ }
+ else if(!tmp.isEmpty() && !plus)
+ {
+ //FIXME: Bahamuth requires the key parameter for -k, but ircd breaks on -l with limit number.
+ //Hence two versions of this.
+ if (modeString[0] == 'k')
+ m_channel->getServer()->queue(command.arg(m_channel->getName()).arg("-").arg(modeString[0]).arg(modeString.mid(1)));
+ else
+ m_channel->getServer()->queue(command.arg(m_channel->getName()).arg("-").arg(modeString[0]).arg(""));
+ }
+ }
+ hide();
+ }
+
+ void ChannelOptionsDialog::toggleAdvancedModes()
+ {
+ bool ison = m_widget->toggleAdvancedModes->isOn();
+ m_widget->otherModesList->setShown(ison);
+ if(ison)
+ {
+ m_widget->toggleAdvancedModes->setText(i18n("&Hide Advanced Modes <<"));
+ }
+ else
+ {
+ m_widget->toggleAdvancedModes->setText(i18n("&Show Advanced Modes >>"));
+ }
+ }
+
+ void ChannelOptionsDialog::topicBeingEdited(bool state)
+ {
+ m_editingTopic = state;
+ }
+
+ QString ChannelOptionsDialog::topic()
+ {
+ return m_widget->topicEdit->text().replace("\n"," ");
+ }
+
+ void ChannelOptionsDialog::refreshTopicHistory()
+ {
+ QStringList history = m_channel->getTopicHistory();
+ m_widget->topicHistoryList->clear();
+
+ for(QStringList::const_iterator it = history.fromLast(); it != history.end(); --it)
+ {
+ QDateTime date;
+ date.setTime_t((*it).section(' ', 0 ,0).toUInt());
+ new KListViewItem(m_widget->topicHistoryList, (*it).section(' ', 1, 1), date.toString(Qt::LocalDate), (*it).section(' ', 2));
+ }
+
+ // update topic preview
+ topicHistoryItemClicked(m_widget->topicHistoryList->selectedItem());
+ // don't destroy the user's edit box if they started editing
+ if(!m_editingTopic)
+ m_widget->topicEdit->setText(history.first().section(' ', 2));
+ }
+
+ void ChannelOptionsDialog::topicHistoryItemClicked(QListViewItem* item)
+ {
+ // if they didn't click on anything, item is null
+ if(item)
+ // update topic preview
+ m_widget->topicPreview->setText(item->text(2));
+ else
+ // clear topic preview
+ m_widget->topicPreview->setText("");
+ }
+
+ void ChannelOptionsDialog::refreshEnableModes()
+ {
+ bool enable = m_channel->getOwnChannelNick()->isAnyTypeOfOp();
+ m_widget->otherModesList->setEnabled(enable);
+ m_widget->topicEdit->setReadOnly(!enable && m_widget->topicModeChBox->isChecked());
+
+ m_widget->topicModeChBox->setEnabled(enable);
+ m_widget->messageModeChBox->setEnabled(enable);
+ m_widget->userLimitChBox->setEnabled(enable);
+ m_widget->userLimitEdit->setEnabled(enable);
+ m_widget->inviteModeChBox->setEnabled(enable);
+ m_widget->moderatedModeChBox->setEnabled(enable);
+ m_widget->secretModeChBox->setEnabled(enable);
+ m_widget->keyModeChBox->setEnabled(enable);
+ m_widget->keyModeEdit->setEnabled(enable);
+
+ m_widget->banList->setItemsRenameable(enable);
+ m_widget->addBan->setEnabled(enable);
+ m_widget->removeBan->setEnabled(enable);
+ }
+
+ void ChannelOptionsDialog::refreshAllowedChannelModes()
+ {
+ QString modeString = m_channel->getServer()->allowedChannelModes();
+ // These modes are handled in a special way: ntimslkbeI
+ modeString.remove('t');
+ modeString.remove('n');
+ modeString.remove('l');
+ modeString.remove('i');
+ modeString.remove('m');
+ modeString.remove('s');
+ modeString.remove('k');
+ modeString.remove('b');
+ modeString.remove('e');
+ modeString.remove('I');
+ modeString.remove('O');
+ modeString.remove('o');
+ modeString.remove('v');
+
+ for(unsigned int i = 0; i < modeString.length(); i++)
+ {
+ new QCheckListItem(m_widget->otherModesList, QString(modeString[i]), QCheckListItem::CheckBox);
+ }
+ }
+
+ void ChannelOptionsDialog::refreshModes()
+ {
+ QStringList modes = m_channel->getModeList();
+
+ m_widget->topicModeChBox->setChecked(false);
+ m_widget->messageModeChBox->setChecked(false);
+ m_widget->userLimitChBox->setChecked(false);
+ m_widget->userLimitEdit->setValue(0);
+ m_widget->inviteModeChBox->setChecked(false);
+ m_widget->moderatedModeChBox->setChecked(false);
+ m_widget->secretModeChBox->setChecked(false);
+ m_widget->keyModeChBox->setChecked(false);
+ m_widget->keyModeEdit->setText("");
+
+ QListViewItem* item = m_widget->otherModesList->firstChild();
+
+ while(item)
+ {
+ static_cast<QCheckListItem*>(item)->setOn(false);
+ item = item->nextSibling();
+ }
+
+ char mode;
+
+ for(QStringList::const_iterator it = modes.begin(); it != modes.end(); ++it)
+ {
+ mode = (*it)[0];
+
+ switch(mode)
+ {
+ case 't':
+ m_widget->topicModeChBox->setChecked(true);
+ break;
+ case 'n':
+ m_widget->messageModeChBox->setChecked(true);
+ break;
+ case 'l':
+ m_widget->userLimitChBox->setChecked(true);
+ m_widget->userLimitEdit->setValue((*it).mid(1).toInt());
+ break;
+ case 'i':
+ m_widget->inviteModeChBox->setChecked(true);
+ break;
+ case 'm':
+ m_widget->moderatedModeChBox->setChecked(true);
+ break;
+ case 's':
+ m_widget->secretModeChBox->setChecked(true);
+ break;
+ case 'k':
+ m_widget->keyModeChBox->setChecked(true);
+ m_widget->keyModeEdit->setText((*it).mid(1));
+ break;
+ default:
+ {
+ bool found = false;
+ item = m_widget->otherModesList->firstChild();
+ QString modeString;
+ modeString = mode;
+
+ while(item && !found)
+ {
+ if(item->text(0) == modeString)
+ {
+ found = true;
+ static_cast<QCheckListItem*>(item)->setOn(true);
+ item->setText(1, (*it).mid(1));
+ }
+ else
+ {
+ item = item->nextSibling();
+ }
+ }
+
+ break;
+ }
+ }
+ }
+
+ refreshEnableModes();
+ }
+
+ QStringList ChannelOptionsDialog::modes()
+ {
+ QStringList modes;
+ QString mode;
+
+ mode = (m_widget->topicModeChBox->isChecked() ? "+" : "-");
+ mode += 't';
+ modes.append(mode);
+ mode = (m_widget->messageModeChBox->isChecked() ? "+" : "-");
+ mode += 'n';
+ modes.append(mode);
+ mode = (m_widget->userLimitChBox->isChecked() ? "+" : "-");
+ mode += 'l' + QString::number( m_widget->userLimitEdit->value() );
+ modes.append(mode);
+ mode = (m_widget->inviteModeChBox->isChecked() ? "+" : "-");
+ mode += 'i';
+ modes.append(mode);
+ mode = (m_widget->moderatedModeChBox->isChecked() ? "+" : "-");
+ mode += 'm';
+ modes.append(mode);
+ mode = (m_widget->secretModeChBox->isChecked() ? "+" : "-");
+ mode += 's';
+ modes.append(mode);
+
+ if (m_widget->keyModeChBox->isChecked() && !m_widget->keyModeEdit->text().isEmpty())
+ {
+ mode = '+';
+ mode += 'k' + m_widget->keyModeEdit->text();
+ modes.append(mode);
+ }
+ else if (!m_widget->keyModeChBox->isChecked())
+ {
+ mode = '-';
+ mode += 'k' + m_widget->keyModeEdit->text();
+ modes.append(mode);
+ }
+
+ QListViewItem* item = m_widget->otherModesList->firstChild();
+
+ while(item)
+ {
+ mode = (static_cast<QCheckListItem*>(item)->isOn() ? "+" : "-");
+ mode += item->text(0) + item->text(1);
+ modes.append(mode);
+ item = item->nextSibling();
+ }
+
+ return modes;
+ }
+
+ // Ban List tab related functions
+
+ void ChannelOptionsDialog::refreshBanList()
+ {
+ QStringList banlist = m_channel->getBanList();
+ m_widget->banList->clear();
+
+ for (QStringList::const_iterator it = banlist.fromLast(); it != banlist.end(); --it)
+ addBan((*it));
+ }
+
+ void ChannelOptionsDialog::addBan(const QString& newban)
+ {
+ new BanListViewItem(m_widget->banList, newban.section(' ', 0, 0), newban.section(' ', 1, 1).section('!', 0, 0), newban.section(' ', 2 ,2).toUInt());
+ }
+
+ void ChannelOptionsDialog::removeBan(const QString& ban)
+ {
+ delete m_widget->banList->findItem(ban, 0);
+ }
+
+ void ChannelOptionsDialog::banEdited(QListViewItem *edited)
+ {
+ if (edited == m_NewBan)
+ {
+ if (!m_NewBan->text(0).isEmpty())
+ {
+ m_channel->getServer()->requestBan(QStringList(m_NewBan->text(0)), m_channel->getName(), QString());
+ }
+
+ // We will delete the item and let the addBan slot handle
+ // readding the item because for some odd reason using
+ // startRename causes further attempts to rename the item
+ // using 2 mouse clicks to fail in odd ways.
+ delete edited;
+
+ return;
+ }
+
+ BanListViewItem *new_edited = dynamic_cast <BanListViewItem*> (edited);
+ if (new_edited == NULL) return; // Should not happen.
+
+ if (new_edited->getOldValue() != new_edited->text(0))
+ {
+ m_channel->getServer()->requestUnban(new_edited->getOldValue(), m_channel->getName());
+
+ if (!new_edited->text(0).isEmpty())
+ {
+ m_channel->getServer()->requestBan(QStringList(new_edited->text(0)), m_channel->getName(), QString());
+ }
+
+ // We delete the existing item because it's possible the server may
+ // Modify the ban causing us not to catch it. If that happens we'll be
+ // stuck with a stale item and a new item with the modified hostmask.
+ delete new_edited;
+ }
+ }
+
+ void ChannelOptionsDialog::addBanClicked()
+ {
+ m_NewBan = new BanListViewItem(m_widget->banList, true);
+
+ m_NewBan->setRenameEnabled(0,true);
+ m_NewBan->startRename(0);
+ }
+
+ void ChannelOptionsDialog::removeBanClicked()
+ {
+ if (m_widget->banList->currentItem())
+ m_channel->getServer()->requestUnban(m_widget->banList->currentItem()->text(0), m_channel->getName());
+ }
+
+ void ChannelOptionsDialog::cancelClicked()
+ {
+ if (m_widget->banList->renameLineEdit()->isShown())
+ {
+ QKeyEvent e(QEvent::KeyPress, Qt::Key_Escape, 27, Qt::NoButton);
+
+ KApplication::sendEvent(m_widget->banList->renameLineEdit(), &e);
+ }
+
+ topicBeingEdited(false);
+ hide();
+ }
+
+ void ChannelOptionsDialog::okClicked()
+ {
+ if (m_widget->banList->renameLineEdit()->isShown())
+ {
+ QKeyEvent e(QEvent::KeyPress, Qt::Key_Return, 13, Qt::NoButton);
+
+ KApplication::sendEvent(m_widget->banList->renameLineEdit(), &e);
+ }
+ }
+
+ // This is our implementation of BanListViewItem
+
+ BanListViewItem::BanListViewItem(QListView *parent)
+ : KListViewItem(parent)
+ {
+ m_isNewBan = 0;
+ }
+
+ BanListViewItem::BanListViewItem(QListView *parent, bool isNew)
+ : KListViewItem(parent)
+ {
+ m_isNewBan = isNew;
+ }
+
+ BanListViewItem::BanListViewItem (QListView *parent, const QString& label1, const QString& label2,
+ uint timestamp) : KListViewItem(parent, label1, label2)
+ {
+ m_isNewBan = 0;
+ m_timestamp.setTime_t(timestamp);
+ }
+
+ BanListViewItem::BanListViewItem (QListView *parent, bool isNew, const QString& label1, const QString& label2,
+ uint timestamp) : KListViewItem(parent, label1, label2)
+ {
+ m_isNewBan = isNew;
+ m_timestamp.setTime_t(timestamp);
+ }
+
+ QString BanListViewItem::text(int column) const
+ {
+ if (column == 2)
+ return KGlobal::locale()->formatDateTime(m_timestamp, true, true);
+
+ return KListViewItem::text(column);
+ }
+
+ int BanListViewItem::compare(QListViewItem *i, int col, bool ascending) const
+ {
+ if (col == 2)
+ {
+ BanListViewItem* item = static_cast<BanListViewItem*>(i);
+
+ if (m_timestamp == item->timestamp())
+ return 0;
+ else if (m_timestamp < item->timestamp())
+ return -1;
+ else
+ return 1;
+ }
+
+ return KListViewItem::compare(i, col, ascending);
+ }
+
+ void BanListViewItem::startRename( int col )
+ {
+ m_oldValue = text(col);
+
+ KListViewItem::startRename(col);
+ }
+
+ void BanListViewItem::cancelRename( int col )
+ {
+ if (text(col).isEmpty() && m_isNewBan)
+ delete this;
+ else
+ KListViewItem::cancelRename(col);
+ }
+}
+
+#include "channeloptionsdialog.moc"
diff --git a/konversation/src/channeloptionsdialog.h b/konversation/src/channeloptionsdialog.h
new file mode 100644
index 0000000..b947fee
--- /dev/null
+++ b/konversation/src/channeloptionsdialog.h
@@ -0,0 +1,102 @@
+/*
+ This program is free software; you can redistribute it and/or modifydvancedModes
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONCHANNELOPTIONSDIALOG_H
+#define KONVERSATIONCHANNELOPTIONSDIALOG_H
+
+#include "channel.h"
+
+#include <qstringlist.h>
+
+#include <kdialogbase.h>
+#include <klistview.h>
+
+
+namespace Konversation
+{
+ class ChannelOptionsUI;
+
+ class ChannelOptionsDialog : public KDialogBase
+ {
+ Q_OBJECT
+ public:
+ explicit ChannelOptionsDialog(Channel *channel);
+ ~ChannelOptionsDialog();
+
+ QString topic();
+ QStringList modes();
+
+
+ public slots:
+ void refreshTopicHistory();
+ void refreshAllowedChannelModes();
+ void refreshModes();
+ void refreshEnableModes();
+ void toggleAdvancedModes();
+
+ void refreshBanList();
+ void addBan(const QString& newban);
+ void addBanClicked();
+ void removeBan(const QString& ban);
+ void removeBanClicked();
+ void banEdited(QListViewItem *edited);
+
+ void changeOptions();
+
+
+ protected slots:
+ void topicHistoryItemClicked(QListViewItem* item);
+ void topicBeingEdited(bool state);
+
+ void cancelClicked();
+ void okClicked();
+
+
+ protected:
+ bool m_editingTopic;
+ QListViewItem *m_NewBan;
+
+
+ private:
+ ChannelOptionsUI* m_widget;
+ Channel *m_channel;
+ };
+
+
+ // This is needed to overcome two deficiencies in KListViewItem
+ // First there is no signal emitted when a rename is canceled
+ // Second there is no way to get the old value of an item after a rename
+ class BanListViewItem : public KListViewItem
+ {
+ public:
+ explicit BanListViewItem( QListView *parent );
+ BanListViewItem(QListView *parent, bool isNew);
+ BanListViewItem(QListView *parent, const QString& label1, const QString& label2 = QString(), uint timestamp = 0);
+ BanListViewItem (QListView *parent, bool isNew, const QString& label1, const QString& label2 = QString(), uint timestamp = 0);
+
+ QString getOldValue() { return m_oldValue; }
+ QDateTime timestamp() { return m_timestamp; }
+
+ virtual QString text(int column) const;
+ virtual int compare(QListViewItem *i, int col, bool ascending) const;
+ virtual void startRename(int col);
+
+
+ protected:
+ virtual void cancelRename(int col);
+
+ QString m_oldValue;
+ bool m_isNewBan;
+ QDateTime m_timestamp;
+ };
+
+}
+#endif
diff --git a/konversation/src/channeloptionsui.ui b/konversation/src/channeloptionsui.ui
new file mode 100644
index 0000000..2c2f062
--- /dev/null
+++ b/konversation/src/channeloptionsui.ui
@@ -0,0 +1,559 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Konversation::ChannelOptionsUI</class>
+<comment>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.
+</comment>
+<author>Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Konversation::ChannelOptionsUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>502</width>
+ <height>421</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QTabWidget">
+ <property name="name">
+ <cstring>channelTabWidget</cstring>
+ </property>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>topicTab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Topi&amp;c</string>
+ </attribute>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QSplitter">
+ <property name="name">
+ <cstring>splitter4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <widget class="KListView">
+ <column>
+ <property name="text">
+ <string>Nickname</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Date</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Topic</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>topicHistoryList</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>1</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="selectionMode" stdset="0">
+ <enum>Single</enum>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="showSortIndicator">
+ <bool>true</bool>
+ </property>
+ <property name="showToolTips">
+ <bool>false</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>AllColumns</enum>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="itemsMovable">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="KTextEdit">
+ <property name="name">
+ <cstring>topicPreview</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="backgroundOrigin">
+ <enum>WidgetOrigin</enum>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </widget>
+ <widget class="KTextEdit">
+ <property name="name">
+ <cstring>topicEdit</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>2</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="textFormat">
+ <enum>PlainText</enum>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>modesPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>Mo&amp;des</string>
+ </attribute>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>topicModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Topic can only be changed by channel operators</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;The &lt;b&gt;T&lt;/b&gt;opic mode means that only the channel operator can change the topic for the channel.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>messageModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;No messages from outside the channel</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;&lt;b&gt;N&lt;/b&gt;o messages from outside means that users that are not in the channel cannot send messages that everybody in the channel can see. Almost all channels have this set to prevent nuisance messages.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>secretModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Secret channel, the channel is not listed in the channel list</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A &lt;b&gt;S&lt;/b&gt;ecret channel will not show up in the channel list, nor will any user be able to see that you are in the channel with the &lt;em&gt;WHOIS&lt;/em&gt; command or anything similar. Only the people that are in the same channel will know that you are in this channel, if this mode is set.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>inviteModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>Only &amp;invited are allowed to join the channel</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;An &lt;b&gt;I&lt;/b&gt;nvite only channel means that people can only join the channel if they are invited. To invite someone, a channel operator needs to issue the command&lt;em&gt;/invite nick&lt;/em&gt; from within the channel.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>moderatedModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Moderated channel, only people with voice can write to the channel</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A &lt;b&gt;M&lt;/b&gt;oderated channel is one where only operators, half-operators and those with voice can talk.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout11</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>keyModeChBox</cstring>
+ </property>
+ <property name="text">
+ <string>Channel &amp;password:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A &lt;b&gt;P&lt;/b&gt;rotected channel requires users to enter a password in order to join.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput" row="0" column="1">
+ <property name="name">
+ <cstring>userLimitEdit</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A channel that has a user &lt;b&gt;L&lt;/b&gt;imit means that only that many users can be in the channel at any one time. Some channels have a bot that sits in the channel and changes this automatically depending on how busy the channel is.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>userLimitChBox</cstring>
+ </property>
+ <property name="text">
+ <string>User &amp;limit:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A channel that has a user &lt;b&gt;L&lt;/b&gt;imit means that only that many users can be in the channel at any one time. Some channels have a bot that sits in the channel and changes this automatically depending on how busy the channel is.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer10</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>211</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KLineEdit" row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>keyModeEdit</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;These control the &lt;em&gt;mode&lt;/em&gt; of the channel. Only an operator can change these.&lt;p&gt;A &lt;b&gt;P&lt;/b&gt;rotected channel requires users to enter a password in order to join.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>toggleAdvancedModes</cstring>
+ </property>
+ <property name="text">
+ <string>Show &amp;Advanced Modes &gt;&gt;</string>
+ </property>
+ <property name="accel">
+ <string>Alt+A, Backspace, Tab, Backspace</string>
+ </property>
+ <property name="toggleButton">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>301</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="KListView">
+ <column>
+ <property name="text">
+ <string>Mode</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Parameter</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>otherModesList</cstring>
+ </property>
+ <property name="selectionMode" stdset="0">
+ <enum>Single</enum>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>LastColumn</enum>
+ </property>
+ <property name="defaultRenameAction">
+ <enum>Accept</enum>
+ </property>
+ <property name="itemsMovable">
+ <bool>false</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="QWidget">
+ <property name="name">
+ <cstring>TabPage</cstring>
+ </property>
+ <attribute name="title">
+ <string>&amp;Ban List</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>removeBan</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Remove Ban</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" row="2" column="3">
+ <property name="name">
+ <cstring>addBan</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Add Ban</string>
+ </property>
+ </widget>
+ <widget class="KListView" row="1" column="0" rowspan="1" colspan="4">
+ <column>
+ <property name="text">
+ <string>Hostmask</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Set By</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Time Set</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>banList</cstring>
+ </property>
+ <property name="showSortIndicator">
+ <bool>true</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="0" column="0">
+ <property name="name">
+ <cstring>clearButton</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Search:</string>
+ </property>
+ </widget>
+ <widget class="KListViewSearchLine" row="0" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>banListSearchLine</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </widget>
+ </vbox>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>keyModeChBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>keyModeEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>userLimitChBox</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>userLimitEdit</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>clearButton</sender>
+ <signal>clicked()</signal>
+ <receiver>banListSearchLine</receiver>
+ <slot>clear()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>ktextedit.h</includehint>
+ <includehint>ktextedit.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klistview.h</includehint>
+ <includehint>klistview.h</includehint>
+ <includehint>klistviewsearchline.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/chatwindow.cpp b/konversation/src/chatwindow.cpp
new file mode 100644
index 0000000..b3a024b
--- /dev/null
+++ b/konversation/src/chatwindow.cpp
@@ -0,0 +1,526 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "chatwindow.h"
+#include "channel.h"
+#include "ircview.h"
+#include "server.h"
+#include "konversationapplication.h"
+#include "logfilereader.h"
+
+#include <qdatetime.h>
+#include <qdir.h>
+#include <qregexp.h>
+#include <qtextcodec.h>
+#include <qtooltip.h>
+#include <qlayout.h>
+
+#include <klocale.h>
+#include <kdialog.h>
+#include <kdebug.h>
+#include <kactioncollection.h>
+#include <kaction.h>
+
+
+ChatWindow::ChatWindow(QWidget* parent) : QVBox(parent)
+{
+ setName("ChatWindowObject");
+ setTextView(0);
+ parentWidget=parent;
+ firstLog=true;
+ m_server=0;
+ m_notificationsEnabled = true;
+ m_channelEncodingSupported = false;
+ m_currentTabNotify = Konversation::tnfNone;
+
+ setMargin(margin());
+ setSpacing(spacing());
+
+ // The font size of the KTabWidget container may be inappropriately
+ // small due to the "Tab bar" font size setting.
+ setFont(KGlobalSettings::generalFont());
+}
+
+ChatWindow::~ChatWindow()
+{
+ emit closing(this);
+ m_server=0;
+}
+
+void ChatWindow::updateAppearance()
+{
+ // The font size of the KTabWidget container may be inappropriately
+ // small due to the "Tab bar" font size setting.
+ setFont(KGlobalSettings::generalFont());
+
+ if (textView)
+ {
+ if (Preferences::showIRCViewScrollBar())
+ textView->setVScrollBarMode(QScrollView::AlwaysOn);
+ else
+ textView->setVScrollBarMode(QScrollView::AlwaysOff);
+ }
+}
+
+void ChatWindow::setName(const QString& newName)
+{
+ name=newName;
+ emit nameChanged(this,newName);
+}
+
+QString ChatWindow::getName()
+{
+ return name;
+}
+
+void ChatWindow::setType(WindowType newType)
+{
+ type=newType;
+}
+
+ChatWindow::WindowType ChatWindow::getType()
+{
+ return type;
+}
+
+void ChatWindow::setServer(Server* newServer)
+{
+ if (!newServer)
+ {
+ kdDebug("ChatWindow::setServer(0)!") << endl;
+ }
+ else
+ {
+ m_server=newServer;
+ connect(m_server,SIGNAL (serverOnline(bool)),this,SLOT (serverOnline(bool)) );
+
+ // check if we need to set up the signals
+ if(getType() != ChannelList)
+ {
+ if(textView) textView->setServer(newServer);
+ else kdDebug() << "ChatWindow::setServer(): textView==0!" << endl;
+ }
+
+ emit serverOnline(m_server->isConnected());
+ }
+}
+
+Server* ChatWindow::getServer()
+{
+ return m_server;
+}
+
+void ChatWindow::serverOnline(bool /* state */)
+{
+ //emit online(this,state);
+}
+
+void ChatWindow::setTextView(IRCView* newView)
+{
+ textView = newView;
+
+ if(!textView)
+ {
+ return;
+ }
+
+ if(Preferences::showIRCViewScrollBar())
+ {
+ textView->setVScrollBarMode(QScrollView::Auto);
+ }
+ else
+ {
+ textView->setVScrollBarMode(QScrollView::AlwaysOff);
+ }
+
+ textView->setChatWin(this);
+ connect(textView,SIGNAL(textToLog(const QString&)), this,SLOT(logText(const QString&)));
+ connect(textView,SIGNAL(setStatusBarTempText(const QString&)), this, SIGNAL(setStatusBarTempText(const QString&)));
+ connect(textView,SIGNAL(clearStatusBarTempText()), this, SIGNAL(clearStatusBarTempText()));
+}
+
+void ChatWindow::appendRaw(const QString& message, bool suppressTimestamps)
+{
+ if(!textView) return;
+ textView->appendRaw(message, suppressTimestamps);
+}
+
+void ChatWindow::append(const QString& nickname,const QString& message)
+{
+ if(!textView) return ;
+ textView->append(nickname,message);
+}
+
+void ChatWindow::appendQuery(const QString& nickname,const QString& message, bool inChannel)
+{
+ if(!textView) return ;
+ textView->appendQuery(nickname,message, inChannel);
+}
+
+void ChatWindow::appendAction(const QString& nickname, const QString& message)
+{
+ if(!textView) return;
+
+ if (getType() == Query || getType() == DccChat)
+ textView->appendQueryAction(nickname, message);
+ else
+ textView->appendChannelAction(nickname, message);
+}
+
+void ChatWindow::appendServerMessage(const QString& type,const QString& message, bool parseURL)
+{
+ if(!textView) return ;
+ textView->appendServerMessage(type,message, parseURL);
+}
+
+void ChatWindow::appendCommandMessage(const QString& command,const QString& message, bool important, bool parseURL, bool self)
+{
+ if(!textView) return ;
+ textView->appendCommandMessage(command,message,important, parseURL, self);
+}
+
+void ChatWindow::appendBacklogMessage(const QString& firstColumn,const QString& message)
+{
+ if(!textView) return ;
+ textView->appendBacklogMessage(firstColumn,message);
+}
+
+void ChatWindow::cdIntoLogPath()
+{
+ QDir logPath=QDir::home();
+ // Try to "cd" into the logfile path
+ if(!logPath.cd(Preferences::logfilePath(),true))
+ {
+ // Only create log path if logging is enabled
+ if(log)
+ {
+ // Try to create the logfile path and "cd" into it again
+ logPath.mkdir(Preferences::logfilePath(),true);
+ logPath.cd(Preferences::logfilePath(),true);
+ }
+ }
+
+ // add the logfile name to the path
+ logfile.setName(logPath.path()+'/'+logName);
+}
+
+void ChatWindow::setLogfileName(const QString& name)
+{
+ // Only change name of logfile if the window was new.
+ if(firstLog)
+ {
+ // status panels get special treatment here, since they have no server at the beginning
+ if (getType() == Status || getType() == DccChat)
+ {
+ logName = name + ".log";
+ }
+ else if (m_server)
+ {
+ // make sure that no path delimiters are in the name
+ logName = QString(m_server->getDisplayName().lower()).append('_').append(name).append(".log").replace('/','_');
+ }
+
+ // load backlog to show
+ if(Preferences::showBacklog())
+ {
+ // "cd" into log path or create path, if it's not there
+ cdIntoLogPath();
+ // Show last log lines. This idea was stole ... um ... inspired by PMP :)
+ // Don't do this for the server status windows, though
+ if((getType() != Status) && logfile.open(IO_ReadOnly))
+ {
+ unsigned long filePosition;
+
+ QString backlogLine;
+ QTextStream backlog(&logfile);
+ backlog.setEncoding(QTextStream::UnicodeUTF8);
+
+ QStringList firstColumns;
+ QStringList messages;
+ int offset = 0;
+ unsigned int lastPacketHeadPosition = backlog.device()->size();
+ const unsigned int packetSize = 4096;
+ while(messages.count() < (unsigned int)Preferences::backlogLines() && backlog.device()->size() > packetSize * offset)
+ {
+ QStringList firstColumnsInPacket;
+ QStringList messagesInPacket;
+
+ // packetSize * offset < size <= packetSize * ( offset + 1 )
+
+ // Check if the log is bigger than packetSize * ( offset + 1 )
+ if(backlog.device()->size() > packetSize * ( offset + 1 ))
+ {
+ // Set file pointer to the packet size above the offset
+ backlog.device()->at(backlog.device()->size() - packetSize * ( offset + 1 ));
+ // Skip first line, since it may be incomplete
+ backlog.readLine();
+ }
+ else
+ {
+ // Set file pointer to the head
+ backlog.device()->reset();
+ }
+
+ unsigned int currentPacketHeadPosition = backlog.device()->at();
+
+ // Loop until end of file reached
+ while(!backlog.atEnd() && backlog.device()->at() < lastPacketHeadPosition)
+ {
+ // remember actual file position to check for deadlocks
+ filePosition = backlog.device()->at();
+ backlogLine = backlog.readLine();
+
+ // check for deadlocks
+ if(backlog.device()->at() == filePosition) backlog.device()->at(filePosition + 1);
+
+ // if a tab character is present in the line
+ if(backlogLine.find('\t') != -1)
+ {
+ // extract first column from log
+ QString backlogFirst = backlogLine.left(backlogLine.find('\t'));
+ // cut first column from line
+ backlogLine = backlogLine.mid(backlogLine.find('\t') + 1);
+ // Logfile is in utf8 so we don't need to do encoding stuff here
+ // append backlog with time and first column to text view
+ firstColumnsInPacket << backlogFirst;
+ messagesInPacket << backlogLine;
+ }
+ } // while
+
+ // remember the position not to read the same lines again
+ lastPacketHeadPosition = currentPacketHeadPosition;
+ ++offset;
+
+ firstColumns = firstColumnsInPacket + firstColumns;
+ messages = messagesInPacket + messages;
+ }
+ backlog.unsetDevice();
+ logfile.close();
+
+ // trim
+ int surplus = messages.count() - Preferences::backlogLines();
+ // "surplus" can be a minus value. (when the backlog is too short)
+ if(surplus > 0)
+ {
+ for(int i = 0 ; i < surplus ; ++i)
+ {
+ firstColumns.pop_front();
+ messages.pop_front();
+ }
+ }
+
+ QStringList::Iterator itFirstColumn = firstColumns.begin();
+ QStringList::Iterator itMessage = messages.begin();
+ for( ; itFirstColumn != firstColumns.end() ; ++itFirstColumn, ++itMessage )
+ appendBacklogMessage(*itFirstColumn, *itMessage);
+ }
+ } // if(Preferences::showBacklog())
+ }
+}
+
+void ChatWindow::logText(const QString& text)
+{
+ if(log)
+ {
+ // "cd" into log path or create path, if it's not there
+ cdIntoLogPath();
+
+ if(logfile.open(IO_WriteOnly | IO_Append))
+ {
+ // wrap the file into a stream
+ QTextStream logStream(&logfile);
+ // write log in utf8 to help i18n
+ logStream.setEncoding(QTextStream::UnicodeUTF8);
+
+ if(firstLog)
+ {
+ QString intro(i18n("\n*** Logfile started\n*** on %1\n\n").arg(QDateTime::currentDateTime().toString()));
+ logStream << intro;
+ firstLog=false;
+ }
+
+ QTime time=QTime::currentTime();
+ QString logLine(QString("[%1] [%2] %3\n").arg(QDate::currentDate(Qt::LocalTime).toString()).
+ arg(time.toString("hh:mm:ss")).arg(text));
+
+ logStream << logLine;
+
+ // detach stream from file
+ logStream.unsetDevice();
+
+ // close file
+ logfile.close();
+ }
+ else kdWarning() << "ChatWindow::logText(): open(IO_Append) for " << logfile.name() << " failed!" << endl;
+ }
+}
+
+void ChatWindow::setChannelEncodingSupported(bool enabled)
+{
+ m_channelEncodingSupported = enabled;
+}
+
+bool ChatWindow::isChannelEncodingSupported() const
+{
+ return m_channelEncodingSupported;
+}
+
+int ChatWindow::spacing()
+{
+ if(Preferences::useSpacing())
+ return Preferences::spacing();
+ else
+ return KDialog::spacingHint();
+}
+
+int ChatWindow::margin()
+{
+ if(Preferences::useSpacing())
+ return Preferences::margin();
+ else
+ return 0;
+}
+
+// Accessors
+IRCView* ChatWindow::getTextView() const
+{
+ return textView;
+}
+
+void ChatWindow::setLog(bool activate)
+{
+ log=activate;
+}
+
+// reimplement this in all panels that have user input
+QString ChatWindow::getTextInLine()
+{
+ return QString();
+}
+
+bool ChatWindow::canBeFrontView()
+{
+ return false;
+}
+
+bool ChatWindow::searchView()
+{
+ return false;
+}
+
+// reimplement this in all panels that have user input
+void ChatWindow::indicateAway(bool)
+{
+}
+
+// reimplement this in all panels that have user input
+void ChatWindow::appendInputText(const QString&, bool)
+{
+}
+
+// reimplement this if your window needs special close treatment
+bool ChatWindow::closeYourself(bool /* askForConfirmation */)
+{
+ deleteLater();
+
+ return true;
+}
+
+bool ChatWindow::eventFilter(QObject* watched, QEvent* e)
+{
+ if(e->type() == QEvent::KeyPress)
+ {
+ QKeyEvent* ke = static_cast<QKeyEvent*>(e);
+
+ bool scrollMod = (Preferences::useMultiRowInputBox() ? false : (ke->state() == Qt::ShiftButton));
+
+ if(ke->key() == Qt::Key_Up && scrollMod)
+ {
+ if(textView)
+ {
+ QScrollBar* sbar = textView->verticalScrollBar();
+ sbar->setValue(sbar->value() - sbar->lineStep());
+ }
+
+ return true;
+ }
+ else if(ke->key() == Qt::Key_Down && scrollMod)
+ {
+ if(textView)
+ {
+ QScrollBar* sbar = textView->verticalScrollBar();
+ sbar->setValue(sbar->value() + sbar->lineStep());
+ }
+
+ return true;
+ }
+ else if(ke->key() == Qt::Key_Prior)
+ {
+ if(textView)
+ {
+ QScrollBar* sbar = textView->verticalScrollBar();
+ sbar->setValue(sbar->value() - sbar->pageStep());
+ }
+
+ return true;
+ }
+ else if(ke->key() == Qt::Key_Next)
+ {
+ if(textView)
+ {
+ QScrollBar* sbar = textView->verticalScrollBar();
+ sbar->setValue(sbar->value() + sbar->pageStep());
+ }
+
+ return true;
+ }
+
+ }
+
+ return QVBox::eventFilter(watched, e);
+}
+
+void ChatWindow::adjustFocus()
+{
+ childAdjustFocus();
+}
+
+void ChatWindow::emitUpdateInfo()
+{
+ QString info = getName();
+ emit updateInfo(info);
+}
+
+QColor ChatWindow::highlightColor()
+{
+ return getTextView()->highlightColor();
+}
+
+void ChatWindow::activateTabNotification(Konversation::TabNotifyType type)
+{
+ if (!notificationsEnabled())
+ return;
+
+ if(type > m_currentTabNotify)
+ return;
+
+ m_currentTabNotify = type;
+
+ emit updateTabNotification(this,type);
+}
+
+void ChatWindow::resetTabNotification()
+{
+ m_currentTabNotify = Konversation::tnfNone;
+}
+
+#include "chatwindow.moc"
diff --git a/konversation/src/chatwindow.h b/konversation/src/chatwindow.h
new file mode 100644
index 0000000..55c0efc
--- /dev/null
+++ b/konversation/src/chatwindow.h
@@ -0,0 +1,205 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef CHATWINDOW_H
+#define CHATWINDOW_H
+
+#include "identity.h"
+#include "common.h"
+
+#include <qvbox.h>
+#include <qfile.h>
+
+
+class IRCView;
+class Server;
+class KonversationMainWindow;
+
+class ChatWindow : public QVBox
+{
+ Q_OBJECT
+
+ public:
+ explicit ChatWindow(QWidget* parent);
+ ~ChatWindow();
+
+ enum WindowType
+ {
+ Status=0,
+ Channel,
+ Query,
+ DccChat,
+ DccTransferPanel,
+ RawLog,
+ Notice,
+ SNotice,
+ ChannelList,
+ Konsole,
+ UrlCatcher,
+ NicksOnline,
+ LogFileReader
+ };
+
+ /** This should be called and set with a non-null server as soon
+ * as possibly after ChatWindow is created.
+ * @param newServer The server to set it to.
+ */
+ virtual void setServer(Server* newServer);
+ /** This should be called if setServer is not called - e.g.
+ * in the case of konsolepanel. This should be set as soon
+ * as possible after creation.
+ */
+
+ /** Get the server this is linked to.
+ * @return The server it is associated with, or null if none.
+ */
+ Server* getServer();
+ void setTextView(IRCView* newView);
+ IRCView* getTextView() const;
+ void setLog(bool activate);
+
+ QString getName();
+
+ void setType(WindowType newType);
+ WindowType getType();
+
+ virtual void append(const QString& nickname,const QString& message);
+ virtual void appendRaw(const QString& message, bool suppressTimestamps=false);
+ virtual void appendQuery(const QString& nickname,const QString& message, bool inChannel = false);
+ virtual void appendAction(const QString& nickname,const QString& message);
+ virtual void appendServerMessage(const QString& type,const QString& message, bool parseURL = true);
+ virtual void appendCommandMessage(const QString& command, const QString& message, bool important = true,
+ bool parseURL = true, bool self = false);
+ virtual void appendBacklogMessage(const QString& firstColumn,const QString& message);
+
+ QWidget* parentWidget;
+
+ virtual QString getTextInLine();
+ /** Clean up and close this tab. Return false if you want to cancel the close. */
+ virtual bool closeYourself(bool askForConfirmation = true);
+ /** Reimplement this to return true in all classes that /can/ become front view.
+ */
+ virtual bool canBeFrontView();
+
+ /** Reimplement this to return true in all classes that you can search in - i.e. use "Edit->Find Text" in.
+ */
+ virtual bool searchView();
+
+ virtual bool notificationsEnabled() { return m_notificationsEnabled; }
+
+ virtual bool eventFilter(QObject* watched, QEvent* e);
+
+ QString logFileName() { return logfile.name(); }
+
+ virtual void setChannelEncoding(const QString& /* encoding */) {}
+ virtual QString getChannelEncoding() { return QString(); }
+ virtual QString getChannelEncodingDefaultDesc() { return QString(); }
+ bool isChannelEncodingSupported() const;
+
+ /** Force updateInfo(info) to be emitted.
+ * Useful for when this tab has just gained focus
+ */
+ virtual void emitUpdateInfo();
+
+ /** child classes have to override this and return true if they want the
+ * "insert character" item on the menu to be enabled.
+ */
+ virtual bool isInsertSupported() { return false; }
+
+ /** child classes have to override this and return true if they want the
+ * "irc color" item on the menu to be enabled.
+ */
+ virtual bool areIRCColorsSupported() {return false; }
+
+ Konversation::TabNotifyType currentTabNotification() { return m_currentTabNotify; }
+ QColor highlightColor();
+
+ signals:
+ void nameChanged(ChatWindow* view, const QString& newName);
+ //void online(ChatWindow* myself, bool state);
+ /** Emit this signal when you want to change the status bar text for this tab.
+ * It is ignored if this tab isn't focused.
+ */
+ void updateInfo(const QString &info);
+ void updateTabNotification(ChatWindow* chatWin, const Konversation::TabNotifyType& type);
+
+ void setStatusBarTempText(const QString&);
+ void clearStatusBarTempText();
+
+ void closing(ChatWindow* myself);
+
+ public slots:
+ void updateAppearance();
+
+ void logText(const QString& text);
+
+ /**
+ * This is called when a chat window gains focus.
+ * It enables and disables the appropriate menu items,
+ * then calls childAdjustFocus.
+ * You can call this manually to focus this tab.
+ */
+ void adjustFocus();
+
+ virtual void appendInputText(const QString&, bool fromCursor);
+ virtual void indicateAway(bool away);
+
+
+ virtual void setNotificationsEnabled(bool enable) { m_notificationsEnabled = enable; }
+ void activateTabNotification(Konversation::TabNotifyType type);
+ void resetTabNotification();
+
+ protected slots:
+ ///Used to disable functions when not connected
+ virtual void serverOnline(bool online);
+
+ protected:
+
+ /** Some children may handle the name themselves, and not want this public.
+ * Increase the visibility in the subclass if you want outsiders to call this.
+ * The name is the string that is shown in the tab.
+ * @param newName The name to show in the tab
+ */
+ virtual void setName(const QString& newName);
+
+ /** Called from adjustFocus */
+ virtual void childAdjustFocus() = 0;
+
+ void setLogfileName(const QString& name);
+ void setChannelEncodingSupported(bool enabled);
+ void cdIntoLogPath();
+
+ int spacing();
+ int margin();
+
+ bool log;
+ bool firstLog;
+ QString name;
+ QString logName;
+
+ QFont font;
+
+ IRCView* textView;
+ /** A pointer to the server this chatwindow is part of.
+ * Not always non-null - e.g. for konsolepanel
+ */
+ Server* m_server;
+ QFile logfile;
+ WindowType type;
+
+ bool m_notificationsEnabled;
+
+ bool m_channelEncodingSupported;
+
+ Konversation::TabNotifyType m_currentTabNotify;
+};
+#endif
diff --git a/konversation/src/chatwindowappearance_preferences.ui b/konversation/src/chatwindowappearance_preferences.ui
new file mode 100644
index 0000000..5a90533
--- /dev/null
+++ b/konversation/src/chatwindowappearance_preferences.ui
@@ -0,0 +1,378 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ChatWindowAppearance_Config</class>
+<comment>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.</comment>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ChatWindowAppearance_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>401</width>
+ <height>502</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>kcfg_Timestamping</cstring>
+ </property>
+ <property name="title">
+ <string>Enable &amp;Timestamps</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_ShowDate</cstring>
+ </property>
+ <property name="text">
+ <string>Sho&amp;w dates</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Format:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_TimestampFormat</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_TimestampFormat</cstring>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer127</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>191</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>kcfg_ShowBacklog</cstring>
+ </property>
+ <property name="title">
+ <string>Show &amp;Backlog</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Lines: </string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_BacklogLines</cstring>
+ </property>
+ </widget>
+ <widget class="KIntSpinBox">
+ <property name="name">
+ <cstring>kcfg_BacklogLines</cstring>
+ </property>
+ <property name="maxValue">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>10</number>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>251</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox2</cstring>
+ </property>
+ <property name="title">
+ <string>&amp;Layout</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_ShowTopic</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Show channel topic</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_ShowModeButtons</cstring>
+ </property>
+ <property name="text">
+ <string>Show channel &amp;mode buttons</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="8" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_ShowIRCViewScrollBar</cstring>
+ </property>
+ <property name="text">
+ <string>Show sc&amp;rollbar</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_ShowNicknameBox</cstring>
+ </property>
+ <property name="text">
+ <string>Show bo&amp;x to change own nickname</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="6" column="1">
+ <property name="name">
+ <cstring>kcfg_ShowQuickButtons</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Show &amp;quick buttons</string>
+ </property>
+ </widget>
+ <spacer row="6" column="0">
+ <property name="name">
+ <cstring>spacer10</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="5" column="1">
+ <property name="name">
+ <cstring>kcfg_ShowRealNames</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Show real names in nickname list</string>
+ </property>
+ </widget>
+ <spacer row="4" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_ShowNickList</cstring>
+ </property>
+ <property name="text">
+ <string>Show channel &amp;nick list and quick buttons</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>kcfg_AutoUserhost</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Show hostmas&amp;ks in nickname list</string>
+ </property>
+ </widget>
+ <spacer row="3" column="0">
+ <property name="name">
+ <cstring>spacer9_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>kcfg_ShowBackgroundImage</cstring>
+ </property>
+ <property name="title">
+ <string>Enable Back&amp;ground Image</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>P&amp;ath:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_BackgroundImage</cstring>
+ </property>
+ </widget>
+ <widget class="KURLRequester">
+ <property name="name">
+ <cstring>kcfg_BackgroundImage</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer90</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>kcfg_ShowNickList</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_AutoUserhost</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_ShowNickList</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_ShowQuickButtons</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_ShowNickList</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_ShowRealNames</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_TimestampFormat</tabstop>
+ <tabstop>kcfg_ShowDate</tabstop>
+ <tabstop>kcfg_BacklogLines</tabstop>
+ <tabstop>kcfg_ShowTopic</tabstop>
+ <tabstop>kcfg_ShowModeButtons</tabstop>
+ <tabstop>kcfg_ShowNickList</tabstop>
+ <tabstop>kcfg_AutoUserhost</tabstop>
+ <tabstop>kcfg_ShowRealNames</tabstop>
+ <tabstop>kcfg_ShowQuickButtons</tabstop>
+ <tabstop>kcfg_ShowNicknameBox</tabstop>
+ <tabstop>kcfg_ShowIRCViewScrollBar</tabstop>
+ <tabstop>kcfg_BackgroundImage</tabstop>
+ <tabstop>kcfg_ShowBackgroundImage</tabstop>
+ <tabstop>kcfg_Timestamping</tabstop>
+ <tabstop>kcfg_ShowBacklog</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/chatwindowbehaviour_preferences.ui b/konversation/src/chatwindowbehaviour_preferences.ui
new file mode 100644
index 0000000..b142b1e
--- /dev/null
+++ b/konversation/src/chatwindowbehaviour_preferences.ui
@@ -0,0 +1,374 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ChatwindowBehaviour_Config</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ChatwindowBehaviour_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>458</width>
+ <height>461</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox3</cstring>
+ </property>
+ <property name="title">
+ <string>General</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_Beep</cstring>
+ </property>
+ <property name="text">
+ <string>Enable s&amp;ystem bell on incoming ASCII BEL</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Sounds the system bell when you receive an ASCII BEL (0x07) control character</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_HideUnimportantEvents</cstring>
+ </property>
+ <property name="text">
+ <string>Hide &amp;Join/Part/Nick events</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_DisableExpansion</cstring>
+ </property>
+ <property name="text">
+ <string>Disable variable (e.g. %C, %B, %G...) e&amp;xpansion</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Do not expand variables when sending text to the server. A variable starts with '%'; for example, %B will expand to the characters needed to make a text bold.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_RedirectServerAndAppMsgToStatusPane</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Redirect status messages to the server status window</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Scroll&amp;back limit:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ScrollbackMax</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>How many lines to keep in buffers, 0 = unlimited</string>
+ </property>
+ </widget>
+ <spacer row="5" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>spacer1_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>410</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_UseLiteralModes</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Use raw modes for mode changes</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Keep channel mode string as a combination of characters instead of translating them into human readable words. E.g. '*** Channel modes: no messages from outside' will become '*** Channel modes: n'</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="6" column="1">
+ <property name="name">
+ <cstring>kcfg_ScrollbackMax</cstring>
+ </property>
+ <property name="suffix">
+ <string> lines</string>
+ </property>
+ <property name="specialValueText">
+ <string>Unlimited</string>
+ </property>
+ <property name="maxValue">
+ <number>2000</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>How many lines to keep in buffers, 0 = unlimited</string>
+ </property>
+ </widget>
+ <spacer row="6" column="2">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>230</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox3_2</cstring>
+ </property>
+ <property name="title">
+ <string>Marker Lines</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_MarkerLineInAllViews</cstring>
+ </property>
+ <property name="text">
+ <string>Show manually inserted lines in all chat windows</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_AutomaticRememberLine</cstring>
+ </property>
+ <property name="text">
+ <string>Mark the last position in a chat window when it is hidden</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Inserts a remember line into the chat window when you switch to another chat window or minimize the application.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_AutomaticRememberLineOnlyOnTextChange</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Move the line only when new text is about to be shown</string>
+ </property>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>kcfg_AutoWhoContinuousEnabled</cstring>
+ </property>
+ <property name="title">
+ <string>Enable Automatic User Information Look Up (/WHO)</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>170</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="2" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>190</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Max. number of users in a channel:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_AutoWhoNicksLimit</cstring>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>kcfg_AutoWhoNicksLimit</cstring>
+ </property>
+ <property name="suffix">
+ <string> nicks</string>
+ </property>
+ <property name="maxValue">
+ <number>1000</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="value">
+ <number>300</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_AutoWhoContinuousInterval</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="prefix">
+ <string></string>
+ </property>
+ <property name="suffix">
+ <string> seconds</string>
+ </property>
+ <property name="maxValue">
+ <number>1000</number>
+ </property>
+ <property name="minValue">
+ <number>30</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>whoIntervalLbl</cstring>
+ </property>
+ <property name="text">
+ <string>Update interval:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_AutoWhoContinuousInterval</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>41</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_AutoWhoContinuousEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_AutoWhoContinuousInterval</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_AutomaticRememberLine</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_AutomaticRememberLineOnlyOnTextChange</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_Beep</tabstop>
+ <tabstop>kcfg_HideUnimportantEvents</tabstop>
+ <tabstop>kcfg_DisableExpansion</tabstop>
+ <tabstop>kcfg_RedirectServerAndAppMsgToStatusPane</tabstop>
+ <tabstop>kcfg_UseLiteralModes</tabstop>
+ <tabstop>kcfg_ScrollbackMax</tabstop>
+ <tabstop>kcfg_AutomaticRememberLine</tabstop>
+ <tabstop>kcfg_AutomaticRememberLineOnlyOnTextChange</tabstop>
+ <tabstop>kcfg_MarkerLineInAllViews</tabstop>
+ <tabstop>kcfg_AutoWhoNicksLimit</tabstop>
+ <tabstop>kcfg_AutoWhoContinuousInterval</tabstop>
+ <tabstop>kcfg_AutoWhoContinuousEnabled</tabstop>
+ <tabstop>kcfg_AutoWhoContinuousEnabled</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+</UI>
diff --git a/konversation/src/colorsappearance_preferences.ui b/konversation/src/colorsappearance_preferences.ui
new file mode 100644
index 0000000..e089ade
--- /dev/null
+++ b/konversation/src/colorsappearance_preferences.ui
@@ -0,0 +1,1395 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ColorsAppearance_Config</class>
+<comment>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.</comment>
+<author>İsmail Dönmez</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ColorsAppearance_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>457</width>
+ <height>512</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupBox1</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Custom Colors</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="5">
+ <property name="name">
+ <cstring>kcfg_InputFieldsBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Use custom colors for input box, nickname list and tab list</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="4">
+ <property name="name">
+ <cstring>kcfg_TimeColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="4" column="4">
+ <property name="name">
+ <cstring>kcfg_AlternateBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="4">
+ <property name="name">
+ <cstring>kcfg_QueryMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="4">
+ <property name="name">
+ <cstring>kcfg_CommandMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_BacklogMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="4" column="1">
+ <property name="name">
+ <cstring>kcfg_TextViewBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_ServerMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_HyperlinkColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_ChannelMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_ActionMessageColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer185</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer186</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>spacer187</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="2">
+ <property name="name">
+ <cstring>spacer188</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="4" column="2">
+ <property name="name">
+ <cstring>spacer189</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="5">
+ <property name="name">
+ <cstring>spacer190</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="5">
+ <property name="name">
+ <cstring>spacer191</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="5">
+ <property name="name">
+ <cstring>spacer192</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="5">
+ <property name="name">
+ <cstring>spacer193</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="4" column="5">
+ <property name="name">
+ <cstring>spacer194</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Background:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_TextViewBackgroundColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel2_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Server message:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ServerMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>H&amp;yperlink:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_HyperlinkColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Channel &amp;message:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ChannelMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Actio&amp;n:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ActionMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="3">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Bac&amp;klog:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_BacklogMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="3">
+ <property name="name">
+ <cstring>textLabel5</cstring>
+ </property>
+ <property name="text">
+ <string>Comman&amp;d message:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_CommandMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="3">
+ <property name="name">
+ <cstring>textLabel1_8</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Query message:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_QueryMessageColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="3">
+ <property name="name">
+ <cstring>textLabel1_9</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Timestamp:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_TimeColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="3">
+ <property name="name">
+ <cstring>textLabel1_10</cstring>
+ </property>
+ <property name="text">
+ <string>A&amp;lternate background:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_AlternateBackgroundColor</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_UseColoredNicks</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>Colored Nicks</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="6">
+ <property name="name">
+ <cstring>textLabel9</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>5:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="7">
+ <property name="name">
+ <cstring>kcfg_NickColor4</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="6">
+ <property name="name">
+ <cstring>textLabel8</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>4:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="7">
+ <property name="name">
+ <cstring>kcfg_NickColor5</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="3">
+ <property name="name">
+ <cstring>textLabel7</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>3:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_NickColor2</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="4">
+ <property name="name">
+ <cstring>kcfg_NickColor3</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="3">
+ <property name="name">
+ <cstring>textLabel6</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>2:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="5">
+ <property name="name">
+ <cstring>spacer196</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="5">
+ <property name="name">
+ <cstring>spacer197</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer197_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer196_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_NickColor0</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>0:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_NickColor1</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel5_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>1:</string>
+ </property>
+ </widget>
+ <spacer row="1" column="8">
+ <property name="name">
+ <cstring>spacer197_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="8">
+ <property name="name">
+ <cstring>spacer196_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="1" column="10">
+ <property name="name">
+ <cstring>kcfg_NickColor7</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="10">
+ <property name="name">
+ <cstring>kcfg_NickColor6</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="9">
+ <property name="name">
+ <cstring>textLabel11</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>7:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="9">
+ <property name="name">
+ <cstring>textLabel10</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>6:</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="12">
+ <property name="name">
+ <cstring>layout18</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Own nick color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NickColor8</cstring>
+ </property>
+ </widget>
+ <widget class="KColorButton">
+ <property name="name">
+ <cstring>kcfg_NickColor8</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer204</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>271</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>kcfg_AllowColorCodes</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="title">
+ <string>&amp;Allow Colored Text in IRC Messages</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>By enabling this option, color codes added to IRC messages will be displayed in your chat window as colored text. You can add color codes to your messages, by selecting Insert -&gt; IRC Color</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel12_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>1:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel12_3</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>2:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel12_4</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>3:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode3</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode2</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode0</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode1</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel12_14</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>0:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="3">
+ <property name="name">
+ <cstring>textLabel12_8</cstring>
+ </property>
+ <property name="text">
+ <string>7:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="3">
+ <property name="name">
+ <cstring>textLabel12_7</cstring>
+ </property>
+ <property name="text">
+ <string>6:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="3">
+ <property name="name">
+ <cstring>textLabel12_6</cstring>
+ </property>
+ <property name="text">
+ <string>5:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="3">
+ <property name="name">
+ <cstring>textLabel12_5</cstring>
+ </property>
+ <property name="text">
+ <string>4:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="4">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode5</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode4</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="4">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode7</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="4">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode6</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="3" column="2">
+ <property name="name">
+ <cstring>spacer211_4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>spacer211_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer211_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer211</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="5">
+ <property name="name">
+ <cstring>spacer211_3_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="0" column="5">
+ <property name="name">
+ <cstring>spacer211_5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="5">
+ <property name="name">
+ <cstring>spacer211_2_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="5">
+ <property name="name">
+ <cstring>spacer211_4_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="3" column="7">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode11</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="6">
+ <property name="name">
+ <cstring>textLabel12_12</cstring>
+ </property>
+ <property name="text">
+ <string>11:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="7">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode9</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="7">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode10</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="7">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode8</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="6">
+ <property name="name">
+ <cstring>textLabel12_10</cstring>
+ </property>
+ <property name="text">
+ <string>9:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="6">
+ <property name="name">
+ <cstring>textLabel12_9</cstring>
+ </property>
+ <property name="text">
+ <string>8:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="6">
+ <property name="name">
+ <cstring>textLabel12_11</cstring>
+ </property>
+ <property name="text">
+ <string>10:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="8">
+ <property name="name">
+ <cstring>spacer211_6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="1" column="8">
+ <property name="name">
+ <cstring>spacer211_2_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="8">
+ <property name="name">
+ <cstring>spacer211_3_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="8">
+ <property name="name">
+ <cstring>spacer211_4_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="3" column="10">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode15</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="9">
+ <property name="name">
+ <cstring>textLabel12_13</cstring>
+ </property>
+ <property name="text">
+ <string>12:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="10">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode13</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="9">
+ <property name="name">
+ <cstring>textLabel12_16</cstring>
+ </property>
+ <property name="text">
+ <string>15:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="0" column="10">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode12</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="10">
+ <property name="name">
+ <cstring>kcfg_IrcColorCode14</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="9">
+ <property name="name">
+ <cstring>textLabel12_15</cstring>
+ </property>
+ <property name="text">
+ <string>14:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="9">
+ <property name="name">
+ <cstring>textLabel12</cstring>
+ </property>
+ <property name="text">
+ <string>13:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="3" column="0">
+ <property name="name">
+ <cstring>spacer227</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<tabstops>
+ <tabstop>kcfg_ActionMessageColor</tabstop>
+ <tabstop>kcfg_ChannelMessageColor</tabstop>
+ <tabstop>kcfg_HyperlinkColor</tabstop>
+ <tabstop>kcfg_ServerMessageColor</tabstop>
+ <tabstop>kcfg_TextViewBackgroundColor</tabstop>
+ <tabstop>kcfg_BacklogMessageColor</tabstop>
+ <tabstop>kcfg_CommandMessageColor</tabstop>
+ <tabstop>kcfg_QueryMessageColor</tabstop>
+ <tabstop>kcfg_TimeColor</tabstop>
+ <tabstop>kcfg_AlternateBackgroundColor</tabstop>
+ <tabstop>kcfg_InputFieldsBackgroundColor</tabstop>
+ <tabstop>kcfg_UseColoredNicks</tabstop>
+ <tabstop>kcfg_NickColor0</tabstop>
+ <tabstop>kcfg_NickColor1</tabstop>
+ <tabstop>kcfg_NickColor2</tabstop>
+ <tabstop>kcfg_NickColor3</tabstop>
+ <tabstop>kcfg_NickColor4</tabstop>
+ <tabstop>kcfg_NickColor5</tabstop>
+ <tabstop>kcfg_NickColor6</tabstop>
+ <tabstop>kcfg_NickColor7</tabstop>
+ <tabstop>kcfg_NickColor8</tabstop>
+ <tabstop>kcfg_AllowColorCodes</tabstop>
+ <tabstop>kcfg_IrcColorCode0</tabstop>
+ <tabstop>kcfg_IrcColorCode1</tabstop>
+ <tabstop>kcfg_IrcColorCode2</tabstop>
+ <tabstop>kcfg_IrcColorCode3</tabstop>
+ <tabstop>kcfg_IrcColorCode4</tabstop>
+ <tabstop>kcfg_IrcColorCode5</tabstop>
+ <tabstop>kcfg_IrcColorCode6</tabstop>
+ <tabstop>kcfg_IrcColorCode7</tabstop>
+ <tabstop>kcfg_IrcColorCode8</tabstop>
+ <tabstop>kcfg_IrcColorCode9</tabstop>
+ <tabstop>kcfg_IrcColorCode10</tabstop>
+ <tabstop>kcfg_IrcColorCode11</tabstop>
+ <tabstop>kcfg_IrcColorCode12</tabstop>
+ <tabstop>kcfg_IrcColorCode13</tabstop>
+ <tabstop>kcfg_IrcColorCode14</tabstop>
+ <tabstop>kcfg_IrcColorCode15</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+<connections>
+ <connection>
+ <sender>kcfg_InputFieldsBackgroundColor</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_AlternateBackgroundColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+</UI>
diff --git a/konversation/src/commit.h b/konversation/src/commit.h
new file mode 100644
index 0000000..cc8815a
--- /dev/null
+++ b/konversation/src/commit.h
@@ -0,0 +1,4 @@
+// This COMMIT number is added to version string to be used as "patch level"
+#ifndef COMMIT
+#define COMMIT 3300
+#endif
diff --git a/konversation/src/common.cpp b/konversation/src/common.cpp
new file mode 100644
index 0000000..afd6c97
--- /dev/null
+++ b/konversation/src/common.cpp
@@ -0,0 +1,196 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "common.h"
+#include "konversationapplication.h"
+#include "config/preferences.h"
+
+#include <qcstring.h>
+#include <qstring.h>
+#include <qregexp.h>
+#include <qpixmap.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <klocale.h>
+
+
+namespace Konversation
+{
+
+ #include "guess_ja.cpp"
+ #include "unicode.cpp"
+
+ static QRegExp colorRegExp("((\003([0-9]|0[0-9]|1[0-5])(,([0-9]|0[0-9]|1[0-5])|)|\017)|\x02|\x09|\x13|\x16|\x1f)");
+ static QRegExp urlPattern("((www\\.(?!\\.)|(fish|irc|(f|sf|ht)tp(|s))://)(\\.?[\\d\\w/,\\':~\\?=;#@\\-\\+\\%\\*\\{\\}\\!\\(\\)]|&)+)|"
+ "([-.\\d\\w]+@[-.\\d\\w]{2,}\\.[\\w]{2,})");
+ static QRegExp tdlPattern("(.*)\\.(\\w+),$");
+
+ QString removeIrcMarkup(const QString& text)
+ {
+ QString escaped = text;
+ // Escape text decoration
+ escaped.remove(colorRegExp);
+
+ // Remove Mirc's 0x03 characters too, they show up as rectangles
+ escaped.remove(QChar(0x03));
+
+ return escaped;
+ }
+
+ QString tagURLs(const QString& text, const QString& fromNick, bool useCustomColor)
+ {
+ // QTime timer;
+ // timer.start();
+
+ QString filteredLine = text;
+ QString linkColor = Preferences::color(Preferences::Hyperlink).name();
+ QString link;
+ QString insertText;
+ int pos = 0;
+ int urlLen = 0;
+ QString href;
+
+ if(useCustomColor)
+ {
+ link = "<font color=\""+linkColor+"\"><a href=\"#%1\">%2</a></font>";
+ }
+ else
+ {
+ link = "<a href=\"#%1\">%2</a>";
+ }
+
+ if(filteredLine.contains("#"))
+ {
+ QRegExp chanExp("(^|\\s|^\"|\\s\"|,|'|\\(|\\:|!|@|%|\\+)(#[^,\\s;\\)\\:\\/\\(\\<\\>]*[^.,\\s;\\)\\:\\/\\(\"\''\\<\\>])");
+ while((pos = chanExp.search(filteredLine, pos)) >= 0)
+ {
+ href = chanExp.cap(2);
+ urlLen = href.length();
+ pos += chanExp.cap(1).length();
+
+ // HACK:Use space as a placeholder for \ as Qt tries to be clever and does a replace to / in urls in QTextEdit
+ insertText = link.arg(QString(href).replace('\\', " "), href);
+ filteredLine.replace(pos, urlLen, insertText);
+ pos += insertText.length();
+ }
+ }
+
+ pos = 0;
+ urlLen = 0;
+
+ urlPattern.setCaseSensitive(false);
+ QString protocol;
+
+ if(useCustomColor)
+ {
+ link = "<font color=\"" + linkColor + "\"><u><a href=\"%1%2\">%3</a></u></font>";
+ }
+ else
+ {
+ link = "<u><a href=\"%1%2\">%3</a></u>";
+ }
+
+ while((pos = urlPattern.search(filteredLine, pos)) >= 0)
+ {
+ QString append;
+
+ // check if the matched text is already replaced as a channel
+ if ( filteredLine.findRev( "<a", pos ) > filteredLine.findRev( "</a>", pos ) )
+ {
+ ++pos;
+ continue;
+ }
+
+ protocol="";
+ urlLen = urlPattern.matchedLength();
+ href = filteredLine.mid( pos, urlLen );
+
+ // Don't consider trailing comma part of link.
+ if (href.right(1) == ",")
+ {
+ href.truncate(href.length()-1);
+ append = ',';
+ }
+
+ // Don't consider trailing semicolon part of link.
+ if (href.right(1) == ";")
+ {
+ href.truncate(href.length()-1);
+ append = ';';
+ }
+
+ // Don't consider trailing closing parenthesis part of link when
+ // there's an opening parenthesis preceding the beginning of the
+ // URL or there is no opening parenthesis in the URL at all.
+ if (href.right(1) == ")" && (filteredLine.mid(pos-1,1) == "(" || !href.contains("(")))
+ {
+ href.truncate(href.length()-1);
+ append.prepend(")");
+ }
+
+ // Qt doesn't support (?<=pattern) so we do it here
+ if((pos > 0) && filteredLine[pos-1].isLetterOrNumber())
+ {
+ pos++;
+ continue;
+ }
+
+ if (urlPattern.cap(1).startsWith("www.", false))
+ protocol = "http://";
+ else if (urlPattern.cap(1).isEmpty())
+ protocol = "mailto:";
+
+ // Use \x0b as a placeholder for & so we can readd them after changing all & in the normal text to &amp;
+ // HACK Replace % with \x03 in the url to keep Qt from doing stupid things
+ insertText = link.arg(protocol, QString(href).replace('&', "\x0b").replace('%', "\x03"), href) + append;
+ filteredLine.replace(pos, urlLen, insertText);
+ pos += insertText.length();
+ KonversationApplication::instance()->storeUrl(fromNick, href);
+ }
+
+ // Change & to &amp; to prevent html entities to do strange things to the text
+ filteredLine.replace('&', "&amp;");
+ filteredLine.replace("\x0b", "&");
+
+ // kdDebug() << "Took (msecs) : " << timer.elapsed() << " for " << filteredLine << endl;
+
+ return filteredLine;
+ }
+
+ //TODO: there's room for optimization as pahlibar said. (strm)
+
+ // the below two functions were taken from kopeteonlinestatus.cpp.
+ QBitmap overlayMasks( const QBitmap *under, const QBitmap *over )
+ {
+ if ( !under && !over ) return QBitmap();
+ if ( !under ) return *over;
+ if ( !over ) return *under;
+
+ QBitmap result = *under;
+ bitBlt( &result, 0, 0, over, 0, 0, over->width(), over->height(), Qt::OrROP );
+ return result;
+ }
+
+ QPixmap overlayPixmaps( const QPixmap &under, const QPixmap &over )
+ {
+ if ( over.isNull() ) return under;
+
+ QImage imResult; imResult=under;
+ QImage imOver; imOver=over;
+ QPixmap result;
+
+ bitBlt(&imResult,0,0,&imOver,0,0,imOver.width(),imOver.height(),0);
+ result=imResult;
+ return result;
+ }
+
+}
diff --git a/konversation/src/common.h b/konversation/src/common.h
new file mode 100644
index 0000000..fe5fa6d
--- /dev/null
+++ b/konversation/src/common.h
@@ -0,0 +1,56 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef COMMON_H
+#define COMMON_H
+
+class QCString;
+class QString;
+class QBitmap;
+class QPixmap;
+
+namespace Konversation
+{
+ QString removeIrcMarkup(const QString& text);
+ QString tagURLs(const QString& text, const QString& fromNick, bool useCustomColor = true);
+ QBitmap overlayMasks( const QBitmap *under, const QBitmap *over );
+ QPixmap overlayPixmaps(const QPixmap &under, const QPixmap &over);
+ bool isUtf8(const QCString& text);
+
+ enum TabNotifyType
+ {
+ tnfNick,
+ tnfHighlight,
+ tnfPrivate,
+ tnfNormal,
+ tnfSystem,
+ tnfControl,
+ tnfNone
+ };
+
+ enum ConnectionState
+ {
+ SSNeverConnected,
+ SSDeliberatelyDisconnected,
+ SSInvoluntarilyDisconnected,
+ SSConnecting,
+ SSConnected
+ };
+
+ enum ConnectionFlag
+ {
+ SilentlyReuseConnection,
+ PromptToReuseConnection,
+ CreateNewConnection
+ };
+}
+#endif
diff --git a/konversation/src/config/Makefile.am b/konversation/src/config/Makefile.am
new file mode 100644
index 0000000..23e37bb
--- /dev/null
+++ b/konversation/src/config/Makefile.am
@@ -0,0 +1,8 @@
+INCLUDES = -I.. -I$(srcdir)/.. $(all_includes)
+METASOURCES = AUTO
+
+noinst_LTLIBRARIES = libkonversationconfig.la
+libkonversationconfig_la_SOURCES = preferences_base.kcfgc preferences.cpp
+libkonversationconfig_la_LDFLAGS = $(all_libraries) -no-undefined
+
+kde_kcfg_DATA = konversation.kcfg
diff --git a/konversation/src/config/konversation.kcfg b/konversation/src/config/konversation.kcfg
new file mode 100644
index 0000000..9346e18
--- /dev/null
+++ b/konversation/src/config/konversation.kcfg
@@ -0,0 +1,996 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <include>qfont.h</include>
+ <include>qsize.h</include>
+ <include>kdialog.h</include>
+ <include>kuser.h</include>
+ <include>kglobalsettings.h</include>
+ <kcfgfile name="konversationrc" />
+
+ <group name="Appearance">
+ <entry key="ShowMenuBar" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseMaxSizedTabs" type="Bool">
+ <default>true</default>
+ <label>Limit the size of the tab labels to fit all on screen</label>
+ </entry>
+ <entry key="TreeSplitterSizes" type="IntList">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TopicSplitterSizes" type="IntList">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TextFont" type="Font">
+ <default code="true">KGlobalSettings::generalFont()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ListFont" type="Font">
+ <default code="true">KGlobalSettings::generalFont()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabFont" type="Font">
+ <default code="true">KGlobalSettings::generalFont()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CustomTextFont" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CustomListFont" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CustomTabFont" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Timestamping" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowDate" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TimestampFormat" type="String">
+ <default>hh:mm</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowBacklog" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="BacklogLines" type="Int">
+ <default>10</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowNickList" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowQuickButtons" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+<!-- quick buttons are handled outside of KConfigXT for now (Eisfuchs)
+ <entry key="QuickButtons" type="StringList" name="ButtonList">
+ <default code="true">(QStringList() &lt;&lt; "Op,/OP %u%n"&lt;&lt;"DeOp,/DEOP %u%n"&lt;&lt;"WhoIs,/WHOIS %s,%%u%n"&lt;&lt;"Version,/CTCP %s,%%u VERSION%n"&lt;&lt;"Kick,/KICK %u%n"&lt;&lt;"Kick,/KICK %u%n"&lt;&lt;"Ban,/BAN %u%n"&lt;&lt;"Part,/PART %c Leaving...%n"&lt;&lt;"Quit,/QUIT Leaving...%n")</default>
+ </entry> -->
+ <entry key="ShowModeButtons" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CloseButtons" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoUserhost" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseSpacing" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Spacing" type="Int">
+ <default>KDialog::spacingHint()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Margin" type="Int">
+ <default>KDialog::marginHint()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseParagraphSpacing" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ParagraphSpacing" type="Int">
+ <default>2</default>
+ <min>0</min>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ChannelSplitterSizes" type="IntList">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="BackgroundImage" type="String">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="IrcColorCode$(colorNumber)" type="Color">
+ <parameter name="colorNumber" type="UInt" max="15"/>
+ <default param="0">#ffffff</default>
+ <default param="1">#000000</default>
+ <default param="2">#000080</default>
+ <default param="3">#008000</default>
+ <default param="4">#ff0000</default>
+ <default param="5">#a52a2a</default>
+ <default param="6">#800080</default>
+ <default param="7">#ff8000</default>
+ <default param="8">#808000</default>
+ <default param="9">#00ff00</default>
+ <default param="10">#008080</default>
+ <default param="11">#00ffff</default>
+ <default param="12">#0000ff</default>
+ <default param="13">#ffc0cb</default>
+ <default param="14">#a0a0a0</default>
+ <default param="15">#c0c0c0</default>
+ </entry>
+ <entry key="AllowColorCodes" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="NickColor$(nickNumber)" type="Color">
+ <parameter name="nickNumber" type="UInt" max="9"/>
+ <default param="0">#E90E7F</default>
+ <default param="1">#8E55E9</default>
+ <default param="2">#B30E0E</default>
+ <default param="3">#18B33C</default>
+ <default param="4">#58ADB3</default>
+ <default param="5">#9E54B3</default>
+ <default param="6">#B39875</default>
+ <default param="7">#3176B3</default>
+ <default param="8">#000001</default>
+ </entry>
+ <entry key="UseColoredNicks" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowTabBarCloseButton" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowTopic" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowNicknameBox" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseBoldNicks" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseLiteralModes" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="FocusNewQueries" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowIRCViewScrollBar" type="Bool">
+ <default>true</default>
+ <label>Hide the scrollbar</label>
+ </entry>
+ </group>
+ <group name="General Options">
+ <entry key="SpellChecking" type="Bool">
+ <default>false</default>
+ <whatsthis>Enable if you want all the IRC input lines to check your spelling as you type</whatsthis>
+ </entry>
+ <entry key="CustomVersionReplyEnabled" type="Bool">
+ <default>false</default>
+ </entry>
+ <entry key="CustomVersionReply" type="String">
+ </entry>
+ <entry key="UseMultiRowInputBox" type="Bool">
+ <default>false</default>
+ <whatsthis>Enabling this will cause the input box to grow vertically when it fills up.</whatsthis>
+ </entry>
+ <entry key="CommandChar" type="String">
+ <default>/</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="PreShellCommand" type="String">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowTrayIcon" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TrayNotify" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TrayNotifyOnlyOwnNick" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TrayNotifyBlink" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HiddenToTray" type="Bool">
+ <default>false</default>
+ <label>Hidden to system tray</label>
+ </entry>
+ <entry key="HideToTrayOnStartup" type="Bool">
+ <default>false</default>
+ <label>Start with hidden mainwindow</label>
+ </entry>
+ <entry key="ShowBackgroundImage" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="NicksOnlineGeometry" type="Size" name="NicksOnlineSize">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="NicknameGeometry" type="Size" name="NicknameSize">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="LogfileReaderGeometry" type="Size" name="LogfileReaderSize">
+ <default code="true">QSize(400, 200)</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="MultilineEditGeometry" type="Size" name="MultilineEditSize">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="LogfileBufferSize" type="Int">
+ <default>100</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ScrollbackMax" type="Int">
+ <default>1000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoWhoNicksLimit" type="Int">
+ <default>200</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoWhoContinuousEnabled" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoWhoContinuousInterval" type="Int">
+ <default>90</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowRealNames" type="Bool">
+ <default>false</default>
+ <label>&amp;Show real names next to nicknames</label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ChannelDoubleClickAction" type="String">
+ <default>/QUERY %u%n</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="NotifyDoubleClickAction" type="String">
+ <default>/QUERY %u%n</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Beep" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="RawLog" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="VersionReply" type="String">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="MaximumLag" type="Int" name="MaximumLagTime">
+ <default>180</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="RedirectServerAndAppMsgToStatusPane" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="DisableNotifyWhileAway" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoAwayPollInterval" type="Int">
+ <default>10</default>
+ <min>10</min>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutomaticRememberLine" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutomaticRememberLineOnlyOnTextChange" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="MarkerLineInAllViews" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Sort Nicknames">
+<!-- done outside of KConfigXT (Eisfuchs)
+ <entry key="AdminValue" type="Int">
+ <default>1</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OwnerValue" type="Int">
+ <default>2</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OperatorValue" type="Int" name="OpValue">
+ <default>4</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HalfopValue" type="Int">
+ <default>8</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="VoiceValue" type="Int">
+ <default>16</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AwayValue" type="Int">
+ <default>32</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="NoRightsValue" type="Int">
+ <default>64</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+-->
+ <entry key="SortByStatus" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SortByActivity" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SortCaseInsensitive" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="OSD">
+ <entry key="UseOSD" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowOwnNick" type="Bool" name="OSDShowOwnNick">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowChannel" type="Bool" name="OSDShowChannel">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowQuery" type="Bool" name="OSDShowQuery">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowChannelEvent" type="Bool" name="OSDShowChannelEvent">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDFont" type="Font">
+ <default code="true">KGlobalSettings::generalFont()</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDUseCustomColors" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDDuration" type="Int">
+ <default>3000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDScreen" type="Int">
+ <default>0</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDDrawShadow" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OffsetX" type="Int" name="OSDOffsetX">
+ <default>30</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OffsetY" type="Int" name="OSDOffsetY">
+ <default>50</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Alignment" type="Int" name="OSDAlignment">
+ <default>0</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDTextColor" type="Color">
+ <default>#ffffff</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDBackgroundColor" type="Color">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OSDCheckDesktopLock" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Notify List">
+ <entry key="NotifyDelay" type="Int">
+ <default>20</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="UseNotify" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="OnStartup" type="Bool" name="OpenWatchedNicksAtStartup">
+ <default>false</default>
+ <label>Open Watched Nicks tab at application startup</label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Highlight List">
+ <entry key="HighlightSoundsEnabled" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HighlightNick" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HighlightNickColor" type="Color">
+ <default>#FF0000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HighlightOwnLines" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HighlightOwnLinesColor" type="Color">
+ <default>#ff0000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="Highlight" type="String">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Aliases">
+ <entry key="AliasList" type="StringList">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Nick Completion">
+ <entry key="Mode" type="Int" name="NickCompletionMode">
+ <default>2</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SuffixStart" type="String" name="NickCompleteSuffixStart">
+ <default>: </default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SuffixMiddle" type="String" name="NickCompleteSuffixMiddle">
+ <default> </default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="PrefixCharacter" type="String">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CaseSensitive" type="Bool" name="NickCompletionCaseSensitive">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="DCC Settings">
+ <entry key="BufferSize" type="Int" name="DccBufferSize">
+ <default>8192</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="MethodToGetOwnIp" type="Int" name="DccMethodToGetOwnIp">
+ <default>1</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SpecificOwnIp" type="String" name="DccSpecificOwnIp">
+ <default>0.0.0.0</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SpecificSendPorts" type="Bool" name="DccSpecificSendPorts">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SendPortsFirst" type="Int" name="DccSendPortsFirst">
+ <default>1026</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SendPortsLast" type="UInt" name="DccSendPortsLast">
+ <default>7000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SpecificChatPorts" type="Bool" name="DccSpecificChatPorts">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ChatPortsFirst" type="Int" name="DccChatPortsFirst">
+ <default>1026</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ChatPortsLast" type="UInt" name="DccChatPortsLast">
+ <default>7000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AddPartner" type="Bool" name="DccAddPartner">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="CreateFolder" type="Bool" name="DccCreateFolder">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SpaceToUnderscore" type="Bool" name="DccSpaceToUnderscore">
+ <default>true</default>
+ <label></label>
+ <whatis></whatis>
+ </entry>
+ <entry key="AutoGet" type="Bool" name="DccAutoGet">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoResume" type="Bool" name="DccAutoResume">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="FastSend" type="Bool" name="DccFastSend">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SendTimeout" type="Int" name="DccSendTimeout">
+ <default>180</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="IPv4Fallback" type="Bool" name="DccIPv4Fallback">
+ <default>false</default>
+ </entry>
+ <entry key="IPv4FallbackIface" type="String" name="DccIPv4FallbackIface">
+ <default>eth0</default>
+ </entry>
+ <entry key="PassiveSend" type="Bool" name="DccPassiveSend">
+ <default>false</default>
+ </entry>
+ <entry key="ColumnWidths" type="IntList" name="DccColumnWidths">
+ <default>16,90,80,150,70,90,120,80,70,120</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Path Settings">
+ <entry key="LogfilePath" type="Path">
+ <default code="true">KUser(KUser::UseRealUserID).homeDir()+"/logs"</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="DccPath" type="Path">
+ <default code="true">KUser(KUser::UseRealUserID).homeDir()+"/dccrecv"</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Flags">
+ <entry key="Log" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="LowerLog" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AddHostnameToLog" type="Bool">
+ <default>false</default>
+ </entry>
+ <entry key="TabPlacement" type="Enum">
+ <label></label>
+ <whatsthis></whatsthis>
+ <choices>
+ <choice name="Top" />
+ <choice name="Bottom" />
+ <choice name="Left" />
+ </choices>
+ <default>Bottom</default>
+ </entry>
+ <entry key="MiddleClickClose" type="Bool">
+ <default>false</default>
+ </entry>
+ <entry key="UseClickableNicks" type="Bool">
+ <default>true</default>
+ </entry>
+ <entry key="BringToFront" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="HideUnimportantEvents" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="DisableExpansion" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="AutoReconnect" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ReconnectDelay" type="UInt">
+ <default>10</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ReconnectCount" type="UInt">
+ <default>0</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="FixedMOTD" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="SkipMOTD" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="ShowServerList" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="InputFieldsBackgroundColor" type="Bool" >
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Web Browser Settings">
+ <entry key="UseCustomBrowser" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="WebBrowserCmd" type="String">
+ <default>firefox '%u'</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Themes">
+ <entry key="IconTheme" type="String">
+ <default>default</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="EnableEmotIcons" type="Bool">
+ <default>false</default>
+ <label>Enable emoticons</label>
+ </entry>
+ <entry key="EmotIconTheme" type="String">
+ <default>Default</default>
+ <label>Emoticons theme</label>
+ </entry>
+ </group>
+ <group name="PreferencesDialog">
+ <entry name="PreferencesDialogSize" key="Size" type="Size">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="LastActiveModule" type="Int">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="ServerListDialog">
+ <entry name="ServerListDialogSize" key="Size" type="Size">
+ <default></default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Message Text Colors">
+ <entry name="$(colorName)Color" type="Color" key="$(colorName)">
+ <parameter name="colorName" type="Enum">
+ <values>
+ <value>ActionMessage</value>
+ <value>BacklogMessage</value>
+ <value>ChannelMessage</value>
+ <value>CommandMessage</value>
+ <value>QueryMessage</value>
+ <value>ServerMessage</value>
+ <value>Time</value>
+ <value>Action</value>
+ <value>TextViewBackground</value>
+ <value>AlternateBackground</value>
+ <value>Hyperlink</value>
+ </values>
+ </parameter>
+ <default param="ActionMessage">#0000ff</default>
+ <default param="BacklogMessage">#aaaaaa</default>
+ <default param="ChannelMessage">#000000</default>
+ <default param="CommandMessage">#960096</default>
+ <default param="QueryMessage">#000000</default>
+ <default param="ServerMessage">#91640a</default>
+ <default param="Time">#709070</default>
+ <default param="Action">#0000ff</default>
+ <default param="TextViewBackground">#ffffff</default>
+ <default param="AlternateBackground">#EDF4F9</default>
+ <default param="Hyperlink">#0000ff</default>
+ </entry>
+ </group>
+ <group name="Tab Notifications">
+ <entry key="TabNotificationsText" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsLeds" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsSystem" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsSystemColor" type="Color">
+ <default>#C3C300</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsMsgs" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsMsgsColor" type="Color">
+ <default>#008000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsPrivate" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsPrivateColor" type="Color">
+ <default>#800000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsEvents" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsEventsColor" type="Color">
+ <default>#008000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsNick" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsNickColor" type="Color">
+ <default>#FF0000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsHighlights" type="Bool">
+ <default>true</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsHighlightsColor" type="Color">
+ <default>#FF0000</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ <entry key="TabNotificationsOverride" type="Bool">
+ <default>false</default>
+ <label></label>
+ <whatsthis></whatsthis>
+ </entry>
+ </group>
+ <group name="Sort Nicknames">
+ <entry key="SortOrder" type="String">
+ <default>qpohv-</default>
+ <label></label>
+ </entry>
+ </group>
+ <group name="QueueRates">
+ <entry name="queueRate$(QueueIndex)" type="IntList" key="EmptyingRate $(QueueIndex)">
+ <!-- kconfig_compiler really should do this for me... -->
+ <code> QValueList&lt; QValueList&lt;int&gt; &gt; defaultRate;
+ QValueList&lt; QValueList&lt;int&gt; &gt;::iterator defaultRateInitIter;
+
+ defaultRateInitIter = defaultRate.append(QValueList&lt;int&gt;());
+ (*defaultRateInitIter).append( 15 );
+ (*defaultRateInitIter).append( 60 );
+ (*defaultRateInitIter).append( 0 );
+
+ defaultRateInitIter = defaultRate.append(QValueList&lt;int&gt;());
+ (*defaultRateInitIter).append( 40 );
+ (*defaultRateInitIter).append( 60 );
+ (*defaultRateInitIter).append( 0 );
+
+ defaultRateInitIter = defaultRate.append(QValueList&lt;int&gt;());
+ (*defaultRateInitIter).append( 1 );
+ (*defaultRateInitIter).append( 1 );
+ (*defaultRateInitIter).append( 0 );
+
+ if (0) //kconfig_compiler generates invalid code for int lists</code>
+ <parameter name="QueueIndex" type="Int" max="2"/>
+ <default param="0" code="true">defaultRate[0]</default>
+ <default param="1" code="true">defaultRate[1]</default>
+ <default param="2" code="true">defaultRate[2]</default>
+ </entry>
+ <entry key="ShowQueueTuner" type="Bool">
+ <default>false</default>
+ </entry>
+ </group>
+</kcfg>
diff --git a/konversation/src/config/preferences.cpp b/konversation/src/config/preferences.cpp
new file mode 100644
index 0000000..9910256
--- /dev/null
+++ b/konversation/src/config/preferences.cpp
@@ -0,0 +1,605 @@
+/*
+ This program is free software; you can redistribute it and/or self()->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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "config/preferences.h"
+#include "identity.h"
+#include "ignore.h"
+#include "highlight.h"
+#include "commit.h"
+#include "version.h"
+
+#include <ktoolbar.h>
+#include <kstandarddirs.h>
+#include <kstaticdeleter.h>
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <kurl.h>
+#include <kuser.h>
+
+#include <qpalette.h>
+#include <qregexp.h>
+#include <qfileinfo.h>
+
+
+Preferences *Preferences::mSelf = 0;
+static KStaticDeleter<Preferences> staticPreferencesDeleter;
+
+Preferences *Preferences::self()
+{
+ if ( !mSelf ) {
+ staticPreferencesDeleter.setObject( mSelf, new Preferences() );
+ mSelf->readConfig();
+ }
+
+ return mSelf;
+}
+
+
+Preferences::Preferences()
+{
+ mSelf = this;
+ // create default identity
+ mIdentity=new Identity();
+ mIdentity->setName(i18n("Default Identity"));
+ addIdentity(mIdentity);
+ mIgnoreList.setAutoDelete(true);
+
+ KUser user(KUser::UseRealUserID);
+ mIdentity->setIdent(user.loginName());
+ mIdentity->setRealName(user.fullName());
+
+ QStringList nickList;
+ nickList.append(user.loginName());
+ nickList.append(user.loginName() + '_');
+ nickList.append(user.loginName() + "__");
+ mIdentity->setNicknameList(nickList);
+
+ Konversation::ServerGroupSettingsPtr serverGroup = new Konversation::ServerGroupSettings;
+ serverGroup->setName("Ubuntu IRC");
+ Konversation::ServerSettings server;
+ server.setHost("irc.ubuntu.com");
+ server.setPort(8001);
+ serverGroup->addServer(server);
+ serverGroup->setIdentityId(mIdentity->id());
+ Konversation::ChannelSettings channel;
+ channel.setName("#kubuntu");
+ serverGroup->addChannel(channel);
+ serverGroup->setExpanded(false);
+ addServerGroup(serverGroup);
+ setQuickButtonList(defaultQuickButtonList());
+ setAutoreplaceList(defaultAutoreplaceList());
+}
+
+Preferences::~Preferences()
+{
+ mIdentityList.clear();
+
+ if ( mSelf == this )
+ staticPreferencesDeleter.setObject( mSelf, 0, false );
+}
+const Konversation::ServerGroupList Preferences::serverGroupList()
+{
+ return self()->mServerGroupList;
+}
+
+const QStringList Preferences::defaultQuickButtonList()
+{
+ return QStringList() << "Op,/OP %u%n"
+ << "DeOp,/DEOP %u%n"
+ << "WhoIs,/WHOIS %s,%%u%n"
+ << "Version,/CTCP %s,%%u VERSION%n"
+ << "Kick,/KICK %u%n"
+ << "Ban,/BAN %u%n"
+ << "Part,/PART %c Leaving...%n"
+ << "Quit,/QUIT Leaving...%n";
+}
+
+const QStringList Preferences::quickButtonList()
+{
+ return self()->mQuickButtonList;
+}
+
+void Preferences::setQuickButtonList(const QStringList newList)
+{
+ self()->mQuickButtonList=newList;
+}
+
+void Preferences::clearQuickButtonList()
+{
+ self()->mQuickButtonList.clear();
+}
+
+// --------------------------- AutoReplace ---------------------------
+
+const QStringList Preferences::defaultAutoreplaceList()
+{
+ return QStringList() << "1,o,\\[\\[([^\\s]+)\\]\\],http://en.wikipedia.org/wiki/Special:Search?go=Go&search=%1"
+ << "1,o,([Dd][Bb][Uu][Gg]:)(\\w+),http://bugs.debian.org/%2"
+ << "1,o,(BUG:|bug:)([0-9]+),http://bugs.kde.org/show_bug.cgi?id=%2";
+}
+
+const QStringList Preferences::autoreplaceList()
+{
+ return self()->mAutoreplaceList;
+}
+
+void Preferences::setAutoreplaceList(const QStringList newList)
+{
+ self()->mAutoreplaceList=newList;
+}
+
+void Preferences::clearAutoreplaceList()
+{
+ self()->mAutoreplaceList.clear();
+}
+
+// --------------------------- AutoReplace ---------------------------
+
+void Preferences::setServerGroupList(const Konversation::ServerGroupList& list)
+{
+ self()->mServerGroupList.clear();
+ self()->mServerGroupList = list;
+
+ Konversation::ServerGroupList::iterator it;
+}
+
+void Preferences::addServerGroup(Konversation::ServerGroupSettingsPtr serverGroup)
+{
+ self()->mServerGroupList.append(serverGroup);
+}
+
+const Konversation::ServerGroupSettingsPtr Preferences::serverGroupById(int id)
+{
+ if (!self()->mServerGroupList.count())
+ {
+ return 0;
+ }
+
+ Konversation::ServerGroupList::iterator it;
+
+ for (it = self()->mServerGroupList.begin(); it != self()->mServerGroupList.end(); ++it)
+ {
+ if ((*it)->id() == id)
+ {
+ return (*it);
+ }
+ }
+
+ return 0;
+}
+
+const Konversation::ServerGroupSettingsPtr Preferences::serverGroupByServer(const QString& server)
+{
+ if (!self()->mServerGroupList.count())
+ {
+ return 0;
+ }
+
+ Konversation::ServerGroupList::iterator it;
+
+ for (it = self()->mServerGroupList.begin(); it != self()->mServerGroupList.end(); ++it)
+ {
+ for (uint i = 0; i != (*it)->serverList().count(); i++)
+ {
+ if ((*it)->serverByIndex(i).host().lower() == server)
+ {
+ return (*it);
+ }
+ }
+ }
+
+ return 0;
+}
+
+int Preferences::serverGroupIdByName(const QString& serverGroup)
+{
+ Konversation::ServerGroupList::iterator it;
+
+ for (it = self()->mServerGroupList.begin(); it != self()->mServerGroupList.end(); ++it)
+ {
+ if((*it)->name().lower() == serverGroup.lower())
+ {
+ return (*it)->id();
+ }
+ }
+
+ return -1;
+}
+
+bool Preferences::isServerGroup(const QString& server)
+{
+ Konversation::ServerGroupList::iterator it;
+
+ for(it = self()->mServerGroupList.begin(); it != self()->mServerGroupList.end(); ++it)
+ {
+ if((*it)->name().lower() == server.lower())
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+void Preferences::removeServerGroup(int id)
+{
+ if (!self()->mServerGroupList.count())
+ {
+ return;
+ }
+
+ Konversation::ServerGroupList::iterator it;
+
+ for (it = self()->mServerGroupList.begin(); it != self()->mServerGroupList.end(); ++it)
+ {
+ if ((*it)->id() == id)
+ {
+ self()->mServerGroupList.remove(it);
+
+ return;
+ }
+ }
+}
+
+
+const QPtrList<Highlight> Preferences::highlightList()
+{
+ return self()->mHighlightList;
+}
+
+void Preferences::setHighlightList(QPtrList<Highlight> newList)
+{
+ self()->mHighlightList.clear();
+ self()->mHighlightList=newList;
+}
+
+void Preferences::addHighlight(const QString& newHighlight,
+bool regExp,
+const QColor &newColor,
+const QString& sound,
+const QString& autoText)
+{
+ self()->mHighlightList.append(new Highlight(newHighlight,regExp,newColor,KURL(sound),autoText));
+}
+
+void Preferences::setIgnoreList(QPtrList<Ignore> newList)
+{
+ self()->mIgnoreList.clear();
+ self()->mIgnoreList=newList;
+}
+
+void Preferences::addIgnore(const QString &newIgnore)
+{
+ QStringList ignore = QStringList::split(',',newIgnore);
+ removeIgnore(ignore[0]);
+ self()->mIgnoreList.append(new Ignore(ignore[0],ignore[1].toInt()));
+}
+
+bool Preferences::removeIgnore(const QString &oldIgnore)
+{
+ QPtrListIterator<Ignore> ignoreList( self()->mIgnoreList );
+
+ while (ignoreList.current())
+ {
+ if (ignoreList.current()->getName().lower()==oldIgnore.lower())
+ {
+ self()->mIgnoreList.remove(ignoreList.current());
+ return true;
+ }
+ ++ignoreList;
+ }
+
+ return false;
+}
+
+bool Preferences::isIgnored(const QString &nickname)
+{
+ QPtrListIterator<Ignore> ignoreList( self()->mIgnoreList );
+
+ while (ignoreList.current())
+ {
+ if (ignoreList.current()->getName().section('!',0,0).lower()==nickname.lower())
+ {
+ return true;
+ }
+ ++ignoreList;
+ }
+
+ return false;
+}
+
+void Preferences::setNotifyList(const QMap<int, QStringList> &newList)
+{ self()->mNotifyList=newList; }
+
+const QMap<int, QStringList> Preferences::notifyList() { return self()->mNotifyList; }
+
+const QStringList Preferences::notifyListByGroupName(const QString& groupName)
+{
+ int id=serverGroupIdByName(groupName);
+ if (id && self()->mNotifyList.find(id) != self()->mNotifyList.end())
+ return self()->mNotifyList[id];
+ else
+ return QStringList();
+}
+
+const QString Preferences::notifyStringByGroupName(const QString& groupName)
+{
+ return notifyListByGroupName(groupName).join(" ");
+}
+
+bool Preferences::addNotify(int serverGroupId, const QString& newPattern)
+{
+ if (!self()->mNotifyList[serverGroupId].contains(newPattern))
+ {
+ QStringList nicknameList = self()->mNotifyList[serverGroupId];
+ nicknameList.append(newPattern);
+ self()->mNotifyList[serverGroupId] = nicknameList;
+ return true;
+ }
+ return false;
+}
+
+bool Preferences::removeNotify(const QString& groupName, const QString& pattern)
+{
+ int id=serverGroupIdByName(groupName);
+ if(!id) return false;
+
+ if (self()->mNotifyList.find(id) != self()->mNotifyList.end())
+ {
+ QStringList nicknameList = self()->mNotifyList[id];
+ nicknameList.remove(pattern);
+ if (nicknameList.isEmpty())
+ self()->mNotifyList.remove(id);
+ else
+ self()->mNotifyList[id] = nicknameList;
+ return true;
+ }
+ return false;
+}
+
+bool Preferences::isNotify(int serverGroupId, const QString& pattern)
+{
+ if (self()->mNotifyList.find(serverGroupId) != self()->mNotifyList.end())
+ {
+ QStringList nicknameList = self()->mNotifyList[serverGroupId];
+
+ if (nicknameList.contains(pattern)) return true;
+ }
+ return false;
+}
+
+bool Preferences::hasNotifyList(int serverGroupId)
+{
+ if (self()->mNotifyList.find(serverGroupId) != self()->mNotifyList.end())
+ return true;
+ else
+ return false;
+}
+
+// Default identity functions
+void Preferences::addIdentity(IdentityPtr identity) { self()->mIdentityList.append(identity); }
+void Preferences::removeIdentity(IdentityPtr identity) { self()->mIdentityList.remove(identity); }
+
+void Preferences::clearIdentityList()
+{
+ self()->mIdentityList.clear();
+}
+
+const IdentityList Preferences::identityList() { return self()->mIdentityList; }
+
+void Preferences::setIdentityList(const IdentityList& list)
+{
+ self()->mIdentityList.clear();
+ self()->mIdentityList = list;
+}
+
+const IdentityPtr Preferences::identityByName(const QString& name)
+{
+ QValueList<IdentityPtr> identities = identityList();
+ QValueList<IdentityPtr>::iterator it = identities.begin();
+
+ while(it != identities.end())
+ {
+ if((*it)->getName() == name)
+ {
+ return (*it);
+ }
+
+ ++it;
+ }
+
+ // no self()->matching identity found, return default identity
+ return identities.first();
+}
+
+const IdentityPtr Preferences::identityById(int id)
+{
+ QValueList<IdentityPtr> identList = identityList();
+ for(QValueList<IdentityPtr>::iterator it = identList.begin(); it != identList.end(); ++it)
+ {
+ if((*it)->id() == id)
+ {
+ return (*it);
+ }
+ }
+
+ return identList.first();
+}
+
+QStringList Preferences::defaultAliasList()
+{
+ // Auto-alias scripts
+ QStringList scripts = KGlobal::dirs()->findAllResources("data","konversation/scripts/*");
+ QFileInfo* fileInfo = new QFileInfo();
+ QStringList aliasList;
+ QString newAlias;
+
+ for (QStringList::ConstIterator it = scripts.begin(); it != scripts.end(); ++it)
+ {
+ fileInfo->setFile(*it);
+ if (fileInfo->isExecutable())
+ {
+ newAlias = (*it).section('/',-1)+' '+"/exec "+(*it).section('/', -1 );
+ aliasList.append(newAlias);
+
+ // FIXME: Historically, defaultAliasList() is primarily used to dynamically
+ // compile a list of installed scripts and generate appropriate aliases for
+ // them. It's not only used when the alias preferences are reset or initia-
+ // lized, but also on application start. The following crudely adds two
+ // aliases when the 'media' script is found, to provide easy access to its
+ // capability to differentiate between audio and video media. This method
+ // needs at the very least to be split up in two, or scripts may in the
+ // future determine what aliases they want to add.
+ if ((*it).section('/',-1) == "media")
+ {
+ aliasList.append("audio /exec media audio");
+ aliasList.append("video /exec media video");
+ }
+ }
+ }
+
+ delete fileInfo;
+
+ return aliasList;
+}
+
+
+const QString Preferences::realName() { return self()->mIdentityList[0]->getRealName(); }
+void Preferences::setRealName(const QString &name) { self()->mIdentityList[0]->setRealName(name); }
+
+const QString Preferences::ident() { return self()->mIdentityList[0]->getIdent(); }
+void Preferences::setIdent(const QString &ident) { self()->mIdentityList[0]->setIdent(ident); }
+
+const QString Preferences::partReason() { return self()->mIdentityList[0]->getPartReason(); }
+void Preferences::setPartReason(const QString &newReason) { self()->mIdentityList[0]->setPartReason(newReason); }
+
+const QString Preferences::kickReason() { return self()->mIdentityList[0]->getKickReason(); }
+void Preferences::setKickReason(const QString &newReason) { self()->mIdentityList[0]->setKickReason(newReason); }
+
+bool Preferences::showAwayMessage() { return self()->mIdentityList[0]->getShowAwayMessage(); }
+void Preferences::setShowAwayMessage(bool state) { self()->mIdentityList[0]->setShowAwayMessage(state); }
+
+const QString Preferences::awayMessage() { return self()->mIdentityList[0]->getAwayMessage(); }
+void Preferences::setAwayMessage(const QString &newMessage) { self()->mIdentityList[0]->setAwayMessage(newMessage); }
+const QString Preferences::unAwayMessage() { return self()->mIdentityList[0]->getReturnMessage(); }
+void Preferences::setUnAwayMessage(const QString &newMessage) { self()->mIdentityList[0]->setReturnMessage(newMessage); }
+
+void Preferences::clearIgnoreList() { self()->mIgnoreList.clear(); }
+const QPtrList<Ignore> Preferences::ignoreList() { return self()->mIgnoreList; }
+
+const QString Preferences::nickname(int index) { return self()->mIdentityList[0]->getNickname(index); }
+const QStringList Preferences::nicknameList() { return self()->mIdentityList[0]->getNicknameList(); }
+void Preferences::setNickname(int index,const QString &newName) { self()->mIdentityList[0]->setNickname(index,newName); }
+void Preferences::setNicknameList(const QStringList &newList) { self()->mIdentityList[0]->setNicknameList(newList); }
+
+void Preferences::setShowTrayIcon(bool state)
+{
+ PreferencesBase::setShowTrayIcon(state);
+ emit self()->updateTrayIcon();
+}
+
+void Preferences::setTrayNotify(bool state)
+{
+ PreferencesBase::setTrayNotify(state);
+ emit self()->updateTrayIcon();
+}
+
+
+void Preferences::setAutoUserhost(bool state)
+{
+ PreferencesBase::setAutoUserhost(state);
+}
+
+bool Preferences::dialogFlag(const QString& flagName)
+{
+ KConfig* config=KApplication::kApplication()->config();
+
+ config->setGroup("Notification self()->Messages");
+
+ if( !config->readEntry(flagName).isEmpty() )
+ return false;
+ else
+ return true;
+}
+
+void Preferences::setDialogFlag(const QString& flagName,bool state)
+{
+ KConfig* config=KApplication::kApplication()->config();
+
+ config->setGroup("Notification self()->Messages");
+
+ if(state)
+ config->deleteEntry(flagName);
+ else
+ {
+ if ( config->readEntry(flagName).isEmpty() )
+ config->writeEntry(flagName,"no");
+ }
+
+ config->sync();
+}
+
+
+// Channel Encodings
+const QString Preferences::channelEncoding(const QString& server,const QString& channel)
+{
+ return channelEncoding(serverGroupIdByName(server),channel);
+}
+
+const QString Preferences::channelEncoding(int serverGroupId,const QString& channel)
+{
+ if(self()->mChannelEncodingsMap.contains(serverGroupId))
+ if(self()->mChannelEncodingsMap[serverGroupId].contains(channel.lower()))
+ return self()->mChannelEncodingsMap[serverGroupId][channel.lower()];
+ return QString();
+}
+
+void Preferences::setChannelEncoding(const QString& server,const QString& channel,const QString& encoding)
+{
+ setChannelEncoding(serverGroupIdByName(server),channel,encoding);
+}
+
+void Preferences::setChannelEncoding(int serverGroupId,const QString& channel,const QString& encoding)
+{
+ self()->mChannelEncodingsMap[serverGroupId][channel.lower()]=encoding;
+}
+
+const QValueList<int> Preferences::channelEncodingsServerGroupIdList()
+{
+ return self()->mChannelEncodingsMap.keys();
+}
+
+const QStringList Preferences::channelEncodingsChannelList(int serverGroupId)
+{
+ return self()->mChannelEncodingsMap[serverGroupId].keys();
+}
+
+const QString Preferences::defaultNicknameSortingOrder()
+{
+ return "qpohv-";
+}
+
+// override to add %u if needed
+QString Preferences::webBrowserCmd()
+{
+ // add %u to command if it's not in there
+ QString cmd=self()->mWebBrowserCmd;
+ if(cmd.find("%u")==-1) cmd+=" %u";
+ return cmd;
+}
+
+#include "preferences.moc"
diff --git a/konversation/src/config/preferences.h b/konversation/src/config/preferences.h
new file mode 100644
index 0000000..ed27d0a
--- /dev/null
+++ b/konversation/src/config/preferences.h
@@ -0,0 +1,169 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef PREFERENCES_H
+#define PREFERENCES_H
+
+#include "servergroupsettings.h"
+#include "identity.h"
+#include "preferences_base.h"
+
+#include <qobject.h>
+#include <qptrlist.h>
+#include <qsize.h>
+#include <qvaluelist.h>
+#include <qstringlist.h>
+#include <qfont.h>
+#include <qcolor.h>
+#include <qmap.h>
+
+#include <kdeversion.h>
+
+
+/*
+Options still to be GUIfied:
+
+Operator LEDs (int)
+OperatorColor (int)
+VoiceColor (int)
+NoRightsColor (int)
+*/
+
+class Ignore;
+class Highlight;
+
+class Preferences : public QObject, public PreferencesBase
+{
+ Q_OBJECT
+
+ protected:
+ Preferences();
+ static Preferences *mSelf;
+
+ public:
+
+ static Preferences *self();
+ ~Preferences();
+ enum Pages
+ {
+ NotifyPage,
+ ChatWinAppearancePage
+ };
+ static const Konversation::ServerGroupList serverGroupList();
+ static void setServerGroupList(const Konversation::ServerGroupList& list);
+ static void addServerGroup(Konversation::ServerGroupSettingsPtr serverGroup);
+ static const Konversation::ServerGroupSettingsPtr serverGroupById(int id);
+ static const Konversation::ServerGroupSettingsPtr serverGroupByServer(const QString& server);
+ static int serverGroupIdByName(const QString& serverGroup);
+ static bool isServerGroup(const QString& server);
+ static void removeServerGroup(int id);
+
+ /** Returns a list of alias set up by default. This is a set of aliases for the scripts found. */
+ static QStringList defaultAliasList();
+
+ //notifylist is in kconfigxt - FIXME
+ static const QMap<int, QStringList> notifyList();
+ static const QStringList notifyListByGroupName(const QString& groupName);
+ static const QString notifyStringByGroupName(const QString& groupName);
+ static void setNotifyList(const QMap<int, QStringList>& newList);
+ static bool addNotify(int serverGroupId, const QString& newPattern);
+ static bool removeNotify(const QString& groupName, const QString& pattern);
+ static bool isNotify(int serverGroupId, const QString& pattern);
+ static bool hasNotifyList(int serverGroupId);
+
+ static const QPtrList<Highlight> highlightList();
+ static void setHighlightList(QPtrList<Highlight> newList);
+ static void addHighlight(const QString& newHighlight,bool regExp, const QColor &color,const QString& sound,const QString& autoText);
+
+ /* All of the below work on the first (default) identity in your identity list*/
+ static void addIgnore(const QString &newIgnore);
+ static bool removeIgnore(const QString &oldIgnore);
+ static bool isIgnored(const QString &nickname);
+ static void clearIgnoreList();
+ static const QPtrList<Ignore> ignoreList();
+ static void setIgnoreList(QPtrList<Ignore> newList);
+
+ static const QStringList quickButtonList();
+ static const QStringList defaultQuickButtonList();
+ static void setQuickButtonList(const QStringList newList);
+ static void clearQuickButtonList();
+
+ static const QStringList autoreplaceList();
+ static const QStringList defaultAutoreplaceList();
+ static void setAutoreplaceList(const QStringList newList);
+ static void clearAutoreplaceList();
+
+ static void addIdentity(IdentityPtr identity);
+ static void removeIdentity(IdentityPtr identity);
+ static void clearIdentityList();
+ static const IdentityList identityList();
+ static void setIdentityList(const IdentityList& list);
+ static const IdentityPtr identityByName(const QString& name);
+ static const IdentityPtr identityById(int id);
+ static const QString ident();
+ static void setIdent(const QString &ident);
+ static const QString realName();
+ static void setRealName(const QString &name);
+ static const QString partReason();
+ static void setPartReason(const QString &newReason);
+ static const QString kickReason();
+ static void setKickReason(const QString &newReason);
+ static void setShowAwayMessage(bool state);
+ static bool showAwayMessage();
+ static const QString awayMessage();
+ static void setAwayMessage(const QString &newMessage);
+ static const QString unAwayMessage();
+ static void setUnAwayMessage(const QString &newMessage);
+ static const QString defaultNicknameSortingOrder();
+ static const QString nickname(int index);
+ static const QStringList nicknameList();
+ static void setNickname(int index,const QString &newName);
+ static void setNicknameList(const QStringList &newList);
+
+ static bool dialogFlag(const QString& flagName);
+ static void setDialogFlag(const QString& flagName,bool state);
+
+ static const QString channelEncoding(const QString& server,const QString& channel);
+ static const QString channelEncoding(int serverGroupId,const QString& channel);
+ static void setChannelEncoding(const QString& server,const QString& channel,const QString& encoding);
+ static void setChannelEncoding(int serverGroupId,const QString& channel,const QString& encoding);
+ static const QValueList<int> channelEncodingsServerGroupIdList();
+ static const QStringList channelEncodingsChannelList(int serverGroupId);
+
+ static void setShowTrayIcon(bool state);
+ static void setTrayNotify(bool state);
+ static void setAutoUserhost(bool state);
+
+ static QString webBrowserCmd();
+
+ signals:
+ void requestServerConnection(int number);
+ void requestSaveOptions();
+ void autoContinuousWhoChanged();
+ void updateTrayIcon();
+
+ protected:
+ IdentityPtr mIdentity;
+ Konversation::ServerGroupList mServerGroupList;
+ QPtrList<Ignore> mIgnoreList;
+ QValueList<IdentityPtr> mIdentityList;
+ QPtrList<Highlight> mHighlightList;
+ QMap<int, QStringList> mNotifyList; // network id, list of nicks
+ QMap< int,QMap<QString,QString> > mChannelEncodingsMap; // mChannelEncodingsMap[serverGroupdId][channelName]
+ QStringList mQuickButtonList;
+ QStringList mAutoreplaceList;
+ QString mSortingOrder;
+};
+#endif
diff --git a/konversation/src/config/preferences_base.kcfgc b/konversation/src/config/preferences_base.kcfgc
new file mode 100644
index 0000000..a728d44
--- /dev/null
+++ b/konversation/src/config/preferences_base.kcfgc
@@ -0,0 +1,8 @@
+ClassName=PreferencesBase
+File=konversation.kcfg
+GlobalEnums=true
+Mutators=true
+SetUserTexts=true
+Singleton=true
+MemberVariables=private
+ItemAccessors=true
diff --git a/konversation/src/connectionbehavior_preferences.ui b/konversation/src/connectionbehavior_preferences.ui
new file mode 100644
index 0000000..c1489ca
--- /dev/null
+++ b/konversation/src/connectionbehavior_preferences.ui
@@ -0,0 +1,187 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ConnectionBehavior_Config</class>
+<comment>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.
+</comment>
+<author>Copyright (C) 2005 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ConnectionBehavior_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>421</width>
+ <height>240</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_AutoReconnect</cstring>
+ </property>
+ <property name="title">
+ <string>Enable Automatic Reconnect</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>reconnectDelayLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Reconnect delay:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>reconnectDelaySpin</cstring>
+ </property>
+ </widget>
+ <spacer row="0" column="2">
+ <property name="name">
+ <cstring>spacer53</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>278</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Reconnection attempts:</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_ReconnectDelay</cstring>
+ </property>
+ <property name="label">
+ <string></string>
+ </property>
+ <property name="value">
+ <number>120</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>9999</number>
+ </property>
+ <property name="suffix">
+ <string> seconds</string>
+ </property>
+ </widget>
+ <widget class="KIntNumInput" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_ReconnectCount</cstring>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="minValue">
+ <number>0</number>
+ </property>
+ <property name="specialValueText">
+ <string>Unlimited</string>
+ </property>
+ </widget>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer53_3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>280</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer54</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>60</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>debugGBox</cstring>
+ </property>
+ <property name="title">
+ <string>Debug</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_RawLog</cstring>
+ </property>
+ <property name="text">
+ <string>Show raw &amp;log window when connecting</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<tabstops>
+ <tabstop>kcfg_AutoReconnect</tabstop>
+ <tabstop>kcfg_ReconnectDelay</tabstop>
+ <tabstop>kcfg_ReconnectCount</tabstop>
+ <tabstop>kcfg_RawLog</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+ <includehint>knuminput.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/connectionmanager.cpp b/konversation/src/connectionmanager.cpp
new file mode 100644
index 0000000..bb491c3
--- /dev/null
+++ b/konversation/src/connectionmanager.cpp
@@ -0,0 +1,580 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#include "connectionmanager.h"
+#include "connectionsettings.h"
+#include "serversettings.h"
+#include "servergroupsettings.h"
+#include "config/preferences.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "statuspanel.h"
+
+#include <qregexp.h>
+
+#include <klocale.h>
+#include <kmessagebox.h>
+
+
+ConnectionManager::ConnectionManager(QObject* parent) : QObject(parent)
+{
+ connect(this, SIGNAL(requestReconnect(Server*)), this, SLOT(handleReconnect(Server*)));
+}
+
+ConnectionManager::~ConnectionManager()
+{
+}
+
+void ConnectionManager::connectTo(Konversation::ConnectionFlag flag, const QString& target,
+ const QString& port, const QString& password, const QString& nick, const QString& channel,
+ bool useSSL)
+{
+ ConnectionSettings settings;
+
+ if (target.startsWith("irc://"))
+ decodeIrcUrl(target, settings);
+ else
+ {
+ decodeAddress(target, settings);
+
+ Konversation::ServerSettings server = settings.server();
+
+ if (!port.isEmpty()) server.setPort(port.toInt());
+
+ if (!password.isEmpty()) server.setPassword(password);
+
+ if (useSSL) server.setSSLEnabled(true);
+
+ settings.setServer(server);
+
+ if (!nick.isEmpty()) settings.setInitialNick(nick);
+
+ if (!channel.isEmpty())
+ {
+ Konversation::ChannelSettings channelSettings(channel);
+
+ settings.setInitialChannel(channelSettings);
+ }
+ }
+
+ connectTo(flag, settings);
+}
+
+void ConnectionManager::connectTo(Konversation::ConnectionFlag flag, int serverGroupId)
+{
+ ConnectionSettings settings;
+
+ Konversation::ServerGroupSettingsPtr serverGroup;
+
+ serverGroup = Preferences::serverGroupById(serverGroupId);
+
+ if (serverGroup)
+ {
+ settings.setServerGroup(serverGroup);
+
+ if (serverGroup->serverList().size() > 0)
+ settings.setServer(serverGroup->serverList()[0]);
+ }
+
+ connectTo(flag, settings);
+}
+
+void ConnectionManager::connectTo(Konversation::ConnectionFlag flag, ConnectionSettings& settings)
+{
+ if (!settings.isValid()) return;
+
+ emit closeServerList();
+
+ if (flag != Konversation::CreateNewConnection
+ && reuseExistingConnection(settings, (flag == Konversation::PromptToReuseConnection)))
+ {
+ return;
+ }
+
+ IdentityPtr identity = settings.identity();
+
+ if (!identity || !validateIdentity(identity)) return;
+
+ KonversationApplication* konvApp = static_cast<KonversationApplication *>(kapp);
+ KonversationMainWindow* mainWindow = konvApp->getMainWindow();
+
+ Server* server = new Server(this, settings);
+
+ enlistConnection(server->connectionId(), server);
+
+ connect(server, SIGNAL(destroyed(int)), this, SLOT(delistConnection(int)));
+
+ connect(server, SIGNAL(connectionStateChanged(Server*, Konversation::ConnectionState)),
+ this, SLOT(handleConnectionStateChange(Server*, Konversation::ConnectionState)));
+
+ connect(server, SIGNAL(awayState(bool)), this, SIGNAL(connectionChangedAwayState(bool)));
+
+ connect(server, SIGNAL(nicksNowOnline(Server*, const QStringList&, bool)),
+ mainWindow, SLOT(setOnlineList(Server*, const QStringList&,bool)));
+ connect(server, SIGNAL(awayInsertRememberLine(Server*)),
+ mainWindow, SIGNAL(triggerRememberLines(Server*)));
+
+ connect(mainWindow, SIGNAL(startNotifyTimer(int)), server, SLOT(startNotifyTimer(int)));
+
+ connect(server, SIGNAL(multiServerCommand(const QString&, const QString&)),
+ konvApp, SLOT(sendMultiServerCommand(const QString&, const QString&)));
+}
+
+void ConnectionManager::enlistConnection(int connectionId, Server* server)
+{
+ m_connectionList.insert(connectionId, server);
+}
+
+void ConnectionManager::delistConnection(int connectionId)
+{
+ m_connectionList.remove(connectionId);
+}
+
+void ConnectionManager::handleConnectionStateChange(Server* server, Konversation::ConnectionState state)
+{
+ emit connectionChangedState(server, state);
+
+ int identityId = server->getIdentity()->id();
+
+ if (state == Konversation::SSConnected)
+ {
+ if (!m_activeIdentities.contains(identityId))
+ {
+ m_activeIdentities.append(identityId);
+
+ emit identityOnline(identityId);
+ }
+ }
+ else if (state != Konversation::SSConnecting)
+ {
+ if (m_activeIdentities.contains(identityId))
+ {
+ m_activeIdentities.remove(identityId);
+
+ emit identityOffline(identityId);
+ }
+ }
+
+ if (state == Konversation::SSInvoluntarilyDisconnected)
+ {
+ // The asynchronous invocation of handleReconnect() makes sure that
+ // connectionChangedState() is emitted and delivered before it runs
+ // (and causes the next connection state change to occur).
+ emit requestReconnect(server);
+ }
+}
+
+void ConnectionManager::handleReconnect(Server* server)
+{
+ if (!Preferences::autoReconnect()) return;
+
+ ConnectionSettings settings = server->getConnectionSettings();
+
+ uint reconnectCount = Preferences::reconnectCount();
+
+ // For server groups, one iteration over their server list shall count as one
+ // connection attempt.
+ if (settings.serverGroup())
+ reconnectCount = reconnectCount * settings.serverGroup()->serverList().size();
+
+ if (reconnectCount == 0 || settings.reconnectCount() < reconnectCount)
+ {
+ if (settings.serverGroup() && settings.serverGroup()->serverList().size() > 1)
+ {
+ Konversation::ServerList serverList = settings.serverGroup()->serverList();
+
+ int index = serverList.findIndex(settings.server());
+ int size = serverList.size();
+
+ if (index == size - 1 || index == -1)
+ settings.setServer(serverList[0]);
+ else if (index < size - 1)
+ settings.setServer(serverList[index+1]);
+
+ server->setConnectionSettings(settings);
+
+ server->getStatusView()->appendServerMessage(i18n("Info"),
+ i18n("Trying to connect to %1 in %2 seconds.")
+ .arg(settings.server().host())
+ .arg(Preferences::reconnectDelay()));
+ }
+ else
+ {
+ server->getStatusView()->appendServerMessage(i18n("Info"),
+ i18n("Trying to reconnect to %1 in %2 seconds.")
+ .arg(settings.server().host())
+ .arg(Preferences::reconnectDelay()));
+ }
+
+ server->getConnectionSettings().incrementReconnectCount();
+
+ QTimer::singleShot(Preferences::reconnectDelay() * 1000, server, SLOT(connectToIRCServer()));
+ }
+ else
+ server->getStatusView()->appendServerMessage(i18n("Error"), i18n("Reconnection attempts exceeded."));
+}
+
+void ConnectionManager::quitServers()
+{
+ QMap<int, Server*>::ConstIterator it;
+
+ for (it = m_connectionList.begin(); it != m_connectionList.end(); ++it)
+ it.data()->quitServer();
+}
+
+void ConnectionManager::decodeIrcUrl(const QString& url, ConnectionSettings& settings)
+{
+ if (!url.startsWith("irc://")) return;
+
+ QString mangledUrl = url;
+
+ mangledUrl.remove(QRegExp("^irc:/+"));
+
+ if (mangledUrl.isEmpty()) return;
+
+ // Parsing address and channel.
+ QStringList mangledUrlSegments;
+
+ mangledUrlSegments = QStringList::split('/', mangledUrl, false);
+
+ // Check for ",isserver".
+ if (mangledUrlSegments[0].contains(','))
+ {
+ QStringList addressSegments;
+ bool checkIfServerGroup = true;
+
+ addressSegments = QStringList::split(',', mangledUrlSegments[0], false);
+
+ if (addressSegments.grep("isserver", false).size() > 0)
+ checkIfServerGroup = false;
+
+ decodeAddress(addressSegments[0], settings, checkIfServerGroup);
+ }
+ else
+ decodeAddress(mangledUrlSegments[0], settings);
+
+ QString channel;
+ Konversation::ChannelSettings channelSettings;
+
+ // Grabbing channel from in front of potential ?key=value parameters.
+ if (mangledUrlSegments.size() > 1)
+ channel = mangledUrlSegments[1].section('?', 0, 0);
+
+ if (!channel.isEmpty())
+ {
+ // Add default prefix to channel if necessary.
+ if (!channel.contains(QRegExp("^[#+&]{1}")))
+ channel = '#' + channel;
+
+ channelSettings.setName(channel);
+ }
+
+ // Parsing ?key=value parameters.
+ QString parameterString;
+
+ if (mangledUrlSegments.size() > 1)
+ parameterString = mangledUrlSegments[1].section('?', 1);
+
+ if (parameterString.isEmpty() && mangledUrlSegments.size() > 2)
+ parameterString = mangledUrlSegments[2];
+
+ if (!parameterString.isEmpty())
+ {
+ QRegExp parameterCatcher;
+
+ parameterCatcher.setPattern("pass=([^&]+)");
+
+ if (parameterCatcher.search(parameterString) != -1)
+ {
+ Konversation::ServerSettings server = settings.server();
+
+ server.setPassword(parameterCatcher.cap(1));
+
+ settings.setServer(server);
+ }
+
+ parameterCatcher.setPattern("key=([^&]+)");
+
+ if (parameterCatcher.search(parameterString) != -1)
+ channelSettings.setPassword(parameterCatcher.cap(1));
+ }
+
+ // Assigning channel.
+ if (!channelSettings.name().isEmpty())
+ settings.setInitialChannel(channelSettings);
+}
+
+void ConnectionManager::decodeAddress(const QString& address, ConnectionSettings& settings,
+ bool checkIfServerGroup)
+{
+ QString host;
+ QString port = "6667";
+
+ // Full-length IPv6 address with port
+ // Example: RFC 2732 notation: [2001:0DB8:0000:0000:0000:0000:1428:57ab]:6666
+ // Example: Non-RFC 2732 notation: 2001:0DB8:0000:0000:0000:0000:1428:57ab:6666
+ if (address.contains(':')==8)
+ {
+ host = address.section(':',0,-2).remove("[").remove("]");
+ port = address.section(':',-1);
+ }
+ // Full-length IPv6 address without port or not-full-length IPv6 address with port
+ // Example: Without port, RFC 2732 notation: [2001:0DB8:0000:0000:0000:0000:1428:57ab]
+ // Example: Without port, Non-RFC 2732 notation: 2001:0DB8:0000:0000:0000:0000:1428:57ab
+ // Example: With port, RFC 2732 notation: [2001:0DB8::1428:57ab]:6666
+ else if (address.contains(':')>=4)
+ {
+ // Last segment does not end with ], but the next to last does;
+ // Assume not-full-length IPv6 address with port
+ // Example: [2001:0DB8::1428:57ab]:6666
+ if (address.section(':',0,-2).endsWith("]") && !address.section(':',-1).endsWith("]"))
+ {
+ host = address.section(':',0,-2).remove("[").remove("]");
+ port = address.section(':',-1);
+ }
+ else
+ {
+ QString addressCopy = address;
+ host = addressCopy.remove("[").remove("]");
+ }
+ }
+ // IPv4 address or ordinary hostname with port
+ // Example: IPv4 address with port: 123.123.123.123:6666
+ // Example: Hostname with port: irc.bla.org:6666
+ else if (address.contains(':')==1)
+ {
+ host = address.section(':',0,-2);
+ port = address.section(':',-1);
+ }
+ else
+ host = address;
+
+ // Try to assign server group.
+ if (checkIfServerGroup && Preferences::isServerGroup(host))
+ {
+ // If host is found to be the name of a server group.
+
+ int serverGroupId = Preferences::serverGroupIdByName(host);
+
+ Konversation::ServerGroupSettingsPtr serverGroup;
+
+ serverGroup = Preferences::serverGroupById(serverGroupId);
+
+ settings.setServerGroup(serverGroup);
+
+ if (serverGroup->serverList().size() > 0)
+ settings.setServer(serverGroup->serverList()[0]);
+ }
+ else
+ {
+ if (Preferences::serverGroupByServer(host))
+ {
+ // If the host is found to be part of a server group's server list.
+
+ Konversation::ServerGroupSettingsPtr serverGroup;
+
+ serverGroup = Preferences::serverGroupByServer(host);
+
+ settings.setServerGroup(serverGroup);
+ }
+
+ Konversation::ServerSettings server;
+
+ server.setHost(host);
+ server.setPort(port.toInt());
+
+ settings.setServer(server);
+ }
+}
+
+bool ConnectionManager::reuseExistingConnection(ConnectionSettings& settings, bool interactive)
+{
+ Server* dupe = 0;
+ ConnectionDupe dupeType;
+ bool doReuse = true;
+
+ KonversationApplication* konvApp = static_cast<KonversationApplication *>(kapp);
+ KonversationMainWindow* mainWindow = konvApp->getMainWindow();
+
+ QMap<int, Server*>::ConstIterator it;
+
+ for (it = m_connectionList.begin(); it != m_connectionList.end(); ++it)
+ {
+ if (it.data()->getServerGroup() && settings.serverGroup()
+ && it.data()->getServerGroup() == settings.serverGroup())
+ {
+ dupe = it.data();
+ dupeType = SameServerGroup;
+
+ break;
+ }
+ }
+
+ if (!dupe)
+ {
+ for (it = m_connectionList.begin(); it != m_connectionList.end(); ++it)
+ {
+ if (it.data()->getConnectionSettings().server() == settings.server())
+ {
+ dupe = it.data();
+ dupeType = SameServer;
+
+ break;
+ }
+ }
+ }
+
+ if (dupe && interactive)
+ {
+ int result = KMessageBox::warningContinueCancel(
+ mainWindow,
+ i18n("You are already connected to %1. Do you want to open another connection?")
+ .arg(dupe->getDisplayName()),
+ i18n("Already connected to %1").arg(dupe->getDisplayName()),
+ i18n("Create connection"),
+ "ReuseExistingConnection");
+
+ if (result == KMessageBox::Continue) doReuse = false;
+ }
+
+ if (dupe && doReuse)
+ {
+ if (interactive && dupeType == SameServerGroup
+ && !(dupe->getConnectionSettings().server() == settings.server()))
+ {
+ int result = KMessageBox::warningContinueCancel(
+ mainWindow,
+ i18n("You are presently connected to %1 via '%2' (port %3). Do you want to switch to '%4' (port %5) instead?")
+ .arg(dupe->getDisplayName())
+ .arg(dupe->getServerName())
+ .arg(dupe->getPort())
+ .arg(settings.server().host())
+ .arg(settings.server().port()),
+ i18n("Already connected to %1").arg(dupe->getDisplayName()),
+ i18n("Switch Server"),
+ "ReconnectWithDifferentServer");
+
+ if (result == KMessageBox::Continue)
+ {
+ dupe->disconnect();
+
+ dupe->setConnectionSettings(settings);
+ }
+ }
+
+ if (!dupe->isConnected())
+ {
+ if (!settings.initialChannel().name().isEmpty())
+ dupe->updateAutoJoin(settings.initialChannel());
+
+ if (!dupe->isConnecting())
+ dupe->reconnect();
+ }
+ else
+ {
+ if (!settings.initialChannel().name().isEmpty())
+ {
+ dupe->sendJoinCommand(settings.initialChannel().name(),
+ settings.initialChannel().password());
+ }
+ }
+ }
+
+ return (dupe && doReuse);
+}
+
+bool ConnectionManager::validateIdentity(IdentityPtr identity, bool interactive)
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication *>(kapp);
+ KonversationMainWindow* mainWindow = konvApp->getMainWindow();
+
+ QString errors;
+
+ if (identity->getIdent().isEmpty())
+ errors+=i18n("Please fill in your <b>Ident</b>.<br>");
+
+ if (identity->getRealName().isEmpty())
+ errors+=i18n("Please fill in your <b>Real name</b>.<br>");
+
+ if (identity->getNickname(0).isEmpty())
+ errors+=i18n("Please provide at least one <b>Nickname</b>.<br>");
+
+ if (!errors.isEmpty())
+ {
+ if (interactive)
+ {
+ int result = KMessageBox::warningContinueCancel(mainWindow,
+ i18n("<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>")
+ .arg(identity->getName()).arg(errors),
+ i18n("Identity Settings"),
+ i18n("Edit Identity..."));
+
+ if (result == KMessageBox::Continue)
+ {
+ identity = mainWindow->editIdentity(identity);
+
+ if (identity && validateIdentity(identity, false))
+ return true;
+ else
+ return false;
+ }
+ else
+ return false;
+ }
+
+ return false;
+ }
+
+ return true;
+}
+
+QPtrList<Server> ConnectionManager::getServerList()
+{
+ QPtrList<Server> serverList;
+
+ QMap<int, Server*>::ConstIterator it;
+
+ for (it = m_connectionList.begin(); it != m_connectionList.end(); ++it)
+ serverList.append(it.data());
+
+ return serverList;
+}
+
+Server* ConnectionManager::getServerByConnectionId(int connectionId)
+{
+ if (m_connectionList.contains(connectionId))
+ return m_connectionList[connectionId];
+ else
+ return 0;
+}
+
+Server* ConnectionManager::getServerByName(const QString& name)
+{
+ QMap<int, Server*>::ConstIterator it;
+
+ for (it = m_connectionList.begin(); it != m_connectionList.end(); ++it)
+ {
+ if (it.data()->getDisplayName() == name || it.data()->getServerName() == name)
+ return it.data();
+ }
+
+ return 0;
+}
+
+Server* ConnectionManager::getAnyServer()
+{
+ if ( m_connectionList.count() > 0)
+ return m_connectionList[0];
+
+ return 0;
+}
+
+#include "connectionmanager.moc"
diff --git a/konversation/src/connectionmanager.h b/konversation/src/connectionmanager.h
new file mode 100644
index 0000000..9ada279
--- /dev/null
+++ b/konversation/src/connectionmanager.h
@@ -0,0 +1,95 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef CONNECTIONMANAGER_H
+#define CONNECTIONMANAGER_H
+
+#include "server.h"
+#include "identity.h"
+
+#include <qobject.h>
+
+
+class ConnectionSettings;
+
+class ConnectionManager : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit ConnectionManager(QObject* parent = 0);
+ ~ConnectionManager();
+
+ uint connectionCount() const { return m_connectionList.count(); }
+
+ QPtrList<Server> getServerList();
+
+ Server* getServerByConnectionId(int connectionId);
+ Server* getServerByName(const QString& name);
+ Server* getAnyServer();
+
+ void quitServers();
+ void toggleGlobalAway();
+
+
+ public slots:
+ void connectTo(Konversation::ConnectionFlag flag,
+ const QString& target,
+ const QString& port = "",
+ const QString& password = "",
+ const QString& nick = "",
+ const QString& channel = "",
+ bool useSSL = false);
+
+ void connectTo(Konversation::ConnectionFlag flag, int serverGroupId);
+ void connectTo(Konversation::ConnectionFlag flag, ConnectionSettings& settings);
+
+
+ signals:
+ void connectionChangedState(Server* server, Konversation::ConnectionState state);
+
+ void connectionChangedAwayState(bool away);
+
+ void requestReconnect(Server* server);
+
+ void identityOnline(int identityId);
+ void identityOffline(int identityId);
+
+ void closeServerList();
+
+
+ private slots:
+ void delistConnection(int connectionId);
+
+ void handleConnectionStateChange(Server* server, Konversation::ConnectionState state);
+
+ void handleReconnect(Server* server);
+
+
+ private:
+ void enlistConnection(int connectionId, Server* server);
+
+ void decodeIrcUrl(const QString& url, ConnectionSettings& settings);
+
+ void decodeAddress(const QString& address,
+ ConnectionSettings& settings,
+ bool checkIfServerGroup = true);
+
+ bool reuseExistingConnection(ConnectionSettings& settings, bool interactive);
+ bool validateIdentity(IdentityPtr identity, bool interactive = true);
+
+ QMap<int, Server*> m_connectionList;
+ QValueList<uint> m_activeIdentities;
+
+ enum ConnectionDupe { SameServer, SameServerGroup };
+};
+
+#endif
diff --git a/konversation/src/connectionsettings.cpp b/konversation/src/connectionsettings.cpp
new file mode 100644
index 0000000..f835406
--- /dev/null
+++ b/konversation/src/connectionsettings.cpp
@@ -0,0 +1,55 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#include "connectionsettings.h"
+#include "config/preferences.h"
+
+
+ConnectionSettings::ConnectionSettings()
+{
+ m_reconnectCount = 0;
+}
+
+ConnectionSettings::~ConnectionSettings()
+{
+}
+
+bool ConnectionSettings::isValid()
+{
+ if (m_server.host().isEmpty()) return false;
+
+ return true;
+}
+
+QString ConnectionSettings::name() const
+{
+ if (m_serverGroup)
+ return m_serverGroup->name();
+ else
+ return m_server.host();
+}
+
+IdentityPtr ConnectionSettings::identity() const
+{
+ if (m_serverGroup)
+ return m_serverGroup->identity();
+
+ return Preferences::identityById(0);
+}
+
+QString ConnectionSettings::initialNick() const
+{
+ if (!m_initialNick.isEmpty())
+ return m_initialNick;
+
+ return identity()->getNickname(0);
+}
+
diff --git a/konversation/src/connectionsettings.h b/konversation/src/connectionsettings.h
new file mode 100644
index 0000000..caa01ce
--- /dev/null
+++ b/konversation/src/connectionsettings.h
@@ -0,0 +1,61 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef CONNECTIONSETTINGS_H
+#define CONNECTIONSETTINGS_H
+
+#include "servergroupsettings.h"
+#include "serversettings.h"
+
+#include <qstring.h>
+
+
+class ConnectionSettings
+{
+ public:
+ explicit ConnectionSettings();
+ ~ConnectionSettings();
+
+ bool isValid();
+
+ QString name() const;
+
+ Konversation::ServerSettings server() const { return m_server; }
+ void setServer(Konversation::ServerSettings server) { m_server = server; }
+
+ Konversation::ServerGroupSettingsPtr serverGroup() const { return m_serverGroup; }
+ void setServerGroup(Konversation::ServerGroupSettingsPtr serverGroup) { m_serverGroup = serverGroup; }
+
+ IdentityPtr identity() const;
+
+ QString initialNick() const;
+ void setInitialNick(const QString& nick) { m_initialNick = nick; }
+
+ Konversation::ChannelSettings initialChannel() const { return m_initialChannel; }
+ void setInitialChannel(Konversation::ChannelSettings& channel) { m_initialChannel = channel; }
+
+ uint reconnectCount() const { return m_reconnectCount; }
+ void incrementReconnectCount() { m_reconnectCount++; }
+ void setReconnectCount(uint count) { m_reconnectCount = count; }
+
+
+ private:
+ Konversation::ServerSettings m_server;
+ Konversation::ServerGroupSettingsPtr m_serverGroup;
+
+ QString m_initialNick;
+ Konversation::ChannelSettings m_initialChannel;
+
+ uint m_reconnectCount;
+};
+
+
+#endif
diff --git a/konversation/src/dcc_preferences.cpp b/konversation/src/dcc_preferences.cpp
new file mode 100644
index 0000000..89ad86b
--- /dev/null
+++ b/konversation/src/dcc_preferences.cpp
@@ -0,0 +1,54 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#include "dcc_preferences.h"
+
+#include <qcombobox.h>
+#include <qlineedit.h>
+#include <klocale.h>
+
+
+DCC_Config::DCC_Config(QWidget *parent, const char* name) :
+ DCC_ConfigUI(parent,name)
+{
+ languageChange();
+ connect(kcfg_DccMethodToGetOwnIp, SIGNAL(activated(int)), this, SLOT(dccMethodChanged(int))); dccMethodChanged(kcfg_DccMethodToGetOwnIp->currentItem());
+
+
+}
+
+void DCC_Config::show()
+{
+ QWidget::show();
+
+ kcfg_DccSpecificOwnIp->setEnabled(kcfg_DccMethodToGetOwnIp->currentItem() == 2);
+}
+
+void DCC_Config::dccMethodChanged(int index)
+{
+ kcfg_DccSpecificOwnIp->setEnabled( index == 2 );
+}
+
+void DCC_Config::languageChange()
+{
+ kcfg_DccMethodToGetOwnIp->clear();
+ kcfg_DccMethodToGetOwnIp->insertItem(i18n("Network Interface"));
+ kcfg_DccMethodToGetOwnIp->insertItem(i18n("Reply From IRC Server"));
+ kcfg_DccMethodToGetOwnIp->insertItem(i18n("Specify Manually"));
+
+}
+
+DCC_Config::~DCC_Config()
+{
+}
+#include "dcc_preferences.moc"
+
diff --git a/konversation/src/dcc_preferences.h b/konversation/src/dcc_preferences.h
new file mode 100644
index 0000000..cfbcf51
--- /dev/null
+++ b/konversation/src/dcc_preferences.h
@@ -0,0 +1,38 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef EXDCCPREFERENCES_H
+#define EXDCCPREFERENCES_H
+
+#include "dcc_preferencesui.h"
+
+
+class QComboBox;
+
+class DCC_Config : public DCC_ConfigUI
+{
+ Q_OBJECT
+
+ public:
+ DCC_Config(QWidget* parent, const char* name);
+ ~DCC_Config();
+
+ public slots:
+ virtual void show();
+
+
+ protected slots:
+ virtual void languageChange();
+ void dccMethodChanged(int index);
+};
+
+#endif
diff --git a/konversation/src/dcc_preferencesui.ui b/konversation/src/dcc_preferencesui.ui
new file mode 100644
index 0000000..9bfdfcb
--- /dev/null
+++ b/konversation/src/dcc_preferencesui.ui
@@ -0,0 +1,527 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>DCC_ConfigUI</class>
+<comment>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.</comment>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>DCC_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>578</width>
+ <height>517</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>DCC_Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>dccPathLbl</cstring>
+ </property>
+ <property name="text">
+ <string>Download &amp;folder:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DccPath</cstring>
+ </property>
+ </widget>
+ <widget class="KURLRequester" row="0" column="1" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_DccPath</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="mode">
+ <number>2</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccAddPartner</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Add sender to file name</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccCreateFolder</cstring>
+ </property>
+ <property name="text">
+ <string>Cr&amp;eate folder for sender</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccSpaceToUnderscore</cstring>
+ </property>
+ <property name="text">
+ <string>Convert spaces in file names to underscores before sending</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccAutoGet</cstring>
+ </property>
+ <property name="text">
+ <string>Automaticall&amp;y accept download offer</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccAutoResume</cstring>
+ </property>
+ <property name="text">
+ <string>Au&amp;tomatically resume download</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>kcfg_DccFastSend</cstring>
+ </property>
+ <property name="text">
+ <string>Enable fast DCC send (Might &amp;not work with all clients)</string>
+ </property>
+ </widget>
+ <spacer row="13" column="2">
+ <property name="name">
+ <cstring>spacer4_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QLabel" row="10" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel6</cstring>
+ </property>
+ <property name="text">
+ <string>Buffer si&amp;ze:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DccBufferSize</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="9" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel7</cstring>
+ </property>
+ <property name="text">
+ <string>DCC send t&amp;imeout:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DccSendTimeout</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="8" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_DccIPv4Fallback</cstring>
+ </property>
+ <property name="text">
+ <string>Fallback to an IPv&amp;4 interface for DCC send:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If this option enabled dcc transfers for IPv6 connections will be done over IPv4 interface set here</string>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="10" column="2">
+ <property name="name">
+ <cstring>kcfg_DccBufferSize</cstring>
+ </property>
+ <property name="suffix">
+ <string> bytes</string>
+ </property>
+ <property name="maxValue">
+ <number>65536</number>
+ </property>
+ <property name="minValue">
+ <number>512</number>
+ </property>
+ <property name="lineStep">
+ <number>128</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="9" column="2">
+ <property name="name">
+ <cstring>kcfg_DccSendTimeout</cstring>
+ </property>
+ <property name="suffix">
+ <string> sec</string>
+ </property>
+ <property name="maxValue">
+ <number>300</number>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="8" column="2">
+ <property name="name">
+ <cstring>kcfg_DccIPv4FallbackIface</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_DccPassiveSend</cstring>
+ </property>
+ <property name="text">
+ <string>Enable passive DCC send</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="8" column="3">
+ <property name="name">
+ <cstring>spacer5</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Maximum</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>70</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="9" column="3">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>70</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="10" column="3">
+ <property name="name">
+ <cstring>spacer3_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>70</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QGroupBox" row="11" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>groupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>IP</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_DccSpecificOwnIp</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Method to get own IP:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DccMethodToGetOwnIp</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>ownIP</cstring>
+ </property>
+ <property name="text">
+ <string>O&amp;wn IP:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_DccSpecificOwnIp</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_DccMethodToGetOwnIp</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="12" column="0" rowspan="1" colspan="4">
+ <property name="name">
+ <cstring>groupBox2</cstring>
+ </property>
+ <property name="title">
+ <string>Ports</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_DccSpecificChatPorts</cstring>
+ </property>
+ <property name="text">
+ <string>Enable specific p&amp;orts for DCC chat:</string>
+ </property>
+ </widget>
+ <spacer row="1" column="1">
+ <property name="name">
+ <cstring>spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QSpinBox" row="1" column="2">
+ <property name="name">
+ <cstring>kcfg_DccChatPortsFirst</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maxValue">
+ <number>65535</number>
+ </property>
+ <property name="minValue">
+ <number>1026</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="3">
+ <property name="name">
+ <cstring>textLabel2_2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>to</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="1" column="4">
+ <property name="name">
+ <cstring>kcfg_DccChatPortsLast</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maxValue">
+ <number>65535</number>
+ </property>
+ <property name="minValue">
+ <number>1027</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_DccSpecificSendPorts</cstring>
+ </property>
+ <property name="text">
+ <string>Enable specific &amp;ports for DCC transfer server:</string>
+ </property>
+ </widget>
+ <spacer row="0" column="1">
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QSpinBox" row="0" column="2">
+ <property name="name">
+ <cstring>kcfg_DccSendPortsFirst</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maxValue">
+ <number>65535</number>
+ </property>
+ <property name="minValue">
+ <number>1026</number>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="3">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>to</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_DccSendPortsLast</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="maxValue">
+ <number>65535</number>
+ </property>
+ <property name="minValue">
+ <number>1027</number>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>kcfg_DccSpecificSendPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_DccSendPortsFirst</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccSpecificSendPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel1_2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccSpecificSendPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_DccSendPortsLast</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccSpecificChatPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_DccChatPortsFirst</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccSpecificChatPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel2_2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccSpecificChatPorts</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_DccChatPortsLast</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_DccIPv4Fallback</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_DccIPv4FallbackIface</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_DccPath</tabstop>
+ <tabstop>kcfg_DccAddPartner</tabstop>
+ <tabstop>kcfg_DccCreateFolder</tabstop>
+ <tabstop>kcfg_DccSpaceToUnderscore</tabstop>
+ <tabstop>kcfg_DccAutoGet</tabstop>
+ <tabstop>kcfg_DccAutoResume</tabstop>
+ <tabstop>kcfg_DccFastSend</tabstop>
+ <tabstop>kcfg_DccPassiveSend</tabstop>
+ <tabstop>kcfg_DccIPv4Fallback</tabstop>
+ <tabstop>kcfg_DccIPv4FallbackIface</tabstop>
+ <tabstop>kcfg_DccSendTimeout</tabstop>
+ <tabstop>kcfg_DccBufferSize</tabstop>
+ <tabstop>kcfg_DccMethodToGetOwnIp</tabstop>
+ <tabstop>kcfg_DccSpecificOwnIp</tabstop>
+ <tabstop>kcfg_DccSpecificSendPorts</tabstop>
+ <tabstop>kcfg_DccSendPortsFirst</tabstop>
+ <tabstop>kcfg_DccSendPortsLast</tabstop>
+ <tabstop>kcfg_DccSpecificChatPorts</tabstop>
+ <tabstop>kcfg_DccChatPortsFirst</tabstop>
+ <tabstop>kcfg_DccChatPortsLast</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/dccchat.cpp b/konversation/src/dccchat.cpp
new file mode 100644
index 0000000..37b8b6f
--- /dev/null
+++ b/konversation/src/dccchat.cpp
@@ -0,0 +1,473 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+ Copyright (C) 2004,2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#include "dccchat.h"
+#include "dcccommon.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "irccharsets.h"
+#include "ircview.h"
+#include "ircviewbox.h"
+#include "ircinput.h"
+#include "topiclabel.h"
+#include "server.h"
+#include "channel.h"
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+
+#include <qvbox.h>
+#include <qhostaddress.h>
+#include <qtextcodec.h>
+#include <qsplitter.h>
+#include <qpopupmenu.h>
+
+#include <klineedit.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kdebug.h>
+#include <kserversocket.h>
+#include <ksocketaddress.h>
+#include <kstreamsocket.h>
+#include <kaction.h>
+
+#define DCCCHAT_BUFFER_SIZE 1024
+
+
+DccChat::DccChat(QWidget* parent, bool listen, Server* server, const QString& ownNick, const QString& partnerNick, const QString& partnerHost, int partnerPort)
+ : ChatWindow(parent)
+{
+ kdDebug() << "DccChat::DccChat() [BEGIN]" << endl;
+
+ m_dccSocket = 0;
+ m_listenSocket = 0;
+
+ m_ownNick = ownNick;
+
+ m_partnerNick = partnerNick;
+ m_partnerHost = partnerHost;
+ m_partnerPort = partnerPort;
+
+ setType(ChatWindow::DccChat);
+ setChannelEncodingSupported(true);
+
+ m_headerSplitter = new QSplitter(Qt::Vertical, this);
+
+ m_sourceLine = new Konversation::TopicLabel(m_headerSplitter);
+
+ IRCViewBox* ircViewBox = new IRCViewBox(m_headerSplitter, NULL);
+ setTextView(ircViewBox->ircView());
+
+ m_dccChatInput = new IRCInput(this);
+ getTextView()->installEventFilter(m_dccChatInput);
+ m_dccChatInput->setEnabled( false );
+
+ ChatWindow::setName( '-' + m_partnerNick + '-' );
+ ChatWindow::setLogfileName( '-' + m_partnerNick + '-' );
+
+ QPopupMenu* popup = textView->getPopup();
+
+ if (popup)
+ {
+ KAction* action = KonversationApplication::instance()->getMainWindow()->actionCollection()->action("open_logfile");
+
+ if (action)
+ {
+ popup->insertSeparator();
+ action->plug(popup);
+ }
+ }
+
+ // connect the signals and slots
+ connect( m_dccChatInput, SIGNAL( submit() ), this, SLOT( dccChatTextEntered() ) );
+ connect( m_dccChatInput, SIGNAL( textPasted( const QString& ) ), this, SLOT( textPasted( const QString& ) ) );
+
+ connect( getTextView(), SIGNAL( textPasted(bool) ), m_dccChatInput, SLOT( paste(bool) ) );
+ connect( getTextView(), SIGNAL( gotFocus() ), m_dccChatInput, SLOT( setFocus() ) );
+ connect( getTextView(), SIGNAL( autoText(const QString&) ), this, SLOT( sendDccChatText( const QString& ) ) );
+
+ if (listen)
+ {
+ listenForPartner();
+ QString ownNumericalIp = DccCommon::textIpToNumericalIp( DccCommon::getOwnIp( server ) );
+ server->requestDccChat( m_partnerNick, ownNumericalIp, QString::number( m_ownPort ) );
+ }
+ else
+ {
+ connectToPartner();
+ }
+
+ kdDebug() << "DccChat::DccChat() [END]" << endl;
+
+ updateAppearance();
+}
+
+DccChat::~DccChat()
+{
+ kdDebug() << "DccChat::~DccChat()" << endl;
+ if(m_dccSocket)
+ m_dccSocket->close();
+ if(m_listenSocket)
+ m_listenSocket->close();
+}
+
+void DccChat::listenForPartner()
+{
+ kdDebug() << "DccChat::listenForPartner() [BEGIN]" << endl;
+
+ // Set up server socket
+ QString failedReason;
+ if ( Preferences::dccSpecificChatPorts() )
+ m_listenSocket = DccCommon::createServerSocketAndListen( this, &failedReason, Preferences::dccChatPortsFirst(), Preferences::dccChatPortsLast() );
+ else
+ m_listenSocket = DccCommon::createServerSocketAndListen( this, &failedReason );
+ if ( !m_listenSocket )
+ {
+ getTextView()->appendServerMessage( i18n( "DCC" ), i18n( "Could not open a socket for listening: %1" ).arg( failedReason ) );
+ return;
+ }
+
+ connect( m_listenSocket, SIGNAL(readyAccept()), this, SLOT(heardPartner()) );
+
+ // Get our own port number
+ m_ownPort = DccCommon::getServerSocketPort( m_listenSocket );
+ kdDebug() << "DccChat::listenForPartner(): using port " << m_ownPort << endl;
+
+ getTextView()->appendServerMessage( i18n("DCC"), i18n("Offering DCC Chat connection to %1 on port %2...").arg( m_partnerNick ).arg( m_ownPort ) );
+ m_sourceLine->setText(i18n( "DCC chat with %1 on port %2." ).arg( m_partnerNick ).arg( m_ownPort ) );
+ kdDebug() << "DccChat::listenForPartner() [END]" << endl;
+}
+
+void DccChat::connectToPartner()
+{
+ QHostAddress ip;
+
+ ip.setAddress(m_partnerHost.toUInt());
+ m_partnerHost=ip.toString();
+
+ getTextView()->appendServerMessage( i18n( "DCC" ), i18n( "%1 = nickname, %2 = IP, %3 = port",
+ "Establishing DCC Chat connection to %1 (%2:%3)..." ).arg( m_partnerNick ).arg( m_partnerHost ).arg( m_partnerPort ) );
+
+ m_sourceLine->setText( i18n( "%1 = nickname, %2 = IP, %3 = port", "DCC chat with %1 on %2:%3." ).arg( m_partnerNick ).arg( host ).arg( m_partnerPort ) );
+
+ m_dccSocket = new KNetwork::KStreamSocket( m_partnerHost, QString::number( m_partnerPort ), this );
+
+ m_dccSocket->setBlocking(false);
+ m_dccSocket->setFamily(KNetwork::KResolver::InetFamily);
+ m_dccSocket->enableRead(false);
+ m_dccSocket->enableWrite(false);
+ m_dccSocket->setTimeout(10000);
+ m_dccSocket->blockSignals(false);
+
+ connect( m_dccSocket, SIGNAL( hostFound() ), this, SLOT( lookupFinished() ) );
+ connect( m_dccSocket, SIGNAL( connected( const KResolverEntry& ) ), this, SLOT( dccChatConnectionSuccess() ) );
+ connect( m_dccSocket, SIGNAL( gotError( int ) ), this, SLOT( dccChatBroken( int ) ) );
+ connect( m_dccSocket, SIGNAL( readyRead() ), this, SLOT( readData() ) );
+ connect( m_dccSocket, SIGNAL( closed() ), this, SLOT( socketClosed() ) );
+
+ m_dccSocket->connect();
+
+#if 0
+ //getTextView()->appendServerMessage(i18n("DCC"),i18n("Looking for host %1...").arg(host));
+#endif
+
+}
+
+void DccChat::lookupFinished()
+{
+
+#if 0
+ //getTextView()->appendServerMessage(i18n("DCC"),i18n("Host found, connecting..."));
+#endif
+
+}
+
+void DccChat::dccChatConnectionSuccess()
+{
+ getTextView()->appendServerMessage( i18n( "DCC" ), i18n( "Established DCC Chat connection to %1." ).arg( m_partnerNick ) );
+ m_dccSocket->enableRead(true);
+ m_dccChatInput->setEnabled(true);
+}
+
+void DccChat::dccChatBroken(int error)
+{
+ getTextView()->appendServerMessage(i18n("Error"),i18n("Connection broken, error code %1.").arg(error));
+ m_dccSocket->enableRead(false);
+ m_dccSocket->blockSignals(true);
+ m_dccSocket->close();
+}
+
+void DccChat::readData()
+{
+ kdDebug() << k_funcinfo << ( m_listenSocket == 0 ) << " BEGIN" << endl;
+ int available=0;
+ int actual=0;
+ char* buffer=0;
+ QString line;
+ QTextCodec* codec = Konversation::IRCCharsets::self()->codecForName(m_encoding.isEmpty() ? Konversation::IRCCharsets::self()->encodingForLocale() : m_encoding);
+
+ available = m_dccSocket->bytesAvailable();
+ if( available > 0 )
+ {
+ buffer = new char[ available + 1 ];
+ actual = m_dccSocket->readBlock( buffer, available );
+ buffer[ actual ] = 0;
+ line.append( codec->toUnicode( buffer ) );
+ delete[] buffer;
+
+ QStringList lines = QStringList::split( '\n', line );
+
+ for( QStringList::iterator itLine = lines.begin() ; itLine != lines.end() ; itLine++ )
+ {
+ if( (*itLine).startsWith( "\x01" ) )
+ {
+ // cut out the CTCP command
+ QString ctcp = (*itLine).mid( 1, (*itLine).find( 1, 1 ) - 1 );
+
+ QString ctcpCommand = ctcp.section( " ", 0, 0 );
+ QString ctcpArgument = ctcp.section( " ", 1 );
+
+ if( ctcpCommand.lower() == "action" )
+ appendAction( m_partnerNick, ctcpArgument );
+ else
+ getTextView()->appendServerMessage( i18n( "CTCP" ), i18n( "Received unknown CTCP-%1 request from %2" ).arg( ctcp ).arg( m_partnerNick ) );
+ }
+ else getTextView()->append( m_partnerNick, *itLine );
+ } // endfor
+ } else {
+ dccChatBroken(m_dccSocket->error());
+ }
+
+ kdDebug() << k_funcinfo << " END" << endl;
+}
+
+void DccChat::dccChatTextEntered()
+{
+ QString line = m_dccChatInput->text();
+ m_dccChatInput->setText("");
+ if ( line.lower() == Preferences::commandChar()+"clear" )
+ {
+ textView->clear();
+ }
+ else if ( !line.isEmpty() )
+ {
+ sendDccChatText(line);
+ }
+}
+
+void DccChat::sendDccChatText(const QString& sendLine)
+{
+ kdDebug() << k_funcinfo << " BEGIN" << endl;
+ // create a work copy
+ QString output(sendLine);
+ QString cc=Preferences::commandChar();
+
+ if(!output.isEmpty())
+ {
+ QStringList lines = QStringList::split('\n',output);
+ // wrap socket into a stream
+ QTextStream stream(m_dccSocket);
+ // init stream props
+ stream.setCodec(Konversation::IRCCharsets::self()->codecForName(m_encoding.isEmpty() ? Konversation::IRCCharsets::self()->encodingForLocale() : m_encoding));
+
+ for( QStringList::iterator itLine = lines.begin() ; itLine != lines.end() ; itLine++ )
+ {
+ QString line( *itLine );
+
+ // replace aliases and wildcards
+ // if(filter.replaceAliases(line)) line=server->parseWildcards(line,nick,getName(),QString::null,QString::null,QString::null);
+
+ // line=filter.parse(nick,line,getName());
+
+ // convert /me actions
+ QString cmd=line.section(' ', 0,0).lower();
+ if (cmd == cc+"me")
+ {
+ appendAction( m_ownNick, line.section( " ", 1 ) );
+ line=QString("\x01%1 %2\x01").arg("ACTION").arg(line.section(" ",1));
+ }
+ else if (cmd == cc+"close")
+ {
+ closeYourself(false);
+ return;
+ }
+ else
+ getTextView()->append( m_ownNick, line );
+
+ stream << line << endl;
+ } // endfor
+
+ // detach stream
+ stream.unsetDevice();
+ }
+ kdDebug() << k_funcinfo << " END" << endl;
+}
+
+void DccChat::heardPartner()
+{
+ m_dccSocket = static_cast<KNetwork::KStreamSocket*>( m_listenSocket->accept() );
+
+ if( !m_dccSocket )
+ {
+ getTextView()->appendServerMessage( i18n( "Error" ),i18n( "Could not accept the client." ) );
+ return;
+ }
+
+ connect( m_dccSocket, SIGNAL( readyRead() ), this, SLOT( readData() ) );
+ connect( m_dccSocket, SIGNAL( closed() ), this, SLOT( socketClosed() ) );
+ connect( m_dccSocket, SIGNAL( gotError( int ) ), this, SLOT( dccChatBroken( int ) ) );
+
+ // the listen socket isn't needed anymore
+ disconnect( m_listenSocket, 0, 0, 0 );
+ m_listenSocket->close();
+ m_listenSocket = 0;
+
+ m_dccSocket->enableRead(true);
+ m_dccChatInput->setEnabled(true);
+
+ getTextView()->appendServerMessage( i18n( "DCC" ), i18n( "Established DCC Chat connection to %1." ).arg( m_partnerNick ) );
+}
+
+void DccChat::socketClosed()
+{
+ getTextView()->appendServerMessage(i18n("DCC"),"Connection closed.");
+ m_dccChatInput->setEnabled(false);
+ m_dccSocket = 0;
+}
+
+void DccChat::textPasted(const QString& text)
+{
+ sendDccChatText(text);
+}
+
+void DccChat::childAdjustFocus()
+{
+ m_dccChatInput->setFocus();
+}
+
+bool DccChat::canBeFrontView()
+{
+ return true;
+}
+
+bool DccChat::searchView()
+{
+ return true;
+}
+
+int DccChat::getOwnPort()
+{
+ return m_ownPort;
+}
+
+QString DccChat::getTextInLine()
+{
+ return m_dccChatInput->text();
+}
+
+void DccChat::appendInputText( const QString& s, bool fromCursor )
+{
+ if(!fromCursor)
+ {
+ m_dccChatInput->append(s);
+ }
+ else
+ {
+ int para = 0, index = 0;
+ m_dccChatInput->getCursorPosition(&para, &index);
+ m_dccChatInput->insertAt(s, para, index);
+ m_dccChatInput->setCursorPosition(para, index + s.length());
+ }
+}
+
+//FIXME uh... where is the confimation for this?
+bool DccChat::closeYourself(bool)
+{
+ deleteLater();
+ return true;
+}
+
+void DccChat::setChannelEncoding(const QString& encoding) // virtual
+{
+ m_encoding = encoding;
+}
+
+QString DccChat::getChannelEncoding() // virtual
+{
+ return m_encoding;
+}
+
+QString DccChat::getChannelEncodingDefaultDesc() // virtual
+{
+ return i18n("Default ( %1 )").arg(Konversation::IRCCharsets::self()->encodingForLocale());
+}
+
+void DccChat::showEvent(QShowEvent* /* event */)
+{
+ if(m_initialShow) {
+ m_initialShow = false;
+ QValueList<int> sizes;
+ sizes << m_sourceLine->sizeHint().height() << (height() - m_sourceLine->sizeHint().height());
+ m_headerSplitter->setSizes(sizes);
+ }
+}
+
+void DccChat::updateAppearance()
+{
+ QColor fg;
+ QColor bg;
+
+ if(Preferences::inputFieldsBackgroundColor())
+ {
+ fg=Preferences::color(Preferences::ChannelMessage);
+ bg=Preferences::color(Preferences::TextViewBackground);
+ }
+ else
+ {
+ fg=colorGroup().foreground();
+ bg=colorGroup().base();
+ }
+
+ m_dccChatInput->unsetPalette();
+ m_dccChatInput->setPaletteForegroundColor(fg);
+ m_dccChatInput->setPaletteBackgroundColor(bg);
+
+ getTextView()->unsetPalette();
+
+ if(Preferences::showBackgroundImage())
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ Preferences::backgroundImage());
+ }
+ else
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ QString());
+ }
+
+ if (Preferences::customTextFont())
+ {
+ getTextView()->setFont(Preferences::textFont());
+ m_dccChatInput->setFont(Preferences::textFont());
+ }
+ else
+ {
+ getTextView()->setFont(KGlobalSettings::generalFont());
+ m_dccChatInput->setFont(KGlobalSettings::generalFont());
+ }
+
+ ChatWindow::updateAppearance();
+}
+
+#include "dccchat.moc"
diff --git a/konversation/src/dccchat.h b/konversation/src/dccchat.h
new file mode 100644
index 0000000..d4a5f13
--- /dev/null
+++ b/konversation/src/dccchat.h
@@ -0,0 +1,102 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef DCCCHAT_H
+#define DCCCHAT_H
+
+#include "chatwindow.h"
+
+
+class QSplitter;
+
+class IRCInput;
+class KLineEdit;
+class Server;
+
+namespace KNetwork
+{
+ class KServerSocket;
+ class KStreamSocket;
+}
+
+namespace Konversation
+{
+ class TopicLabel;
+}
+
+class DccChat : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ DccChat(QWidget* parent, bool listen, Server* server, const QString& ownNick, const QString& partnerNick, const QString& partnerHost = QString(), int partnerPort = 0);
+ ~DccChat();
+
+ virtual QString getTextInLine();
+ virtual bool closeYourself(bool askForConfirmation=true);
+ virtual bool canBeFrontView();
+ virtual bool searchView();
+
+ int getOwnPort();
+
+ virtual void setChannelEncoding(const QString& encoding);
+ virtual QString getChannelEncoding();
+ virtual QString getChannelEncodingDefaultDesc();
+
+ virtual bool isInsertSupported() { return true; }
+
+ QString getOwnNick() { return m_ownNick; }
+
+ public slots:
+ void appendInputText(const QString& s, bool fromCursor);
+ void updateAppearance();
+
+ protected slots:
+ void lookupFinished();
+ void dccChatConnectionSuccess();
+ void dccChatBroken(int error);
+ void readData();
+ void dccChatTextEntered();
+ void sendDccChatText(const QString& sendLine);
+ void textPasted(const QString& text);
+ void heardPartner();
+ void socketClosed();
+
+ protected:
+ void listenForPartner();
+ void connectToPartner();
+
+ virtual void showEvent(QShowEvent* event);
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ QString m_ownNick;
+ QString m_partnerNick;
+ QString m_partnerHost;
+ int m_partnerPort;
+ QString host;
+
+ //QString m_ip;
+ int m_ownPort;
+
+ QSplitter* m_headerSplitter;
+ Konversation::TopicLabel* m_sourceLine;
+ IRCInput* m_dccChatInput;
+ KNetwork::KStreamSocket* m_dccSocket;
+ KNetwork::KServerSocket* m_listenSocket;
+
+ QString m_encoding;
+
+ bool m_initialShow;
+};
+#endif
diff --git a/konversation/src/dcccommon.cpp b/konversation/src/dcccommon.cpp
new file mode 100644
index 0000000..d03548d
--- /dev/null
+++ b/konversation/src/dcccommon.cpp
@@ -0,0 +1,118 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#include "dcccommon.h"
+#include "channel.h"
+#include "preferences.h"
+#include "server.h"
+
+#include <arpa/inet.h>
+
+#include <qhostaddress.h>
+
+#include <klocale.h>
+#include <kresolver.h>
+#include <kserversocket.h>
+
+
+QString DccCommon::textIpToNumericalIp( const QString& ipString )
+{
+ QHostAddress ip;
+ ip.setAddress( ipString );
+
+ return QString::number( ip.ip4Addr() );
+}
+
+QString DccCommon::numericalIpToTextIp( const QString& numericalIp )
+{
+ QHostAddress ip;
+ ip.setAddress( numericalIp.toULong() );
+
+ return ip.toString();
+}
+
+QString DccCommon::getOwnIp( Server* server )
+{
+ QString ownIp;
+ int methodId = Preferences::dccMethodToGetOwnIp();
+
+ if ( methodId == 1 && server )
+ {
+ // by the WELCOME message or the USERHOST message from the server
+ ownIp = server->getOwnIpByServerMessage();
+ }
+ else if ( methodId == 2 && !Preferences::dccSpecificOwnIp().isEmpty() )
+ {
+ // manual
+ KNetwork::KResolverResults res = KNetwork::KResolver::resolve(Preferences::dccSpecificOwnIp(), "");
+ if(res.error() == KResolver::NoError && res.size() > 0)
+ {
+ ownIp = res.first().address().nodeName();
+ }
+ }
+
+ // fallback or methodId == 3 (network interface)
+ if ( ownIp.isEmpty() && server )
+ {
+ ownIp = server->getOwnIpByNetworkInterface();
+ }
+
+ kdDebug() << "DccCommon::getOwnIp(): " << ownIp << endl;
+ return ownIp;
+}
+
+KNetwork::KServerSocket* DccCommon::createServerSocketAndListen( QObject* parent, QString* failedReason, int minPort, int maxPort )
+{
+ KNetwork::KServerSocket* socket = new KNetwork::KServerSocket( parent );
+ socket->setFamily( KNetwork::KResolver::InetFamily );
+
+ if ( minPort > 0 && maxPort >= minPort ) // ports are configured manually
+ {
+ // set port
+ bool found = false; // whether succeeded to set port
+ for ( int port = minPort; port <= maxPort ; ++port )
+ {
+ socket->setAddress( QString::number( port ) );
+ bool success = socket->listen();
+ if ( ( found = ( success && socket->error() == KNetwork::KSocketBase::NoError ) ) )
+ break;
+ socket->close();
+ }
+ if ( !found )
+ {
+ if ( failedReason )
+ *failedReason = i18n( "No vacant port" );
+ delete socket;
+ return 0;
+ }
+ }
+ else
+ {
+ // Let the operating system choose a port
+ socket->setAddress( "0" );
+ if ( !socket->listen() )
+ {
+ if ( failedReason )
+ *failedReason = i18n( "Could not open a socket" );
+ delete socket;
+ return 0;
+ }
+ }
+
+ return socket;
+}
+
+int DccCommon::getServerSocketPort( KNetwork::KServerSocket* serverSocket )
+{
+ KNetwork::KSocketAddress ipAddr = serverSocket->localAddress();
+ const struct sockaddr_in* socketAddress = (sockaddr_in*)ipAddr.address();
+ return ntohs( socketAddress->sin_port );
+}
diff --git a/konversation/src/dcccommon.h b/konversation/src/dcccommon.h
new file mode 100644
index 0000000..f3e8220
--- /dev/null
+++ b/konversation/src/dcccommon.h
@@ -0,0 +1,48 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#ifndef DCCCOMMON_H
+#define DCCCOMMON_H
+
+#include <qstring.h>
+
+class QObject;
+
+namespace KNetwork
+{
+ class KServerSocket;
+}
+
+class Server;
+
+class DccCommon
+{
+ public:
+ // converts an IP text like "127.0.0.1" to a number.
+ static QString textIpToNumericalIp( const QString& ipString );
+
+ // converts a numerical IP text like "12345678" to a normal IP text.
+ static QString numericalIpToTextIp( const QString& numericalIp );
+
+ // returns the self IP following the setting.
+ static QString getOwnIp( Server* server = 0 );
+
+ // creates an instance of KNetwork::ServerSocket following the DCC settings
+ static KNetwork::KServerSocket* createServerSocketAndListen( QObject* parent = 0, QString* failedReason = 0, int minPort = 0, int maxPort = 0 );
+
+ // returns the port number from a server socket
+ static int getServerSocketPort( KNetwork::KServerSocket* serverSocket );
+
+ private:
+ DccCommon();
+};
+
+#endif // DCCCOMMON_H
diff --git a/konversation/src/dccrecipientdialog.cpp b/konversation/src/dccrecipientdialog.cpp
new file mode 100644
index 0000000..8c86caf
--- /dev/null
+++ b/konversation/src/dccrecipientdialog.cpp
@@ -0,0 +1,100 @@
+/*
+ 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.
+*/
+
+/*
+ lets the user choose a nick from the list
+ begin: Sam Dez 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "dccrecipientdialog.h"
+
+#include <qlayout.h>
+
+#include <klineedit.h>
+#include <klocale.h>
+#include <kdebug.h>
+
+
+QString DccRecipientDialog::selectedNickname; // static
+
+DccRecipientDialog::DccRecipientDialog(QWidget* parent, const QStringList &list,const QSize &size) :
+ KDialogBase(parent,"dcc_recipient_dialog",true,i18n("Select Recipient"),
+ KDialogBase::Ok | KDialogBase::Cancel,KDialogBase::Ok,true)
+{
+ // Create the top level widget
+ QWidget* page=new QWidget(this);
+ setMainWidget(page);
+ // Add the layout to the widget
+ QVBoxLayout* dialogLayout=new QVBoxLayout(page);
+ dialogLayout->setSpacing(spacingHint());
+ // Add the nickname list widget
+ KListBox* nicknameList=new KListBox(page,"recipient_list");
+
+ nicknameList->insertStringList(list);
+ nicknameList->sort(true);
+
+ nicknameInput=new KLineEdit(page,"nickname_input");
+
+ dialogLayout->addWidget(nicknameList);
+ dialogLayout->addWidget(nicknameInput);
+
+ connect(nicknameList,SIGNAL (highlighted(QListBoxItem*)),this,SLOT (newNicknameSelected(QListBoxItem*)) );
+ connect(nicknameList,SIGNAL (doubleClicked(QListBoxItem*)),this,SLOT (newNicknameSelectedQuit(QListBoxItem*)) );
+
+ setButtonOK(KGuiItem(i18n("&OK"),"button_ok",i18n("Select nickname and close the window")));
+ setButtonCancel(KGuiItem(i18n("&Cancel"),"button_cancel",i18n("Close the window without changes")));
+
+ setInitialSize(size);
+ show();
+}
+
+DccRecipientDialog::~DccRecipientDialog()
+{
+}
+
+QString DccRecipientDialog::getSelectedNickname()
+{
+ return selectedNickname;
+}
+
+void DccRecipientDialog::newNicknameSelected(QListBoxItem* item)
+{
+ nicknameInput->setText(item->text());
+}
+
+void DccRecipientDialog::newNicknameSelectedQuit(QListBoxItem* item)
+{
+ newNicknameSelected(item);
+ selectedNickname=nicknameInput->text();
+
+ delayedDestruct();
+}
+
+void DccRecipientDialog::slotCancel()
+{
+ selectedNickname=QString();
+ KDialogBase::slotCancel();
+}
+
+void DccRecipientDialog::slotOk()
+{
+ selectedNickname=nicknameInput->text();
+ KDialogBase::slotOk();
+}
+
+QString DccRecipientDialog::getNickname(QWidget* parent, const QStringList& list)
+{
+ QSize size; // TODO: get it from Preferences
+ DccRecipientDialog dlg(parent,list,size);
+ dlg.exec();
+
+ return dlg.getSelectedNickname();
+}
+
+#include "dccrecipientdialog.moc"
diff --git a/konversation/src/dccrecipientdialog.h b/konversation/src/dccrecipientdialog.h
new file mode 100644
index 0000000..94d77ca
--- /dev/null
+++ b/konversation/src/dccrecipientdialog.h
@@ -0,0 +1,47 @@
+/*
+ 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.
+*/
+
+/*
+ lets the user choose a nick from the list
+ begin: Sam Dez 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef DCCRECIPIENTDIALOG_H
+#define DCCRECIPIENTDIALOG_H
+
+#include <kdialogbase.h>
+
+
+class KLineEdit;
+
+class DccRecipientDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ DccRecipientDialog(QWidget* parent, const QStringList &list, const QSize &size);
+ ~DccRecipientDialog();
+
+ static QString getNickname(QWidget* parent, const QStringList& list);
+
+ protected slots:
+ void newNicknameSelected(QListBoxItem* item);
+ // KDE double click
+ void newNicknameSelectedQuit(QListBoxItem* item);
+
+ void slotOk();
+ void slotCancel();
+
+ protected:
+ QString getSelectedNickname();
+ static QString selectedNickname;
+
+ KLineEdit* nicknameInput;
+};
+#endif
diff --git a/konversation/src/dccresumedialog.cpp b/konversation/src/dccresumedialog.cpp
new file mode 100644
index 0000000..b8376b8
--- /dev/null
+++ b/konversation/src/dccresumedialog.cpp
@@ -0,0 +1,198 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#include "dccresumedialog.h"
+#include "dcctransferrecv.h"
+
+#include <qhbox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qvbox.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kurl.h>
+#include <kurlrequester.h>
+
+
+DccResumeDialog::ReceiveAction DccResumeDialog::ask(DccTransferRecv* item, const QString& message, int enabledActions, ReceiveAction defaultAction)
+{
+ int enabledButtonCodes = 0;
+ KDialogBase::ButtonCode defaultButtonCode = KDialogBase::Ok;
+
+ if(enabledActions & RA_Rename || enabledActions & RA_Overwrite)
+ enabledButtonCodes |= KDialogBase::Ok;
+ if(enabledActions & RA_Resume)
+ enabledButtonCodes |= KDialogBase::User1;
+ if(enabledActions & RA_Cancel)
+ enabledButtonCodes |= KDialogBase::Cancel;
+
+ if(defaultAction == RA_Rename || defaultAction == RA_Overwrite)
+ defaultButtonCode = KDialogBase::Ok;
+ else if(defaultAction == RA_Resume)
+ defaultButtonCode = KDialogBase::User1;
+ else if(defaultAction == RA_Cancel)
+ defaultButtonCode = KDialogBase::Cancel;
+
+ DccResumeDialog dlg(item, i18n("DCC Receive Question"), message, enabledActions, enabledButtonCodes, defaultButtonCode);
+ dlg.exec();
+
+ ReceiveAction ra = dlg.m_selectedAction;
+
+ if(ra == RA_Rename)
+ item->setFileURL( dlg.m_urlreqFileURL->url() );
+
+ return ra;
+}
+
+DccResumeDialog::DccResumeDialog(DccTransferRecv* item, const QString& caption, const QString& message, int enabledActions, int enabledButtonCodes,
+ KDialogBase::ButtonCode defaultButtonCode)
+: KDialogBase(0, "dcc_resume_dialog", true, caption, enabledButtonCodes, defaultButtonCode, true)
+, m_item(item)
+, m_enabledActions(enabledActions)
+, m_selectedAction(RA_Cancel)
+{
+ if(enabledButtonCodes & KDialogBase::User1)
+ setButtonText(KDialogBase::User1, i18n("&Resume"));
+
+ QFrame* page = new QFrame(this);
+ QVBoxLayout* pageLayout = new QVBoxLayout(page);
+ pageLayout->setSpacing(spacingHint());
+ setMainWidget(page);
+
+ QLabel* labelMessage = new QLabel(page);
+ labelMessage->setText(message);
+
+ m_urlreqFileURL = new KURLRequester(m_item->getFileURL().prettyURL(), page);
+ connect(m_urlreqFileURL, SIGNAL(textChanged(const QString&)), this, SLOT(updateDialogButtons()));
+
+ pageLayout->addWidget(labelMessage);
+ pageLayout->addWidget(m_urlreqFileURL);
+
+ if(m_enabledActions & RA_Rename)
+ {
+ QFrame* filePathToolsFrame = new QFrame(page);
+ QHBoxLayout* filePathToolsLayout = new QHBoxLayout(filePathToolsFrame);
+ filePathToolsLayout->setSpacing(spacingHint());
+
+ QPushButton* btnDefaultName = new QPushButton(i18n("O&riginal Filename"),filePathToolsFrame);
+ QPushButton* btnSuggestNewName = new QPushButton(i18n("Suggest &New Filename"),filePathToolsFrame);
+ filePathToolsLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Expanding));
+ filePathToolsLayout->addWidget(btnDefaultName);
+ filePathToolsLayout->addWidget(btnSuggestNewName);
+ connect(btnSuggestNewName, SIGNAL(clicked()), this, SLOT(suggestNewName()));
+ connect(btnDefaultName, SIGNAL(clicked()), this, SLOT(setDefaultName()));
+
+ pageLayout->addWidget(filePathToolsFrame);
+
+ }
+
+ updateDialogButtons();
+ setInitialSize(QSize(500, sizeHint().height()));
+
+}
+
+DccResumeDialog::~DccResumeDialog()
+{
+}
+
+void DccResumeDialog::slotOk()
+{
+ if(m_item->getFileURL() == m_urlreqFileURL->url())
+ m_selectedAction = RA_Overwrite;
+ else
+ m_selectedAction = RA_Rename;
+ KDialogBase::slotOk();
+}
+
+void DccResumeDialog::slotUser1()
+{
+ m_selectedAction = RA_Resume;
+ done(KDialogBase::User1);
+}
+
+void DccResumeDialog::slotCancel()
+{
+ m_selectedAction = RA_Cancel;
+ KDialogBase::slotCancel();
+}
+
+void DccResumeDialog::updateDialogButtons() // slot
+{
+ if(m_item->getFileURL() == m_urlreqFileURL->url())
+ {
+ setButtonText(KDialogBase::Ok, i18n("&Overwrite"));
+ enableButton(KDialogBase::Ok, m_enabledActions & RA_Overwrite);
+ enableButton(KDialogBase::User1, true);
+ }
+ else
+ {
+ setButtonText(KDialogBase::Ok, i18n("R&ename"));
+ enableButton(KDialogBase::Ok, m_enabledActions & RA_Rename);
+ enableButton(KDialogBase::User1, false);
+ }
+}
+
+// FIXME: kio-fy me!
+// taken and adapted from kio::renamedlg.cpp
+void DccResumeDialog::suggestNewName() // slot
+{
+ QString dotSuffix, suggestedName;
+ QString basename = m_urlreqFileURL->url().section("/", -1);
+ KURL baseURL(m_urlreqFileURL->url().section("/", 0, -2));
+
+ int index = basename.find( '.' );
+ if ( index != -1 )
+ {
+ dotSuffix = basename.mid( index );
+ basename.truncate( index );
+ }
+
+ int pos = basename.findRev( '_' );
+ if(pos != -1 )
+ {
+ QString tmp = basename.mid( pos+1 );
+ bool ok;
+ int number = tmp.toInt( &ok );
+ if ( !ok ) // ok there is no number
+ {
+ suggestedName = basename + '1' + dotSuffix;
+ }
+ else
+ {
+ // yes there's already a number behind the _ so increment it by one
+ basename.replace( pos+1, tmp.length(), QString::number(number+1) );
+ suggestedName = basename + dotSuffix;
+ }
+ }
+ else // no underscore yet
+ suggestedName = basename + "_1" + dotSuffix ;
+
+ // Check if suggested name already exists
+ bool exists = false;
+ // TODO: network transparency. However, using NetAccess from a modal dialog
+ // could be a problem, no? (given that it uses a modal widget itself....)
+ if ( baseURL.isLocalFile() )
+ exists = QFileInfo( baseURL.path(+1) + suggestedName ).exists();
+
+ m_urlreqFileURL->setURL( baseURL.path(+1) + suggestedName );
+
+ if ( exists ) // already exists -> recurse
+ suggestNewName();
+}
+
+void DccResumeDialog::setDefaultName() // slot
+{
+ m_urlreqFileURL->setURL(m_item->getFileURL().prettyURL());
+}
+
+#include "dccresumedialog.moc"
diff --git a/konversation/src/dccresumedialog.h b/konversation/src/dccresumedialog.h
new file mode 100644
index 0000000..03135f8
--- /dev/null
+++ b/konversation/src/dccresumedialog.h
@@ -0,0 +1,59 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#ifndef DCCRESUMEDIALOG_H
+#define DCCRESUMEDIALOG_H
+
+#include <kdialogbase.h>
+
+
+class KURLRequester;
+class DccTransferRecv;
+
+class DccResumeDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ enum ReceiveAction
+ {
+ RA_Rename = 0x01,
+ RA_Overwrite = 0x02,
+ RA_Resume = 0x04,
+ RA_Cancel = 0x08
+ };
+
+ virtual ~DccResumeDialog();
+
+ static ReceiveAction ask(DccTransferRecv* item, const QString& message, int enabledActions, ReceiveAction defaultAction);
+
+ protected slots:
+ void slotOk();
+ void slotUser1();
+ void slotCancel();
+ void suggestNewName();
+ void setDefaultName();
+ void updateDialogButtons();
+
+ protected:
+ DccResumeDialog(DccTransferRecv* item, const QString& caption, const QString& message, int enabledActions, int enabledButtonCodes, KDialogBase::ButtonCode defaultButtonCode);
+
+ // UI
+ KURLRequester* m_urlreqFileURL;
+
+ // data
+ DccTransferRecv* m_item;
+ int m_enabledActions;
+ ReceiveAction m_selectedAction;
+
+};
+#endif
diff --git a/konversation/src/dcctransfer.cpp b/konversation/src/dcctransfer.cpp
new file mode 100644
index 0000000..30ae5c2
--- /dev/null
+++ b/konversation/src/dcctransfer.cpp
@@ -0,0 +1,358 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002-2004 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+ Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+*/
+
+#include "dcctransfer.h"
+#include "preferences.h"
+
+#include <qfileinfo.h>
+#include <qhostaddress.h>
+
+#include <kdebug.h>
+
+
+DccTransfer::DccTransfer( DccType dccType, QObject* parent ) : QObject(parent)
+{
+ kdDebug() << "DccTransfer::DccTransfer()" << endl;
+
+ m_type = dccType;
+
+ m_status = Configuring;
+
+ m_fileSize = 0;
+ m_resumed = false;
+ m_reverse = false;
+ m_connectionId = -1; // Not configured
+ m_timeLeft = DccTransfer::NotInTransfer;
+ m_transferringPosition = 0;
+ m_transferStartPosition = 0;
+ m_averageSpeed = 0.0;
+ m_currentSpeed = 0.0;
+
+ m_bufferSize = Preferences::dccBufferSize();
+ m_buffer = new char[ m_bufferSize ];
+
+ connect( &m_loggerTimer, SIGNAL( timeout() ), this, SLOT( logTransfer() ) );
+
+ m_timeOffer = QDateTime::currentDateTime();
+}
+
+DccTransfer::~DccTransfer()
+{
+ kdDebug() << "DccTransfer::~DccTransfer()" << endl;
+ delete[] m_buffer;
+ m_loggerTimer.stop();
+}
+
+DccTransfer::DccTransfer( const DccTransfer& obj )
+ : QObject()
+{
+ m_buffer = 0;
+ m_bufferSize = 0;
+ m_averageSpeed = obj.getAverageSpeed();
+ m_currentSpeed = obj.getCurrentSpeed();
+ m_status = obj.getStatus();
+ m_statusDetail = obj.getStatusDetail();
+ m_type = obj.getType();
+ m_fileName = obj.getFileName();
+ m_fileSize = obj.getFileSize();
+ m_fileURL = obj.getFileURL();
+ // m_loggerBaseTime
+ // m_loggerTimer
+ m_ownIp = obj.getOwnIp();
+ m_ownPort = obj.getOwnPort();
+ m_partnerIp = obj.getPartnerIp();
+ m_partnerNick = obj.getPartnerNick();
+ m_partnerPort = obj.getPartnerPort();
+ m_resumed = obj.isResumed();
+ m_reverse = obj.isReverse();
+ m_connectionId = obj.getConnectionId();
+ m_timeLeft = obj.getTimeLeft();
+ m_timeOffer = obj.getTimeOffer();
+ m_timeTransferFinished = obj.getTimeTransferFinished();
+ m_timeTransferStarted = obj.getTimeTransferStarted();
+ // m_transferLogPosition
+ // m_transferLogTime
+ m_transferringPosition = obj.getTransferringPosition();
+ m_transferStartPosition = obj.getTransferStartPosition();
+}
+
+void DccTransfer::setConnectionId( int id )
+{
+ if ( getStatus() == Configuring || getStatus() == Queued )
+ m_connectionId = id;
+}
+
+void DccTransfer::setPartnerNick( const QString& nick )
+{
+ if ( getStatus() == Configuring || getStatus() == Queued )
+ m_partnerNick = nick;
+}
+
+bool DccTransfer::queue()
+{
+ kdDebug() << "DccTransfer::queue()" << endl;
+ if ( getStatus() != Configuring )
+ return false;
+
+ if ( m_fileName.isEmpty() )
+ return false;
+
+ if ( m_connectionId == -1 || m_partnerNick.isEmpty() )
+ return false;
+
+ setStatus( Queued );
+ return true;
+}
+
+void DccTransfer::startTransferLogger()
+{
+ m_timeTransferStarted = QDateTime::currentDateTime();
+ m_loggerBaseTime.start();
+ m_loggerTimer.start( 100 );
+}
+
+void DccTransfer::finishTransferLogger()
+{
+ if ( m_timeTransferFinished.isNull() )
+ m_timeTransferFinished = QDateTime::currentDateTime();
+ m_loggerTimer.stop();
+ updateTransferMeters();
+}
+
+// called by m_loggerTimer
+void DccTransfer::logTransfer()
+{
+ m_transferLogTime.append( m_loggerBaseTime.elapsed() );
+ m_transferLogPosition.append( m_transferringPosition );
+ updateTransferMeters();
+}
+
+void DccTransfer::setStatus( DccStatus status, const QString& statusDetail )
+{
+ bool changed = ( status != m_status );
+ DccStatus oldStatus = m_status;
+ m_status = status;
+ m_statusDetail = statusDetail;
+ if ( changed )
+ emit statusChanged( this, m_status, oldStatus );
+}
+
+void DccTransfer::updateTransferMeters()
+{
+ const int timeToCalc = 5;
+
+ if ( getStatus() == Transferring )
+ {
+ // update CurrentSpeed
+
+ // remove too old data
+ QValueList<int>::iterator itTime = m_transferLogTime.begin();
+ QValueList<KIO::fileoffset_t>::iterator itPos = m_transferLogPosition.begin();
+ while ( itTime != m_transferLogTime.end() && ( m_transferLogTime.last() - (*itTime) > timeToCalc * 1000 ) )
+ {
+ itTime = m_transferLogTime.remove( itTime );
+ itPos = m_transferLogPosition.remove( itPos );
+ }
+
+ // shift the base of the time (m_transferLoggerBaseTime)
+ // reason: QTime can't handle a time longer than 24 hours
+ int shiftOffset = m_loggerBaseTime.restart();
+ itTime = m_transferLogTime.begin();
+ for ( ; itTime != m_transferLogTime.end() ; ++itTime )
+ (*itTime) = (*itTime) - shiftOffset;
+
+ if ( m_transferLogTime.count() >= 2 )
+ {
+ // FIXME: precision of average speed is too bad
+ m_averageSpeed = (double)( m_transferringPosition - m_transferStartPosition ) / (double)m_timeTransferStarted.secsTo( QDateTime::currentDateTime() );
+ m_currentSpeed = (double)( m_transferLogPosition.last() - m_transferLogPosition.front() ) / (double)( m_transferLogTime.last() - m_transferLogTime.front() ) * 1000;
+ }
+ else // avoid zero devision
+ {
+ m_averageSpeed = DccTransfer::Calculating;
+ m_currentSpeed = DccTransfer::Calculating;
+ }
+
+ // update the remaining time
+ if ( m_currentSpeed <= 0 )
+ m_timeLeft = DccTransfer::InfiniteValue;
+ else
+ m_timeLeft = (int)( (double)( m_fileSize - m_transferringPosition ) / m_currentSpeed );
+ }
+ else if ( m_status >= Done )
+ {
+ if ( m_timeTransferStarted.secsTo( m_timeTransferFinished ) > 1 )
+ m_averageSpeed = (double)( m_transferringPosition - m_transferStartPosition ) / (double)m_timeTransferStarted.secsTo( m_timeTransferFinished );
+ else
+ m_averageSpeed = DccTransfer::InfiniteValue;
+ m_currentSpeed = 0;
+ m_timeLeft = DccTransfer::NotInTransfer;
+ }
+ else
+ {
+ m_averageSpeed = 0;
+ m_currentSpeed = 0;
+ m_timeLeft = DccTransfer::NotInTransfer;
+ }
+}
+
+QString DccTransfer::sanitizeFileName( const QString& fileName )
+{
+ QString fileNameTmp = QFileInfo( fileName ).fileName();
+ if ( fileNameTmp.startsWith( "." ) )
+ fileNameTmp.replace( 0, 1, '_' ); // Don't create hidden files
+ if ( fileNameTmp.isEmpty() )
+ fileNameTmp = "unnamed";
+ return fileNameTmp;
+}
+
+//FIXME: IPv6 support
+QString DccTransfer::getNumericalIpText( const QString& ipString )
+{
+ QHostAddress ip;
+ ip.setAddress( ipString );
+
+ return QString::number( ip.ip4Addr() );
+}
+
+unsigned long DccTransfer::intel( unsigned long value )
+{
+ value = ( (value & 0xff000000) >> 24 ) +
+ ( (value & 0xff0000) >> 8 ) +
+ ( (value & 0xff00) << 8 ) +
+ ( (value & 0xff) << 24 );
+
+ return value;
+}
+
+DccTransfer::DccType DccTransfer::getType() const
+{
+ return m_type;
+}
+
+DccTransfer::DccStatus DccTransfer::getStatus() const
+{
+ return m_status;
+}
+
+const QString& DccTransfer::getStatusDetail() const
+{
+ return m_statusDetail;
+}
+
+QDateTime DccTransfer::getTimeOffer() const
+{
+ return m_timeOffer;
+}
+
+int DccTransfer::getConnectionId() const
+{
+ return m_connectionId;
+}
+
+QString DccTransfer::getOwnIp() const
+{
+ return m_ownIp;
+}
+
+QString DccTransfer::getOwnPort() const
+{
+ return m_ownPort;
+}
+
+QString DccTransfer::getPartnerNick() const
+{
+ return m_partnerNick;
+}
+
+QString DccTransfer::getPartnerIp() const
+{
+ return m_partnerIp;
+}
+
+QString DccTransfer::getPartnerPort() const
+{
+ return m_partnerPort;
+}
+
+QString DccTransfer::getFileName() const
+{
+ return m_fileName;
+}
+
+KIO::filesize_t DccTransfer::getFileSize() const
+{
+ return m_fileSize;
+}
+
+KIO::fileoffset_t DccTransfer::getTransferringPosition() const
+{
+ return m_transferringPosition;
+}
+
+KIO::fileoffset_t DccTransfer::getTransferStartPosition() const
+{
+ return m_transferStartPosition;
+}
+
+KURL DccTransfer::getFileURL() const
+{
+ return m_fileURL;
+}
+
+bool DccTransfer::isResumed() const
+{
+ return m_resumed;
+}
+
+bool DccTransfer::isReverse() const
+{
+ return m_reverse;
+}
+
+QString DccTransfer::getReverseToken() const
+{
+ return m_reverseToken;
+}
+
+transferspeed_t DccTransfer::getAverageSpeed() const
+{
+ return m_averageSpeed;
+}
+
+transferspeed_t DccTransfer::getCurrentSpeed() const
+{
+ return m_currentSpeed;
+}
+
+int DccTransfer::getTimeLeft() const
+{
+ return m_timeLeft;
+}
+
+int DccTransfer::getProgress() const
+{
+ return (int)( ( (double)getTransferringPosition() / (double)getFileSize() ) * 100 );
+}
+
+QDateTime DccTransfer::getTimeTransferStarted() const
+{
+ return m_timeTransferStarted;
+}
+
+QDateTime DccTransfer::getTimeTransferFinished() const
+{
+ return m_timeTransferFinished;
+}
+
+#include "dcctransfer.moc"
diff --git a/konversation/src/dcctransfer.h b/konversation/src/dcctransfer.h
new file mode 100644
index 0000000..d264def
--- /dev/null
+++ b/konversation/src/dcctransfer.h
@@ -0,0 +1,186 @@
+/*
+ This class represents a DCC transfer.
+*/
+
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002-2004 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+ Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+*/
+
+#ifndef DCCTRANSFER_H
+#define DCCTRANSFER_H
+
+#include <qdatetime.h>
+#include <qobject.h>
+#include <qtimer.h>
+
+#include <kurl.h>
+#include <kio/global.h>
+
+typedef double transferspeed_t;
+
+class DccTransfer : public QObject
+{
+ Q_OBJECT
+
+ public:
+ enum DccType
+ {
+ Receive,
+ Send
+ };
+
+ enum DccStatus
+ {
+ Configuring = 0, // Not queud yet (this means that user can't see the item at this time)
+ Queued, // Newly added DCC, waiting user's response
+ Preparing, // Opening KIO to write received data
+ WaitingRemote, // Waiting for remote host's response
+ Connecting, // RECV: trying to connect to the server
+ Transferring,
+ Done,
+ Failed,
+ Aborted
+ };
+
+ enum UnavailableStatus
+ {
+ Calculating = -1,
+ NotInTransfer = -2,
+ InfiniteValue = -3
+ };
+
+ DccTransfer( DccType dccType, QObject* parent );
+ virtual ~DccTransfer();
+
+ // info of DccTransfer can be copied with this constructor.
+ DccTransfer( const DccTransfer& obj );
+
+ DccType getType() const;
+ DccStatus getStatus() const;
+ const QString& getStatusDetail() const;
+ QDateTime getTimeOffer() const;
+ int getConnectionId() const;
+ QString getOwnIp() const;
+ QString getOwnPort() const;
+ QString getPartnerNick() const;
+ QString getPartnerIp() const;
+ QString getPartnerPort() const;
+ QString getFileName() const;
+ KIO::filesize_t getFileSize() const;
+ KIO::fileoffset_t getTransferringPosition() const;
+ KIO::fileoffset_t getTransferStartPosition() const;
+ KURL getFileURL() const;
+ bool isResumed() const;
+ bool isReverse() const;
+ QString getReverseToken() const;
+ transferspeed_t getAverageSpeed() const;
+ transferspeed_t getCurrentSpeed() const;
+ int getTimeLeft() const;
+ int getProgress() const;
+ QDateTime getTimeTransferStarted() const;
+ QDateTime getTimeTransferFinished() const;
+
+ // common settings for DccTransferRecv / DccTransferSend
+
+ // REQUIRED
+ void setConnectionId( int connectionId );
+ // REQUIRED
+ void setPartnerNick( const QString& nick );
+
+ signals:
+ void transferStarted( DccTransfer* item );
+ void done( DccTransfer* item );
+ void statusChanged( DccTransfer* item, int newStatus, int oldStatus );
+
+ public slots:
+ virtual bool queue();
+ virtual void start() {};
+ virtual void abort() {};
+
+ protected:
+ void setStatus( DccStatus status, const QString& statusDetail = QString() );
+ void startTransferLogger();
+ void finishTransferLogger();
+
+ static QString sanitizeFileName( const QString& fileName );
+ static QString getNumericalIpText( const QString& ipString );
+ static unsigned long intel( unsigned long value );
+
+ protected slots:
+ void logTransfer();
+
+ protected:
+ // transfer information
+ DccType m_type;
+ DccStatus m_status;
+ QString m_statusDetail;
+ bool m_resumed;
+ bool m_reverse;
+ QString m_reverseToken;
+ KIO::fileoffset_t m_transferringPosition;
+ KIO::fileoffset_t m_transferStartPosition;
+
+ /*
+ QValueList<QDateTime> m_transferTimeLog; // write per packet to calc CPS
+ QValueList<KIO::fileoffset_t> m_transferPositionLog; // write per packet to calc CPS
+ */
+
+ // we'll communicate with the partner via this server
+ int m_connectionId;
+ QString m_partnerNick;
+ QString m_partnerIp; // null when unknown
+ QString m_partnerPort;
+ QString m_ownIp;
+ QString m_ownPort;
+
+ unsigned long m_bufferSize;
+ char* m_buffer;
+
+ /**
+ * The filename.
+ * For receiving, it holds the filename as the sender said.
+ * So be careful, it can contain "../" and so on.
+ */
+ QString m_fileName;
+
+ /** The file size of the complete file sending/recieving. */
+ KIO::filesize_t m_fileSize;
+
+ /**
+ * If we are sending a file, this is the url of the file we are sending.
+ * If we are recieving a file, this is the url of the file we are saving
+ * to in the end (Temporararily it will be filename+".part" ).
+ */
+ KURL m_fileURL;
+
+ private:
+ DccTransfer& operator = ( const DccTransfer& obj );
+
+ void updateTransferMeters();
+
+ private:
+ QDateTime m_timeOffer;
+ QDateTime m_timeTransferStarted;
+ //QDateTime m_timeLastActive;
+ QDateTime m_timeTransferFinished;
+
+ QTimer m_loggerTimer;
+ QTime m_loggerBaseTime; // for calculating CPS
+ QValueList<int> m_transferLogTime;
+ QValueList<KIO::fileoffset_t> m_transferLogPosition;
+
+ transferspeed_t m_averageSpeed;
+ transferspeed_t m_currentSpeed;
+ int m_timeLeft;
+};
+
+#endif // DCCTRANSFER_H
diff --git a/konversation/src/dcctransferdetailedinfopanel.cpp b/konversation/src/dcctransferdetailedinfopanel.cpp
new file mode 100644
index 0000000..f7a55ff
--- /dev/null
+++ b/konversation/src/dcctransferdetailedinfopanel.cpp
@@ -0,0 +1,214 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#include "dcctransferdetailedinfopanel.h"
+#include "channel.h"
+#include "dcctransfer.h"
+#include "dcctransfermanager.h"
+#include "dcctransferrecv.h"
+#include "dcctransferpanelitem.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "server.h"
+
+#include <qlabel.h>
+#include <qtimer.h>
+
+#include <klineedit.h>
+#include <klocale.h>
+#include <kprogress.h>
+#include <krun.h>
+#include <kurlrequester.h>
+#include <ksqueezedtextlabel.h>
+
+
+DccTransferDetailedInfoPanel::DccTransferDetailedInfoPanel( QWidget* parent, const char* name )
+ : DccTransferDetailedInfoPanelUI( parent, name )
+{
+ m_autoViewUpdateTimer = new QTimer( this );
+
+ connect( m_urlreqLocation, SIGNAL( textChanged( const QString& ) ), this, SLOT( slotLocationChanged( const QString& ) ) );
+ connect( m_buttonOpenFolder, SIGNAL( clicked() ), this, SLOT( slotOpenFolderButtonClicked() ) );
+ connect( KonversationApplication::instance()->getDccTransferManager(), SIGNAL( fileURLChanged( DccTransferRecv* ) ),
+ this, SLOT( updateView() ) ); // it's a little rough..
+}
+
+DccTransferDetailedInfoPanel::~DccTransferDetailedInfoPanel()
+{
+}
+
+void DccTransferDetailedInfoPanel::setItem( DccTransferPanelItem* item )
+{
+ m_autoViewUpdateTimer->stop();
+
+ // disconnect all slots once
+ disconnect( this );
+ // we can't do disconnect( m_item->transfer(), 0, this, 0 ) here
+ // because m_item can have been deleted already.
+
+ // set up the auto view-update timer
+ connect( m_autoViewUpdateTimer, SIGNAL( timeout() ), this, SLOT( updateView() ) );
+
+ m_item = item;
+
+ // If the file is already being transferred, the timer must be started here,
+ // otherwise the information will not be updated every 0.5sec
+ if (m_item->transfer()->getStatus() == DccTransfer::Transferring)
+ m_autoViewUpdateTimer->start(500, false);
+ connect( m_item->transfer(), SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( slotTransferStatusChanged( DccTransfer*, int, int ) ) );
+
+ updateView();
+}
+
+void DccTransferDetailedInfoPanel::updateView()
+{
+ DccTransfer* transfer = m_item->transfer();
+
+ // Type:
+ QString type( transfer->getType() == DccTransfer::Send ? i18n( "DCC Send" ) : i18n( "DCC Receive" ) );
+ if ( transfer->isReverse() )
+ type += i18n( " (Reverse DCC)" );
+ m_labelDccType->setText( type );
+
+ // Filename:
+ m_labelFilename->setText( transfer->getFileName() );
+
+ // Location:
+ m_urlreqLocation->setURL( transfer->getFileURL().prettyURL() );
+ //m_urlreqLocation->lineEdit()->setFocusPolicy( transfer->getStatus() == DccTransfer::Queued ? StrongFocus : ClickFocus );
+ m_urlreqLocation->lineEdit()->setReadOnly( transfer->getStatus() != DccTransfer::Queued );
+ m_urlreqLocation->lineEdit()->setFrame( transfer->getStatus() == DccTransfer::Queued );
+ m_urlreqLocation->button()->setEnabled( transfer->getStatus() == DccTransfer::Queued );
+ m_buttonOpenFolder->setEnabled( !m_urlreqLocation->lineEdit()->text().isEmpty() );
+
+ // Partner:
+ QString partnerInfoServerName;
+ if ( transfer->getConnectionId() == -1 )
+ partnerInfoServerName = i18n( "Unknown server" );
+ else if ( KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( transfer->getConnectionId() ) )
+ partnerInfoServerName = KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( transfer->getConnectionId() )->getServerName();
+ else
+ partnerInfoServerName = i18n( "Unknown server" );
+ QString partnerInfo( i18n( "%1 on %2" )
+ .arg( transfer->getPartnerNick().isEmpty() ? "?" : transfer->getPartnerNick() )
+ .arg( partnerInfoServerName ) );
+ if ( !transfer->getPartnerIp().isEmpty() )
+ partnerInfo += i18n( ", %1 (port %2)" ).arg( transfer->getPartnerIp() ).arg( transfer->getPartnerPort() );
+ m_labelPartner->setText( partnerInfo );
+
+ // Self:
+ if ( transfer->getOwnIp().isEmpty() )
+ m_labelSelf->setText( "" );
+ else
+ m_labelSelf->setText( i18n( "%1 (port %2)" ).arg( transfer->getOwnIp() ).arg( transfer->getOwnPort() ) );
+
+ // Status:
+ if ( transfer->getStatus() == DccTransfer::Transferring )
+ m_labelStatus->setText( m_item->getStatusText() + " ( " + m_item->getCurrentSpeedPrettyText() + " )" );
+ else
+ m_labelStatus->setText( transfer->getStatusDetail().isEmpty() ? m_item->getStatusText() : m_item->getStatusText() + " (" + transfer->getStatusDetail() + ')' );
+
+ // Progress:
+ m_progress->setProgress( transfer->getProgress() );
+
+ // Current Position:
+ m_labelCurrentPosition->setText( KGlobal::locale()->formatNumber( transfer->getTransferringPosition(), 0 ) );
+
+ // File Size:
+ m_labelFileSize->setText( KGlobal::locale()->formatNumber( transfer->getFileSize(), 0 ) );
+
+ // Current Speed:
+ m_labelCurrentSpeed->setText( m_item->getCurrentSpeedPrettyText() );
+
+ // Average Speed:
+ m_labelAverageSpeed->setText( m_item->getAverageSpeedPrettyText() );
+
+ // Resumed:
+ if ( transfer->isResumed() )
+ m_labelIsResumed->setText( i18n( "Yes, %1" ).arg( KGlobal::locale()->formatNumber( transfer->getTransferStartPosition(), 0 ) ) );
+ else
+ m_labelIsResumed->setText( i18n( "No" ) );
+
+ // Transferring Time:
+ if ( transfer->getTimeTransferStarted().isNull() )
+ m_labelTransferringTime->setText( "" );
+ else
+ {
+ int transferringTime;
+
+ // The transfer is still in progress
+ if ( transfer->getTimeTransferFinished().isNull() )
+ transferringTime = transfer->getTimeTransferStarted().secsTo( QDateTime::currentDateTime() );
+ // The transfer has finished
+ else
+ transferringTime = transfer->getTimeTransferStarted().secsTo( transfer->getTimeTransferFinished() );
+
+ if ( transferringTime >= 1 )
+ m_labelTransferringTime->setText( DccTransferPanelItem::secToHMS( transferringTime ) );
+ else
+ m_labelTransferringTime->setText( i18n( "< 1sec" ) );
+ }
+
+ // Estimated Time Left:
+ m_labelTimeLeft->setText( m_item->getTimeLeftPrettyText() );
+
+ // Offered at:
+ m_labelTimeOffered->setText( transfer->getTimeOffer().toString( "hh:mm:ss" ) );
+
+ // Started at:
+ if ( !transfer->getTimeTransferStarted().isNull() )
+ m_labelTimeStarted->setText( transfer->getTimeTransferStarted().toString( "hh:mm:ss" ) );
+ else
+ m_labelTimeStarted->setText( "" );
+
+ // Finished at:
+ if ( !transfer->getTimeTransferFinished().isNull() )
+ m_labelTimeFinished->setText( transfer->getTimeTransferFinished().toString( "hh:mm:ss" ) );
+ else
+ m_labelTimeFinished->setText( "" );
+}
+
+void DccTransferDetailedInfoPanel::slotTransferStatusChanged( DccTransfer* /* transfer */, int newStatus, int oldStatus )
+{
+ updateView();
+ if ( newStatus == DccTransfer::Transferring )
+ {
+ // start auto view-update timer
+ m_autoViewUpdateTimer->start( 500, false );
+ }
+ else if ( oldStatus == DccTransfer::Transferring )
+ {
+ // stop auto view-update timer
+ m_autoViewUpdateTimer->stop();
+ }
+}
+
+void DccTransferDetailedInfoPanel::slotLocationChanged( const QString& url )
+{
+ if ( m_item->transfer()->getType() == DccTransfer::Receive )
+ {
+ DccTransferRecv* transfer = static_cast< DccTransferRecv* >( m_item->transfer() );
+ transfer->setFileURL( KURL::fromPathOrURL( url ) );
+ }
+}
+
+void DccTransferDetailedInfoPanel::slotOpenFolderButtonClicked()
+{
+ QString urlString = m_urlreqLocation->lineEdit()->text();
+ if ( !urlString.isEmpty() )
+ {
+ KURL url = KURL::fromPathOrURL( urlString );
+ url.setFileName( QString() );
+ new KRun( url, 0, true, true );
+ }
+}
+
+#include "dcctransferdetailedinfopanel.moc"
diff --git a/konversation/src/dcctransferdetailedinfopanel.h b/konversation/src/dcctransferdetailedinfopanel.h
new file mode 100644
index 0000000..38eb692
--- /dev/null
+++ b/konversation/src/dcctransferdetailedinfopanel.h
@@ -0,0 +1,44 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#ifndef DCCTRANSFERDETAILEDINFOPANEL_H
+#define DCCTRANSFERDETAILEDINFOPANEL_H
+
+#include "dcctransferdetailedinfopanelui.h"
+
+
+class QTimer;
+
+class DccTransfer;
+class DccTransferPanelItem;
+
+class DccTransferDetailedInfoPanel : public DccTransferDetailedInfoPanelUI
+{
+ Q_OBJECT
+
+ public:
+ explicit DccTransferDetailedInfoPanel( QWidget* parent = 0, const char* name = 0 );
+ virtual ~DccTransferDetailedInfoPanel();
+
+ void setItem( DccTransferPanelItem* item );
+
+ private slots:
+ void updateView();
+ void slotTransferStatusChanged( DccTransfer* transfer, int newStatus, int oldStatus );
+ void slotLocationChanged( const QString& url );
+ void slotOpenFolderButtonClicked();
+
+ private:
+ DccTransferPanelItem* m_item;
+ QTimer* m_autoViewUpdateTimer;
+};
+
+#endif // DCCTRANSFERDETAILEDINFOPANEL_H
diff --git a/konversation/src/dcctransferdetailedinfopanelui.ui b/konversation/src/dcctransferdetailedinfopanelui.ui
new file mode 100644
index 0000000..9c3f136
--- /dev/null
+++ b/konversation/src/dcctransferdetailedinfopanelui.ui
@@ -0,0 +1,492 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>DccTransferDetailedInfoPanelUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>DccTransferDetailedInfoPanelUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>646</width>
+ <height>289</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout7</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KSqueezedTextLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_labelFilename</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_labelDccType</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Filename:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_3</cstring>
+ </property>
+ <property name="text">
+ <string>Self:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel12</cstring>
+ </property>
+ <property name="text">
+ <string>Type:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel10</cstring>
+ </property>
+ <property name="text">
+ <string>Status:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="6" column="0">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Location:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="5" column="0">
+ <property name="name">
+ <cstring>textLabel18</cstring>
+ </property>
+ <property name="text">
+ <string>Progress:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="1">
+ <property name="name">
+ <cstring>m_labelStatus</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>m_labelPartner</cstring>
+ </property>
+ </widget>
+ <widget class="KProgress" row="5" column="1">
+ <property name="name">
+ <cstring>m_progress</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel23</cstring>
+ </property>
+ <property name="text">
+ <string>Partner:</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="6" column="1">
+ <property name="name">
+ <cstring>layout6</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KURLRequester">
+ <property name="name">
+ <cstring>m_urlreqLocation</cstring>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>m_buttonOpenFolder</cstring>
+ </property>
+ <property name="text">
+ <string>Open Folder</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLabel" row="3" column="1">
+ <property name="name">
+ <cstring>m_labelSelf</cstring>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="Line">
+ <property name="name">
+ <cstring>line1</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>HLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout26</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout24</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="3" column="1">
+ <property name="name">
+ <cstring>m_labelCurrentSpeed</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel21</cstring>
+ </property>
+ <property name="text">
+ <string>File Size:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>m_labelIsResumed</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_labelFileSize</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Average Speed:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel14</cstring>
+ </property>
+ <property name="text">
+ <string>Resumed:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_labelCurrentPosition</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Current Speed:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel19</cstring>
+ </property>
+ <property name="text">
+ <string>Current Position:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="1">
+ <property name="name">
+ <cstring>m_labelAverageSpeed</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="Line">
+ <property name="name">
+ <cstring>line3</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>VLine</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout25</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel8</cstring>
+ </property>
+ <property name="text">
+ <string>Estimated Time Left:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel5</cstring>
+ </property>
+ <property name="text">
+ <string>Offered at:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="1">
+ <property name="name">
+ <cstring>m_labelTimeFinished</cstring>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_labelTransferringTime</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>textLabel7</cstring>
+ </property>
+ <property name="text">
+ <string>Finished at:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel6_2</cstring>
+ </property>
+ <property name="text">
+ <string>Started at:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_labelTimeLeft</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>130</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>m_labelTimeOffered</cstring>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel6</cstring>
+ </property>
+ <property name="text">
+ <string>Transferring Time:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="1">
+ <property name="name">
+ <cstring>m_labelTimeStarted</cstring>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignRight</set>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>110</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kprogress.h</includehint>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>ksqueezedtextlabel.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/dcctransfermanager.cpp b/konversation/src/dcctransfermanager.cpp
new file mode 100644
index 0000000..41b73bd
--- /dev/null
+++ b/konversation/src/dcctransfermanager.cpp
@@ -0,0 +1,238 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#include "dcctransfermanager.h"
+#include "dcctransferrecv.h"
+#include "dcctransfersend.h"
+#include "konversationapplication.h"
+#include "preferences.h"
+
+#include <kdebug.h>
+
+
+DccTransferManager::DccTransferManager( QObject* parent )
+ : QObject( parent )
+{
+ // initial number
+ m_nextReverseTokenNumber = 1001;
+
+ m_defaultIncomingFolder = Preferences::dccPath();
+
+ connect( KonversationApplication::instance(), SIGNAL( appearanceChanged() ),
+ this, SLOT( slotSettingsChanged() ) );
+}
+
+DccTransferManager::~DccTransferManager()
+{
+ m_sendItems.clear();
+ m_recvItems.clear();
+}
+
+DccTransferRecv* DccTransferManager::newDownload()
+{
+ DccTransferRecv* transfer = new DccTransferRecv(this);
+ m_recvItems.push_back( transfer );
+ connect( transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( removeRecvItem( DccTransfer* ) ) );
+ initTransfer( transfer );
+ return transfer;
+}
+
+DccTransferSend* DccTransferManager::newUpload()
+{
+ DccTransferSend* transfer = new DccTransferSend(this);
+ m_sendItems.push_back( transfer );
+ connect( transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( removeSendItem( DccTransfer* ) ) );
+ initTransfer( transfer );
+ return transfer;
+}
+
+DccTransferRecv* DccTransferManager::resumeDownload( int connectionId, const QString& partnerNick, const QString& fileName, const QString& ownPort, unsigned long position )
+{
+ DccTransferRecv* transfer = 0;
+
+ // find applicable one
+ QValueListConstIterator< DccTransferRecv* > it;
+ for ( it = m_recvItems.begin() ; it != m_recvItems.end() ; ++it )
+ {
+ if ( ( (*it)->getStatus() == DccTransfer::Queued || (*it)->getStatus() == DccTransfer::WaitingRemote ) &&
+ (*it)->getConnectionId() == connectionId &&
+ (*it)->getPartnerNick() == partnerNick &&
+ (*it)->getFileName() == fileName &&
+ (*it)->isResumed() )
+ {
+ transfer = (*it);
+ kdDebug() << "DccTransferManager::resumeDownload(): filename match: " << fileName << ", claimed port: " << ownPort << ", item port: " << transfer->getOwnPort() << endl;
+ // the port number can be changed behind NAT, so we pick an item which only the filename is correspondent in that case.
+ if ( transfer->getOwnPort() == ownPort )
+ {
+ break;
+ }
+ }
+ }
+
+ if ( transfer )
+ transfer->startResume( position );
+
+ return transfer;
+}
+
+DccTransferSend* DccTransferManager::resumeUpload( int connectionId, const QString& partnerNick, const QString& fileName, const QString& ownPort, unsigned long position )
+{
+ DccTransferSend* transfer = 0;
+
+ // find applicable one
+ QValueListConstIterator< DccTransferSend* > it;
+ for ( it = m_sendItems.begin() ; it != m_sendItems.end() ; ++it )
+ {
+ if ( ( (*it)->getStatus() == DccTransfer::Queued || (*it)->getStatus() == DccTransfer::WaitingRemote ) &&
+ (*it)->getConnectionId() == connectionId &&
+ (*it)->getPartnerNick() == partnerNick &&
+ (*it)->getFileName() == fileName &&
+ !(*it)->isResumed() )
+ {
+ transfer = (*it);
+ kdDebug() << "DccTransferManager::resumeUpload(): filename match: " << fileName << ", claimed port: " << ownPort << ", item port: " << transfer->getOwnPort() << endl;
+ // the port number can be changed behind NAT, so we pick an item which only the filename is correspondent in that case.
+ if ( transfer->getOwnPort() == ownPort )
+ {
+ break;
+ }
+ }
+ }
+
+ if ( transfer )
+ transfer->setResume( position );
+
+ return transfer;
+}
+
+DccTransferSend* DccTransferManager::startReverseSending( int connectionId, const QString& partnerNick, const QString& fileName, const QString& partnerHost, const QString& partnerPort, unsigned long fileSize, const QString& token )
+{
+ kdDebug() << "DccTransferManager::startReverseSending(): server group ID: " << connectionId << ", partner: " << partnerNick << ", filename: " << fileName << ", partner IP: " << partnerHost << ", parnter port: " << partnerPort << ", filesize: " << fileSize << ", token: " << token << endl;
+ DccTransferSend* transfer = 0;
+
+ // find applicable one
+ QValueListConstIterator< DccTransferSend* > it;
+ for ( it = m_sendItems.begin() ; it != m_sendItems.end() ; ++it )
+ {
+ if (
+ (*it)->getStatus() == DccTransfer::WaitingRemote &&
+ (*it)->getConnectionId() == connectionId &&
+ (*it)->getPartnerNick() == partnerNick &&
+ (*it)->getFileName() == fileName &&
+ (*it)->getFileSize() == fileSize &&
+ (*it)->getReverseToken() == token
+ )
+ {
+ transfer = (*it);
+ break;
+ }
+ }
+
+ if ( transfer )
+ transfer->connectToReceiver( partnerHost, partnerPort );
+
+ return transfer;
+}
+
+void DccTransferManager::initTransfer( DccTransfer* transfer )
+{
+ connect( transfer, SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( slotTransferStatusChanged( DccTransfer*, int, int ) ) );
+
+ emit newTransferAdded( transfer );
+}
+
+bool DccTransferManager::isLocalFileInWritingProcess( const KURL& url ) const
+{
+ QValueListConstIterator< DccTransferRecv* > it;
+ for ( it = m_recvItems.begin() ; it != m_recvItems.end() ; ++it )
+ {
+ if ( ( (*it)->getStatus() == DccTransfer::Connecting ||
+ (*it)->getStatus() == DccTransfer::Transferring ) &&
+ (*it)->getFileURL() == url )
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
+int DccTransferManager::generateReverseTokenNumber()
+{
+ return m_nextReverseTokenNumber++;
+}
+
+bool DccTransferManager::hasActiveTransfers()
+{
+ QValueListConstIterator< DccTransferSend* > it;
+ for ( it = m_sendItems.begin() ; it != m_sendItems.end() ; ++it )
+ {
+ if ((*it)->getStatus() == DccTransfer::Transferring)
+ return true;
+ }
+
+ QValueListConstIterator< DccTransferRecv* > it2;
+ for ( it2 = m_recvItems.begin() ; it2 != m_recvItems.end() ; ++it2 )
+ {
+ if ((*it2)->getStatus() == DccTransfer::Transferring)
+ return true;
+ }
+
+ return false;
+}
+
+void DccTransferManager::slotTransferStatusChanged( DccTransfer* item, int newStatus, int oldStatus )
+{
+ kdDebug() << "DccTransferManager::slotTransferStatusChanged(): " << oldStatus << " -> " << newStatus << " " << item->getFileName() << " (" << item->getType() << ")" << endl;
+
+ if ( newStatus == DccTransfer::Queued )
+ emit newTransferQueued( item );
+}
+
+void DccTransferManager::slotSettingsChanged()
+{
+ // update the default incoming directory for already existed DCCRECV items
+ if ( Preferences::dccPath() != m_defaultIncomingFolder )
+ {
+ QValueListConstIterator< DccTransferRecv* > it;
+ for ( it = m_recvItems.begin() ; it != m_recvItems.end() ; ++it )
+ {
+ if ( (*it)->getStatus() == DccTransfer::Queued &&
+ (*it)->getFileURL().directory() == m_defaultIncomingFolder )
+ {
+ KURL url;
+ url.setDirectory( Preferences::dccPath() );
+ url.setFileName( (*it)->getFileURL().fileName() );
+ (*it)->setFileURL( url );
+
+ emit fileURLChanged( *it );
+ }
+ }
+
+ m_defaultIncomingFolder = Preferences::dccPath();
+ }
+}
+
+void DccTransferManager::removeSendItem( DccTransfer* item_ )
+{
+ DccTransferSend* item = static_cast< DccTransferSend* > ( item_ );
+ m_sendItems.remove( item );
+ item->deleteLater();
+}
+
+void DccTransferManager::removeRecvItem( DccTransfer* item_ )
+{
+ DccTransferRecv* item = static_cast< DccTransferRecv* > ( item_ );
+ m_recvItems.remove( item );
+ item->deleteLater();
+}
+
+#include "dcctransfermanager.moc"
diff --git a/konversation/src/dcctransfermanager.h b/konversation/src/dcctransfermanager.h
new file mode 100644
index 0000000..0f2d655
--- /dev/null
+++ b/konversation/src/dcctransfermanager.h
@@ -0,0 +1,95 @@
+/*
+ DccTransferManager controls DccTransfer instances.
+ All DccTransferRecv/DccTransferSend instances are created and deleted by this class.
+ Each DccTransfer instance is deleted immediately after its transfer done.
+*/
+
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2007 Shintaro Matsuoka <shin@shoegazed.org>
+*/
+
+#ifndef DCCTRANSFERMANAGER_H
+#define DCCTRANSFERMANAGER_H
+
+#include "dcctransfer.h"
+
+#include <qobject.h>
+#include <qvaluelist.h>
+
+
+class KURL;
+
+class DccTransferRecv;
+class DccTransferSend;
+
+class DccTransferManager : public QObject
+{
+ Q_OBJECT
+
+ public:
+ DccTransferManager( QObject* parent = 0 );
+ ~DccTransferManager();
+
+ signals:
+ /*
+ * The status of the item is DccTransfer::Configuring when this signal is emitted.
+ */
+ void newTransferAdded( DccTransfer* transfer );
+ /*
+ * The status of the item is DccTransfer::Queued when this signal is emitted.
+ */
+ void newTransferQueued( DccTransfer* transfer );
+
+ void fileURLChanged( DccTransferRecv* transfer );
+
+ public:
+ DccTransferRecv* newDownload();
+ DccTransferSend* newUpload();
+
+ /**
+ * @return a DccTransferRecv item if applicable one found, otherwise 0.
+ */
+ DccTransferRecv* resumeDownload(int connectionId, const QString& partnerNick, const QString& fileName, const QString& ownPort, unsigned long position );
+
+ /**
+ * @return a DccTransferSend item if applicable one found, otherwise 0.
+ */
+ DccTransferSend* resumeUpload(int connectionId, const QString& partnerNick, const QString& fileName, const QString& ownPort, unsigned long position );
+
+ DccTransferSend* startReverseSending(int connectionId, const QString& partnerNick, const QString& fileName, const QString& partnerHost, const QString& partnerPort, unsigned long fileSize, const QString& token );
+
+ bool isLocalFileInWritingProcess( const KURL& localUrl ) const;
+
+ int generateReverseTokenNumber();
+
+ bool hasActiveTransfers();
+
+ private:
+ /*
+ * initTransfer() does the common jobs for newDownload() and newUpload()
+ */
+ void initTransfer( DccTransfer* transfer );
+
+ private slots:
+ void slotTransferStatusChanged( DccTransfer* item, int newStatus, int oldStatus );
+ void removeSendItem( DccTransfer* item );
+ void removeRecvItem( DccTransfer* item );
+
+ void slotSettingsChanged();
+
+ private:
+ QValueList< DccTransferSend* > m_sendItems;
+ QValueList< DccTransferRecv* > m_recvItems;
+
+ int m_nextReverseTokenNumber;
+ QString m_defaultIncomingFolder; // store here to know if this settings is changed
+};
+
+#endif // DCCTRANSFERMANAGER_H
diff --git a/konversation/src/dcctransferpanel.cpp b/konversation/src/dcctransferpanel.cpp
new file mode 100644
index 0000000..3a2df9c
--- /dev/null
+++ b/konversation/src/dcctransferpanel.cpp
@@ -0,0 +1,459 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2008 Shintaro Matsuoka <shin@shoegazed.org>
+
+#include "dcctransferpanel.h"
+#include "konversationapplication.h"
+#include "dcctransferdetailedinfopanel.h"
+#include "dcctransfermanager.h"
+#include "dcctransferpanelitem.h"
+#include "dcctransfersend.h"
+#include "preferences.h"
+
+#include <qhbox.h>
+#include <qheader.h>
+#include <qpushbutton.h>
+#include <qtooltip.h>
+#include <qvbox.h>
+
+#include <kdebug.h>
+#include <kdeversion.h>
+#include <kdialog.h>
+#include <kglobal.h>
+#include <kglobalsettings.h>
+#include <kiconloader.h>
+#include <klistview.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kpopupmenu.h>
+#include <krun.h>
+#include <kapplication.h>
+
+
+DccTransferPanel::DccTransferPanel(QWidget* parent) : ChatWindow(parent)
+{
+ setType(ChatWindow::DccTransferPanel);
+ setName(i18n("DCC Status"));
+
+ initGUI();
+
+ connect( KonversationApplication::instance()->getDccTransferManager(), SIGNAL( newTransferAdded( DccTransfer* ) ), this, SLOT( slotNewTransferAdded( DccTransfer* ) ) );
+}
+
+DccTransferPanel::~DccTransferPanel()
+{
+ // remember column widths
+ QValueList<int> columnWidths;
+ for ( uint i = 0 ; i < Column::COUNT ; ++i )
+ columnWidths.push_back( m_listView->columnWidth( i ) );
+ Preferences::setDccColumnWidths( columnWidths );
+}
+
+void DccTransferPanel::initGUI()
+{
+ setSpacing( 0 );
+
+ m_listView = new KListView(this,"dcc_control_panel");
+
+ m_listView->setSelectionMode(QListView::Extended);
+ m_listView->setDragEnabled(true);
+ m_listView->setAcceptDrops(true);
+ m_listView->setSorting(-1,false);
+ m_listView->setAllColumnsShowFocus(true);
+
+ for(unsigned int i=0 ; i < Column::COUNT ; ++i)
+ m_listView->addColumn("");
+
+ //m_listView->setColumnText(Column::TypeIcon, "");
+ m_listView->setColumnText(Column::OfferDate, i18n("Started at"));
+ m_listView->setColumnText(Column::Status, i18n("Status"));
+ m_listView->setColumnText(Column::FileName, i18n("File"));
+ m_listView->setColumnText(Column::PartnerNick, i18n("Partner"));
+ m_listView->setColumnText(Column::Progress, i18n("Progress"));
+ m_listView->setColumnText(Column::Position, i18n("Position"));
+ m_listView->setColumnText(Column::TimeLeft, i18n("Remaining"));
+ m_listView->setColumnText(Column::CurrentSpeed, i18n("Speed"));
+ m_listView->setColumnText(Column::SenderAddress, i18n("Sender Address"));
+
+ QValueList<int> columnWidths = Preferences::dccColumnWidths();
+ for ( uint i = 0 ; i < Column::COUNT && i < columnWidths.count() ; ++i )
+ m_listView->setColumnWidth( i, columnWidths[i] );
+
+ m_listView->setColumnWidthMode(Column::FileName, QListView::Manual);
+
+ m_listView->setColumnAlignment(Column::OfferDate, AlignHCenter);
+ m_listView->setColumnAlignment(Column::Progress, AlignHCenter);
+ m_listView->setColumnAlignment(Column::Position, AlignHCenter);
+ m_listView->setColumnAlignment(Column::TimeLeft, AlignHCenter);
+ m_listView->setColumnAlignment(Column::CurrentSpeed, AlignHCenter);
+
+ m_listView->setSorting(Column::OfferDate, false);
+
+ connect(m_listView,SIGNAL (selectionChanged()),this,SLOT (updateButton()) );
+
+ // detailed info panel
+ m_detailPanel = new DccTransferDetailedInfoPanel(this);
+
+ // button
+
+ QHBox* buttonsBox=new QHBox(this);
+ buttonsBox->setSpacing(spacing());
+
+ // convenience, undeffed below again to avoid name clashes
+ #define icon(s) KGlobal::iconLoader()->loadIconSet( s, KIcon::Small )
+
+ m_buttonAccept = new QPushButton(icon("player_play"), i18n("Accept"), buttonsBox, "start_dcc");
+ m_buttonAbort = new QPushButton(icon("stop"), i18n("Abort"), buttonsBox, "abort_dcc");
+ m_buttonClear = new QPushButton(icon("editdelete"), i18n("Clear"), buttonsBox, "clear_dcc");
+ m_buttonOpen = new QPushButton(icon("exec"), i18n("Open File"), buttonsBox, "open_dcc_file");
+ m_buttonDetail = new QPushButton(icon("view_text"), i18n("Details"), buttonsBox, "detail_dcc");
+ m_buttonDetail->setToggleButton( true );
+
+ QToolTip::add( m_buttonAccept, i18n( "Start receiving" ) );
+ QToolTip::add( m_buttonAbort, i18n( "Abort the transfer(s)" ) );
+ QToolTip::add( m_buttonOpen, i18n( "Run the file" ) );
+ QToolTip::add( m_buttonDetail, i18n( "View DCC transfer details" ) );
+
+ connect( m_buttonAccept, SIGNAL(clicked()), this, SLOT(acceptDcc()) );
+ connect( m_buttonAbort, SIGNAL(clicked()), this, SLOT(abortDcc()) );
+ connect( m_buttonClear, SIGNAL(clicked()), this, SLOT(clearDcc()) );
+ connect( m_buttonOpen, SIGNAL(clicked()), this, SLOT(runDcc()) );
+ //connect( m_buttonDetail, SIGNAL(clicked()), this, SLOT(openDetail()) );
+ connect( m_buttonDetail, SIGNAL(toggled(bool)), m_detailPanel, SLOT(setShown(bool)) );
+ m_buttonDetail->setOn(true);
+
+
+ // popup menu
+
+ m_popup = new KPopupMenu(this);
+ m_popup->insertItem( i18n("&Select All Items"), Popup::SelectAll);
+ m_popup->insertItem( i18n("S&elect All Completed Items"), Popup::SelectAllCompleted);
+ m_popup->insertSeparator(); // -----
+ m_popup->insertItem(icon("player_play"), i18n("&Accept"), Popup::Accept);
+ m_popup->insertItem(icon("stop"), i18n("A&bort"), Popup::Abort);
+ m_popup->insertSeparator(); // -----
+ // FIXME: make it neat
+ m_popup->insertItem(icon("redo"), i18n("Resend"), Popup::Resend);
+ m_popup->insertItem(icon("editdelete"), i18n("&Clear"), Popup::Clear);
+ m_popup->insertSeparator(); // -----
+ m_popup->insertItem(icon("exec"), i18n("&Open File"), Popup::Open);
+ m_popup->insertItem(icon("messagebox_info"), i18n("File &Information"), Popup::Info);
+
+ #undef icon
+
+ connect(m_listView, SIGNAL(contextMenuRequested(QListViewItem*,const QPoint&,int)), this, SLOT(popupRequested(QListViewItem*,const QPoint&,int)));
+ connect(m_popup, SIGNAL(activated(int)), this, SLOT(popupActivated(int)));
+
+ // misc.
+ connect(m_listView, SIGNAL(doubleClicked(QListViewItem*,const QPoint&,int)), this, SLOT(doubleClicked(QListViewItem*,const QPoint&,int)));
+
+ connect(m_listView, SIGNAL(currentChanged(QListViewItem*)), this, SLOT(setDetailPanelItem(QListViewItem*)));
+
+ updateButton();
+}
+
+void DccTransferPanel::slotNewTransferAdded( DccTransfer* transfer )
+{
+ DccTransferPanelItem* item = new DccTransferPanelItem( this, transfer );
+ connect( transfer, SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( slotTransferStatusChanged() ) );
+ if ( m_listView->childCount() == 1 )
+ {
+ m_listView->clearSelection();
+ m_listView->setSelected( item, true );
+ m_listView->setCurrentItem( item );
+ updateButton();
+ setDetailPanelItem( item );
+ }
+}
+
+void DccTransferPanel::slotTransferStatusChanged()
+{
+ updateButton();
+ activateTabNotification(Konversation::tnfSystem);
+}
+
+void DccTransferPanel::updateButton()
+{
+ bool accept = true,
+ abort = false,
+ clear = false,
+ info = true,
+ open = true,
+ resend = false,
+ selectAll = false,
+ selectAllCompleted = false;
+
+ int selectedItems = 0;
+ QListViewItemIterator it( m_listView );
+
+ while( it.current() )
+ {
+ DccTransferPanelItem* item = static_cast<DccTransferPanelItem*>( it.current() );
+
+ DccTransfer::DccType type = item->transfer()->getType();
+ DccTransfer::DccStatus status = item->transfer()->getStatus();
+
+ selectAll = true;
+ selectAllCompleted |= ( status >= DccTransfer::Done );
+
+ if( it.current()->isSelected() )
+ {
+ ++selectedItems;
+
+ accept &= ( status == DccTransfer::Queued );
+
+ abort |= ( status < DccTransfer::Done );
+
+ clear |= ( status >= DccTransfer::Done );
+
+ info &= ( type == DccTransfer::Send ||
+ status == DccTransfer::Done );
+
+ open &= ( type == DccTransfer::Send ||
+ status == DccTransfer::Done );
+
+ resend |= ( type == DccTransfer::Send &&
+ status >= DccTransfer::Done );
+ }
+ ++it;
+ }
+
+ if( !selectedItems )
+ {
+ accept = false;
+ abort = false;
+ clear = false;
+ info = false;
+ open = false;
+ resend = false;
+ }
+
+ if (!kapp->authorize("allow_downloading"))
+ {
+ accept = false;
+ }
+
+ m_buttonAccept->setEnabled( accept );
+ m_buttonAbort->setEnabled( abort );
+ m_buttonClear->setEnabled( clear );
+ m_buttonOpen->setEnabled( open );
+
+ m_popup->setItemEnabled( Popup::SelectAll, selectAll );
+ m_popup->setItemEnabled( Popup::SelectAllCompleted, selectAllCompleted );
+ m_popup->setItemEnabled( Popup::Accept, accept );
+ m_popup->setItemEnabled( Popup::Abort, abort );
+ m_popup->setItemEnabled( Popup::Clear, clear );
+ m_popup->setItemEnabled( Popup::Open, open );
+ m_popup->setItemEnabled( Popup::Resend, resend );
+ m_popup->setItemEnabled( Popup::Info, info );
+}
+
+void DccTransferPanel::setDetailPanelItem(QListViewItem* item_)
+{
+ if ( item_ )
+ {
+ DccTransferPanelItem* item = static_cast< DccTransferPanelItem* >( item_ );
+ m_detailPanel->setItem( item );
+ }
+}
+
+void DccTransferPanel::acceptDcc()
+{
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ if( it.current()->isSelected() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ DccTransfer* transfer = item->transfer();
+ if( transfer->getType() == DccTransfer::Receive && transfer->getStatus() == DccTransfer::Queued )
+ transfer->start();
+ }
+ ++it;
+ }
+}
+
+void DccTransferPanel::abortDcc()
+{
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ if( it.current()->isSelected() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ DccTransfer* transfer = item->transfer();
+ if( transfer->getStatus() < DccTransfer::Done )
+ transfer->abort();
+ }
+ ++it;
+ }
+}
+
+void DccTransferPanel::resendFile()
+{
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ if( it.current()->isSelected() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ DccTransfer* transfer = item->transfer();
+ if( transfer->getType() == DccTransfer::Send && transfer->getStatus() >= DccTransfer::Done )
+ {
+ DccTransferSend* newTransfer = KonversationApplication::instance()->getDccTransferManager()->newUpload();
+
+ newTransfer->setConnectionId( transfer->getConnectionId() );
+ newTransfer->setPartnerNick( transfer->getPartnerNick() );
+ newTransfer->setFileURL( transfer->getFileURL() );
+ newTransfer->setFileName( transfer->getFileName() );
+ // FIXME
+ newTransfer->setOwnIp( transfer->getOwnIp() );
+
+ if ( newTransfer->queue() )
+ newTransfer->start();
+ }
+ }
+ ++it;
+ }
+}
+
+void DccTransferPanel::clearDcc()
+{
+ QPtrList<QListViewItem> lst;
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ DccTransferPanelItem* item = static_cast<DccTransferPanelItem*>( it.current() );
+ // should we check that [item] is not null?
+ if( it.current()->isSelected() && item->transfer()->getStatus() >= DccTransfer::Done )
+ lst.append( it.current() );
+ ++it;
+ }
+
+ // Figure out the first 'gap' in the selection and select that item,
+ // or, if there are no gaps, select first item below the selection
+ QPtrListIterator<QListViewItem> selected( lst );
+ bool itemSelected = false;
+ while( selected.current() )
+ {
+ if (selected.current()->itemBelow() && !lst.containsRef(selected.current()->itemBelow()))
+ {
+ m_listView->setSelected(selected.current()->itemBelow(),true);
+ m_listView->setCurrentItem(selected.current()->itemBelow());
+ itemSelected = true;
+ break;
+ }
+ ++selected;
+ }
+
+ // When there are neither gaps in nor items below the selection, select the first item
+ if (!itemSelected)
+ {
+ m_listView->setSelected(m_listView->firstChild(),true);
+ m_listView->setCurrentItem(m_listView->firstChild());
+ }
+
+ lst.setAutoDelete( true );
+ while( lst.remove() ) ;
+ updateButton();
+}
+
+void DccTransferPanel::runDcc()
+{
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ if( it.current()->isSelected() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ DccTransfer* transfer = item->transfer();
+ if( transfer->getType() == DccTransfer::Send || transfer->getStatus() == DccTransfer::Done )
+ item->runFile();
+ }
+ ++it;
+ }
+}
+
+void DccTransferPanel::showFileInfo()
+{
+ QListViewItemIterator it( m_listView );
+ while( it.current() )
+ {
+ if( it.current()->isSelected() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ if( item->transfer()->getType() == DccTransfer::Send || item->transfer()->getStatus() == DccTransfer::Done )
+ item->openFileInfoDialog();
+ }
+ ++it;
+ }
+}
+
+void DccTransferPanel::selectAll()
+{
+ QListViewItemIterator it( m_listView );
+ while ( it.current() )
+ {
+ m_listView->setSelected( *it, true );
+ ++it;
+ }
+ updateButton();
+}
+
+void DccTransferPanel::selectAllCompleted()
+{
+ QListViewItemIterator it( m_listView );
+ while ( it.current() )
+ {
+ DccTransferPanelItem* item=static_cast<DccTransferPanelItem*>( it.current() );
+ m_listView->setSelected( *it, item->transfer()->getStatus() >= DccTransfer::Done );
+ ++it;
+ }
+ updateButton();
+}
+
+void DccTransferPanel::popupRequested(QListViewItem* /* item */, const QPoint& pos, int /* col */) // slot
+{
+ updateButton();
+ m_popup->popup(pos);
+}
+
+void DccTransferPanel::popupActivated( int id ) // slot
+{
+ if ( id == Popup::Abort ) abortDcc();
+ else if ( id == Popup::Accept ) acceptDcc();
+ else if ( id == Popup::Clear ) clearDcc();
+ else if ( id == Popup::Info ) showFileInfo();
+ else if ( id == Popup::Open ) runDcc();
+ else if ( id == Popup::SelectAll ) selectAll();
+ else if ( id == Popup::SelectAllCompleted ) selectAllCompleted();
+ else if ( id == Popup::Resend ) resendFile();
+}
+
+void DccTransferPanel::doubleClicked(QListViewItem* _item, const QPoint& /* _pos */, int /* _col */)
+{
+ DccTransferPanelItem* item = static_cast<DccTransferPanelItem*>(_item);
+ item->runFile();
+}
+
+// virtual
+void DccTransferPanel::childAdjustFocus()
+{
+}
+
+KListView* DccTransferPanel::getListView()
+{
+ return m_listView;
+}
+
+#include "dcctransferpanel.moc"
diff --git a/konversation/src/dcctransferpanel.h b/konversation/src/dcctransferpanel.h
new file mode 100644
index 0000000..882edb7
--- /dev/null
+++ b/konversation/src/dcctransferpanel.h
@@ -0,0 +1,113 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+
+#ifndef DCCTRANSFERPANEL_H
+#define DCCTRANSFERPANEL_H
+
+#include "chatwindow.h"
+#include "dcctransferpanelitem.h"
+
+
+class QContextMenuEvent;
+class QPushButton;
+class KListView;
+class KPopupMenu;
+
+class DccTransferDetailedInfoPanel;
+
+class DccTransferPanel : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ class Column
+ {
+ public:
+ enum Object
+ {
+ TypeIcon,
+ OfferDate,
+ Status,
+ FileName,
+ PartnerNick,
+ Progress,
+ Position,
+ TimeLeft,
+ CurrentSpeed,
+ SenderAddress,
+ COUNT
+ };
+ };
+
+ class Popup
+ {
+ public:
+ enum Object
+ {
+ SelectAll,
+ SelectAllCompleted,
+ Accept,
+ Abort,
+ Clear,
+ Open,
+ Info,
+ Resend
+ };
+ };
+
+ DccTransferPanel(QWidget* parent);
+ ~DccTransferPanel();
+
+ KListView* getListView();
+
+ protected slots:
+ void slotNewTransferAdded( DccTransfer* transfer );
+ void slotTransferStatusChanged();
+
+ void acceptDcc();
+ void abortDcc();
+ void resendFile();
+ void clearDcc();
+ void runDcc();
+ void showFileInfo();
+ void selectAll();
+ void selectAllCompleted();
+
+ void popupRequested(QListViewItem* item,const QPoint& pos,int col);
+ void popupActivated(int id);
+
+ void doubleClicked(QListViewItem* _item,const QPoint& _pos,int _col);
+
+ void updateButton();
+
+ void setDetailPanelItem(QListViewItem* item_);
+
+ protected:
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ void initGUI();
+
+ KListView* m_listView;
+ KPopupMenu* m_popup;
+
+ DccTransferDetailedInfoPanel* m_detailPanel;
+
+ QPushButton* m_buttonAccept;
+ QPushButton* m_buttonAbort;
+ QPushButton* m_buttonClear;
+ QPushButton* m_buttonOpen;
+ QPushButton* m_buttonDetail;
+};
+#endif
diff --git a/konversation/src/dcctransferpanelitem.cpp b/konversation/src/dcctransferpanelitem.cpp
new file mode 100644
index 0000000..811828c
--- /dev/null
+++ b/konversation/src/dcctransferpanelitem.cpp
@@ -0,0 +1,403 @@
+/*
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#include "dcctransferpanelitem.h"
+#include "dcctransferpanel.h"
+#include "konversationapplication.h"
+#include "config/preferences.h"
+
+#include <qheader.h>
+#include <qhostaddress.h>
+#include <qstyle.h>
+#include <qtimer.h>
+
+#include <kdebug.h>
+#include <kfilemetainfo.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <kio/job.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kprogress.h>
+#include <krun.h>
+
+
+DccTransferPanelItem::DccTransferPanelItem( DccTransferPanel* panel, DccTransfer* transfer )
+ : KListViewItem( panel->getListView() )
+ , m_panel( panel )
+ , m_transfer( transfer )
+ , m_isTransferInstanceBackup( false )
+{
+ m_autoUpdateViewTimer = 0;
+
+ m_progressBar = new KProgress( 100, listView()->viewport() );
+ m_progressBar->setCenterIndicator( true );
+ m_progressBar->setPercentageVisible( true );
+
+ connect( m_transfer, SIGNAL( transferStarted( DccTransfer* ) ), this, SLOT( startAutoViewUpdate() ) );
+ connect( m_transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( stopAutoViewUpdate() ) );
+ connect( m_transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( backupTransferInfo( DccTransfer* ) ) );
+
+ connect( m_transfer, SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( slotStatusChanged( DccTransfer*, int, int ) ) );
+
+ updateView();
+}
+
+DccTransferPanelItem::~DccTransferPanelItem()
+{
+ kdDebug() << "DccTransferPanelItem::~DccTransferPanelItem()" << endl;
+ stopAutoViewUpdate();
+ delete m_progressBar;
+ if ( m_isTransferInstanceBackup )
+ delete m_transfer;
+}
+
+void DccTransferPanelItem::updateView()
+{
+ setPixmap( DccTransferPanel::Column::TypeIcon, getTypeIcon() );
+ setPixmap( DccTransferPanel::Column::Status, getStatusIcon() );
+
+ setText( DccTransferPanel::Column::OfferDate, m_transfer->getTimeOffer().toString( "hh:mm:ss" ) );
+ setText( DccTransferPanel::Column::Status, getStatusText() );
+ setText( DccTransferPanel::Column::FileName, m_transfer->getFileName() );
+ setText( DccTransferPanel::Column::PartnerNick, m_transfer->getPartnerNick() );
+ setText( DccTransferPanel::Column::Position, getPositionPrettyText() );
+ setText( DccTransferPanel::Column::TimeLeft, getTimeLeftPrettyText() );
+ setText( DccTransferPanel::Column::CurrentSpeed, getCurrentSpeedPrettyText() );
+ setText( DccTransferPanel::Column::SenderAddress, getSenderAddressPrettyText() );
+
+ if ( m_transfer->getFileSize() )
+ m_progressBar->setProgress( m_transfer->getProgress() );
+ else // filesize is unknown
+ {
+ m_progressBar->hide();
+ setText( DccTransferPanel::Column::Progress, i18n( "unknown" ) );
+ }
+}
+
+
+int DccTransferPanelItem::compare( QListViewItem* i, int col, bool ascending ) const
+{
+ DccTransferPanelItem* item = static_cast<DccTransferPanelItem*>( i );
+
+ switch ( col )
+ {
+ case DccTransferPanel::Column::TypeIcon:
+ if ( m_transfer->getType() > item->transfer()->getType() ) return 1;
+ if ( m_transfer->getType() < item->transfer()->getType() ) return -1;
+ return 0;
+ break;
+ case DccTransferPanel::Column::OfferDate:
+ if ( m_transfer->getTimeOffer() > item->transfer()->getTimeOffer() ) return 1;
+ if ( m_transfer->getTimeOffer() < item->transfer()->getTimeOffer() ) return -1;
+ return 0;
+ break;
+ case DccTransferPanel::Column::Status:
+ if ( m_transfer->getStatus() > item->transfer()->getStatus() ) return 1;
+ if ( m_transfer->getStatus() < item->transfer()->getStatus() ) return -1;
+ return 0;
+ break;
+ case DccTransferPanel::Column::Position:
+ if ( m_transfer->getTransferringPosition() > item->transfer()->getTransferringPosition() ) return 1;
+ if ( m_transfer->getTransferringPosition() < item->transfer()->getTransferringPosition() ) return -1;
+ return 0;
+ break;
+ case DccTransferPanel::Column::TimeLeft:
+ if ( m_transfer->getTimeLeft() > item->transfer()->getTimeLeft() ) return 1;
+ if ( m_transfer->getTimeLeft() < item->transfer()->getTimeLeft() ) return -1;
+ return 0;
+ break;
+ case DccTransferPanel::Column::CurrentSpeed:
+ if ( m_transfer->getCurrentSpeed() > item->transfer()->getCurrentSpeed() ) return 1;
+ if ( m_transfer->getCurrentSpeed() < item->transfer()->getCurrentSpeed() ) return -1;
+ return 0;
+ break;
+ default:
+ return QListViewItem::compare( i, col, ascending );
+ }
+ return QListViewItem::compare( i, col, ascending );
+}
+
+void DccTransferPanelItem::slotStatusChanged( DccTransfer* /* transfer */, int newStatus, int /* oldStatus */ )
+{
+ updateView();
+
+ if ( newStatus == DccTransfer::Transferring )
+ startAutoViewUpdate();
+}
+
+void DccTransferPanelItem::startAutoViewUpdate()
+{
+ stopAutoViewUpdate();
+ m_autoUpdateViewTimer = new QTimer( this );
+ connect( m_autoUpdateViewTimer, SIGNAL( timeout() ), this, SLOT( updateView()) );
+ m_autoUpdateViewTimer->start( 500 );
+}
+
+void DccTransferPanelItem::stopAutoViewUpdate()
+{
+ if ( m_autoUpdateViewTimer )
+ {
+ m_autoUpdateViewTimer->stop();
+ delete m_autoUpdateViewTimer;
+ m_autoUpdateViewTimer = 0;
+ }
+}
+
+void DccTransferPanelItem::paintCell( QPainter* painter, const QColorGroup& colorgroup, int column, int width, int alignment ) // virtual public
+{
+ KListViewItem::paintCell( painter, colorgroup, column, width, alignment );
+ if ( column == DccTransferPanel::Column::Progress )
+ showProgressBar();
+}
+
+void DccTransferPanelItem::showProgressBar()
+{
+ if ( m_transfer->getFileSize() )
+ {
+ QRect rect = listView()->itemRect( this );
+ QHeader *head = listView()->header();
+ rect.setLeft( head->sectionPos( DccTransferPanel::Column::Progress ) - head->offset() );
+ rect.setWidth( head->sectionSize( DccTransferPanel::Column::Progress ) );
+ m_progressBar->setGeometry( rect );
+ m_progressBar->show();
+ }
+}
+
+void DccTransferPanelItem::runFile()
+{
+ if ( m_transfer->getType() == DccTransfer::Send || m_transfer->getStatus() == DccTransfer::Done )
+ new KRun( m_transfer->getFileURL(), listView() );
+}
+
+void DccTransferPanelItem::openFileInfoDialog()
+{
+ if ( m_transfer->getType() == DccTransfer::Send || m_transfer->getStatus() == DccTransfer::Done )
+ {
+ QStringList infoList;
+
+ QString path=m_transfer->getFileURL().path();
+
+ // get meta info object
+ KFileMetaInfo fileInfo(path,QString(),KFileMetaInfo::Everything);
+
+ // is there any info for this file?
+ if(!fileInfo.isEmpty())
+ {
+ // get list of meta information groups
+ QStringList groupList=fileInfo.groups();
+ // look inside for keys
+ for(unsigned int index=0;index<groupList.count();index++)
+ {
+ // get next group
+ KFileMetaInfoGroup group=fileInfo.group(groupList[index]);
+ // check if there are keys in this group at all
+ if(!group.isEmpty())
+ {
+ // append group name to list
+ infoList.append(groupList[index]);
+ // get list of keys in this group
+ QStringList keys=group.keys();
+ for(unsigned keyIndex=0;keyIndex<keys.count();keyIndex++)
+ {
+ // get meta information item for this key
+ KFileMetaInfoItem item=group.item(keys[keyIndex]);
+ if(item.isValid())
+ {
+ // append item information to list
+ infoList.append("- "+item.translatedKey()+' '+item.string());
+ }
+ } // endfor
+ }
+ } // endfor
+
+ // display information list if any available
+ if(infoList.count())
+ {
+ #ifdef USE_INFOLIST
+ KMessageBox::informationList(
+ listView(),
+ i18n("Available information for file %1:").arg(path),
+ infoList,
+ i18n("File Information")
+ );
+ #else
+ KMessageBox::information(
+ listView(),
+ "<qt>"+infoList.join("<br>")+"</qt>",
+ i18n("File Information")
+ );
+ #endif
+ }
+ }
+ else
+ {
+ KMessageBox::sorry(listView(),i18n("No detailed information for this file found."),i18n("File Information"));
+ }
+ }
+}
+
+void DccTransferPanelItem::backupTransferInfo( DccTransfer* transfer )
+{
+ kdDebug() << "DccTransferPanelItem::backupTransferInfo()" << endl;
+ // instances of DccTransfer are deleted immediately after the transfer is done
+ // so we need to make a backup of DccTransfer.
+
+ m_transfer = new DccTransfer( *transfer );
+ m_isTransferInstanceBackup = true;
+}
+
+QString DccTransferPanelItem::getTypeText() const
+{
+ if ( m_transfer->getType() == DccTransfer::Send )
+ return i18n( "Send" );
+ else
+ return i18n( "Receive" );
+}
+
+QPixmap DccTransferPanelItem::getTypeIcon() const
+{
+ if ( m_transfer->getType() == DccTransfer::Send )
+ return KGlobal::iconLoader()->loadIcon( "up", KIcon::Small );
+ else
+ return KGlobal::iconLoader()->loadIcon( "down", KIcon::Small );
+}
+
+QPixmap DccTransferPanelItem::getStatusIcon() const
+{
+ QString icon;
+ switch ( m_transfer->getStatus() )
+ {
+ case DccTransfer::Queued:
+ icon = "player_stop";
+ break;
+ case DccTransfer::Preparing:
+ case DccTransfer::WaitingRemote:
+ case DccTransfer::Connecting:
+ icon = "goto";
+ break;
+ case DccTransfer::Transferring:
+ icon = "player_play";
+ break;
+ case DccTransfer::Done:
+ icon = "ok";
+ break;
+ case DccTransfer::Aborted:
+ case DccTransfer::Failed:
+ icon = "stop";
+ break;
+ default:
+ break;
+ }
+ return KGlobal::iconLoader()->loadIcon( icon, KIcon::Small );
+}
+
+QString DccTransferPanelItem::getStatusText() const
+{
+ DccTransfer::DccStatus status = m_transfer->getStatus();
+ DccTransfer::DccType type = m_transfer->getType();
+
+ if ( status == DccTransfer::Queued )
+ return i18n( "Queued" );
+ else if ( status == DccTransfer::Preparing )
+ return i18n( "Preparing" );
+ else if ( status == DccTransfer::WaitingRemote )
+ return i18n( "Awaiting" );
+ else if ( status == DccTransfer::Connecting )
+ return i18n( "Connecting" );
+ else if ( status == DccTransfer::Transferring && type == DccTransfer::Receive )
+ return i18n( "Receiving" );
+ else if ( status == DccTransfer::Transferring && type == DccTransfer::Send )
+ return i18n( "Sending" );
+ else if ( status == DccTransfer::Done )
+ return i18n( "Done" );
+ else if ( status == DccTransfer::Failed )
+ return i18n( "Failed" );
+ else if ( status == DccTransfer::Aborted )
+ return i18n( "Aborted" );
+
+ return QString();
+}
+
+QString DccTransferPanelItem::getFileSizePrettyText() const
+{
+ return KIO::convertSize( m_transfer->getFileSize() );
+}
+
+QString DccTransferPanelItem::getPositionPrettyText( bool detailed ) const
+{
+ if ( detailed )
+ return KGlobal::locale()->formatNumber( m_transfer->getTransferringPosition(), 0 ) + " / " +
+ KGlobal::locale()->formatNumber( m_transfer->getFileSize(), 0 );
+ else
+ return KIO::convertSize( m_transfer->getTransferringPosition() ) + " / " + KIO::convertSize( m_transfer->getFileSize() );
+}
+
+QString DccTransferPanelItem::getTimeLeftPrettyText() const
+{
+ QString text;
+
+ if ( m_transfer->getTimeLeft() == DccTransfer::NotInTransfer )
+ ;
+ else if ( m_transfer->getTimeLeft() == DccTransfer::InfiniteValue )
+ text = "?";
+ else
+ text = secToHMS( m_transfer->getTimeLeft() );
+
+ return text;
+}
+
+QString DccTransferPanelItem::getAverageSpeedPrettyText() const
+{
+ return getSpeedPrettyText( m_transfer->getAverageSpeed() );
+}
+
+QString DccTransferPanelItem::getCurrentSpeedPrettyText() const
+{
+ return getSpeedPrettyText( m_transfer->getCurrentSpeed() );
+}
+
+QString DccTransferPanelItem::getSenderAddressPrettyText() const
+{
+ if ( m_transfer->getType() == DccTransfer::Send )
+ return QString( "%1:%2" ).arg( m_transfer->getOwnIp() ).arg( m_transfer->getOwnPort() );
+ else
+ return QString( "%1:%2" ).arg( m_transfer->getPartnerIp() ).arg( m_transfer->getPartnerPort() );
+}
+
+QString DccTransferPanelItem::getSpeedPrettyText( transferspeed_t speed )
+{
+ if ( speed == DccTransfer::Calculating || speed == DccTransfer::InfiniteValue )
+ return QString( "?" );
+ else if ( speed == DccTransfer::NotInTransfer )
+ return QString();
+ else
+ return i18n("%1/sec").arg( KIO::convertSize( (KIO::fileoffset_t)speed ) );
+}
+
+QString DccTransferPanelItem::secToHMS( long sec )
+{
+ int remSec = sec;
+ int remHour = remSec / 3600; remSec -= remHour * 3600;
+ int remMin = remSec / 60; remSec -= remMin * 60;
+
+ // remHour can be more than 25, so we can't use QTime here.
+ return QString( "%1:%2:%3" )
+ .arg( QString::number( remHour ).rightJustify( 2, '0', false ) )
+ .arg( QString::number( remMin ).rightJustify( 2, '0' ) )
+ .arg( QString::number( remSec ).rightJustify( 2, '0' ) );
+}
+
+#include "dcctransferpanelitem.moc"
diff --git a/konversation/src/dcctransferpanelitem.h b/konversation/src/dcctransferpanelitem.h
new file mode 100644
index 0000000..e9fbb84
--- /dev/null
+++ b/konversation/src/dcctransferpanelitem.h
@@ -0,0 +1,98 @@
+/*
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#ifndef DCCTRANSFERPANELITEM_H
+#define DCCTRANSFERPANELITEM_H
+
+#include "dcctransfer.h"
+
+#include <qdatetime.h>
+
+#include <klistview.h>
+#include <kurl.h>
+#include <kio/global.h>
+
+
+class QStringList;
+class QTimer;
+
+class KProgress;
+
+namespace KIO
+{
+ class Job;
+}
+
+class DccTransferPanel;
+
+class DccTransferPanelItem : public QObject, public KListViewItem
+{
+ Q_OBJECT
+
+ public:
+ DccTransferPanelItem( DccTransferPanel* panel, DccTransfer* transfer );
+ virtual ~DccTransferPanelItem();
+
+ virtual void paintCell( QPainter* painter, const QColorGroup& colorgroup, int column, int width, int alignment );
+
+ virtual int compare( QListViewItem* i, int col, bool ascending ) const;
+
+ void runFile();
+ void openFileInfoDialog();
+
+ DccTransfer* transfer() const { return m_transfer; }
+
+ // called from updateView()
+ QString getTypeText() const;
+ QPixmap getTypeIcon() const;
+ QPixmap getStatusIcon() const;
+ QString getStatusText() const;
+ QString getFileSizePrettyText() const;
+ QString getPositionPrettyText( bool detailed = false ) const;
+ QString getTimeLeftPrettyText() const;
+ QString getAverageSpeedPrettyText() const;
+ QString getCurrentSpeedPrettyText() const;
+ QString getSenderAddressPrettyText() const;
+
+ static QString getSpeedPrettyText( transferspeed_t speed );
+ static QString secToHMS( long sec );
+
+ private slots:
+ void slotStatusChanged( DccTransfer* transfer, int newStatus, int oldStatus );
+ void updateView();
+
+ private:
+ DccTransferPanel* m_panel;
+ DccTransfer* m_transfer;
+ bool m_isTransferInstanceBackup;
+
+ private slots:
+ void startAutoViewUpdate();
+ void stopAutoViewUpdate();
+
+ void backupTransferInfo( DccTransfer* transfer );
+
+ private:
+ void updateTransferInfo();
+ void updateTransferMeters();
+
+ void showProgressBar(); // called from printCell()
+
+ // UI
+ QTimer* m_autoUpdateViewTimer;
+ KProgress* m_progressBar;
+};
+
+#endif // DCCTRANSFERPANELITEM_H
diff --git a/konversation/src/dcctransferrecv.cpp b/konversation/src/dcctransferrecv.cpp
new file mode 100644
index 0000000..a1b69d3
--- /dev/null
+++ b/konversation/src/dcctransferrecv.cpp
@@ -0,0 +1,799 @@
+/*
+ receive a file on DCC protocol
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#include "dcctransferrecv.h"
+#include "dcccommon.h"
+#include "channel.h"
+#include "dcctransfermanager.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "server.h"
+
+#include <kdebug.h>
+#include <kfileitem.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kserversocket.h>
+#include <kstandarddirs.h>
+#include <kstreamsocket.h>
+#include <kdirselectdialog.h>
+#include <kuser.h>
+
+#include <kio/job.h>
+#include <kio/jobclasses.h>
+#include <kio/netaccess.h>
+
+
+class DccResumeDialog;
+
+/*
+ *flow chart*
+
+ DccTransferRecv()
+
+ start() : called from DccTransferPanel when user pushes the accept button
+ | \
+ | requestResume() : called when user chooses to resume in DccResumeDialog. it emits the signal ResumeRequest()
+ |
+ | startResume() : called by "Server"
+ | |
+connectToSender()
+
+connectionSuccess() : called by recvSocket
+
+*/
+
+DccTransferRecv::DccTransferRecv(QObject* parent)
+ : DccTransfer( DccTransfer::Receive, parent )
+{
+ kdDebug() << "DccTransferRecv::DccTransferRecv()" << endl;
+
+ m_serverSocket = 0;
+ m_recvSocket = 0;
+ m_writeCacheHandler = 0;
+
+ m_connectionTimer = new QTimer( this );
+ connect( m_connectionTimer, SIGNAL( timeout() ), this, SLOT( connectionTimeout() ) );
+ //timer hasn't started yet. qtimer will be deleted automatically when 'this' object is deleted
+}
+
+DccTransferRecv::~DccTransferRecv()
+{
+ cleanUp();
+}
+
+QString DccTransferRecv::getTypeText() const
+{
+ return i18n( "Receive" );
+}
+
+QPixmap DccTransferRecv::getTypeIcon() const
+{
+ return KGlobal::iconLoader()->loadIcon( "down", KIcon::Small );
+}
+
+void DccTransferRecv::cleanUp()
+{
+ kdDebug() << "DccTransferRecv::cleanUp()" << endl;
+
+ stopConnectionTimer();
+ finishTransferLogger();
+ if ( m_serverSocket )
+ {
+ m_serverSocket->close();
+ m_serverSocket = 0;
+ }
+ if ( m_recvSocket )
+ {
+ m_recvSocket->close();
+ m_recvSocket = 0; // the instance will be deleted automatically by its parent
+ }
+ if ( m_writeCacheHandler )
+ {
+ m_writeCacheHandler->closeNow();
+ m_writeCacheHandler->deleteLater();
+ m_writeCacheHandler = 0;
+ }
+}
+
+// just for convenience
+void DccTransferRecv::failed( const QString& errorMessage )
+{
+ setStatus( Failed, errorMessage );
+ cleanUp();
+ emit done( this );
+}
+
+void DccTransferRecv::setPartnerIp( const QString& ip )
+{
+ if ( getStatus() == Configuring )
+ m_partnerIp = ip;
+}
+
+void DccTransferRecv::setPartnerPort( const QString& port )
+{
+ if ( getStatus() == Configuring )
+ m_partnerPort = port;
+}
+
+void DccTransferRecv::setFileSize( unsigned long fileSize )
+{
+ if ( getStatus() == Configuring )
+ m_fileSize = fileSize;
+}
+
+void DccTransferRecv::setFileName( const QString& fileName )
+{
+ if ( getStatus() == Configuring )
+ m_fileName = fileName;
+}
+
+void DccTransferRecv::setFileURL( const KURL& url )
+{
+ if ( getStatus() == Configuring || getStatus() == Queued )
+ m_fileURL = url;
+}
+
+void DccTransferRecv::setReverse( bool reverse, const QString& reverseToken )
+{
+ if ( getStatus() == Configuring )
+ {
+ m_reverse = reverse;
+ if ( reverse )
+ {
+ m_partnerPort = QString::number( 0 );
+ m_reverseToken = reverseToken;
+ }
+ }
+}
+
+bool DccTransferRecv::queue()
+{
+ kdDebug() << "DccTransferRecv::queue()" << endl;
+
+ if ( getStatus() != Configuring )
+ return false;
+
+ if ( m_partnerIp.isEmpty() || m_partnerPort.isEmpty() )
+ return false;
+
+ if (!kapp->authorize("allow_downloading"))
+ {
+ //note we have this after the initialisations so that item looks okay
+ //Do not have the rights to send the file. Shouldn't have gotten this far anyway
+ failed(i18n("The admin has restricted the right to receive files"));
+ return false;
+ }
+
+ // check if the sender IP is valid
+ if ( m_partnerIp == "0.0.0.0" )
+ {
+ failed( i18n( "Invalid sender address (%1)" ).arg( m_partnerIp ) );
+ return false;
+ }
+
+ // TODO: should we support it?
+ if ( m_fileSize == 0 )
+ {
+ failed( i18n( "Unsupported negotiation (filesize=0)" ) );
+ return false;
+ }
+
+ if ( m_fileName.isEmpty() )
+ {
+ m_fileName = "unnamed_file";
+ }
+
+ if ( m_fileURL.isEmpty() )
+ {
+ // determine default incoming file URL
+
+ // set default folder
+ if ( !Preferences::dccPath().isEmpty() )
+ m_fileURL = KURL( Preferences::dccPath() );
+ else
+ m_fileURL.setPath( KUser( KUser::UseRealUserID ).homeDir() ); // default folder is *not* specified
+
+ // add a slash if there is none
+ m_fileURL.adjustPath( 1 );
+
+ // Append folder with partner's name if wanted
+ if ( Preferences::dccCreateFolder() )
+ m_fileURL.addPath( m_partnerNick + '/' );
+
+ // Just incase anyone tries to do anything nasty
+ QString fileNameSanitized = sanitizeFileName( m_fileName );
+
+ // Append partner's name to file name if wanted
+ if ( Preferences::dccAddPartner() )
+ m_fileURL.addPath( m_partnerNick + '.' + fileNameSanitized );
+ else
+ m_fileURL.addPath( fileNameSanitized );
+ }
+
+ return DccTransfer::queue();
+}
+
+void DccTransferRecv::abort() // public slot
+{
+ kdDebug() << "DccTransferRecv::abort()" << endl;
+
+ if(m_writeCacheHandler)
+ {
+ m_writeCacheHandler->write( true ); // flush
+ }
+
+ setStatus( Aborted );
+ cleanUp();
+ emit done( this );
+}
+
+void DccTransferRecv::start() // public slot
+{
+ kdDebug() << "DccTransferRecv::start() [BEGIN]" << endl;
+
+ if ( getStatus() != Queued )
+ return;
+
+ setStatus( Preparing );
+
+ prepareLocalKio( false, false );
+
+ kdDebug() << "DccTransferRecv::start() [END]" << endl;
+}
+
+void DccTransferRecv::prepareLocalKio( bool overwrite, bool resume, KIO::fileoffset_t startPosition /* = 0 */ )
+{
+ kdDebug() << "DccTransferRecv::prepareLocalKio()" << endl
+ << "DccTransferRecv::prepareLocalKio(): URL: " << m_fileURL << endl
+ << "DccTransferRecv::prepareLocalKio(): Overwrite: " << overwrite << endl
+ << "DccTransferRecv::prepareLocalKio(): Resume: " << resume << " (Position: " << QString::number( startPosition ) << ")" << endl;
+
+ m_resumed = resume;
+ m_transferringPosition = startPosition;
+
+ if ( !createDirs( m_fileURL.upURL() ) )
+ {
+ askAndPrepareLocalKio( i18n( "<b>Cannot create the folder.</b><br>"
+ "Folder: %1<br>" )
+ .arg( m_fileURL.upURL().prettyURL() ),
+ DccResumeDialog::RA_Rename | DccResumeDialog::RA_Cancel,
+ DccResumeDialog::RA_Rename );
+ return;
+ }
+
+ KIO::TransferJob* transferJob = KIO::put( m_fileURL, -1, overwrite, m_resumed, false );
+
+ if ( !transferJob )
+ {
+ kdDebug() << "DccTransferRecv::prepareLocalKio(): KIO::put() returned NULL. what happened?" << endl;
+ failed( i18n( "Could not create a KIO instance" ) );
+ return;
+ }
+
+ connect( transferJob, SIGNAL( canResume( KIO::Job*, KIO::filesize_t ) ), this, SLOT( slotLocalCanResume( KIO::Job*, KIO::filesize_t ) ) );
+ connect( transferJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotLocalGotResult( KIO::Job* ) ) );
+ connect( transferJob, SIGNAL( dataReq( KIO::Job*, QByteArray& ) ), this, SLOT( slotLocalReady( KIO::Job* ) ) );
+}
+
+void DccTransferRecv::askAndPrepareLocalKio( const QString& message, int enabledActions, DccResumeDialog::ReceiveAction defaultAction, KIO::fileoffset_t startPosition )
+{
+ switch ( DccResumeDialog::ask( this, message, enabledActions, defaultAction ) )
+ {
+ case DccResumeDialog::RA_Resume:
+ prepareLocalKio( false, true, startPosition );
+ break;
+ case DccResumeDialog::RA_Overwrite:
+ prepareLocalKio( true, false );
+ break;
+ case DccResumeDialog::RA_Rename:
+ prepareLocalKio( false, false );
+ break;
+ case DccResumeDialog::RA_Cancel:
+ default:
+ setStatus( Queued );
+ }
+}
+
+bool DccTransferRecv::createDirs( const KURL& dirURL ) const
+{
+ KURL kurl( dirURL );
+ QString surl = kurl.url();
+
+ //First we split directories until we reach to the top,
+ //since we need to create directories one by one
+
+ QStringList dirList;
+ while ( surl != kurl.upURL().url() )
+ {
+ dirList.prepend( surl );
+ kurl = kurl.upURL();
+ surl = kurl.url();
+ }
+
+ //Now we create the directories
+
+ QStringList::ConstIterator it;
+ for ( it=dirList.begin() ; it!=dirList.end() ; ++it )
+ if ( !KIO::NetAccess::exists( *it, true, NULL ) )
+ if ( !KIO::NetAccess::mkdir( *it, NULL, -1 ) )
+ return false;
+
+ return true;
+}
+
+void DccTransferRecv::slotLocalCanResume( KIO::Job* job, KIO::filesize_t size )
+{
+ kdDebug() << "DccTransferRecv::slotLocalCanResume() [BEGIN]" << endl
+ << "DccTransferRecv::slotLocalCanResume(): size: " << QString::number( size ) << endl;
+
+ if ( size != 0 )
+ {
+ KIO::TransferJob* transferJob = static_cast<KIO::TransferJob*>( job );
+
+ disconnect( transferJob, 0, 0, 0 );
+ transferJob->kill();
+
+ if ( KonversationApplication::instance()->getDccTransferManager()->isLocalFileInWritingProcess( m_fileURL ) )
+ {
+ askAndPrepareLocalKio( i18n( "<b>The file is used by another transfer.</b><br>"
+ "%1<br>" )
+ .arg( m_fileURL.prettyURL() ),
+ DccResumeDialog::RA_Rename | DccResumeDialog::RA_Cancel,
+ DccResumeDialog::RA_Rename );
+ }
+ else if ( Preferences::dccAutoResume() )
+ {
+ prepareLocalKio( false, true, size );
+ }
+ else
+ {
+ askAndPrepareLocalKio( i18n( "<b>A partial file exists.</b><br>"
+ "%1<br>"
+ "Size of the partial file: %2 bytes<br>" )
+ .arg( m_fileURL.prettyURL() )
+ .arg( KGlobal::locale()->formatNumber( size, 0 ) ),
+ DccResumeDialog::RA_Resume | DccResumeDialog::RA_Overwrite | DccResumeDialog::RA_Rename | DccResumeDialog::RA_Cancel,
+ DccResumeDialog::RA_Resume,
+ size );
+ }
+ }
+
+ kdDebug() << "DccTransferRecv::slotLocalCanResume() [END]" << endl;
+}
+
+void DccTransferRecv::slotLocalGotResult( KIO::Job* job )
+{
+ kdDebug() << "DccTransferRecv::slotLocalGotResult() [BEGIN]" << endl;
+
+ KIO::TransferJob* transferJob = static_cast<KIO::TransferJob*>( job );
+ disconnect( transferJob, 0, 0, 0 );
+
+ switch ( transferJob->error() )
+ {
+ case 0: // no error
+ kdDebug() << "DccTransferRecv::slotLocalGotResult(): job->error() returned 0." << endl
+ << "DccTransferRecv::slotLocalGotResult(): Why was I called in spite of no error?" << endl;
+ break;
+ case KIO::ERR_FILE_ALREADY_EXIST:
+ askAndPrepareLocalKio( i18n( "<b>The file already exists.</b><br>"
+ "%1<br>" )
+ .arg( m_fileURL.prettyURL() ),
+ DccResumeDialog::RA_Overwrite | DccResumeDialog::RA_Rename | DccResumeDialog::RA_Cancel,
+ DccResumeDialog::RA_Overwrite );
+ break;
+ default:
+ askAndPrepareLocalKio( i18n( "<b>Could not open the file.<br>"
+ "Error: %1</b><br>"
+ "%2<br>" )
+ .arg( transferJob->error() )
+ .arg( m_fileURL.prettyURL() ),
+ DccResumeDialog::RA_Rename | DccResumeDialog::RA_Cancel,
+ DccResumeDialog::RA_Rename );
+ }
+
+ kdDebug() << "DccTransferRecv::slotLocalGotResult() [END]" << endl;
+}
+
+void DccTransferRecv::slotLocalReady( KIO::Job* job )
+{
+ kdDebug() << "DccTransferRecv::slotLocalReady()" << endl;
+
+ KIO::TransferJob* transferJob = static_cast<KIO::TransferJob*>( job );
+
+ disconnect( transferJob, 0, 0, 0 ); // WriteCacheHandler will control the job after this
+
+ m_writeCacheHandler = new DccTransferRecvWriteCacheHandler( transferJob );
+
+ connect( m_writeCacheHandler, SIGNAL( done() ), this, SLOT( slotLocalWriteDone() ) );
+ connect( m_writeCacheHandler, SIGNAL( gotError( const QString& ) ), this, SLOT( slotLocalGotWriteError( const QString& ) ) );
+
+ if ( !m_resumed )
+ connectWithSender();
+ else
+ requestResume();
+}
+
+void DccTransferRecv::connectWithSender()
+{
+ if ( m_reverse )
+ {
+ if ( !startListeningForSender() )
+ return;
+
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( m_connectionId );
+ if ( !server )
+ {
+ failed( i18n( "Could not send Reverse DCC SEND acknowledgement to the partner via the IRC server." ) );
+ }
+
+ m_ownIp = DccCommon::getOwnIp( server );
+ m_ownPort = QString::number( DccCommon::getServerSocketPort( m_serverSocket ) );
+
+ setStatus( WaitingRemote, i18n( "Waiting for connection" ) );
+
+ server->dccReverseSendAck( m_partnerNick, m_fileName, DccCommon::textIpToNumericalIp( m_ownIp ), m_ownPort, m_fileSize, m_reverseToken );
+
+ //FIXME: add connection timer here
+ }
+ else
+ {
+ connectToSendServer();
+ }
+}
+
+void DccTransferRecv::requestResume()
+{
+ kdDebug() << "DccTransferRecv::requestResume()" << endl;
+
+ setStatus( WaitingRemote, i18n( "Waiting for remote host's acceptance" ) );
+
+ startConnectionTimer( 30 );
+
+ kdDebug() << "DccTransferRecv::requestResume(): requesting resume for " << m_partnerNick << " file " << m_fileName << " partner " << m_partnerPort << endl;
+
+ //TODO m_filename could have been sanitized - will this effect this?
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( m_connectionId );
+ if ( !server )
+ {
+ kdDebug() << "DccTransferSend::start(): could not retrieve the instance of Server. Connection id: " << m_connectionId << endl;
+ failed( i18n( "Could not send DCC RECV resume request to the partner via the IRC server." ) );
+ return;
+ }
+
+ server->dccResumeGetRequest( m_partnerNick, m_fileName, m_partnerPort, m_transferringPosition );
+}
+
+ // public slot
+void DccTransferRecv::startResume( unsigned long position )
+{
+ kdDebug() << "DccTransferRecv::startResume(): position: " << position << endl;
+
+ stopConnectionTimer();
+
+ if ( (unsigned long)m_transferringPosition != position )
+ {
+ kdDebug() << "DccTransferRecv::startResume(): remote responsed an unexpected position" << endl
+ << "DccTransferRecv::startResume(): expected: " << QString::number( m_transferringPosition ) << endl
+ << "DccTransferRecv::startResume(): remote response: " << position << endl;
+ failed( i18n( "Unexpected response from remote host" ) );
+ return;
+ }
+
+ connectWithSender();
+}
+
+void DccTransferRecv::connectToSendServer()
+{
+ kdDebug() << "DccTransferRecv::connectToSendServer()" << endl;
+
+ // connect to sender
+
+ setStatus( Connecting );
+
+ m_recvSocket = new KNetwork::KStreamSocket( m_partnerIp, m_partnerPort, this);
+
+ m_recvSocket->setBlocking( false ); // asynchronous mode
+ m_recvSocket->setFamily( KNetwork::KResolver::InetFamily );
+ m_recvSocket->setResolutionEnabled( false );
+ m_recvSocket->setTimeout( 30000 );
+
+ m_recvSocket->enableRead( false );
+ m_recvSocket->enableWrite( false );
+
+ connect( m_recvSocket, SIGNAL( connected( const KResolverEntry& ) ), this, SLOT( startReceiving() ) );
+ connect( m_recvSocket, SIGNAL( gotError( int ) ), this, SLOT( connectionFailed( int ) ) );
+
+ kdDebug() << "DccTransferRecv::connectToServer(): attempting to connect to " << m_partnerIp << ":" << m_partnerPort << endl;
+
+ m_recvSocket->connect();
+}
+
+bool DccTransferRecv::startListeningForSender()
+{
+ // Set up server socket
+ QString failedReason;
+ if ( Preferences::dccSpecificSendPorts() )
+ m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason, Preferences::dccSendPortsFirst(), Preferences::dccSendPortsLast() );
+ else
+ m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason );
+ if ( !m_serverSocket )
+ {
+ failed( failedReason );
+ return false;
+ }
+
+ connect( m_serverSocket, SIGNAL( readyAccept() ), this, SLOT( slotServerSocketReadyAccept() ) );
+ connect( m_serverSocket, SIGNAL( gotError( int ) ), this, SLOT( slotServerSocketGotError( int ) ) );
+
+ return true;
+}
+
+void DccTransferRecv::slotServerSocketReadyAccept()
+{
+ //stopConnectionTimer()
+
+ m_recvSocket = static_cast<KNetwork::KStreamSocket*>( m_serverSocket->accept() );
+ if ( !m_recvSocket )
+ {
+ failed( i18n( "Could not accept the connection. (Socket Error)" ) );
+ return;
+ }
+
+ connect( m_recvSocket, SIGNAL( gotError( int ) ), this, SLOT( connectionFailed( int ) ) );
+
+ // we don't need ServerSocket anymore
+ m_serverSocket->close();
+
+ startReceiving();
+}
+
+void DccTransferRecv::slotServerSocketGotError( int /* errorCode*/ )
+{
+ failed( i18n( "Socket error: %1" ).arg( m_serverSocket->errorString() ) );
+}
+
+void DccTransferRecv::startReceiving()
+{
+ kdDebug() << "DccTransferRecv::startReceiving()" << endl;
+
+ m_recvSocket->setBlocking( false ); // asynchronous mode
+
+ connect( m_recvSocket, SIGNAL( readyRead() ), this, SLOT( readData() ) );
+ connect( m_recvSocket, SIGNAL( readyWrite() ), this, SLOT( sendAck() ) );
+ connect( m_recvSocket, SIGNAL( closed() ), this, SLOT( slotSocketClosed() ) );
+
+ setStatus( Transferring );
+
+ m_transferStartPosition = m_transferringPosition;
+
+ m_recvSocket->enableRead( true );
+ m_recvSocket->enableWrite( false );
+
+ startTransferLogger(); // initialize CPS counter, ETA counter, etc...
+}
+
+ // slot
+void DccTransferRecv::connectionFailed( int errorCode )
+{
+ kdDebug() << "DccTransferRecv::connectionFailed(): code = " << errorCode << ", string = " << m_recvSocket->errorString() << endl;
+ failed( i18n( "Connection failure: %1" ).arg( m_recvSocket->errorString() ) );
+}
+
+void DccTransferRecv::readData() // slot
+{
+ //kdDebug() << "readData()" << endl;
+ int actual = m_recvSocket->readBlock( m_buffer, m_bufferSize );
+ if ( actual > 0 )
+ {
+ //actual is the size we read in, and is guaranteed to be less than m_bufferSize
+ m_transferringPosition += actual;
+ m_writeCacheHandler->append( m_buffer, actual );
+ m_writeCacheHandler->write( false );
+ m_recvSocket->enableWrite( true );
+ }
+}
+
+void DccTransferRecv::sendAck() // slot
+{
+ //kdDebug() << "sendAck()" << endl;
+ KIO::fileoffset_t pos = intel( m_transferringPosition );
+
+ m_recvSocket->enableWrite( false );
+ m_recvSocket->writeBlock( (char*)&pos, 4 );
+ if ( m_transferringPosition == (KIO::fileoffset_t)m_fileSize )
+ {
+ kdDebug() << "DccTransferRecv::sendAck(): Sent final ACK." << endl;
+ m_recvSocket->enableRead( false );
+ disconnect( m_recvSocket, 0, 0, 0 );
+ finishTransferLogger();
+ m_writeCacheHandler->close(); // WriteCacheHandler will send the signal done()
+ }
+ else if ( m_transferringPosition > (KIO::fileoffset_t)m_fileSize )
+ {
+ kdDebug() << "DccTransferRecv::sendAck(): the remote host sent larger data than expected: " << QString::number( m_transferringPosition ) << endl;
+ failed( i18n( "Transferring error" ) );
+ }
+}
+
+void DccTransferRecv::slotLocalWriteDone() // <-WriteCacheHandler::done()
+{
+ kdDebug() << "DccTransferRecv::slotLocalWriteDone()" << endl;
+ setStatus( Done );
+ cleanUp();
+ emit done( this );
+}
+
+ // <- WriteCacheHandler::gotError()
+void DccTransferRecv::slotLocalGotWriteError( const QString& errorString )
+{
+ kdDebug() << "DccTransferRecv::slotLocalGotWriteError()" << endl;
+ failed( i18n( "KIO error: %1" ).arg( errorString ) );
+}
+
+void DccTransferRecv::startConnectionTimer( int sec )
+{
+ stopConnectionTimer();
+ kdDebug() << "DccTransferRecv::startConnectionTimer()" << endl;
+ m_connectionTimer->start( sec*1000, true );
+}
+
+void DccTransferRecv::stopConnectionTimer()
+{
+ if ( m_connectionTimer->isActive() )
+ {
+ m_connectionTimer->stop();
+ kdDebug() << "DccTransferRecv::stopConnectionTimer(): stop" << endl;
+ }
+}
+
+void DccTransferRecv::connectionTimeout() // slot
+{
+ kdDebug() << "DccTransferRecv::connectionTimeout()" << endl;
+ failed( i18n( "Timed out" ) );
+}
+
+void DccTransferRecv::slotSocketClosed()
+{
+ finishTransferLogger();
+ if ( getStatus() == Transferring )
+ failed( i18n( "Remote user disconnected" ) );
+}
+
+// WriteCacheHandler
+
+DccTransferRecvWriteCacheHandler::DccTransferRecvWriteCacheHandler( KIO::TransferJob* transferJob )
+: m_transferJob( transferJob )
+{
+ m_writeReady = true;
+ m_cacheStream = 0;
+
+ connect( this, SIGNAL( dataFinished() ), m_transferJob, SLOT( slotFinished() ) );
+ connect( m_transferJob, SIGNAL( dataReq( KIO::Job*, QByteArray& ) ), this, SLOT( slotKIODataReq( KIO::Job*, QByteArray& ) ) );
+ connect( m_transferJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotKIOResult( KIO::Job* ) ) );
+
+ m_transferJob->setAsyncDataEnabled( m_writeAsyncMode = true );
+}
+
+DccTransferRecvWriteCacheHandler::~DccTransferRecvWriteCacheHandler()
+{
+ closeNow();
+}
+
+ // public
+void DccTransferRecvWriteCacheHandler::append( char* data, int size )
+{
+ // sendAsyncData() and dataReq() cost a lot of time, so we should pack some caches.
+
+ // 1meg
+ static const unsigned int maxWritePacketSize = 1 * 1024 * 1024;
+
+ if ( m_cacheList.isEmpty() || m_cacheList.back().size() + size > maxWritePacketSize )
+ {
+ m_cacheList.append( QByteArray() );
+ delete m_cacheStream;
+ m_cacheStream = new QDataStream( m_cacheList.back(), IO_WriteOnly );
+ }
+
+ m_cacheStream->writeRawBytes( data, size );
+}
+
+ // public
+bool DccTransferRecvWriteCacheHandler::write( bool force )
+{
+ // force == false: return without doing anything when the whole cache size is smaller than maxWritePacketSize
+
+ if ( m_cacheList.isEmpty() || !m_transferJob || !m_writeReady || !m_writeAsyncMode )
+ return false;
+
+ if ( !force && m_cacheList.count() < 2 )
+ return false;
+
+ // do write
+
+ m_writeReady = false;
+ m_transferJob->sendAsyncData( m_cacheList.front() );
+ //kdDebug() << "DTRWriteCacheHandler::write(): wrote " << m_cacheList.front().size() << " bytes." << endl;
+ m_cacheList.pop_front();
+
+ return true;
+}
+
+void DccTransferRecvWriteCacheHandler::close() // public
+{
+ kdDebug() << "DTRWriteCacheHandler::close()" << endl;
+ write( true ); // write once if kio is ready to write
+ m_transferJob->setAsyncDataEnabled( m_writeAsyncMode = false );
+ kdDebug() << "DTRWriteCacheHandler::close(): switched to synchronized mode." << endl;
+ kdDebug() << "DTRWriteCacheHandler::close(): flushing... (remaining caches: " << m_cacheList.count() << ")" << endl;
+}
+
+void DccTransferRecvWriteCacheHandler::closeNow() // public
+{
+ write( true ); // flush
+ if ( m_transferJob )
+ {
+ m_transferJob->kill();
+ m_transferJob = 0;
+ }
+ m_cacheList.clear();
+ delete m_cacheStream;
+ m_cacheStream = 0;
+}
+
+void DccTransferRecvWriteCacheHandler::slotKIODataReq( KIO::Job*, QByteArray& data )
+{
+ // We are in writeAsyncMode if there is more data to be read in from dcc
+ if ( m_writeAsyncMode )
+ m_writeReady = true;
+ else
+ {
+ // No more data left to read from incoming dcctransfer
+ if ( !m_cacheList.isEmpty() )
+ {
+ // once we write everything in cache, the file is complete.
+ // This function will be called once more after this last data is written.
+ data = m_cacheList.front();
+ kdDebug() << "DccTransferRecvWriteCacheHandler::slotKIODataReq(): will write " << m_cacheList.front().size() << " bytes." << endl;
+ m_cacheList.pop_front();
+ }
+ else
+ {
+ // finally, no data left to write or read.
+ kdDebug() << "DTRWriteCacheHandler::slotKIODataReq(): flushing done." << endl;
+ m_transferJob = 0;
+ emit done(); // -> DccTransferRecv::slotLocalWriteDone()
+ }
+ }
+}
+
+void DccTransferRecvWriteCacheHandler::slotKIOResult( KIO::Job* job )
+{
+ Q_ASSERT( m_transferJob );
+
+ disconnect( m_transferJob, 0, 0, 0 );
+ m_transferJob = 0;
+
+ if ( job->error() )
+ {
+ QString errorString = job->errorString();
+ closeNow();
+ emit gotError( errorString ); // -> DccTransferRecv::slotLocalGotWriteError()
+ }
+}
+
+#include "dcctransferrecv.moc"
diff --git a/konversation/src/dcctransferrecv.h b/konversation/src/dcctransferrecv.h
new file mode 100644
index 0000000..557b61d
--- /dev/null
+++ b/konversation/src/dcctransferrecv.h
@@ -0,0 +1,184 @@
+/*
+ receive a file on DCC protocol
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#ifndef DCCTRANSFERRECV_H
+#define DCCTRANSFERRECV_H
+
+#include "dcctransfer.h"
+// TODO: remove the dependence
+#include "dccresumedialog.h"
+
+#include <qptrlist.h>
+
+
+class QFile;
+class QTimer;
+
+namespace KIO
+{
+ class Job;
+ class TransferJob;
+}
+
+namespace KNetwork
+{
+ class KServerSocket;
+ class KStreamSocket;
+}
+
+class DccTransferRecvWriteCacheHandler;
+
+class DccTransferRecv : public DccTransfer
+{
+ Q_OBJECT
+
+ public:
+ DccTransferRecv(QObject* parent);
+ virtual ~DccTransferRecv();
+
+ // REQUIRED
+ void setPartnerIp( const QString& ip );
+ // REQUIRED
+ void setPartnerPort( const QString& port );
+ // REQUIRED
+ void setFileSize( unsigned long fileSize );
+ // OPTIONAL, if not specified, "unnamed_file"
+ // TODO: "$sendername-$receiveddate" is better
+ void setFileName( const QString& fileName );
+ // OPTIONAL, if not specified, default folder + the file name
+ void setFileURL( const KURL& url );
+ // OPTIONAL
+ void setReverse( bool reverse, const QString& reverseToken );
+
+ public slots:
+ virtual bool queue();
+
+ /** The user has accepted the download.
+ * Check we are saving it somewhere valid, create any directories needed, and
+ * connect to remote host.
+ */
+ virtual void start();
+ /** The user has chosen to abort.
+ * Either by chosen to abort directly, or by choosing cancel when
+ * prompted for information on where to save etc.
+ * Not called when it fails due to another problem.
+ */
+ virtual void abort();
+ void startResume( unsigned long position );
+
+ protected slots:
+ // Local KIO
+ void slotLocalCanResume( KIO::Job* job, KIO::filesize_t size );
+ void slotLocalGotResult( KIO::Job* job );
+ void slotLocalReady( KIO::Job* job );
+ void slotLocalWriteDone();
+ void slotLocalGotWriteError( const QString& errorString );
+
+ // Remote DCC
+ void connectWithSender();
+ void startReceiving();
+ void connectionFailed( int errorCode );
+ void readData();
+ void sendAck();
+ void connectionTimeout();
+ void slotSocketClosed();
+
+ // Reverse DCC
+ void slotServerSocketReadyAccept();
+ void slotServerSocketGotError( int errorCode );
+
+ protected:
+ void cleanUp();
+ void failed(const QString& errorMessage = QString() );
+
+ // (startPosition == 0) means "don't resume"
+ void prepareLocalKio( bool overwrite, bool resume, KIO::fileoffset_t startPosition = 0 );
+ void askAndPrepareLocalKio( const QString& message, int enabledActions, DccResumeDialog::ReceiveAction defaultAction, KIO::fileoffset_t startPosition = 0 );
+
+ /**
+ * This calls KIO::NetAccess::mkdir on all the subdirectories of dirURL, to
+ * create the given directory. Note that a url like file:/foo/bar will
+ * make sure both foo and bar are created. It assumes everything in the path is
+ * a directory.
+ * Note: If the directory already exists, returns true.
+ *
+ * @param dirURL A url for the directory to create.
+ * @return True if the directory now exists. False if there was a problem and the directory doesn't exist.
+ */
+ bool createDirs(const KURL &dirURL) const;
+
+ void requestResume();
+ // for non-reverse DCC
+ void connectToSendServer();
+ // for reverse DCC
+ bool startListeningForSender();
+
+ void startConnectionTimer( int sec );
+ void stopConnectionTimer();
+
+ protected:
+ KURL m_saveToTmpFileURL;
+ ///Current filesize of the file saved on the disk.
+ KIO::filesize_t m_saveToFileSize;
+ ///Current filesize of the file+".part" saved on the disk.
+ KIO::filesize_t m_partialFileSize;
+ DccTransferRecvWriteCacheHandler* m_writeCacheHandler;
+ bool m_saveToFileExists;
+ bool m_partialFileExists;
+ QTimer* m_connectionTimer;
+
+ KNetwork::KServerSocket* m_serverSocket;
+ KNetwork::KStreamSocket* m_recvSocket;
+
+ private:
+ virtual QString getTypeText() const;
+ virtual QPixmap getTypeIcon() const;
+};
+
+class DccTransferRecvWriteCacheHandler : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit DccTransferRecvWriteCacheHandler( KIO::TransferJob* transferJob );
+ virtual ~DccTransferRecvWriteCacheHandler();
+
+ void append( char* data, int size );
+ bool write( bool force );
+ void close();
+ void closeNow();
+
+ signals:
+ void dataFinished(); // -> m_transferJob->slotFinished()
+ void done(); // -> DccTransferRecv::writeDone()
+ // -> DccTransferRecv::slotWriteError()
+ void gotError( const QString& errorString );
+
+ protected slots:
+ // <- m_transferJob->dataReq()
+ void slotKIODataReq( KIO::Job* job, QByteArray& data );
+ void slotKIOResult( KIO::Job* job ); // <- m_transferJob->result()
+
+ protected:
+ KIO::TransferJob* m_transferJob;
+ bool m_writeAsyncMode;
+ bool m_writeReady;
+
+ QValueList<QByteArray> m_cacheList;
+ QDataStream* m_cacheStream;
+};
+
+#endif // DCCTRANSFERRECV_H
diff --git a/konversation/src/dcctransfersend.cpp b/konversation/src/dcctransfersend.cpp
new file mode 100644
index 0000000..09fc42c
--- /dev/null
+++ b/konversation/src/dcctransfersend.cpp
@@ -0,0 +1,509 @@
+/*
+ send a file on DCC protocol
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#include "dcctransfersend.h"
+#include "channel.h"
+#include "dcccommon.h"
+#include "dcctransfermanager.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "server.h"
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <sys/socket.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
+#include <arpa/inet.h>
+
+#include <qfile.h>
+#include <qtimer.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kserversocket.h>
+#include <ksocketaddress.h>
+#include <kstreamsocket.h>
+#include <kio/netaccess.h>
+#include <kfileitem.h>
+
+// TODO: remove the dependence
+#include <kinputdialog.h>
+
+
+using namespace KNetwork;
+
+DccTransferSend::DccTransferSend(QObject* parent)
+ : DccTransfer( DccTransfer::Send, parent )
+{
+ kdDebug() << "DccTransferSend::DccTransferSend()" << endl;
+
+ m_serverSocket = 0;
+ m_sendSocket = 0;
+
+ m_connectionTimer = new QTimer( this );
+ connect( m_connectionTimer, SIGNAL( timeout() ), this, SLOT( slotConnectionTimeout() ) );
+
+ // set defualt values
+ m_reverse = Preferences::dccPassiveSend();
+}
+
+DccTransferSend::~DccTransferSend()
+{
+ cleanUp();
+}
+
+void DccTransferSend::cleanUp()
+{
+ kdDebug() << "DccTransferSend::cleanUp()" << endl;
+ stopConnectionTimer();
+ finishTransferLogger();
+ if ( !m_tmpFile.isEmpty() )
+ KIO::NetAccess::removeTempFile( m_tmpFile );
+ m_tmpFile = QString();
+ m_file.close();
+ if ( m_sendSocket )
+ {
+ m_sendSocket->close();
+ m_sendSocket = 0; // the instance will be deleted automatically by its parent
+ }
+ if ( m_serverSocket )
+ {
+ m_serverSocket->close();
+ m_serverSocket = 0; // the instance will be deleted automatically by its parent
+ }
+}
+
+// just for convenience
+void DccTransferSend::failed( const QString& errorMessage )
+{
+ setStatus( Failed, errorMessage );
+ cleanUp();
+ emit done( this );
+}
+
+void DccTransferSend::setFileURL( const KURL& url )
+{
+ if ( getStatus() == Configuring )
+ m_fileURL = url;
+}
+
+void DccTransferSend::setFileName( const QString& fileName )
+{
+ if ( getStatus() == Configuring )
+ m_fileName = fileName;
+}
+
+void DccTransferSend::setOwnIp( const QString& ownIp )
+{
+ if ( getStatus() == Configuring )
+ m_ownIp = ownIp;
+}
+
+void DccTransferSend::setFileSize( KIO::filesize_t fileSize )
+{
+ if ( getStatus() == Configuring )
+ m_fileSize = fileSize;
+}
+
+void DccTransferSend::setReverse( bool reverse )
+{
+ if ( getStatus() == Configuring )
+ m_reverse = reverse;
+}
+
+bool DccTransferSend::queue()
+{
+ kdDebug() << "DccTransferSend::queue()" << endl;
+
+ if ( getStatus() != Configuring )
+ return false;
+
+ if ( m_ownIp.isEmpty() )
+ m_ownIp = DccCommon::getOwnIp( KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( m_connectionId ) );
+
+ if ( !kapp->authorize( "allow_downloading" ) )
+ {
+ //Do not have the rights to send the file. Shouldn't have gotten this far anyway
+ //Note this is after the initialisation so the view looks correct still
+ failed(i18n("The admin has restricted the right to send files"));
+ return false;
+ }
+
+ if ( m_fileName.isEmpty() )
+ m_fileName = sanitizeFileName( m_fileURL.fileName() );
+
+ if ( Preferences::dccIPv4Fallback() )
+ {
+ KIpAddress ip( m_ownIp );
+ if ( ip.isIPv6Addr() )
+ {
+ /* This is fucking ugly but there is no KDE way to do this yet :| -cartman */
+ struct ifreq ifr;
+ const char* address = Preferences::dccIPv4FallbackIface().ascii();
+ int sock = socket(AF_INET, SOCK_DGRAM, 0);
+ strncpy( ifr.ifr_name, address, IF_NAMESIZE );
+ ifr.ifr_addr.sa_family = AF_INET;
+ if ( ioctl( sock, SIOCGIFADDR, &ifr ) >= 0 )
+ m_ownIp = inet_ntoa( ( (struct sockaddr_in *)&ifr.ifr_addr )->sin_addr );
+ kdDebug() << "Falling back to IPv4 address " << m_ownIp << endl;
+ }
+ }
+
+ m_fastSend = Preferences::dccFastSend();
+ kdDebug() << "DccTransferSend::DccTransferSend(): Fast DCC send: " << m_fastSend << endl;
+
+ //Check the file exists
+ if ( !KIO::NetAccess::exists( m_fileURL, true, NULL ) )
+ {
+ failed( i18n( "The url \"%1\" does not exist" ).arg( m_fileURL.prettyURL() ) );
+ return false;
+ }
+
+ //FIXME: KIO::NetAccess::download() is a synchronous function. we should use KIO::get() instead.
+ //Download the file. Does nothing if it's local (file:/)
+ if ( !KIO::NetAccess::download( m_fileURL, m_tmpFile, NULL ) )
+ {
+ failed( i18n( "Could not retrieve \"%1\"" ).arg( m_fileURL.prettyURL() ) );
+ kdDebug() << "DccTransferSend::DccTransferSend(): KIO::NetAccess::download() failed. reason: " << KIO::NetAccess::lastErrorString() << endl;
+ return false;
+ }
+
+ //Some protocols, like http, maybe not return a filename, and altFileName may be empty, So prompt the user for one.
+ if ( m_fileName.isEmpty() )
+ {
+ bool pressedOk;
+ m_fileName = KInputDialog::getText( i18n( "Enter Filename" ), i18n( "<qt>The file that you are sending to <i>%1</i> does not have a filename.<br>Please enter a filename to be presented to the receiver, or cancel the dcc transfer</qt>" ).arg( getPartnerNick() ), "unknown", &pressedOk, NULL );
+
+ if ( !pressedOk )
+ {
+ failed( i18n( "No filename was given" ) );
+ return false;
+ }
+ }
+
+ //FIXME: if "\\\"" works well on other IRC clients, replace "\"" with "\\\""
+ m_fileName.replace( "\"", "_" );
+ if (Preferences::dccSpaceToUnderscore())
+ m_fileName.replace( " ", "_" );
+ else {
+ if (m_fileName.contains(" ") > 0)
+ m_fileName = "\"" + m_fileName + "\"";
+ }
+
+ m_file.setName( m_tmpFile );
+
+ if ( m_fileSize == 0 )
+ m_fileSize = m_file.size();
+
+ return DccTransfer::queue();
+}
+
+void DccTransferSend::abort() // public slot
+{
+ kdDebug() << "DccTransferSend::abort()" << endl;
+
+ setStatus( Aborted );
+ cleanUp();
+ emit done( this );
+}
+
+void DccTransferSend::start() // public slot
+{
+ kdDebug() << "DccTransferSend::start()" << endl;
+
+ if ( getStatus() != Queued )
+ return;
+
+ // common procedure
+
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByConnectionId( m_connectionId );
+ if ( !server )
+ {
+ kdDebug() << "DccTransferSend::start(): could not retrieve the instance of Server. Connection id: " << m_connectionId << endl;
+ failed( i18n( "Could not send a DCC SEND request to the partner via the IRC server." ) );
+ return;
+ }
+
+ if ( !m_reverse )
+ {
+ // Normal DCC SEND
+ kdDebug() << "DccTransferSend::start(): normal DCC SEND" << endl;
+
+ // Set up server socket
+ QString failedReason;
+ if ( Preferences::dccSpecificSendPorts() )
+ m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason, Preferences::dccSendPortsFirst(), Preferences::dccSendPortsLast() );
+ else
+ m_serverSocket = DccCommon::createServerSocketAndListen( this, &failedReason );
+ if ( !m_serverSocket )
+ {
+ failed( failedReason );
+ return;
+ }
+
+ connect( m_serverSocket, SIGNAL( readyAccept() ), this, SLOT( acceptClient() ) );
+ connect( m_serverSocket, SIGNAL( gotError( int ) ), this, SLOT( slotGotSocketError( int ) ) );
+ connect( m_serverSocket, SIGNAL( closed() ), this, SLOT( slotServerSocketClosed() ) );
+
+ // Get own port number
+ m_ownPort = QString::number( DccCommon::getServerSocketPort( m_serverSocket ) );
+
+ kdDebug() << "DccTransferSend::start(): own Address=" << m_ownIp << ":" << m_ownPort << endl;
+
+ startConnectionTimer( Preferences::dccSendTimeout() );
+
+ server->dccSendRequest( m_partnerNick, m_fileName, getNumericalIpText( m_ownIp ), m_ownPort, m_fileSize );
+ }
+ else
+ {
+ // Passive DCC SEND
+ kdDebug() << "DccTransferSend::start(): passive DCC SEND" << endl;
+
+ int tokenNumber = KonversationApplication::instance()->getDccTransferManager()->generateReverseTokenNumber();
+ // TODO: should we append a letter "T" to this token?
+ m_reverseToken = QString::number( tokenNumber );
+
+ kdDebug() << "DccTransferSend::start(): passive DCC key(token): " << m_reverseToken << endl;
+
+ server->dccPassiveSendRequest( m_partnerNick, m_fileName, getNumericalIpText( m_ownIp ), m_fileSize, m_reverseToken );
+ }
+
+ setStatus( WaitingRemote, i18n( "Waiting remote user's acceptance" ) );
+}
+
+void DccTransferSend::connectToReceiver( const QString& partnerHost, const QString& partnerPort )
+{
+ // Reverse DCC
+
+ m_partnerIp = partnerHost;
+ m_partnerPort = partnerPort;
+
+ m_sendSocket = new KNetwork::KStreamSocket( partnerHost, partnerPort, this );
+
+ m_sendSocket->setBlocking( false );
+
+ connect( m_sendSocket, SIGNAL( connected( const KResolverEntry& ) ), this, SLOT( startSending() ) );
+ connect( m_sendSocket, SIGNAL( gotError( int ) ), this, SLOT( slotConnectionFailed( int ) ) );
+
+ setStatus( Connecting );
+
+ m_sendSocket->connect();
+}
+ // public
+bool DccTransferSend::setResume( unsigned long position )
+{
+ kdDebug() << "DccTransferSend::setResume(): position=" << position << endl;
+
+ if ( getStatus() > WaitingRemote )
+ return false;
+
+ if ( position >= m_fileSize )
+ return false;
+
+ m_resumed = true;
+ m_transferringPosition = position;
+ return true;
+}
+
+void DccTransferSend::acceptClient() // slot
+{
+ // Normal DCC
+
+ kdDebug() << "DccTransferSend::acceptClient()" << endl;
+
+ stopConnectionTimer();
+
+ m_sendSocket = static_cast<KNetwork::KStreamSocket*>( m_serverSocket->accept() );
+ if ( !m_sendSocket )
+ {
+ failed( i18n( "Could not accept the connection. (Socket Error)" ) );
+ return;
+ }
+
+ // we don't need ServerSocket anymore
+ m_serverSocket->close();
+
+ startSending();
+}
+
+void DccTransferSend::startSending()
+{
+ connect( m_sendSocket, SIGNAL( readyWrite() ), this, SLOT( writeData() ) );
+ connect( m_sendSocket, SIGNAL( readyRead() ), this, SLOT( getAck() ) );
+ connect( m_sendSocket, SIGNAL( closed() ), this, SLOT( slotSendSocketClosed() ) );
+
+ if ( m_sendSocket->peerAddress().asInet().ipAddress().isV4Mapped() )
+ m_partnerIp = KNetwork::KIpAddress( m_sendSocket->peerAddress().asInet().ipAddress().IPv4Addr() ).toString();
+ else
+ m_partnerIp = m_sendSocket->peerAddress().asInet().ipAddress().toString();
+ m_partnerPort = m_sendSocket->peerAddress().serviceName();
+
+ if ( m_file.open( IO_ReadOnly ) )
+ {
+ // seek to file position to make resume work
+ m_file.at( m_transferringPosition );
+ m_transferStartPosition = m_transferringPosition;
+
+ setStatus( Transferring );
+ m_sendSocket->enableWrite( true );
+ m_sendSocket->enableRead( m_fastSend );
+ startTransferLogger(); // initialize CPS counter, ETA counter, etc...
+ }
+ else
+ failed( i18n( "Could not open the file: %1" ).arg( getQFileErrorString( m_file.status() ) ) );
+}
+
+void DccTransferSend::writeData() // slot
+{
+ //kdDebug() << "DccTransferSend::writeData()" << endl;
+ if ( !m_fastSend )
+ {
+ m_sendSocket->enableWrite( false );
+ m_sendSocket->enableRead( true );
+ }
+ int actual = m_file.readBlock( m_buffer, m_bufferSize );
+ if ( actual > 0 )
+ {
+ m_sendSocket->writeBlock( m_buffer, actual );
+ m_transferringPosition += actual;
+ if ( (KIO::fileoffset_t)m_fileSize <= m_transferringPosition )
+ {
+ Q_ASSERT( (KIO::fileoffset_t)m_fileSize == m_transferringPosition );
+ kdDebug() << "DccTransferSend::writeData(): Done." << endl;
+ m_sendSocket->enableWrite( false ); // there is no need to call this function anymore
+ }
+ }
+}
+
+void DccTransferSend::getAck() // slot
+{
+ //kdDebug() << "DccTransferSend::getAck()" << endl;
+ if ( !m_fastSend && m_transferringPosition < (KIO::fileoffset_t)m_fileSize )
+ {
+ m_sendSocket->enableWrite( true );
+ m_sendSocket->enableRead( false );
+ }
+ unsigned long pos;
+ while ( m_sendSocket->bytesAvailable() >= 4 )
+ {
+ m_sendSocket->readBlock( (char*)&pos, 4 );
+ pos = intel( pos );
+ if ( pos == m_fileSize )
+ {
+ kdDebug() << "DccTransferSend::getAck(): Received final ACK." << endl;
+ finishTransferLogger();
+ setStatus( Done );
+ cleanUp();
+ emit done( this );
+ break; // for safe
+ }
+ }
+}
+
+void DccTransferSend::slotGotSocketError( int errorCode )
+{
+ kdDebug() << "DccTransferSend::slotGotSocketError(): code = " << errorCode << " string = " << m_serverSocket->errorString() << endl;
+ failed( i18n( "Socket error: %1" ).arg( m_serverSocket->errorString() ) );
+}
+
+void DccTransferSend::startConnectionTimer( int sec )
+{
+ kdDebug() << "DccTransferSend::startConnectionTimer()"<< endl;
+ stopConnectionTimer();
+ m_connectionTimer->start( sec*1000, true );
+}
+
+void DccTransferSend::stopConnectionTimer()
+{
+ if ( m_connectionTimer->isActive() )
+ {
+ kdDebug() << "DccTransferSend::stopConnectionTimer(): stop" << endl;
+ m_connectionTimer->stop();
+ }
+}
+
+void DccTransferSend::slotConnectionTimeout() // slot
+{
+ kdDebug() << "DccTransferSend::slotConnectionTimeout()" << endl;
+ failed( i18n( "Timed out" ) );
+}
+
+void DccTransferSend::slotConnectionFailed( int /* errorCode */ )
+{
+ failed( i18n( "Connection failure: %1" ).arg( m_sendSocket->errorString() ) );
+}
+
+void DccTransferSend::slotServerSocketClosed()
+{
+ kdDebug() << "DccTransferSend::slotServerSocketClosed()" << endl;
+}
+
+void DccTransferSend::slotSendSocketClosed()
+{
+ kdDebug() << "DccTransferSend::slotSendSocketClosed()" << endl;
+ finishTransferLogger();
+ if ( getStatus() == Transferring && m_transferringPosition < (KIO::fileoffset_t)m_fileSize )
+ failed( i18n( "Remote user disconnected" ) );
+}
+
+ // protected, static
+QString DccTransferSend::getQFileErrorString( int code )
+{
+ QString errorString;
+
+ switch(code)
+ {
+ case IO_Ok:
+ errorString=i18n("The operation was successful. Should never happen in an error dialog.");
+ break;
+ case IO_ReadError:
+ errorString=i18n("Could not read from file \"%1\".").arg( m_fileName );
+ break;
+ case IO_WriteError:
+ errorString=i18n("Could not write to file \"%1\".").arg( m_fileName );
+ break;
+ case IO_FatalError:
+ errorString=i18n("A fatal unrecoverable error occurred.");
+ break;
+ case IO_OpenError:
+ errorString=i18n("Could not open file \"%1\".").arg( m_fileName );
+ break;
+
+ // Same case value? Damn!
+ // case IO_ConnectError:
+ // errorString="Could not connect to the device.";
+ // break;
+
+ case IO_AbortError:
+ errorString=i18n("The operation was unexpectedly aborted.");
+ break;
+ case IO_TimeOutError:
+ errorString=i18n("The operation timed out.");
+ break;
+ case IO_UnspecifiedError:
+ errorString=i18n("An unspecified error happened on close.");
+ break;
+ default:
+ errorString=i18n("Unknown error. Code %1").arg(code);
+ break;
+ }
+
+ return errorString;
+}
+
+#include "dcctransfersend.moc"
diff --git a/konversation/src/dcctransfersend.h b/konversation/src/dcctransfersend.h
new file mode 100644
index 0000000..dfe6ad6
--- /dev/null
+++ b/konversation/src/dcctransfersend.h
@@ -0,0 +1,98 @@
+/*
+ send a file on DCC protocol
+ begin: Mit Aug 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>
+// Copyright (C) 2004,2005 John Tapsell <john@geola.co.uk>
+
+/*
+ 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.
+*/
+
+#ifndef DCCTRANSFERSEND_H
+#define DCCTRANSFERSEND_H
+
+#include "dcctransfer.h"
+
+#include <qfile.h>
+
+
+class QTimer;
+
+namespace KNetwork
+{
+ class KServerSocket;
+ class KStreamSocket;
+}
+
+class DccTransferSend : public DccTransfer
+{
+ Q_OBJECT
+
+ public:
+ DccTransferSend(QObject* parent);
+ virtual ~DccTransferSend();
+
+ // REQUIRED
+ void setFileURL( const KURL& url );
+ // OPTIONAL
+ void setFileName( const QString& fileName );
+ // REQUIED
+ // FIXME: this setting should be an optional one or be removed: make DccTransferSend itself read the configuration
+ void setOwnIp( const QString& ownIp );
+ // OPTIONAL
+ void setFileSize( KIO::filesize_t fileSize );
+ // OPTIONAL
+ void setReverse( bool reverse );
+
+ bool setResume( unsigned long position );
+
+ public slots:
+ virtual bool queue();
+ virtual void start();
+ virtual void abort();
+
+ // invoked when the receiver accepts the offer (Reverse DCC)
+ void connectToReceiver( const QString& partnerHost, const QString& partnerPort );
+
+ protected slots:
+ void acceptClient();
+ // it must be invoked when m_sendSocket is ready
+ void startSending();
+ void writeData();
+ void getAck();
+ void slotGotSocketError( int errorCode );
+ void slotConnectionTimeout();
+ void slotConnectionFailed( int errorCode );
+ void slotSendSocketClosed();
+ void slotServerSocketClosed();
+
+ protected:
+ void cleanUp();
+ void failed(const QString& errorMessage = QString() );
+
+ void startConnectionTimer( int sec );
+ void stopConnectionTimer();
+
+ QString getQFileErrorString( int code );
+
+ QFile m_file;
+
+ /*The filename of the temporary file that we downloaded. So if send a file ftp://somewhere/file.txt
+ * Then this will be downloaded to /tmp.
+ */
+ QString m_tmpFile;
+
+ KNetwork::KServerSocket* m_serverSocket;
+ KNetwork::KStreamSocket* m_sendSocket;
+ bool m_fastSend;
+
+ QTimer* m_connectionTimer;
+};
+
+#endif // DCCTRANSFERSEND_H
diff --git a/konversation/src/decoder.h b/konversation/src/decoder.h
new file mode 100644
index 0000000..578dddb
--- /dev/null
+++ b/konversation/src/decoder.h
@@ -0,0 +1,113 @@
+/*
+ This file is part of the KDE libraries
+
+ Copyright (C) 1999 Lars Knoll (knoll@mpi-hd.mpg.de)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+*/
+#ifndef KHTMLDECODER_H
+#define KHTMLDECODER_H
+
+#include <qstring.h>
+
+class QTextCodec;
+class QTextDecoder;
+
+class JapaneseCode;
+
+/**
+ * @internal
+ */
+class Decoder
+{
+public:
+ enum EncodingType {
+ DefaultEncoding,
+ AutoDetectedEncoding,
+ EncodingFromXMLHeader,
+ EncodingFromMetaTag,
+ EncodingFromHTTPHeader,
+ UserChosenEncoding
+ };
+
+ Decoder();
+ ~Decoder();
+
+ void setEncoding(const char *encoding, EncodingType type);
+ const char *encoding() const;
+
+ QString decode(const char *data, int len);
+
+ bool visuallyOrdered() const { return visualRTL; }
+
+ const QTextCodec *codec() const { return m_codec; }
+
+ QString flush() const;
+
+
+ enum AutoDetectLanguage {
+ SemiautomaticDetection,
+ Arabic,
+ Baltic,
+ CentralEuropean,
+ Chinese,
+ Greek,
+ Hebrew,
+ Japanese,
+ Korean,
+ Russian,
+ Thai,
+ Turkish,
+ Ukrainian,
+ Unicode,
+ WesternEuropean
+ };
+
+ void setAutoDetectLanguage( AutoDetectLanguage _language ) { m_autoDetectLanguage = _language; }
+ AutoDetectLanguage autoDetectLanguage() { return m_autoDetectLanguage; }
+
+
+
+private:
+ QCString automaticDetectionForArabic( const unsigned char* str, int size );
+ QCString automaticDetectionForBaltic( const unsigned char* str, int size );
+ QCString automaticDetectionForCentralEuropean( const unsigned char* str, int size );
+ QCString automaticDetectionForCyrillic( const unsigned char* str, int size, AutoDetectLanguage _language );
+ QCString automaticDetectionForGreek( const unsigned char* str, int size );
+ QCString automaticDetectionForHebrew( const unsigned char* str, int size );
+ QCString automaticDetectionForJapanese( const unsigned char* str, int size );
+ QCString automaticDetectionForTurkish( const unsigned char* str, int size );
+ QCString automaticDetectionForWesternEuropean( const unsigned char* str, int size );
+
+ // codec used for decoding. default is Latin1.
+ QTextCodec *m_codec;
+ QTextDecoder *m_decoder; // only used for utf16
+ QCString enc;
+ EncodingType m_type;
+
+ QCString buffer;
+
+ bool body;
+ bool beginning;
+ bool visualRTL;
+
+ AutoDetectLanguage m_autoDetectLanguage;
+
+ JapaneseCode *kc;
+};
+
+#endif
diff --git a/konversation/src/editnotifydialog.cpp b/konversation/src/editnotifydialog.cpp
new file mode 100644
index 0000000..fe6779c
--- /dev/null
+++ b/konversation/src/editnotifydialog.cpp
@@ -0,0 +1,103 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Sep 1 2004
+ copyright: (C) 2004 by Gary Cramblitt
+ email: garycramblitt@comcast.net
+*/
+
+#include "editnotifydialog.h"
+#include "konversationapplication.h"
+#include "servergroupsettings.h"
+
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qwhatsthis.h>
+
+#include <klineedit.h>
+#include <kcombobox.h>
+#include <kdebug.h>
+#include <klocale.h>
+
+
+EditNotifyDialog::EditNotifyDialog(QWidget* parent,
+const QString& network,
+const QString& nickname):
+
+KDialogBase(parent,"editnotify",true,i18n("Edit Watched Nickname"),
+KDialogBase::Ok | KDialogBase::Cancel,
+KDialogBase::Ok,true)
+
+{
+ QWidget* page=new QWidget(this);
+ setMainWidget(page);
+
+ QHBoxLayout* layout = new QHBoxLayout(page);
+ layout->setSpacing(spacingHint());
+
+ QLabel* networkNameLabel=new QLabel(i18n("&Network name:"),page);
+ QString networkNameWT = i18n(
+ "Pick the server network you will connect to here.");
+ QWhatsThis::add(networkNameLabel, networkNameWT);
+ m_networkNameCombo=new KComboBox(page,"notify_network_combo");
+ QWhatsThis::add(m_networkNameCombo, networkNameWT);
+ networkNameLabel->setBuddy(m_networkNameCombo);
+
+ QLabel* nicknameLabel=new QLabel(i18n("N&ickname:"),page);
+ QString nicknameWT = i18n(
+ "<qt>The nickname to watch for when connected to a server in the network.</qt>");
+ QWhatsThis::add(nicknameLabel, nicknameWT);
+ m_nicknameInput = new KLineEdit(nickname, page);
+ QWhatsThis::add(m_nicknameInput, nicknameWT);
+ nicknameLabel->setBuddy(m_nicknameInput);
+
+ // Build a list of unique server network names.
+ // TODO: The "ServerGroupList type is a misnomer (it is actually networks), which
+ // should be fixed at some point.
+ Konversation::ServerGroupList serverNetworks = Preferences::serverGroupList();
+ QStringList networkNames;
+
+ for(Konversation::ServerGroupList::iterator it = serverNetworks.begin(); it != serverNetworks.end(); ++it)
+ {
+ QString name = (*it)->name();
+
+ if (!networkNames.contains(name))
+ {
+ networkNames.append(name);
+ }
+ }
+
+ networkNames.sort();
+ // Add network names to network combobox and select the one corresponding to argument.
+ for (QStringList::ConstIterator it = networkNames.begin(); it != networkNames.end(); ++it)
+ {
+ m_networkNameCombo->insertItem(*it);
+ if(*it == network) m_networkNameCombo->setCurrentItem(m_networkNameCombo->count()-1);
+ }
+
+ layout->addWidget(networkNameLabel);
+ layout->addWidget(m_networkNameCombo);
+ layout->addWidget(nicknameLabel);
+ layout->addWidget(m_nicknameInput);
+
+ setButtonOK(KGuiItem(i18n("&OK"),"button_ok",i18n("Change notify information")));
+ setButtonCancel(KGuiItem(i18n("&Cancel"),"button_cancel",i18n("Discards all changes made")));
+}
+
+EditNotifyDialog::~EditNotifyDialog()
+{
+}
+
+void EditNotifyDialog::slotOk()
+{
+ emit notifyChanged(m_networkNameCombo->currentText(),
+ m_nicknameInput->text());
+ delayedDestruct();
+}
+
+#include "editnotifydialog.moc"
diff --git a/konversation/src/editnotifydialog.h b/konversation/src/editnotifydialog.h
new file mode 100644
index 0000000..0070ac9
--- /dev/null
+++ b/konversation/src/editnotifydialog.h
@@ -0,0 +1,50 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Sep 1 2004
+ copyright: (C) 2004 by Gary Cramblitt
+ email: garycramblitt@comcast.net
+*/
+
+#ifndef EDITNOTIFYDIALOG_H
+#define EDITNOTIFYDIALOG_H
+
+#include <kdialogbase.h>
+
+/**
+ The EditNotifyDialog implements the dialog for user to add or edit a
+ notify. A notify consists of a server network name and a nickname.
+ User must pick the server network name from existing network names
+ in the server list.
+
+ @author Gary Cramblitt <garycramblitt@comcast.net>
+*/
+
+class KLineEdit;
+class KComboBox;
+
+class EditNotifyDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ explicit EditNotifyDialog(QWidget* parent=0,const QString& network=QString(),
+ const QString& nickname=QString());
+ ~EditNotifyDialog();
+
+ signals:
+ void notifyChanged(const QString& network,
+ const QString& nickname);
+ protected slots:
+ void slotOk();
+
+ protected:
+ KComboBox* m_networkNameCombo;
+ KLineEdit* m_nicknameInput;
+};
+#endif
diff --git a/konversation/src/emoticon.cpp b/konversation/src/emoticon.cpp
new file mode 100644
index 0000000..e193e39
--- /dev/null
+++ b/konversation/src/emoticon.cpp
@@ -0,0 +1,209 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+*/
+
+#include "emoticon.h"
+
+#include <qregexp.h>
+#include <qdom.h>
+#include <qfile.h>
+#include <qfontmetrics.h>
+
+#include <kstaticdeleter.h>
+#include <kstandarddirs.h>
+#include <kdeversion.h>
+
+#include "konversationapplication.h"
+#include "config/preferences.h"
+
+
+namespace Konversation
+{
+
+ EmotIcon* EmotIcon::s_self = 0;
+ static KStaticDeleter<EmotIcon> staticEmotIconDeleter;
+
+ EmotIcon* EmotIcon::self()
+ {
+ if(!s_self)
+ {
+ staticEmotIconDeleter.setObject(s_self, new EmotIcon());
+ }
+
+ return s_self;
+ }
+
+ EmotIcon::EmotIcon()
+ {
+ s_self = this;
+
+ if(Preferences::enableEmotIcons())
+ {
+ changeTheme(Preferences::emotIconTheme());
+ }
+ }
+
+ EmotIcon::~EmotIcon()
+ {
+ if(s_self == this)
+ {
+ staticEmotIconDeleter.setObject(s_self, 0, false);
+ }
+ }
+
+ void EmotIcon::changeTheme(const QString& themeName)
+ {
+ if(themeName.isEmpty() || themeName == self()->m_themeName)
+ {
+ return;
+ }
+
+ #if KDE_IS_VERSION(3,3,91)
+ QString filename = KGlobal::dirs()->findResource("emoticons", themeName + "/emoticons.xml");
+ self()->m_themeName = themeName;
+ #else
+ QString app = "konversation";
+ QString filename = KGlobal::dirs()->findResource("data", app + "/pics/emoticons/" + themeName + "/emoticons.xml");
+
+ if(filename.isEmpty())
+ {
+ app = "kopete";
+ filename = KGlobal::dirs()->findResource("data", app + "/pics/emoticons/" + themeName + "/emoticons.xml");
+ }
+ self()->m_themeName = app + '/' + themeName;
+ #endif
+
+ if(filename.isEmpty())
+ {
+ return;
+ }
+
+ QFile file(filename);
+ file.open(IO_ReadOnly);
+ QDomDocument doc;
+ doc.setContent(&file);
+
+ QDomElement docElement = doc.documentElement();
+
+ if(docElement.tagName() != "messaging-emoticon-map")
+ {
+ return;
+ }
+
+ self()->m_emotIconMap.clear();
+
+ QDomNode node = docElement.firstChild();
+ QDomElement element;
+ QDomNode stringNode;
+ QDomElement stringElement;
+ QString fileAttrib;
+ QString regExpStr;
+
+ while(!node.isNull())
+ {
+ element = node.toElement();
+
+ if(!element.isNull() && element.tagName() == "emoticon")
+ {
+ fileAttrib = findIcon(element.attribute("file", QString()));
+ regExpStr = "";
+ stringNode = element.firstChild();
+
+ while(!stringNode.isNull())
+ {
+ stringElement = stringNode.toElement();
+
+ if(!stringElement.isNull() && stringElement.tagName() == "string")
+ {
+ if(regExpStr.isEmpty())
+ {
+ regExpStr = "(";
+ }
+ else
+ {
+ regExpStr += '|';
+ }
+
+ regExpStr += QRegExp::escape(stringElement.text());
+ }
+
+ stringNode = stringNode.nextSibling();
+ }
+
+ if(!regExpStr.isEmpty() && !fileAttrib.isEmpty())
+ {
+ regExpStr += ')';
+ self()->m_emotIconMap[fileAttrib] = regExpStr;
+ }
+ }
+
+ node = node.nextSibling();
+ }
+ }
+
+ QString EmotIcon::filter(const QString& txt, const QFontMetrics& fm)
+ {
+ if(!Preferences::enableEmotIcons())
+ {
+ return txt;
+ }
+
+ QString filteredTxt = txt;
+
+ for(EmotIconMap::iterator it = self()->m_emotIconMap.begin(); it != self()->m_emotIconMap.end(); ++it)
+ {
+ QRegExp regExp(QString("(^|\\s)%1($|\\s)").arg(it.data()));
+ filteredTxt.replace(regExp, " <img width=\"" + QString::number(fm.height()) + "\" height=\"" + QString::number(fm.height())
+ + "\" src=\"" + it.key() + "\" alt=\"" + it.data() + "\">&nbsp;");
+ }
+
+ return filteredTxt;
+ }
+
+ QString EmotIcon::findIcon(const QString& filename)
+ {
+ //
+ // This code was copied from void KopeteEmoticons::addIfPossible( const QString& filename, QStringList emoticons )
+ // Copyright (c) 2002 by Stefan Gehn <metz AT gehn.net>
+ // Copyright (c) 2002 by Olivier Goffart <ogoffart@tiscalinet.be>
+ //
+ KStandardDirs *dirs = KGlobal::dirs();
+ QString pic;
+
+ #if KDE_IS_VERSION(3,3,91)
+ QString file = self()->m_themeName + '/' + filename;
+ const char* resource = "emoticons";
+ #else
+ QString app = self()->m_themeName.section('/', 0, 0);
+ QString dir = self()->m_themeName.section('/', 1);
+ QString file = app + "/pics/emoticons/" + dir + '/' + filename;
+ const char* resource = "data";
+ #endif
+
+ //maybe an extension was given, so try to find the exact file
+ pic = dirs->findResource(resource, file);
+
+ if(pic.isEmpty())
+ {
+ pic = dirs->findResource(resource, file + ".mng");
+ }
+ if(pic.isEmpty())
+ {
+ pic = dirs->findResource(resource, file + ".png");
+ }
+ if(pic.isEmpty())
+ {
+ pic = dirs->findResource(resource, file + ".gif");
+ }
+
+ return pic;
+ }
+
+}
diff --git a/konversation/src/emoticon.h b/konversation/src/emoticon.h
new file mode 100644
index 0000000..824a25a
--- /dev/null
+++ b/konversation/src/emoticon.h
@@ -0,0 +1,47 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+*/
+
+#ifndef KONVERSATIONEMOTICON_H
+#define KONVERSATIONEMOTICON_H
+
+#include <qstring.h>
+#include <qmap.h>
+
+
+class QFontMetrics;
+
+namespace Konversation
+{
+
+ typedef QMap<QString, QString> EmotIconMap;
+
+ class EmotIcon
+ {
+ public:
+ ~EmotIcon();
+ static EmotIcon* self();
+
+ static void changeTheme(const QString& themeName);
+ static QString filter(const QString& txt, const QFontMetrics& fm);
+
+ protected:
+ EmotIcon();
+ static EmotIcon* s_self;
+
+ static QString findIcon(const QString& filename);
+
+ private:
+ QString m_themeName;
+ EmotIconMap m_emotIconMap;
+ };
+
+}
+#endif
diff --git a/konversation/src/eventsrc b/konversation/src/eventsrc
new file mode 100644
index 0000000..5fd65ad
--- /dev/null
+++ b/konversation/src/eventsrc
@@ -0,0 +1,973 @@
+[!Global!]
+IconName=konversation
+Comment=Konversation
+Comment[hi]=कनवर्सेसन
+Comment[pa]=ਕੇ-ਗੱਲਬਾਤ
+Comment[ta]=உரையாடல்
+Comment[xx]=xxKonversationxx
+
+[message]
+Name=New message
+Name[ar]=رسالة جديدة
+Name[bg]=Ново съобщение
+Name[br]=Kemennad nevez
+Name[bs]=Nova poruka
+Name[ca]=Nou missatge
+Name[cs]=Nová zpráva
+Name[da]=Ny besked
+Name[de]=Neue Nachricht
+Name[el]=Νέο μήνυμα
+Name[es]=Nuevo mensaje
+Name[et]=Uus sõnum
+Name[fi]=Uusi viesti
+Name[fr]=Nouveau message
+Name[ga]=Teachtaireacht nua
+Name[gl]=Nova mensaxe
+Name[he]=הודעה חדשה
+Name[hi]=नया संदेश
+Name[hu]=Új üzenet
+Name[it]=Nuovo messaggio
+Name[ja]=新規メッセージ
+Name[ka]=ახალი შეტყობინება
+Name[lt]=Nauja žinutė
+Name[nl]=Nieuw bericht
+Name[pa]=ਨਵਾਂ ਸੁਨੇਹਾ
+Name[pt]=Nova mensagem
+Name[pt_BR]=Nova mensagem
+Name[ru]=Новое сообщение
+Name[sr]=Нова порука
+Name[sr@Latn]=Nova poruka
+Name[sv]=Nytt meddelande
+Name[ta]=புதியச் செய்தி
+Name[tr]=Yeni ileti
+Name[uk]=Нове повідомлення
+Name[uz]=Yangi xabar
+Name[uz@cyrillic]=Янги хабар
+Name[xx]=xxNew messagexx
+Name[zh_CN]=新消息
+Name[zh_TW]=新的訊息
+Comment=New message arrived in a channel
+Comment[ar]=وصلة رِسالة جديدة في قناة
+Comment[bg]=Пристигна ново съобщение в канала
+Comment[br]=Deuet eo ur postel nevez en ur c'hanol
+Comment[bs]=Nova poruka pristigla na kanal
+Comment[ca]=Ha arribat un nou missatge a un canal
+Comment[cs]=Na kanálu se objevila nová zpráva
+Comment[da]=Ny besked ankom i kanal
+Comment[de]=Neue Nachricht in einem Kanal
+Comment[el]=Νέο μήνυμα έφτασε στο κανάλι
+Comment[es]=Ha llegado un nuevo mensaje a un canal
+Comment[et]=Kanalile saabus uus sõnum
+Comment[fi]=Kanavalle saapui uusi viesti
+Comment[fr]=Un nouveau message est arrivé dans un canal
+Comment[ga]=Tháinig teachtaireacht nua i gcainéal
+Comment[gl]=Chegou unha mensaxe nova nun canal
+Comment[he]=הודעה חדשה הגיעה לחדר
+Comment[hi]=चैनल में नया संदेश आया
+Comment[hu]=Új üzenet érkezett egy csatornára
+Comment[it]=Nuovo messaggio arrivato in un canale
+Comment[ja]=新しいメッセージがチャンネルに届きました
+Comment[ka]=ახალი შეტყობინება მოვიდა არხზე
+Comment[lt]=Kanale gauta nauja žinutė
+Comment[nl]=Nieuw bericht gearriveerd in een kanaal
+Comment[pa]=ਇੱਕ ਚੈਨਲ 'ਚ ਨਵਾਂ ਸੁਨੇਹਾ ਆਇਆ ਹੈ
+Comment[pt]=Nova mensagem chegou ao canal
+Comment[pt_BR]=Uma nova mensagem chegou em um canal
+Comment[ru]=Получено новое сообщение на канале
+Comment[sr]=Нова порука је стигла у каналу
+Comment[sr@Latn]=Nova poruka je stigla u kanalu
+Comment[sv]=Nytt meddelande anlände i en kanal
+Comment[ta]=தடங்களிருந்து புதிய தகவல் வந்தது
+Comment[tr]=Kanala yeni ileti geldi
+Comment[uk]=В канал надійшло нове повідомлення
+Comment[xx]=xxNew message arrived in a channelxx
+Comment[zh_CN]=频道中有新消息
+Comment[zh_TW]=新訊息已送達頻道
+default_presentation=0
+
+[nick]
+Name=Nick written
+Name[ar]=كُُتِب الأسم المستعار
+Name[bg]=Написан псевдоним
+Name[bs]=Nick zapisan
+Name[ca]=Escriure sobrenom
+Name[cs]=Zapsána přezdívka
+Name[da]=Alias skrevet
+Name[de]=Spitzname erwähnt
+Name[el]=Το ψευδώνυμο γράφτηκε
+Name[es]=Apodo escrito
+Name[et]=Hüüdnimi kirjutatud
+Name[fi]=Nimimerkki kirjoitettiin
+Name[fr]=Pseudonyme écrit
+Name[ga]=Scríobhadh do leasainm
+Name[gl]=Alcume escrito
+Name[he]=הכינוי נכתב
+Name[hi]=निक लिखा
+Name[hu]=becenév kiírva
+Name[it]=Nick scritto
+Name[ja]=ニックが書かれました
+Name[ka]=მეტსახელი დაწერილია
+Name[lt]=Paminėtas slapyvardis
+Name[nl]=Bijnaam geschreven
+Name[pa]=ਨਾਂ ਲਿਖਿਆ
+Name[pt]=Alcunha escrita
+Name[pt_BR]=Apelido escrito
+Name[ru]=Упоминание вашего ника
+Name[sr]=Надимак је уписан
+Name[sr@Latn]=Nadimak je upisan
+Name[sv]=Något skrivet till smeknamnet
+Name[ta]=பட்டை எழுத்து
+Name[tr]=Takma ad yazıldı
+Name[uk]=Написане прізвисько
+Name[xx]=xxNick writtenxx
+Name[zh_CN]=昵称写入
+Name[zh_TW]=有人提到您的暱稱
+Comment=Someone wrote your nick in a message
+Comment[ar]=أحد ما كتب إسمك المستعار في رسالة ما
+Comment[bg]=Псевдонимът ви бе написан в съобщение
+Comment[bs]=Neko je spomenuo vaš nick u poruci
+Comment[ca]=Algú ha escrit el vostre sobrenom en un missatge
+Comment[cs]=Někdo ve zprávě napsal vaší přezdívku
+Comment[da]=Nogen skrev dit alias i en besked
+Comment[de]=Jemand hat Ihren Spitznamen in einer Nachricht erwähnt
+Comment[el]=Κάποιος έγραψε το ψευδώνυμο σας σε ένα μήνυμα
+Comment[es]=Alguien ha escrito su apodo en un mensaje
+Comment[et]=Keegi kasutas sõnumis sinu hüüdnime
+Comment[fi]=Joku kirjoitti nimimerkkisi viestiin
+Comment[fr]=Quelqu'un a écrit votre pseudonyme dans un message
+Comment[ga]=Scríobh duine éigin do leasainm i dteachtaireacht
+Comment[gl]=Alguén escrebeu o seu alcume nunha mensaxe
+Comment[he]=מישהו כתב את הכינוי שלך בהודעה
+Comment[hi]=संदेश मे किसी ने आपका निक लिखा
+Comment[hu]=Valaki leírta az Ön becenevét az egyik csatornán
+Comment[it]=Qualcuno ha scritto il tuo nick in un messaggio
+Comment[ja]=誰かがあなたのニックをメッセージに書きました
+Comment[ka]=ვიღაცამ შეტყობინებაში თქვენი მეტსახელი დაწერა
+Comment[lt]=Kažkas paminėjo jūsų slapyvardį žinutėje
+Comment[nl]=Iemand schreef uw bijnaam in een bericht
+Comment[pt]=Alguém escrever a sua alcunha numa mensagem
+Comment[pt_BR]=Alguém escreveu o seu nick em uma mensagem
+Comment[ru]=Кто-то написал ваше имя в своём собщении
+Comment[sr]=Неко је написао ваш надимак у поруци
+Comment[sr@Latn]=Neko je napisao vaš nadimak u poruci
+Comment[sv]=Någon skrev ett meddelande till ditt smeknamn
+Comment[ta]=உங்கள் வடுத் தகவலில் ஒரு சிலர் எழுதியுள்ளனர்
+Comment[tr]=Birisi iletisinde sizin takma adınızı yazdı
+Comment[uk]=Хтось в повідомленні написав ваше прізвисько
+Comment[xx]=xxSomeone wrote your nick in a messagexx
+Comment[zh_CN]=有人在消息中输入了你的昵称
+Comment[zh_TW]=有人在訊息中提到您的暱稱
+default_presentation=0
+
+[queryMessage]
+Name=Private message
+Name[bg]=Лично съобщение
+Name[cs]=Soukromá zpráva
+Name[da]=Provat besked
+Name[de]=Private Nachricht
+Name[el]=Προσωπικό μήνυμα
+Name[es]=Mensaje privado
+Name[et]=Privaatsõnum
+Name[ga]=Teachtaireacht phríobháideach
+Name[it]=Messaggio privato
+Name[ja]=プライベートメッセージ
+Name[nl]=Privaat bericht
+Name[pa]=ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ
+Name[pt]=Mensagem privada
+Name[pt_BR]=Mensagem particular
+Name[sr]=Приватна порука
+Name[sr@Latn]=Privatna poruka
+Name[sv]=Privat meddelande
+Name[tr]=Özel ileti
+Name[uk]=Приватне повідомлення
+Name[xx]=xxPrivate messagexx
+Name[zh_CN]=私人消息
+Name[zh_TW]=私密訊息
+Comment=You received a private message
+Comment[bg]=Получихте лично съобщение
+Comment[cs]=Obdrželi jste soukromou zprávu
+Comment[da]=Du modtog en privat besked
+Comment[de]=Sie haben eine private Nachricht erhalten
+Comment[el]=Λάβατε ένα προσωπικό μήνυμα
+Comment[es]=Ha recibido un mensaje privado
+Comment[et]=Sa said privaatsõnumi
+Comment[ga]=Fuair tú teachtaireacht phríobháideach
+Comment[it]=Hai ricevuto un messaggio privato
+Comment[ja]=プライベートメッセージを受け取りました
+Comment[nl]=U ontving een privaat bericht
+Comment[pt]=Você recebeu uma mensagem privada
+Comment[pt_BR]=Você recebeu uma mensagem particular
+Comment[sr]=Примили сте приватну поруку
+Comment[sr@Latn]=Primili ste privatnu poruku
+Comment[sv]=Du har tagit emot ett privat meddelande
+Comment[tr]=Bir özel ileti aldınız
+Comment[uk]=Ви отримали приватне повідомлення
+Comment[xx]=xxYou received a private messagexx
+Comment[zh_CN]=您收到了私人消息
+Comment[zh_TW]=您接收到一個私密訊息
+default_presentation=0
+
+[nickchange]
+Name=Nick changed
+Name[ar]=تغيّر الإسم المستعار
+Name[bg]=Псевдонимът е променен
+Name[bs]=Nick promijenjen
+Name[ca]=Sobrenom canviat
+Name[cs]=Přezdívka změněna
+Name[da]=Alias ændret
+Name[de]=Spitzname geändert
+Name[el]=Το ψευδώνυμο άλλαξε
+Name[es]=Apodo modificado
+Name[et]=Hüüdnimi muudetud
+Name[fi]=Nimimerkki muuttui
+Name[fr]=Pseudonyme modifié
+Name[ga]=Athraíodh leasainm
+Name[gl]=Alcume trocado
+Name[he]=הכינוי שונה
+Name[hi]=निक बदला
+Name[hu]=Becenév módosítva
+Name[it]=Nick cambiato
+Name[ja]=ニック変更
+Name[ka]=მეტსახელი შეიცვალა
+Name[lt]=Slapyvardis pakeistas
+Name[nl]=Bijnaam gewijzigd
+Name[pa]=Nick ਬਦਲਿਆ
+Name[pt]=Alcunha alterada
+Name[pt_BR]=Apelido modificado
+Name[ru]=Изменён ник
+Name[sr]=Надимак је промењен
+Name[sr@Latn]=Nadimak je promenjen
+Name[sv]=Smeknamn ändrat
+Name[ta]= மாற்றியப் பட்டை
+Name[tr]=Takma ad değişti
+Name[uk]=Змінене прізвисько
+Name[xx]=xxNick changedxx
+Name[zh_CN]=昵称改变
+Name[zh_TW]=變更暱稱
+Comment=Someone changed their nick
+Comment[ar]=أحد ما غيّر إسمه المستعار
+Comment[bg]=Някой си промени псевдонима
+Comment[bs]=Neko je promijenio svoj nick
+Comment[ca]=Algú ha canviat el seu sobrenom
+Comment[cs]=Někdo změnil svou přezdívku
+Comment[da]=Nogen ændrede deres alias
+Comment[de]=Jemand hat seinen Spitznamen geändert
+Comment[el]=Κάποιος άλλαξε το ψευδώνυμο του
+Comment[es]=Alguien ha cambiado su apodo
+Comment[et]=Keegi muutis oma hüüdnime
+Comment[fi]=Joku muutti nimimerkkiään
+Comment[fr]=Quelqu'un a changé de pseudonyme
+Comment[ga]=D'athraigh duine éigin a leasainm
+Comment[gl]=Alguén trocou de alcume
+Comment[he]=מישהו שינה את הכינוי שלו
+Comment[hi]=किसी ने अपना निक बदला
+Comment[hu]=Valaki megváltoztatta a becenevét
+Comment[it]=Qualcuno ha cambiato il proprio nick
+Comment[ja]=誰かがニックを変更しました
+Comment[ka]=ვიღაცამ მეტსახელი შეიცვალა
+Comment[lt]=Kažkas pasikeitė savo slapyvardį
+Comment[nl]=Iemand veranderde zijn of haar bijnaam
+Comment[pt]=Alguém mudou a sua alcunha
+Comment[pt_BR]=Alguém mudou o seu apelido
+Comment[ru]=Кто-то сменил своё имя
+Comment[sr]=Неко је променио свој надимак
+Comment[sr@Latn]=Neko je promenio svoj nadimak
+Comment[sv]=Någon ändrade sitt smeknamn
+Comment[ta]=வடுவை ஒரு சிலர் மாற்றினர்
+Comment[tr]=Birileri takma adlarını değiştirdi
+Comment[uk]=Хтось змінив своє прізвисько
+Comment[xx]=xxSomeone changed their nickxx
+Comment[zh_CN]=有人改变了昵称
+Comment[zh_TW]=有人變更了暱稱
+default_presentation=0
+
+[dcc_incoming]
+Name=Incoming file
+Name[ar]=ملف وارِد
+Name[bg]=Пристигащ файл
+Name[br]=Restr resev
+Name[bs]=Dolazeća datoteka
+Name[ca]=Fitxer entrant
+Name[cs]=Příchozí soubor
+Name[da]=Indkommende fil
+Name[de]=Datei angeboten
+Name[el]=Εισερχόμενο αρχείο
+Name[es]=Fichero entrante
+Name[et]=Sisenev fail
+Name[fi]=Saapuva tiedosto
+Name[fr]=Fichier entrant
+Name[ga]=Comhad isteach
+Name[gl]=Ficheiro recebido
+Name[he]=קובץ נכנס
+Name[hi]=आनेवाली फाइल
+Name[hu]=Bejövő fájl
+Name[it]=File in arrivo
+Name[ja]=受信ファイル
+Name[ka]=შემომავალი ფაილი
+Name[lt]=Atsiunčiama byla
+Name[nl]=Bestand aangeboden
+Name[pa]=ਆ ਰਹੀ ਫਾਇਲ
+Name[pt]=Ficheiro recebido
+Name[pt_BR]=Arquivo de entrada
+Name[ru]=Входящий файл
+Name[sr]=Долазећи фајл
+Name[sr@Latn]=Dolazeći fajl
+Name[sv]=Inkommande fil
+Name[ta]=உள்ளீடு கோப்பு
+Name[tr]=Gelen dosya
+Name[uk]=Вхідний файл
+Name[xx]=xxIncoming filexx
+Name[zh_CN]=收到的文件
+Name[zh_TW]=送來檔案
+Comment=Someone wants to transmit a file to you over DCC
+Comment[ar]=أحد ما يريد إرسال ملف إليك عبر DCC
+Comment[bg]=Някой иска да ви изпрати файл чрез DCC
+Comment[bs]=Neko želi da vam pošalje datoteku koristeći DCC
+Comment[ca]=Algú desitja enviar-vos un fitxer sobre DCC
+Comment[cs]=Někdo vám chce přes DCC poslat soubor
+Comment[da]=Nogen ønsker at transmittere en fil til dig over DCC
+Comment[de]=Jemand bietet Ihnen eine Datei zum DCC-Download an
+Comment[el]=Κάποιος θέλει να σας στείλει ένα αρχείο μέσω DCC
+Comment[es]=Alguien quiere transmitirle un fichero a través de DCC
+Comment[et]=Keegi tahab sulle faili edastada üle DCC
+Comment[fi]=Joku haluaa lähettää DCC-tiedoston sinulle
+Comment[fr]=Quelqu'un souhaite vous transmettre un fichier via DCC
+Comment[gl]=Alguén quer transmitir-lle un ficheiro por DCC
+Comment[he]=משיהו רוצה לשלוח לך קובץ דרך DCC
+Comment[hi]=कोई एक फाइल आपके डीसीसी पर ट्रांसमिट करना चाहता है
+Comment[hu]=Valaki fájl szeretne küldeni Önnek DCC-n keresztül
+Comment[it]=Qualcuno vuole trasmetterti un file via DCC
+Comment[ja]=誰かが DCC であなたにファイルを転送したいそうです
+Comment[ka]=ვიღაცას სურს DCC-ს მეშვეობით გადმოგცეთ ფაილი
+Comment[lt]=Kažkas nori jums atsiųsti bylą per DCC
+Comment[nl]=Iemand wil via DCC een bestand naar u sturen
+Comment[pt]=Alguém quer transmitir um ficheiro através de DCC
+Comment[pt_BR]=Alguém deseja transmitir um arquivo para você via DCC
+Comment[ru]=Кто-то хочет передать вам файл
+Comment[sr]=Неко жели да вам пошаље фајл преко DCC-а
+Comment[sr@Latn]=Neko želi da vam pošalje fajl preko DCC-a
+Comment[sv]=Någon vill skicka en fil till dig via direktkommunikation
+Comment[ta]= ஒரு சிலர் உங்களுக்குக் கோப்பினை வழங்க DCCலிருந்து விரும்புகின்றனர்
+Comment[tr]=Birisi size DCC üzerinden dosya göndermek istiyor
+Comment[uk]=Хтось хоче надіслати вам файл через DCC
+Comment[xx]=xxSomeone wants to transmit a file to you over DCCxx
+Comment[zh_CN]=有人希望通过 DCC 向你传输文件
+Comment[zh_TW]=有人要透過 DCC 傳送檔案給您
+default_presentation=0
+
+[join]
+Name=Nick joined channel
+Name[ar]=الإسم المستعار إنضمّ إلى القناة
+Name[bg]=Псевдонимът се присъедини към канала
+Name[bs]=Nick se pridružio kanalu
+Name[ca]=El sobrenom ha accedit al canal
+Name[cs]=Přezdívka se objevila na kanálu
+Name[da]=Alias gik med i kanal
+Name[de]=Benutzer betritt Kanal
+Name[el]=Το ψευδώνυμο συνδέθηκε στο κανάλι
+Name[es]=Apodo se ha unido al canal
+Name[et]=Hüüdnimi ühines kanaliga
+Name[fi]=Nimimerkki liittyi kanavalle
+Name[fr]=Un pseudonyme a rejoint le canal
+Name[ga]=Chuaigh leasainm le cainéal
+Name[gl]=Alguén se uniu ao canal
+Name[he]=כינוי התחבר אל החדר
+Name[hi]=निक चैनल में शामिल हुआ
+Name[hu]=Valaki belépett a csatornára
+Name[it]=Nick entrato nel canale
+Name[ja]=ニックがチャンネルに入りました
+Name[ka]=მეტსახელი არხს შეუერთდა
+Name[lt]=Slapyvardis prisijungė kanale
+Name[nl]=Bijnaam neemt deel aan kanaal
+Name[pa]=Nick ਚੈਨਲ 'ਚ ਦਾਖਲ
+Name[pt]=Alcunha juntou-se ao canal
+Name[pt_BR]=Apelido entrou no canal
+Name[ru]=Пользователь вошёл на канал
+Name[sr]=Надимак се прикључио каналу
+Name[sr@Latn]=Nadimak se priključio kanalu
+Name[sv]=Någon med smeknamnet gick med i en kanal
+Name[ta]=இணைத்தத் தடப்பட்டை
+Name[tr]=Takma ad kanala girdi
+Name[uk]=Прізвисько приєдналось до каналу
+Name[xx]=xxNick joined channelxx
+Name[zh_CN]=昵称加入频道
+Name[zh_TW]=加入頻道
+Comment=New nick joined a channel
+Comment[ar]=إسم مستعار جديد إنضمّ إلى القناة
+Comment[bg]=Нов псевдоним се присъедини към канала
+Comment[bs]=Novi nick se pridružio kanalu
+Comment[ca]=Un nou sobrenom ha accedit a un canal
+Comment[cs]=Na kanálu se objevila nová přezdívka
+Comment[da]=Nyt alias gik med i en kanal
+Comment[de]=Jemand betritt einen Kanal
+Comment[el]=Νέο ψευδώνυμο συνδέθηκε σε ένα κανάλι
+Comment[es]=Un nuevo usuario se ha unido a un canal
+Comment[et]=Kanaliga ühines uus hüüdnimi
+Comment[fi]=Uusi nimimerkki liittyi kanavalle
+Comment[fr]=Un pseudonyme a rejoint le canal
+Comment[ga]=Chuaigh leasainm nua le cainéal
+Comment[gl]=Un alcume novo uniu-se ao canal
+Comment[he]=כינוי חדש התחבר לחדר
+Comment[hi]=नया निक एक चैनल में शामिल हुआ
+Comment[hu]=Új felhasználó lépett be az egyik csatornára
+Comment[it]=Un nuovo nick è entrato nel canale
+Comment[ja]=新しいニックがチャンネルに入りました
+Comment[ka]=ახალი მეტსახელი არხს შეუერთდა
+Comment[lt]=Naujas slapyvardis prisijungė kanale
+Comment[nl]=Nieuwe bijnaam neemt deel aan een kanaal
+Comment[pt]=Um novo utilizador juntou-se ao canal
+Comment[pt_BR]=Um novo apelido entrou em um canal
+Comment[ru]=Новые люди на канале
+Comment[sr]=Нови надимак се прикључио каналу
+Comment[sr@Latn]=Novi nadimak se priključio kanalu
+Comment[sv]=Någon med ett nytt smeknamn gick med i en kanal
+Comment[ta]=புதிய வடுத் தடத்தில் சேர்ந்தது
+Comment[tr]=Kanala yeni bir kişi girdi
+Comment[uk]=Нове прізвисько приєдналось до каналу
+Comment[xx]=xxNew nick joined a channelxx
+Comment[zh_CN]=新昵称加入了频道
+Comment[zh_TW]=有人加入了頻道
+default_presentation=0
+
+[part]
+Name=Nick left channel
+Name[ar]=الإسم المستعار غادر القناة
+Name[bg]=Псевдонимът напусна канала
+Name[bs]=Nick napustio kanal
+Name[ca]=El sobrenom ha abandonat el canal
+Name[cs]=Přezdívka opustila kanál
+Name[da]=Alias forlod kanal
+Name[de]=Benutzer verlässt Kanal
+Name[el]=Το ψευδώνυμο έφυγε από το κανάλι
+Name[es]=Apodo ha dejado el canal
+Name[et]=Hüüdnimi lahkus kanalilt
+Name[fi]=Nimimerkki poistui kanavalta
+Name[fr]=Un pseudonyme a quitté le canal
+Name[ga]=D'fhág leasainm cainéal
+Name[gl]=Alguén deixou o canal
+Name[he]=כינוי עזב את החדר
+Name[hi]=निक चैनल छोड़ा
+Name[hu]=Valaki kilépett a csatornáról
+Name[it]=Nick uscito dal canale
+Name[ja]=ニック退出
+Name[ka]=მეტსახელმა დატოვა არხი
+Name[lt]=Slapyvardis atsijungė nuo kanalo
+Name[nl]=Bijnaam verlaat kanaal
+Name[pa]=Nick ਨੇ ਚੈਨਲ ਛੱਡਿਆ
+Name[pt]=Alcunha saiu do canal
+Name[pt_BR]=Apelido deixou o canal
+Name[ru]=Пользователь вышел из канала
+Name[sr]=Надимак је напустио канал
+Name[sr@Latn]=Nadimak je napustio kanal
+Name[sv]=Någon med smeknamnet lämnade en kanal
+Name[ta]=இடது தடப் பட்டை
+Name[tr]=Takma ad kanaldan ayrıldı
+Name[uk]=Прізвисько покинуло канал
+Name[xx]=xxNick left channelxx
+Name[zh_CN]=昵称离开频道
+Name[zh_TW]=離開頻道
+Comment=A nick left a channel
+Comment[ar]=إسم مستعار غادر القناة
+Comment[bg]=Псевдонимът напусна канала
+Comment[bs]=Nick je napustio kanal
+Comment[ca]=Un sobrenom ha deixat un canal
+Comment[cs]=Přezdívka opustila kanál
+Comment[da]=Et alias forlod en kanal
+Comment[de]=Jemand verlässt einen Kanal
+Comment[el]=Ένα ψευδώνυμο έφυγε από ένα κανάλι
+Comment[es]=Un usuario ha abandonado un canal
+Comment[et]=Hüüdnimi lahkus kanalilt
+Comment[fi]=Nimimerkki poistui kanavalta
+Comment[fr]=Un pseudonyme a quitté le canal
+Comment[ga]=D'fhág leasainm cainéal
+Comment[gl]=Alguén abandonou o canal
+Comment[he]=כינוי עזב את החדר
+Comment[hu]=Valaki kilépett egy csatornáról
+Comment[it]=Un nick è uscito dal canale
+Comment[ja]=ニックがチャンネルから退出しました
+Comment[ka]=მეტსახელმა დატოვა არხი
+Comment[lt]=Slapyvardis atsijungė nuo kanalo
+Comment[nl]=Een bijnaam heeft een kanaal verlaten
+Comment[pa]=ਇੱਕ ਨਾਂ ਨੇ ਚੈਨਲ ਛੱਡਿਆ
+Comment[pt]=Um utilizador abandonou o canal
+Comment[pt_BR]=Alguém deixou um canal
+Comment[ru]=Пользователь покинул канал
+Comment[sr]=Надимак је напустио канал
+Comment[sr@Latn]=Nadimak je napustio kanal
+Comment[sv]=Någon med ett smeknamn lämnade en kanal
+Comment[ta]=தடத்தை விட்டு வடு நீங்கியது
+Comment[tr]=Bir takma ad kanaldan ayrıldı
+Comment[uk]=Прізвисько покинуло канал
+Comment[xx]=xxA nick left a channelxx
+Comment[zh_CN]=一个昵称离开了频道
+Comment[zh_TW]=有人離開了頻道
+default_presentation=0
+
+[mode]
+Name=Mode change
+Name[ar]=تغيير النمط
+Name[bg]=Смяна на режим
+Name[bs]=Promjena režima
+Name[ca]=Mode canviat
+Name[cs]=Změna režimu
+Name[da]=Tilstand ændret
+Name[de]=Moduswechsel
+Name[el]=Αλλαγή κατάστασης
+Name[es]=Cambio de modo
+Name[et]=Režiimi muutus
+Name[fi]=Tilamuutos
+Name[fr]=Changement de mode
+Name[ga]=Athrú móid
+Name[gl]=Cámbio de modo
+Name[he]=שינוי מצב
+Name[hi]=मोड बदला
+Name[hu]=Módváltás
+Name[it]=Cambio di modalità
+Name[ja]=モード変更
+Name[ka]=რეჟიმის შეცვლა
+Name[lt]=Pasikeitė būsena
+Name[nl]=Moduswisseling
+Name[pa]=ਢੰਗ ਤਬਦੀਲ
+Name[pt]=Mudança de modo
+Name[pt_BR]=Mudança de modo
+Name[ru]=Смена режима
+Name[sr]=Режим је измењен
+Name[sr@Latn]=Režim je izmenjen
+Name[sv]=Tillståndsändring
+Name[ta]=பாங்கை மாற்று
+Name[tr]=Kip değiştir
+Name[uk]=Зміна режиму
+Name[xx]=xxMode changexx
+Name[zh_CN]=模式改变
+Name[zh_TW]=模式變更
+Comment=A user or channel mode was changed
+Comment[ar]=تغيّر مستخدِم أو قناة ما
+Comment[bg]=Променен е потребителски режим или канал
+Comment[bs]=Mod korisnika ili kanala je promijenjen
+Comment[ca]=A mode d'usuari o de canal ha estat canviat
+Comment[cs]=Uživatel nebo kanál byl změněn
+Comment[da]=En bruger- eller kanaltilstand blev ændret
+Comment[de]=Ein Benutzer- oder Kanal-Modus wurde geändert
+Comment[el]=Η κατάσταση ενός χρήστης ή καναλιού άλλαξε
+Comment[es]= Un modo de usuario o de canal ha sido modificado
+Comment[et]=Kasutaja või kanalirežiim muudeti
+Comment[fi]=Käyttäjän tai kanavan tila vaihtui
+Comment[fr]=Un utilisateur ou un mode de canal a été changé
+Comment[ga]=Athraíodh mód úsáideora nó mód cainéil
+Comment[gl]=Foi modificado un modo de usuário ou canal
+Comment[he]=משתמש או חדר שינה את המצב שלו
+Comment[hi]=एक उपयोगकर्ता या चैनल मोड बदला
+Comment[hu]=Egy felhasználó vagy egy csatornamód megváltozott
+Comment[it]=Una modalità utente o canale è stata cambiata
+Comment[ja]=ユーザまたはチャンネルモードが変更されました
+Comment[ka]=მომხმარებლის ან არხის რეჟიმი შეიცვალა
+Comment[lt]=Pasikeitė naudotojo arba kanalo būsena
+Comment[nl]=Een gebruiker- of kanaalmodus is gewijzigd
+Comment[pt]=O modo de um utilizador ou canal foi alterado
+Comment[pt_BR]=Um usuário ou modo de canal foi modificado
+Comment[ru]=Режим пользователя или канала изменены
+Comment[sr]=Корисник или режим канала је промењен
+Comment[sr@Latn]=Korisnik ili režim kanala je promenjen
+Comment[sv]=Tillståndet för en användare eller kanal ändrades
+Comment[ta]=பயனர் அல்லது தடங்கள் மாறியது
+Comment[tr]=Bir kullanıcı veya kanal kipi değiştirildi
+Comment[uk]=Змінено користувацький або канальний режим
+Comment[xx]=xxA user or channel mode was changedxx
+Comment[zh_CN]=一个用户或频道模式改变了
+Comment[zh_TW]=某位使用者或某個頻道的模式已被變更
+default_presentation=0
+
+[notify]
+Name=Notify
+Name[ar]=بلِغ
+Name[bg]=Известяване
+Name[bs]=Obavijesti
+Name[ca]=Notificació
+Name[da]=Bekendtgør
+Name[de]=Benachrichtigung
+Name[el]=Ειδοποίηση
+Name[es]=Notificar
+Name[et]=Märguanne
+Name[fi]=Ilmoitus
+Name[fr]=Notification
+Name[ga]=Cuir Fógra Chugam
+Name[gl]=Notificar
+Name[he]=הודעה
+Name[hi]=नोटिफाई
+Name[hu]=Értesítés
+Name[it]=Notifica
+Name[ja]=通知
+Name[ka]=შეტყობინება
+Name[lt]=Perspėti
+Name[nl]=Notificatie
+Name[pa]=ਸੂਚਨਾ
+Name[pt]=Notificação
+Name[pt_BR]=Notificar
+Name[ru]=Уведомление
+Name[sr]=Обавести
+Name[sr@Latn]=Obavesti
+Name[sv]=Underrättelse
+Name[ta]=குறிப்பு
+Name[tr]=Bildirim
+Name[uk]=Сповіщати
+Name[xx]=xxNotifyxx
+Name[zh_CN]=通告
+Name[zh_TW]=通知
+Comment=A user on your watched nicks list has come online
+Comment[ar]=مستخدِم مِن أفراد لائحتك لِلأسماء المستعارة سجل دخولهُ
+Comment[bg]=Потребител от списъка ви с наблюдавани псевдоними влезе в канала
+Comment[ca]=S'ha connectat un usuari de la vostra llista de sobrenoms vigilats
+Comment[cs]=Uživatel z vašeho seznamu je online
+Comment[da]=En bruger på din liste af aliasser gik online
+Comment[de]=Ein Benutzer aus Ihrer "Beobachten"-Liste ist online
+Comment[el]=Ένας χρήστης από τη λίστα ψευδώνυμων παρακολούθησης συνδέθηκε στο δίκτυο
+Comment[es]=Un usuario de su lista de apodos vigilados se ha conectado
+Comment[et]=Jälgitavate hüüdnimede nimekirjas olev kasutaja tuli võrku
+Comment[fi]=Seurattu nimimerkki tuli paikalle
+Comment[fr]=Un utilisateur de votre liste de pseudos surveillés est maintenant en ligne
+Comment[gl]=Un usuário da sua lista de seguimento conectou-se
+Comment[he]=משתמש ברשימה תצוגה שלך נכנס לרשת
+Comment[hi]=आपकी मित्र सूची का एक उपयोक्ता ऑनलाइन हुआ
+Comment[hu]=Az értesítési listán szereplő egyik felhasználó online módba váltott
+Comment[it]=Si è collegato un utente nella tua lista di nick sorvegliati
+Comment[ja]=ニック監視リストのユーザがオンラインになりました
+Comment[ka]=მომხმარებელი თქვენი სათვალყურო სიიდან ხაზზე გამოვიდა
+Comment[lt]=Prisijungė naudotojas iš stebimų slapyvardžių sąrašo
+Comment[nl]=Een gebruiker op uw gevolgdebijnamenlijst is online
+Comment[pt]=Um utilizador da sua lista de notificações ligou-se
+Comment[pt_BR]=Um usuário de sua lista de apelidos ficou online
+Comment[ru]=Наблюдаемый пользователь в сети
+Comment[sr]=Корисник са ваше листе праћених надимака је дошао на везу
+Comment[sr@Latn]=Korisnik sa vaše liste praćenih nadimaka je došao na vezu
+Comment[sv]=En användare i din lista med bevakade smeknamn har kopplat upp
+Comment[ta]= உங்கள் வடுகளின் பட்டியலைப் பயனர் கண்காணித்து நிகழ்நிலையில் வருகின்றனர்
+Comment[tr]=İzlenen takma adlar listenizdeki bir kullanıcı bağlandı
+Comment[uk]=Вийшов у мережу користувач із вашого списку прізвиськ
+Comment[xx]=xxA user on your watched nicks list has come onlinexx
+Comment[zh_CN]=一名在您的监视昵称列表上的用户已经上线
+Comment[zh_TW]=您監看的暱稱清單中有某人上線了
+default_presentation=0
+
+[query]
+Name=Query
+Name[ar]=أطلب
+Name[bg]=Запитване
+Name[br]=Goulenn
+Name[ca]=Conversa
+Name[cs]=Dotaz
+Name[cy]=Ymholiad
+Name[el]=Ερώτηση
+Name[es]=Consulta
+Name[et]=Päring
+Name[fi]=Kysely
+Name[fr]=Requête
+Name[ga]=Iarratas
+Name[gl]=Procura
+Name[he]=שאילתה
+Name[hi]=क्वैरी
+Name[it]=Conversazione privata
+Name[ja]=クエリ
+Name[ka]=გამოკითხვა
+Name[lt]=Pokalbis
+Name[nl]=Aanvraag
+Name[pa]=ਕਿਊਰੀ
+Name[pt]=Procura
+Name[pt_BR]=Busca
+Name[ru]=Диалог
+Name[sr]=Упит
+Name[sr@Latn]=Upit
+Name[sv]=Fråga
+Name[ta]=கேள்வி
+Name[tr]=Sorgu
+Name[uk]=Запит
+Name[xx]=xxQueryxx
+Name[zh_CN]=对话
+Name[zh_TW]=查詢
+Comment=Someone started a conversation (query) with you
+Comment[ar]=أحدٌ ما إبتدء مكالمة ( طلب ) معك
+Comment[bg]=Някой започна личен разговор с вас
+Comment[ca]=Algú ha iniciat una conversa (query) amb vostè
+Comment[cs]=Někdo s vámi zahájil rozhovor (dotaz)
+Comment[da]=Nogen startede en konversation (query) med dig
+Comment[de]=Jemand hat ein Gespräch (query) mit Ihnen begonnen
+Comment[el]=Κάποιος ξεκίνησε μια συζήτηση (ερώτηση) μαζί σας
+Comment[es]=Alguien empezó una conversación (consulta) con usted
+Comment[et]=Keegi alustas sinuga vestlust (esitas päringu)
+Comment[fi]=Joku aloitti keskustelun (kyselyn) kanssasi
+Comment[fr]=Quelqu'un a commencé une conversation (requête) avec vous
+Comment[ga]=Thosaigh duine éigin comhrá (iarratas) leat
+Comment[gl]=Alguén comezou una conversa (está a procurá-la) privada
+Comment[he]=מישהו יזם שיחה אתך (query)
+Comment[hi]=किसी ने आपके साथ वार्तालाप (क्वैरी) प्रारंभ किया
+Comment[it]=Qualcuno ha avviato una conversazione privata (query) con te
+Comment[ja]=誰かがあなたと会話 (クエリ) を開始しました
+Comment[ka]=ვიღაცამ თქვენთან საუბარი (გამოკითხვა) დაიწყო
+Comment[lt]=Kažkas pradėjo su jumis pokalbį
+Comment[nl]=Iemand begon een conversatie (aanvraag) met u
+Comment[pt]=Alguém iniciou uma conversa (procura) consigo
+Comment[pt_BR]=Alguém começou a conversa (query) com você
+Comment[ru]=Кто-то начал диалог с вами
+Comment[sr]=Неко је започео разговор (упит) са вама
+Comment[sr@Latn]=Neko je započeo razgovor (upit) sa vama
+Comment[sv]=Någon startade en konversation med dig (ställde en fråga till dig)
+Comment[ta]=ஒருவர் உங்களுடன் உரையாடலை துவக்கியிருக்கிறார் (கேள்வி)
+Comment[tr]=Birisi sizinle sohbet başlattı
+Comment[uk]=Хтось почав з вами розмову (запит)
+Comment[xx]=xxSomeone started a conversation (query) with youxx
+Comment[zh_CN]=有人向您打开了一个对话。
+Comment[zh_TW]=有人開啟了與您的私密對話
+default_presentation=0
+
+[kick]
+Name=Kick
+Name[ar]=ركل
+Name[bg]=Изритване
+Name[ca]=Expulsió
+Name[cs]=Vykopnutí
+Name[cy]=Lluchio
+Name[el]=Απομάκρυνση
+Name[es]=Expulsar
+Name[et]=Väljaviskamine
+Name[fi]=Ulosheitto
+Name[fr]=Bannir
+Name[ga]=Ciceáil amach
+Name[gl]=Expulsón
+Name[he]=בעיטה
+Name[it]=Espulsione
+Name[ja]=追い出し (Kick)
+Name[lt]=Išspirtas
+Name[pa]=ਠੁੱਢਾ
+Name[pt_BR]=Retirar
+Name[sr]=Избачени
+Name[sr@Latn]=Izbačeni
+Name[tr]=Tekmele
+Name[uk]=Виштовхнуто
+Name[xx]=xxKickxx
+Name[zh_CN]=踢出
+Name[zh_TW]=踢出
+Comment=Someone kicked you out of a channel
+Comment[ar]=أحدٌ ما طلب ركلك خارجأً عن القناة
+Comment[bg]=Някой ви изрита от канала
+Comment[ca]=Algú us ha expulsat d'un canal
+Comment[cs]=Někdo vás vykopnul z kanálu
+Comment[da]=Nogen sparkede dig ud af kanalen
+Comment[de]=Jemand hat Sie aus einem Kanal geworfen
+Comment[el]=Κάποιος σας απομάκρυνε από ένα κανάλι
+Comment[es]=Alguien le ha expulsado de un canal
+Comment[et]=Keegi viskas su kanalilt välja
+Comment[fi]=Joku heitti sinut kanavalta ulos
+Comment[fr]=Quelqu'un vous a banni du canal
+Comment[ga]=Chiceáil duine éigin thú amach as cainéal
+Comment[gl]=Foi expulsado do canal por alguén
+Comment[he]=מישהו בעט אותך מערוץ
+Comment[it]=Qualcuno ti ha espulso da un canale
+Comment[ja]=誰かがあなたをチャンネルから追い出しました
+Comment[ka]=ვიღაცამ არხიდან გაგაპანღურათ
+Comment[lt]=Kažkas jus išspyrė iš kanalo
+Comment[nl]=Iemand heeft u van het kanaal gekicked
+Comment[pt]=Alguém o expulsou de um canal
+Comment[pt_BR]=Alguém retirou você de um canal
+Comment[ru]=Кто-то выпнул вас с канала
+Comment[sr]=Неко вас је избацио са канала
+Comment[sr@Latn]=Neko vas je izbacio sa kanala
+Comment[sv]=Någon sparkade ut dig från en kanal
+Comment[ta]=யாரோ உங்களை வழிமுறையில் இருந்து வெளித்தள்ளிவிட்டார்கள்
+Comment[tr]=Birisi sizi odadan tekmeledi
+Comment[uk]=Хтось виштовхнув вас із каналу
+Comment[xx]=xxSomeone kicked you out of a channelxx
+Comment[zh_CN]=有人把您踢出了频道
+Comment[zh_TW]=有人將您踢出頻道
+default_presentation=0
+
+[connectionFailure]
+Name=Connection failure
+Name[ar]=عطل في الإتصال
+Name[bg]=Неуспешно свързване
+Name[br]=Sac'het eo ar gevreadenn
+Name[ca]=Error de connexió
+Name[cs]=Selhání připojení
+Name[da]=Forbindelse mislykket
+Name[de]=Verbindungsfehler
+Name[el]=Αποτυχία σύνδεσης
+Name[es]=Fallo de la conexión
+Name[et]=Ühenduse viga
+Name[fi]=Yhteysvirhe
+Name[ga]=Theip ar nascadh
+Name[gl]=Erro de conexón
+Name[he]=שגיאת התחברות
+Name[it]=Errore di connessione
+Name[ja]=接続失敗
+Name[ka]=კავშირი ვერ შედგა
+Name[lt]=Nepavyko prisijungti
+Name[nl]=Verbindingsfout
+Name[pa]=ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ
+Name[pt]=Erro na ligação
+Name[pt_BR]=Erro na conexão
+Name[sr]=Грешка везе
+Name[sr@Latn]=Greška veze
+Name[sv]=Uppkopplingsfel
+Name[tr]=Bağlantı hatası
+Name[uk]=Помилка з'єднання
+Name[xx]=xxConnection failurexx
+Name[zh_CN]=连接失败
+Name[zh_TW]=連線失敗
+Comment=Failed to connect to server
+Comment[ar]=فشلتُ في الإتصال بِلخادِم
+Comment[bg]=Неуспех при свързване към сървър
+Comment[ca]=No s'ha pogut connectar al servidor
+Comment[cs]=Chyba při připojení k serveru
+Comment[da]=Mislykkedes at forbinde til server
+Comment[de]=Fehler beim Verbinden zum Server
+Comment[el]=Η σύνδεση με τον εξυπηρετητή απέτυχε
+Comment[es]=No ha sido posible conectarse al servidor
+Comment[et]=Ühendumine serveriga ebaõnnestus
+Comment[fi]=Palvelimeen yhdistäminen epäonnistui
+Comment[ga]=Theip ar nascadh le freastalaí
+Comment[gl]=Non foi posíbel conectar co servidor
+Comment[he]=החיבור לשרת נכשל
+Comment[it]=Connessione al server non riuscita
+Comment[ja]=サーバへの接続に失敗しました
+Comment[ka]=სერვერთან დაკავშირება ვერ განხორციელდა
+Comment[lt]=Nepavyko prisijungti prie serverio
+Comment[nl]=Verbinden met de server is mislukt
+Comment[pt]=Não foi possível ligar ao servidor
+Comment[pt_BR]=Falha ao conectar-se ao servidor
+Comment[sr]=Неуспело повезивање са сервером
+Comment[sr@Latn]=Neuspelo povezivanje sa serverom
+Comment[sv]=Misslyckades koppla upp till server
+Comment[tr]=Sunucuya bağlanılamadı
+Comment[uk]=Не вдалося з'єднатись з сервером
+Comment[xx]=xxFailed to connect to serverxx
+Comment[zh_CN]=连接服务器失败
+Comment[zh_TW]=連線到伺服器失敗
+default_presentation=64
+
+[channelJoin]
+Name=You joined a channel
+Name[ar]=إنضممت إلى قناة
+Name[bg]=Вие се присъединихте към канал
+Name[br]=Emellet out bet ur c'hanol
+Name[ca]=Heu entrat a un canal
+Name[cs]=Připojili jste se ke kanálu
+Name[da]=Du gik med i en kanal
+Name[de]=Sie haben einen Kanel betreten
+Name[el]=Συνδεθήκατε σε ένα κανάλι
+Name[es]=Se ha unido a un canal
+Name[et]=Sa ühinesid kanaliga
+Name[fi]=Liityit kanavalle
+Name[ga]=Chuaigh tú le cainéal
+Name[gl]=Uniu-se a un canal
+Name[he]=אתה הצטרפת אל חדר
+Name[it]=Sei entrato in un canale
+Name[ja]=チャンネルに入りました
+Name[ka]=თქვენ შეუერთდით არხს
+Name[lt]=Prisijungėte prie kanalo
+Name[nl]=U nam deel aan een kanaal
+Name[pa]=ਤੁਸੀਂ ਇੱਕ ਚੈਨਲ 'ਚ ਦਾਖਲ ਹੋ ਗਏ
+Name[pt]=Você juntou-se a um canal
+Name[pt_BR]=Você entrou no canal
+Name[sr]=Прикључили сте се каналу
+Name[sr@Latn]=Priključili ste se kanalu
+Name[sv]=Du gick med i en kanal
+Name[tr]=Bir odaya girdiniz
+Name[uk]=Ви приєднались до каналу
+Name[xx]=xxYou joined a channelxx
+Name[zh_CN]=您加入了一个频道
+Name[zh_TW]=您加入了一個頻道
+Comment=You joined a channel
+Comment[ar]=إنضممت إلى قناة
+Comment[bg]=Вие се присъединихте към канал
+Comment[br]=Emellet out bet ur c'hanol
+Comment[ca]=Heu entrat a un canal
+Comment[cs]=Připojili jste se ke kanálu
+Comment[da]=Du gik med i en kanal
+Comment[de]=Sie haben einen Kanal betreten
+Comment[el]=Συνδεθήκατε σε ένα κανάλι
+Comment[es]=Se ha unido a un canal
+Comment[et]=Sa ühinesid kanaliga
+Comment[fi]=Liityit kanavalle
+Comment[ga]=Chuaigh tú le cainéal
+Comment[gl]=Uniu-se a un canal
+Comment[he]=אתה הצטרפת אל חדר
+Comment[it]=Sei entrato in un canale
+Comment[ja]=チャンネルに入りました
+Comment[ka]=თქვენ შეუერთდით არხს
+Comment[lt]=Prisijungėte prie kanalo
+Comment[nl]=U nam deel aan een kanaal
+Comment[pa]=ਤੁਸੀਂ ਇੱਕ ਚੈਨਲ 'ਚ ਦਾਖਲ ਹੋ ਗਏ
+Comment[pt]=Você juntou-se a um canal
+Comment[pt_BR]=Você entrou em um canal
+Comment[sr]=Прикључили сте се каналу
+Comment[sr@Latn]=Priključili ste se kanalu
+Comment[sv]=Du gick med i en kanal
+Comment[tr]=Bir odaya girdiniz
+Comment[uk]=Ви приєднались до каналу
+Comment[xx]=xxYou joined a channelxx
+Comment[zh_CN]=您加入了一个频道
+Comment[zh_TW]=您加入了一個頻道
+default_presentation=64
+
+[dccChat]
+Name=DCC Chat
+Name[ar]=مكالمة DCC
+Name[bg]=DCC разговор
+Name[br]=Flapañ DCC
+Name[ca]=Xat DCC
+Name[cs]=DCC pokec
+Name[cy]=Sgwrs DCC
+Name[da]=Dcc-chat
+Name[de]=DCC-Chat
+Name[el]=Συζήτηση DCC
+Name[es]=Charla DCC
+Name[et]=DCC vestlus
+Name[fi]=DCC-keskustelu
+Name[ga]=Comhrá DCC
+Name[gl]=Conversa DCC
+Name[he]=שיחת DCC
+Name[it]=Chat DCC
+Name[ja]=DCC チャット
+Name[ka]=Dcc საუბარი
+Name[lt]=DCC pokalbis
+Name[ms]=Chat DCC
+Name[nl]=DCC-gesprek
+Name[pa]=DCC ਗੱਲਬਾਤ
+Name[pt]=Conversa DCC
+Name[pt_BR]= Conversa privada (DCC)
+Name[sr]=DCC ћаскање
+Name[sr@Latn]=DCC ćaskanje
+Name[sv]=DCC-chatt
+Name[tr]=DCC Sohbeti
+Name[uk]=Балачка DCC
+Name[xx]=xxDCC Chatxx
+Name[zh_CN]=DCC 聊天
+Name[zh_TW]=DCC 聊天
+Comment=Someone started a DCC chat with you
+Comment[ar]=أحدٌ ما إبتدء مكالمة DCC معك
+Comment[bg]=Някой е започнал разговор с вас в DCC
+Comment[ca]=Algú ha iniciat un xat DCC amb vostè
+Comment[cs]=Někdo si s vámi chce pokecat přes DCC
+Comment[da]=Nogen startede en dcc-chat med dig
+Comment[de]=Jemand hat einen DCC-Chat mit Ihnen begonnen
+Comment[el]=Κάποιος ξεκίνησε μια συζήτηση DCC μαζί σας
+Comment[es]=Alguien empezó una charla de tipo DCC con usted
+Comment[et]=Keegi alustas sinuga DCC vestlust
+Comment[fi]=Joku aloitti DCC-keskustelun kanssasi
+Comment[ga]=Thosaigh duine éigin comhrá DCC leat
+Comment[gl]=Alguén comezou unha conversa DCC contigo
+Comment[he]=מישהו התחיל שיחת DCC אתך
+Comment[it]=Qualcuno ha avviato una conversazione DCC con te
+Comment[ja]=誰かがあなたと DCC チャットを開始しました
+Comment[ka]=ვიღაცამ თქვენთან dcc საუბარი დაიწყო
+Comment[lt]=Kažkas su jumis pradėjo DCC pokalbį
+Comment[nl]=Iemand begon een DCC-gesprek met u
+Comment[pt]=Alguém iniciou uma conversa DCC consigo
+Comment[pt_BR]=Alguém começou uma conversa privada (DCC) com você
+Comment[sr]=Неко је започео DCC ћаскање са вама
+Comment[sr@Latn]=Neko je započeo DCC ćaskanje sa vama
+Comment[sv]=Någon startade en DCC-chatt med dig
+Comment[tr]=Birisi sizinle DCC sohbeti başlattı
+Comment[uk]=Хтось почав з вами DCC-балачку
+Comment[xx]=xxSomeone started a DCC chat with youxx
+Comment[zh_CN]=有人向您打开了一个 DCC 聊天对话
+Comment[zh_TW]=有人開啟了與您的 DCC 聊天
+default_presentation=0
diff --git a/konversation/src/fontappearance_preferences.ui b/konversation/src/fontappearance_preferences.ui
new file mode 100644
index 0000000..a59c3f7
--- /dev/null
+++ b/konversation/src/fontappearance_preferences.ui
@@ -0,0 +1,160 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>FontAppearance_Config</class>
+<comment>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.
+</comment>
+<author>Copyright (C) 2005 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>FontAppearance_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>454</width>
+ <height>213</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_FixedMOTD</cstring>
+ </property>
+ <property name="text">
+ <string>Enable fi&amp;xed font for MOTD messages</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Show MOTD (Message Of The Day) message in fixed font</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_UseBoldNicks</cstring>
+ </property>
+ <property name="text">
+ <string>Show sender nicknames &amp;bold in the chat view</string>
+ </property>
+ </widget>
+ <spacer row="5" column="1">
+ <property name="name">
+ <cstring>spacer89</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>161</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_CustomTextFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Chat text:</string>
+ </property>
+ </widget>
+ <widget class="KFontRequester" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_TextFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="KFontRequester" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_ListFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="KFontRequester" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_TabFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_CustomListFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Nickname list:</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>kcfg_CustomTabFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Tab bar:</string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_CustomTextFont</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TextFont</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_CustomListFont</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_ListFont</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_CustomTabFont</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabFont</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_CustomTextFont</tabstop>
+ <tabstop>kcfg_TextFont</tabstop>
+ <tabstop>kcfg_CustomListFont</tabstop>
+ <tabstop>kcfg_ListFont</tabstop>
+ <tabstop>kcfg_CustomTabFont</tabstop>
+ <tabstop>kcfg_TabFont</tabstop>
+ <tabstop>kcfg_FixedMOTD</tabstop>
+ <tabstop>kcfg_UseBoldNicks</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kfontrequester.h</includehint>
+ <includehint>kfontrequester.h</includehint>
+ <includehint>kfontrequester.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/generalbehavior_preferences.ui b/konversation/src/generalbehavior_preferences.ui
new file mode 100644
index 0000000..2ef5829
--- /dev/null
+++ b/konversation/src/generalbehavior_preferences.ui
@@ -0,0 +1,360 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>GeneralBehavior_Config</class>
+<comment>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.
+</comment>
+<author>Copyright (C) 2005 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>GeneralBehavior_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>448</width>
+ <height>477</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>kcfg_ShowTrayIcon</cstring>
+ </property>
+ <property name="title">
+ <string>Enable System Tray</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_TrayNotify</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Use system tray for new message notification</string>
+ </property>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer51</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_TrayNotifyOnlyOwnNick</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Only &amp;notify when a highlight is triggered or your current nick is used</string>
+ </property>
+ </widget>
+ <spacer row="2" column="0">
+ <property name="name">
+ <cstring>spacer51_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Fixed</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>31</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_TrayNotifyBlink</cstring>
+ </property>
+ <property name="text">
+ <string>Blin&amp;k the icon</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_HideToTrayOnStartup</cstring>
+ </property>
+ <property name="text">
+ <string>Hide window on startup</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>middleLabel</cstring>
+ </property>
+ <property name="title">
+ <string>Nickname Completion</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>modeLbl</cstring>
+ </property>
+ <property name="text">
+ <string>Completion &amp;mode:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NickCompletionMode</cstring>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="3">
+ <item>
+ <property name="text">
+ <string>Cycle NickList</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Shell-Like</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Shell-Like with Completion Box</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>kcfg_NickCompletionMode</cstring>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_NickCompleteSuffixStart</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>startOfLineLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Suffi&amp;x at start of line:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NickCompleteSuffixStart</cstring>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="3">
+ <property name="name">
+ <cstring>kcfg_NickCompleteSuffixMiddle</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="2">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Elsewhere:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NickCompleteSuffixMiddle</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>kcfg_NickCompletionCaseSensitive</cstring>
+ </property>
+ <property name="text">
+ <string>Case sensitive</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>miscGBox</cstring>
+ </property>
+ <property name="title">
+ <string>Miscellaneous</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_DisableNotifyWhileAway</cstring>
+ </property>
+ <property name="text">
+ <string>Disable notifications while &amp;away</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="5" column="0">
+ <property name="name">
+ <cstring>kcfg_CustomVersionReplyEnabled</cstring>
+ </property>
+ <property name="text">
+ <string>Use custom &amp;version reply:</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="5" column="1">
+ <property name="name">
+ <cstring>kcfg_CustomVersionReply</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;Here you can set a custom reply for &lt;b&gt;CTCP &lt;i&gt;VERSION&lt;/i&gt;&lt;/b&gt; requests.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="4" column="1">
+ <property name="name">
+ <cstring>kcfg_CommandChar</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxLength">
+ <number>1</number>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_UseMultiRowInputBox</cstring>
+ </property>
+ <property name="text">
+ <string>Input box expands with text</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_WebBrowserCmd</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>commandCharLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Comman&amp;d char:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_CommandChar</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_UseCustomBrowser</cstring>
+ </property>
+ <property name="text">
+ <string>Use custom web &amp;browser:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer52</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>kcfg_TrayNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TrayNotifyOnlyOwnNick</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseCustomBrowser</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_WebBrowserCmd</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_CustomVersionReplyEnabled</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_CustomVersionReply</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_ShowTrayIcon</tabstop>
+ <tabstop>kcfg_TrayNotify</tabstop>
+ <tabstop>kcfg_TrayNotifyOnlyOwnNick</tabstop>
+ <tabstop>kcfg_NickCompletionMode</tabstop>
+ <tabstop>kcfg_NickCompleteSuffixStart</tabstop>
+ <tabstop>kcfg_NickCompleteSuffixMiddle</tabstop>
+ <tabstop>kcfg_NickCompletionCaseSensitive</tabstop>
+ <tabstop>kcfg_DisableNotifyWhileAway</tabstop>
+ <tabstop>kcfg_UseCustomBrowser</tabstop>
+ <tabstop>kcfg_WebBrowserCmd</tabstop>
+ <tabstop>kcfg_CommandChar</tabstop>
+ <tabstop>kcfg_CustomVersionReplyEnabled</tabstop>
+ <tabstop>kcfg_CustomVersionReply</tabstop>
+ <tabstop>kcfg_UseMultiRowInputBox</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/guess_ja.cpp b/konversation/src/guess_ja.cpp
new file mode 100644
index 0000000..4e35217
--- /dev/null
+++ b/konversation/src/guess_ja.cpp
@@ -0,0 +1,377 @@
+/*
+ * This file is part of the KDE libraries
+ *
+ * Copyright (c) 2000-2003 Shiro Kawai <shirok@users.sourceforge.net>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the authors nor the names of its contributors
+ * may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+/*
+ * original code is here.
+ * http://cvs.sourceforge.net/viewcvs.py/gauche/Gauche/ext/charconv/guess.c?view=markup
+ */
+
+/*
+ * Maybe we should use QTextCodec::heuristicContentMatch()
+ * But it fails detection. It's not useful.
+ */
+#include "guess_ja.h"
+#include "decoder.h"
+
+/* DFA tables */
+const dfa_table guess_eucj_st[] = {
+ { /* state init */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, -1,
+ },
+ { /* state jis0201_kana */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+ { /* state jis0213_1 */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -1,
+ },
+ { /* state jis0213_2 */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, -1,
+ },
+};
+
+guess_arc guess_eucj_ar[7] = {
+ { 0, 1.0 }, /* init -> init */
+ { 1, 0.8 }, /* init -> jis0201_kana */
+ { 3, 0.95 }, /* init -> jis0213_2 */
+ { 2, 1.0 }, /* init -> jis0213_1 */
+ { 0, 1.0 }, /* jis0201_kana -> init */
+ { 0, 1.0 }, /* jis0213_1 -> init */
+ { 0, 1.0 }, /* jis0213_2 -> init */
+};
+
+const dfa_table guess_sjis_st[] = {
+ { /* state init */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ -1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,
+ },
+ { /* state jis0213 */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -1,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -1, -1, -1,
+ },
+};
+
+guess_arc guess_sjis_ar[6] = {
+ { 0, 1.0 }, /* init -> init */
+ { 1, 1.0 }, /* init -> jis0213 */
+ { 0, 0.8 }, /* init -> init */
+ { 1, 0.95 }, /* init -> jis0213 */
+ { 0, 0.8 }, /* init -> init */
+ { 0, 1.0 }, /* jis0213 -> init */
+};
+
+const dfa_table guess_utf8_st[] = {
+ { /* state init */
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, -1, -1,
+ },
+ { /* state 1byte_more */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+ { /* state 2byte_more */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+ { /* state 3byte_more */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+ { /* state 4byte_more */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+ { /* state 5byte_more */
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ },
+};
+
+guess_arc guess_utf8_ar[11] = {
+ { 0, 1.0 }, /* init -> init */
+ { 1, 1.0 }, /* init -> 1byte_more */
+ { 2, 1.0 }, /* init -> 2byte_more */
+ { 3, 1.0 }, /* init -> 3byte_more */
+ { 4, 1.0 }, /* init -> 4byte_more */
+ { 5, 1.0 }, /* init -> 5byte_more */
+ { 0, 1.0 }, /* 1byte_more -> init */
+ { 1, 1.0 }, /* 2byte_more -> 1byte_more */
+ { 2, 1.0 }, /* 3byte_more -> 2byte_more */
+ { 3, 1.0 }, /* 4byte_more -> 3byte_more */
+ { 4, 1.0 }, /* 5byte_more -> 4byte_more */
+};
+
+/* Guessing Routine */
+enum JapaneseCode::Type JapaneseCode::guess_jp(const char *buf, int buflen)
+{
+ int i;
+ guess_dfa *top = NULL;
+
+ for (i=0; i<buflen; i++) {
+ int c = (unsigned char)buf[i];
+
+ /* special treatment of jis escape sequence */
+ if (c == 0x1b || last_JIS_escape) {
+ if (i < buflen-1) {
+ if (last_JIS_escape)
+ c = (unsigned char)buf[i];
+ else
+ c = (unsigned char)buf[++i];
+ last_JIS_escape = false;
+
+ if (c == '$' || c == '(') {
+ return JapaneseCode::JIS;
+ }
+ } else {
+ last_JIS_escape = true;
+ }
+ }
+
+ if (DFA_ALIVE(eucj)) {
+ if (!DFA_ALIVE(sjis) && !DFA_ALIVE(utf8)) return JapaneseCode::EUC;
+ DFA_NEXT(eucj, c);
+ }
+ if (DFA_ALIVE(sjis)) {
+ if (!DFA_ALIVE(eucj) && !DFA_ALIVE(utf8)) return JapaneseCode::SJIS;
+ DFA_NEXT(sjis, c);
+ }
+ if (DFA_ALIVE(utf8)) {
+ if (!DFA_ALIVE(sjis) && !DFA_ALIVE(eucj)) return JapaneseCode::UTF8;
+ DFA_NEXT(utf8, c);
+ }
+
+ if (!DFA_ALIVE(eucj) && !DFA_ALIVE(sjis) && !DFA_ALIVE(utf8)) {
+ /* we ran out the possibilities */
+ return JapaneseCode::ASCII;
+ }
+ }
+
+ /* ascii code check */
+ if (eucj->score == 1.0 && sjis->score == 1.0 && utf8->score == 1.0)
+ return JapaneseCode::ASCII;
+
+ /* Now, we have ambigous code. Pick the highest score. If more than
+ one candidate tie, pick the default encoding. */
+ if (DFA_ALIVE(eucj)) top = eucj;
+ if (DFA_ALIVE(utf8)) {
+ if (top) {
+ if (top->score < utf8->score) top = utf8;
+ } else {
+ top = utf8;
+ }
+ }
+ if (DFA_ALIVE(sjis)) {
+ if (top) {
+ if (top->score <= sjis->score) top = sjis;
+ } else {
+ top = sjis;
+ }
+ }
+
+ if (top == eucj) return JapaneseCode::EUC;
+ if (top == utf8) return JapaneseCode::UTF8;
+ if (top == sjis) return JapaneseCode::SJIS;
+
+ return JapaneseCode::ASCII;
+}
diff --git a/konversation/src/guess_ja.h b/konversation/src/guess_ja.h
new file mode 100644
index 0000000..3b87b55
--- /dev/null
+++ b/konversation/src/guess_ja.h
@@ -0,0 +1,116 @@
+/*
+ * This file is part of the KDE libraries
+ *
+ * Copyright (c) 2000-2003 Shiro Kawai <shirok@users.sourceforge.net>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * 3. Neither the name of the authors nor the names of its contributors
+ * may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+/*
+ * original code is here.
+ * http://cvs.sourceforge.net/viewcvs.py/gauche/Gauche/ext/charconv/guess.c?view=markup
+ */
+#ifndef GUESS_JA_H
+#define GUESS_JA_H
+
+class guess_arc {
+ public:
+ unsigned int next; /* next state */
+ double score; /* score */
+};
+
+
+typedef signed char dfa_table[256];
+
+/* DFA tables declared in guess_ja.cpp */
+extern const dfa_table guess_eucj_st[];
+extern guess_arc guess_eucj_ar[7];
+extern const dfa_table guess_sjis_st[];
+extern guess_arc guess_sjis_ar[6];
+extern const dfa_table guess_utf8_st[];
+extern guess_arc guess_utf8_ar[11];
+
+class guess_dfa {
+ public:
+ const dfa_table *states;
+ const guess_arc *arcs;
+ int state;
+ double score;
+
+ guess_dfa (const dfa_table stable[], const guess_arc *atable) :
+ states(stable), arcs(atable)
+ {
+ state = 0;
+ score = 1.0;
+ }
+};
+
+class JapaneseCode
+{
+ public:
+ enum Type {ASCII, JIS, EUC, SJIS, UNICODE, UTF8 };
+ enum Type guess_jp(const char* buf, int buflen);
+
+ JapaneseCode () {
+ eucj = new guess_dfa(guess_eucj_st, guess_eucj_ar);
+ sjis = new guess_dfa(guess_sjis_st, guess_sjis_ar);
+ utf8 = new guess_dfa(guess_utf8_st, guess_utf8_ar);
+ last_JIS_escape = false;
+ }
+
+ ~JapaneseCode () {
+ if (eucj) delete eucj;
+ if (sjis) delete sjis;
+ if (utf8) delete utf8;
+ }
+
+ protected:
+ guess_dfa *eucj;
+ guess_dfa *sjis;
+ guess_dfa *utf8;
+
+ bool last_JIS_escape;
+};
+
+#define DFA_NEXT(dfa, ch) \
+ do { \
+ int arc__; \
+ if (dfa->state >= 0) { \
+ arc__ = dfa->states[dfa->state][ch]; \
+ if (arc__ < 0) { \
+ dfa->state = -1; \
+ } else { \
+ dfa->state = dfa->arcs[arc__].next; \
+ dfa->score *= dfa->arcs[arc__].score; \
+ } \
+ } \
+ } while (0)
+
+#define DFA_ALIVE(dfa) (dfa->state >= 0)
+
+#endif /* GUESS_JA_H */
diff --git a/konversation/src/highlight.cpp b/konversation/src/highlight.cpp
new file mode 100644
index 0000000..275c441
--- /dev/null
+++ b/konversation/src/highlight.cpp
@@ -0,0 +1,49 @@
+/***************************************************************************
+ begin : Sat Jun 15 2002
+ copyright : (C) 2002 by Matthias Gierlings
+ email : gismore@users.sourceforge.net
+***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#include "highlight.h"
+
+
+unsigned int Highlight::s_id = 0; // static
+
+Highlight::Highlight(const QString& itemPattern,
+bool regExp,
+const QColor& itemColor,
+const KURL& soundURL,
+const QString& autoText)
+{
+ m_itemPattern = itemPattern;
+ m_autoText = autoText;
+ m_itemColor = itemColor;
+ m_soundURL = soundURL;
+ m_regExp = regExp;
+
+ // unique ID for every Highlight
+ m_itemID = s_id++;
+}
+
+int Highlight::getID() { return m_itemID; }
+QString Highlight::getPattern() { return m_itemPattern; }
+QString Highlight::getAutoText() { return m_autoText; }
+QColor Highlight::getColor() { return m_itemColor; }
+KURL Highlight::getSoundURL() { return m_soundURL; }
+
+void Highlight::setPattern(const QString& itemPattern) { m_itemPattern = itemPattern; }
+void Highlight::setAutoText(const QString& autoText) { m_autoText = autoText; }
+void Highlight::setColor(const QColor& itemColor) { m_itemColor = itemColor; }
+void Highlight::setSoundURL(const KURL& url) { m_soundURL = url; }
+
+void Highlight::setRegExp(bool state) { m_regExp=state; }
+bool Highlight::getRegExp() { return m_regExp; }
diff --git a/konversation/src/highlight.h b/konversation/src/highlight.h
new file mode 100644
index 0000000..e843023
--- /dev/null
+++ b/konversation/src/highlight.h
@@ -0,0 +1,63 @@
+/***************************************************************************
+ highlight.cpp - description
+ -------------------
+ begin : Sat Jun 15 2002
+ copyright : (C) 2002 by Matthias Gierlings
+ email : gismore@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef HIGHLIGHT_H
+#define HIGHLIGHT_H
+
+#include <qstring.h>
+#include <qcolor.h>
+
+#include <kurl.h>
+
+/**
+ *@author Matthias Gierlings
+ */
+
+class Highlight
+{
+ public:
+ Highlight(const QString& itemPattern,
+ bool regExp,
+ const QColor& itemColor,
+ const KURL& soundURL,
+ const QString& autoText);
+
+ QString getPattern();
+ QString getAutoText();
+ QColor getColor();
+ int getID();
+ bool getRegExp();
+ KURL getSoundURL();
+
+ void setPattern(const QString& itemPattern);
+ void setColor(const QColor& itemColor);
+ void setSoundURL(const KURL& url);
+ void setAutoText(const QString& autoText);
+ void setRegExp(bool state);
+
+ protected:
+ static unsigned int s_id;
+
+ int m_itemID;
+ bool m_regExp;
+
+ QString m_itemPattern;
+ QString m_autoText;
+ QColor m_itemColor;
+ KURL m_soundURL;
+};
+#endif
diff --git a/konversation/src/highlight_preferences.cpp b/konversation/src/highlight_preferences.cpp
new file mode 100644
index 0000000..be757e6
--- /dev/null
+++ b/konversation/src/highlight_preferences.cpp
@@ -0,0 +1,352 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#include "highlight_preferences.h"
+#include "highlightviewitem.h"
+#include "konversationapplication.h"
+#include "konversationsound.h"
+#include "config/preferences.h"
+
+#include <qdir.h>
+#include <qlabel.h>
+#include <qheader.h>
+#include <qtooltip.h>
+#include <qtoolbutton.h>
+
+#include <kglobal.h>
+#include <kstandarddirs.h>
+#include <kurlrequester.h>
+#include <kfiledialog.h>
+#include <klistview.h>
+#include <klineedit.h>
+#include <kcolorbutton.h>
+#include <klocale.h>
+#include <kparts/componentfactory.h>
+#include <kregexpeditorinterface.h>
+#include <kiconloader.h>
+
+
+Highlight_Config::Highlight_Config(QWidget* parent, const char* name)
+ : Highlight_ConfigUI(parent,name)
+{
+ // reset flag to defined state (used to block signals when just selecting a new item)
+ newItemSelected=false;
+
+ loadSettings();
+
+ // make list accept drag & drop
+ highlightListView->setSorting(-1);
+ highlightListView->header()->setMovingEnabled(false);
+
+ soundPlayBtn->setIconSet(SmallIconSet( "player_play" ));
+ soundURL->setCaption(i18n("Select Sound File"));
+
+ // This code was copied from KNotifyWidget::openSoundDialog() (knotifydialog.cpp) [it's under LGPL v2]
+ // find the first "sound"-resource that contains files
+ QStringList soundDirs = KGlobal::dirs()->findDirs("data", "konversation/sounds");
+ soundDirs += KGlobal::dirs()->resourceDirs( "sound" );
+
+ if ( !soundDirs.isEmpty() ) {
+ KURL url;
+ QDir dir;
+ dir.setFilter( QDir::Files | QDir::Readable );
+ QStringList::ConstIterator it = soundDirs.begin();
+ while ( it != soundDirs.end() ) {
+ dir = *it;
+ if ( dir.isReadable() && dir.count() > 2 ) {
+ url.setPath( *it );
+ soundURL->fileDialog()->setURL( url );
+ break;
+ }
+ ++it;
+ }
+ }
+ // End copy
+
+ connect(highlightListView,SIGNAL (selectionChanged(QListViewItem*)),this,SLOT (highlightSelected(QListViewItem*)) );
+ connect(highlightListView,SIGNAL (clicked(QListViewItem*)),this,SLOT (highlightSelected(QListViewItem*)) );
+ connect(highlightListView,SIGNAL (spacePressed(QListViewItem*)),this,SLOT (highlightSelected(QListViewItem*)) );
+
+ connect(highlightListView,SIGNAL (moved()),this,SIGNAL (modified()) );
+
+ connect(patternInput,SIGNAL (textChanged(const QString&)),this,SLOT (highlightTextChanged(const QString&)) );
+ connect(patternButton,SIGNAL (clicked()),this,SLOT(highlightTextEditButtonClicked()));
+ connect(patternColor,SIGNAL (changed(const QColor&)),this,SLOT (highlightColorChanged(const QColor&)) );
+
+ connect(soundURL, SIGNAL(textChanged(const QString&)), this, SLOT(soundURLChanged(const QString&)));
+ connect(soundPlayBtn, SIGNAL(clicked()), this, SLOT(playSound()));
+
+ connect(autoTextInput,SIGNAL (textChanged(const QString&)),this,SLOT (autoTextChanged(const QString&)) );
+
+ connect(newButton,SIGNAL (clicked()),this,SLOT (addHighlight()) );
+ connect(removeButton,SIGNAL (clicked()),this,SLOT (removeHighlight()) );
+
+ updateButtons();
+}
+
+Highlight_Config::~Highlight_Config()
+{
+}
+
+void Highlight_Config::restorePageToDefaults()
+{
+ if(highlightListView->childCount() != 0) {
+ highlightListView->clear();
+ emit modified();
+ }
+}
+
+void Highlight_Config::loadSettings()
+{
+ QPtrList<Highlight> highlightList=Preferences::highlightList();
+ highlightListView->clear();
+ // fill in the highlight patterns backwards to keep the right sorting order
+ for(unsigned int i=highlightList.count();i!=0;i--)
+ {
+ Highlight* currentHighlight=highlightList.at(i-1);
+ new HighlightViewItem(highlightListView,currentHighlight);
+ }
+
+ highlightListView->setSelected(highlightListView->firstChild(), true);
+
+ // remember current list for hasChanged()
+ m_oldHighlightList=currentHighlightList();
+}
+
+bool Highlight_Config::hasChanged()
+{
+ return(m_oldHighlightList!=currentHighlightList());
+}
+
+// Slots:
+
+void Highlight_Config::highlightSelected(QListViewItem* item)
+{
+ // check if there was a widget selected at all
+ if(item)
+ {
+ // make a highlight item out of the generic qlistviewitem
+ HighlightViewItem* highlightItem=static_cast<HighlightViewItem*>(item);
+
+ // check if the checkbox on the item has changed
+ if(highlightItem->hasChanged())
+ {
+ // tell the prefs system it was changed and acknowledge the change to the listview item
+ emit modified();
+ highlightItem->changeAcknowledged();
+ }
+
+ // tell all now emitted signals that we just clicked on a new item, so they should
+ // not emit the modified() signal.
+ newItemSelected=true;
+ patternColor->setColor(highlightItem->getColor());
+ patternInput->setText(highlightItem->getPattern());
+ soundURL->setURL(highlightItem->getSoundURL().prettyURL());
+ autoTextInput->setText(highlightItem->getAutoText());
+ // all signals will now emit the modified() signal again
+ newItemSelected=false;
+ // remember to enable all edit widgets
+ }
+ updateButtons();
+
+ }
+
+void Highlight_Config::updateButtons()
+{
+ bool enabled = highlightListView->selectedItem() != NULL;
+ // is the kregexpeditor installed?
+ bool installed = !KTrader::self()->query("KRegExpEditor/KRegExpEditor").isEmpty();
+ // enable or disable edit widgets
+ patternLabel->setEnabled(enabled);
+ patternInput->setEnabled(enabled);
+ patternButton->setEnabled(enabled && installed);
+ colorLabel->setEnabled(enabled);
+ patternColor->setEnabled(enabled);
+ soundURL->setEnabled(enabled);
+ soundLabel->setEnabled(enabled);
+ soundPlayBtn->setEnabled(enabled);
+ autoTextLabel->setEnabled(enabled);
+ autoTextInput->setEnabled(enabled);
+
+ if(installed)
+ {
+ QToolTip::add(patternButton, i18n("Click to run Regular Expression Editor (KRegExpEditor)"));
+ }
+ else
+ {
+ QToolTip::add(patternButton, i18n("The Regular Expression Editor (KRegExpEditor) is not installed"));
+ }
+}
+
+void Highlight_Config::highlightTextChanged(const QString& newPattern)
+{
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+
+ if(!newItemSelected && item)
+ {
+ item->setPattern(newPattern);
+ emit modified();
+ }
+}
+
+void Highlight_Config::highlightTextEditButtonClicked()
+{
+ QDialog *editorDialog =
+ KParts::ComponentFactory::createInstanceFromQuery<QDialog>( "KRegExpEditor/KRegExpEditor" );
+ if (editorDialog)
+ {
+ // kdeutils was installed, so the dialog was found. Fetch the editor interface.
+ KRegExpEditorInterface *reEditor =
+ static_cast<KRegExpEditorInterface *>(editorDialog->qt_cast( "KRegExpEditorInterface" ) );
+ Q_ASSERT( reEditor ); // This should not fail!// now use the editor.
+ reEditor->setRegExp(patternInput->text());
+ int dlgResult = editorDialog->exec();
+ if ( dlgResult == QDialog::Accepted )
+ {
+ QString re = reEditor->regExp();
+ patternInput->setText(re);
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+ if(item) item->setPattern(re);
+ }
+ delete editorDialog;
+ }
+}
+
+void Highlight_Config::highlightColorChanged(const QColor& newColor)
+{
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+
+ if(!newItemSelected && item)
+ {
+ item->setColor(newColor);
+ item->repaint();
+ emit modified();
+ }
+}
+
+void Highlight_Config::soundURLChanged(const QString& newURL)
+{
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+
+ if(!newItemSelected && item)
+ {
+ item->setSoundURL(KURL(newURL));
+ emit modified();
+ }
+}
+
+void Highlight_Config::autoTextChanged(const QString& newText)
+{
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+
+ if(!newItemSelected && item)
+ {
+ item->setAutoText(newText);
+ emit modified();
+ }
+}
+
+void Highlight_Config::addHighlight()
+{
+ Highlight* newHighlight=new Highlight(i18n("New"),false,QColor("#ff0000"),KURL(),QString());
+
+ HighlightViewItem* item=new HighlightViewItem(highlightListView,newHighlight);
+ highlightListView->setSelected(item,true);
+ patternInput->setFocus();
+ patternInput->selectAll();
+ emit modified();
+}
+
+void Highlight_Config::removeHighlight()
+{
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->selectedItem());
+
+ if(item)
+ {
+ delete item;
+
+ item=static_cast<HighlightViewItem*>(highlightListView->currentItem());
+
+ if(item)
+ highlightListView->setSelected(item,true);
+
+ emit modified();
+ }
+ updateButtons();
+}
+
+QPtrList<Highlight> Highlight_Config::getHighlightList()
+{
+ QPtrList<Highlight> newList;
+
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->firstChild());
+ while(item)
+ {
+ newList.append(new Highlight(item->getPattern(),item->getRegExp(),item->getColor(),item->getSoundURL(),item->getAutoText()));
+ item=item->itemBelow();
+ }
+
+ return newList;
+}
+
+QStringList Highlight_Config::currentHighlightList()
+{
+ QStringList newList;
+
+ HighlightViewItem* item=static_cast<HighlightViewItem*>(highlightListView->firstChild());
+ while(item)
+ {
+ newList.append(item->getPattern()+item->getRegExp()+item->getColor().name()+item->getSoundURL().url()+item->getAutoText());
+ item=item->itemBelow();
+ }
+
+ return newList;
+}
+
+void Highlight_Config::playSound()
+{
+ KonversationApplication *konvApp=static_cast<KonversationApplication *>(KApplication::kApplication());
+ konvApp->sound()->play(KURL(soundURL->url()));
+}
+
+void Highlight_Config::saveSettings()
+{
+ KConfig* config = kapp->config();
+
+ // Write all highlight entries
+ QPtrList<Highlight> hiList=getHighlightList();
+ int i = 0;
+ for(Highlight* hl = hiList.first(); hl; hl = hiList.next())
+ {
+ config->setGroup(QString("Highlight%1").arg(i));
+ config->writeEntry("Pattern", hl->getPattern());
+ config->writeEntry("RegExp", hl->getRegExp());
+ config->writeEntry("Color", hl->getColor());
+ config->writePathEntry("Sound", hl->getSoundURL().prettyURL());
+ config->writeEntry("AutoText", hl->getAutoText());
+ i++;
+ }
+
+ Preferences::setHighlightList(hiList);
+
+ // Remove unused entries...
+ while(config->hasGroup(QString("Highlight%1").arg(i)))
+ {
+ config->deleteGroup(QString("Highlight%1").arg(i));
+ i++;
+ }
+
+ // remember current list for hasChanged()
+ m_oldHighlightList=currentHighlightList();
+}
+
+#include "highlight_preferences.moc"
diff --git a/konversation/src/highlight_preferences.h b/konversation/src/highlight_preferences.h
new file mode 100644
index 0000000..997a4c1
--- /dev/null
+++ b/konversation/src/highlight_preferences.h
@@ -0,0 +1,63 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef KONVERSATIONHIGHLIGHT_CONFIG_H
+#define KONVERSATIONHIGHLIGHT_CONFIG_H
+
+#include "highlight_preferencesui.h"
+#include "konvisettingspage.h"
+
+#include <qobject.h>
+
+
+class Highlight_Config;
+class Highlight;
+
+class Highlight_Config : public Highlight_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Highlight_Config(QWidget *parent = 0, const char *name = 0);
+ ~Highlight_Config();
+
+ public:
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void highlightSelected(QListViewItem* item);
+ void highlightTextChanged(const QString& newPattern);
+ void highlightTextEditButtonClicked();
+ void highlightColorChanged(const QColor& newColor);
+ void soundURLChanged(const QString& newURL);
+ void autoTextChanged(const QString& newText);
+ void addHighlight();
+ void removeHighlight();
+ void playSound();
+ QPtrList<Highlight> getHighlightList(); // prefs format
+ QStringList currentHighlightList(); // hasChanged() format
+ protected:
+ void updateButtons();
+
+ bool newItemSelected;
+ QStringList m_oldHighlightList;
+};
+
+#endif
+
diff --git a/konversation/src/highlight_preferencesui.ui b/konversation/src/highlight_preferencesui.ui
new file mode 100644
index 0000000..3e617d6
--- /dev/null
+++ b/konversation/src/highlight_preferencesui.ui
@@ -0,0 +1,453 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Highlight_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Highlight_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>614</width>
+ <height>585</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>groupBox1</cstring>
+ </property>
+ <property name="title">
+ <string>Highlight List</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KListView" row="0" column="0" rowspan="1" colspan="4">
+ <column>
+ <property name="text">
+ <string>RegEx</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Highlights</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Sound</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Auto Text</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>highlightListView</cstring>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="4" rowspan="5" colspan="1">
+ <property name="name">
+ <cstring>layout13</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer27</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>250</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="KPushButton" row="1" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>patternButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>...</string>
+ </property>
+ <property name="accel">
+ <string></string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Click to run Regular Expression Editor (KRegExpEditor)</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>patternLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Pattern:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>patternInput</cstring>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>patternInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>colorLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Color:</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="1" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>patternColor</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>soundLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Sound:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>soundURL</cstring>
+ </property>
+ </widget>
+ <widget class="KURLRequester" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>soundURL</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="filter">
+ <string>audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm</string>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="3" column="3">
+ <property name="name">
+ <cstring>soundPlayBtn</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Test sound</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="4" column="0">
+ <property name="name">
+ <cstring>autoTextLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Auto text:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>autoTextInput</cstring>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="4" column="1" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>autoTextInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_HighlightSoundsEnabled</cstring>
+ </property>
+ <property name="text">
+ <string>Ena&amp;ble sound for highlights</string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_HighlightNickColor</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_HighlightOwnLinesColor</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>kcfg_HighlightNick</cstring>
+ </property>
+ <property name="text">
+ <string>Alwa&amp;ys highlight own current nick:</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_HighlightOwnLines</cstring>
+ </property>
+ <property name="text">
+ <string>Always highlight own &amp;lines:</string>
+ </property>
+ </widget>
+ <spacer row="1" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>120</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="2" column="2">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="2">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_HighlightNick</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_HighlightNickColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_HighlightOwnLines</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_HighlightOwnLinesColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>highlightListView</tabstop>
+ <tabstop>patternInput</tabstop>
+ <tabstop>patternButton</tabstop>
+ <tabstop>patternColor</tabstop>
+ <tabstop>soundURL</tabstop>
+ <tabstop>soundPlayBtn</tabstop>
+ <tabstop>autoTextInput</tabstop>
+ <tabstop>kcfg_HighlightSoundsEnabled</tabstop>
+ <tabstop>kcfg_HighlightNick</tabstop>
+ <tabstop>kcfg_HighlightNickColor</tabstop>
+ <tabstop>kcfg_HighlightOwnLines</tabstop>
+ <tabstop>kcfg_HighlightOwnLinesColor</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/highlightviewitem.cpp b/konversation/src/highlightviewitem.cpp
new file mode 100644
index 0000000..49c9789
--- /dev/null
+++ b/konversation/src/highlightviewitem.cpp
@@ -0,0 +1,93 @@
+/***************************************************************************
+ begin : Sat Jun 15 2002
+ copyright : (C) 2002 by Matthias Gierlings
+ email : gismore@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#include "highlightviewitem.h"
+
+#include <kurl.h>
+#include <klistview.h>
+
+
+HighlightViewItem::HighlightViewItem(KListView* parent, Highlight* passed_Highlight)
+: QCheckListItem(parent, QString(), QCheckListItem::CheckBox)
+{
+ setText(1,passed_Highlight->getPattern());
+ itemColor = passed_Highlight->getColor();
+ itemID = passed_Highlight->getID();
+ setSoundURL(passed_Highlight->getSoundURL());
+ setAutoText(passed_Highlight->getAutoText());
+ setOn(passed_Highlight->getRegExp());
+ m_changed=false;
+}
+
+HighlightViewItem::~HighlightViewItem()
+{
+}
+
+void HighlightViewItem::paintCell(QPainter* p, const QColorGroup &cg, int column, int width, int alignment)
+{
+ // copy all colors from cg and only then change needed colors
+ itemColorGroup=cg;
+ itemColorGroup.setColor(QColorGroup::Text, itemColor);
+ QCheckListItem::paintCell(p, itemColorGroup, column, width, alignment);
+}
+
+HighlightViewItem* HighlightViewItem::itemBelow()
+{
+ return (HighlightViewItem*) QCheckListItem::itemBelow();
+}
+
+void HighlightViewItem::setPattern(const QString& newPattern) { setText(1,newPattern); }
+QString HighlightViewItem::getPattern() { return text(1); }
+
+void HighlightViewItem::setSoundURL(const KURL& url)
+{
+ soundURL = url;
+ setText(2, soundURL.prettyURL());
+}
+
+void HighlightViewItem::setAutoText(const QString& newAutoText)
+{
+ autoText = newAutoText;
+ setText(3,newAutoText);
+}
+
+bool HighlightViewItem::getRegExp()
+{
+ return isOn();
+}
+
+QString HighlightViewItem::getAutoText()
+{
+ return autoText;
+}
+
+// override default method to store the change
+void HighlightViewItem::stateChange(bool /* newState */)
+{
+ // remember that the check box has been changed
+ m_changed=true;
+}
+
+// returns true, if the checkbox has been changed
+bool HighlightViewItem::hasChanged()
+{
+ return m_changed;
+}
+
+// tells us that the program has seen us changing
+void HighlightViewItem::changeAcknowledged()
+{
+ m_changed=false;
+}
diff --git a/konversation/src/highlightviewitem.h b/konversation/src/highlightviewitem.h
new file mode 100644
index 0000000..89d4ce0
--- /dev/null
+++ b/konversation/src/highlightviewitem.h
@@ -0,0 +1,72 @@
+/***************************************************************************
+ begin : Sat Jun 15 2002
+ copyright : (C) 2002 by Matthias Gierlings
+ email : gismore@users.sourceforge.net
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef HIGHLIGHTVIEWITEM_H
+#define HIGHLIGHTVIEWITEM_H
+
+#include "highlight.h"
+
+#include <qlistview.h>
+
+
+class KURL;
+class KListView;
+
+class HighlightViewItem : public QCheckListItem
+{
+ public:
+ HighlightViewItem(KListView* parent, Highlight* passed_Highlight);
+ ~HighlightViewItem();
+
+ QString getPattern();
+ QString getAutoText();
+ QColor getColor() { return itemColor; }
+ int getID() { return itemID; }
+ bool getRegExp();
+ KURL getSoundURL() { return soundURL; }
+
+ void setPattern(const QString& newPattern);
+ void setAutoText(const QString& newAutoText);
+ void setColor(QColor passed_itemColor) { itemColor = passed_itemColor; }
+ void setID(int passed_itemID) { itemID = passed_itemID; }
+ void setSoundURL(const KURL& url);
+
+ /** checks if the checkbox has been changed by the user
+ * stored internally by m_changed
+ *
+ * @return true when the checkbox has been changed
+ */
+ bool hasChanged();
+
+ /** reset the change state of the listview item
+ * call this when you have seen the change and acted upon it properly
+ */
+ void changeAcknowledged();
+
+ HighlightViewItem* itemBelow();
+
+ protected:
+ QColor itemColor;
+ QColorGroup itemColorGroup;
+ int itemID;
+ KURL soundURL;
+ QString autoText;
+
+ bool m_changed; // true if the checkbox has been changed
+
+ void stateChange(bool newState); // reimplemented to store changed value
+ void paintCell(QPainter* p, const QColorGroup &cg, int column, int width, int alignment);
+};
+#endif
diff --git a/konversation/src/identity.cpp b/konversation/src/identity.cpp
new file mode 100644
index 0000000..01697dd
--- /dev/null
+++ b/konversation/src/identity.cpp
@@ -0,0 +1,177 @@
+/*
+ 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 class holds the various user identities
+ begin: Son Feb 9 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "identity.h"
+#include "irccharsets.h"
+
+#include <qtextcodec.h>
+
+#include <kdebug.h>
+#include <kglobal.h>
+
+
+int Identity::s_availableId = 0;
+
+Identity::Identity() : KShared()
+{
+ m_id = s_availableId;
+ s_availableId++;
+
+ init();
+}
+
+Identity::Identity(int id) : KShared()
+{
+ if (id < 0)
+ {
+ m_id = s_availableId;
+ s_availableId++;
+ }
+ else
+ {
+ m_id = id;
+ }
+
+ init();
+}
+
+Identity::Identity(const Identity& original) : KShared()
+{
+ copy(original);
+ m_id = original.id();
+}
+
+Identity::~Identity()
+{
+}
+
+void Identity::init()
+{
+ setCodecName(Konversation::IRCCharsets::self()->encodingForLocale());
+
+ setInsertRememberLineOnAway(false);
+
+ setQuitReason("Konversation terminated!");
+ setPartReason("Konversation terminated!");
+ setKickReason("User terminated!");
+
+ setShowAwayMessage(false);
+ setAwayMessage("/me is away: %s");
+ setReturnMessage("/me is back.");
+
+ setAutomaticAway(false);
+ setAwayInactivity(10);
+ setAutomaticUnaway(false);
+}
+
+void Identity::copy(const Identity& original)
+{
+ setName(original.getName());
+ setRealName(original.getRealName());
+ setIdent(original.getIdent());
+ setNicknameList(original.getNicknameList());
+ setBot(original.getBot());
+ setPassword(original.getPassword());
+ setQuitReason(original.getQuitReason());
+ setPartReason(original.getPartReason());
+ setKickReason(original.getKickReason());
+ setInsertRememberLineOnAway(original.getInsertRememberLineOnAway());
+ setShowAwayMessage(original.getShowAwayMessage());
+ setAwayMessage(original.getAwayMessage());
+ setAwayNick(original.getAwayNick());
+ setReturnMessage(original.getReturnMessage());
+ setAutomaticAway(original.getAutomaticAway());
+ setAwayInactivity(original.getAwayInactivity());
+ setAutomaticUnaway(original.getAutomaticUnaway());
+ setShellCommand(original.getShellCommand());
+ setCodecName(original.getCodecName());
+}
+
+void Identity::setName(const QString& newName) { name=newName; }
+QString Identity::getName() const { return name; }
+
+void Identity::setRealName(const QString& name) { realName=name; }
+QString Identity::getRealName() const { return realName; }
+void Identity::setIdent(const QString& newIdent) { ident=newIdent; }
+QString Identity::getIdent() const { return ident; }
+
+void Identity::setNickname(uint index,const QString& newName) { nicknameList[index]=newName; }
+
+QString Identity::getNickname(uint index) const
+{
+ if(index < nicknameList.count())
+ return nicknameList[index];
+ else
+ return QString();
+}
+
+void Identity::setBot(const QString& newBot) { bot=newBot; }
+QString Identity::getBot() const { return bot; }
+
+void Identity::setPassword(const QString& newPassword) { password=newPassword; }
+QString Identity::getPassword() const { return password; }
+
+void Identity::setQuitReason(const QString& reason) { quitReason=reason; }
+QString Identity::getQuitReason() const { return quitReason; }
+void Identity::setPartReason(const QString& reason) { partReason=reason; }
+QString Identity::getPartReason() const { return partReason; }
+void Identity::setKickReason(const QString& reason) { kickReason=reason; }
+QString Identity::getKickReason() const { return kickReason; }
+
+void Identity::setInsertRememberLineOnAway(bool state) { insertRememberLineOnAway = state; }
+bool Identity::getInsertRememberLineOnAway() const { return insertRememberLineOnAway; }
+void Identity::setShowAwayMessage(bool state) { showAwayMessages=state; }
+bool Identity::getShowAwayMessage() const { return showAwayMessages; }
+
+void Identity::setAwayMessage(const QString& message) { awayMessage=message; }
+QString Identity::getAwayMessage() const { return awayMessage; }
+void Identity::setReturnMessage(const QString& message) { returnMessage=message; }
+QString Identity::getReturnMessage() const { return returnMessage; }
+
+void Identity::setAutomaticAway(bool automaticAway) { m_automaticAway = automaticAway; }
+bool Identity::getAutomaticAway() const { return m_automaticAway; }
+void Identity::setAwayInactivity(int awayInactivity) { m_awayInactivity = awayInactivity; }
+int Identity::getAwayInactivity() const { return m_awayInactivity; }
+void Identity::setAutomaticUnaway(bool automaticUnaway) { m_automaticUnaway = automaticUnaway; }
+bool Identity::getAutomaticUnaway() const { return m_automaticUnaway; }
+
+void Identity::setNicknameList(const QStringList& newList)
+{
+ nicknameList.clear();
+ nicknameList = newList;
+}
+
+QStringList Identity::getNicknameList() const { return nicknameList; }
+
+QString Identity::getShellCommand() const { return m_shellCommand;}
+void Identity::setShellCommand(const QString& command) { m_shellCommand=command;}
+
+QTextCodec* Identity::getCodec() const { return m_codec; }
+QString Identity::getCodecName() const { return m_codecName; }
+void Identity::setCodecName(const QString &newCodecName)
+{
+ // NOTE: codecName should be based on KCharsets::availableEncodingNames() / descriptiveEncodingNames()
+ // We can get a QTextCodec from QString based on them, but can't do the reverse of that.
+
+ // never set an empty or borked codec!
+ QString codecName=newCodecName.lower();
+ if(!Konversation::IRCCharsets::self()->isValidEncoding(codecName))
+ codecName=Konversation::IRCCharsets::self()->encodingForLocale();
+
+ m_codecName=codecName;
+ m_codec=Konversation::IRCCharsets::self()->codecForName(codecName);
+}
+
+QString Identity::getAwayNick() const { return awayNick; }
+void Identity::setAwayNick(const QString& n) { awayNick = n; }
diff --git a/konversation/src/identity.h b/konversation/src/identity.h
new file mode 100644
index 0000000..8fdec49
--- /dev/null
+++ b/konversation/src/identity.h
@@ -0,0 +1,133 @@
+/*
+ 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 class holds the various user identities
+ begin: Son Feb 9 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef IDENTITY_H
+#define IDENTITY_H
+
+#include <ksharedptr.h>
+#include <qstringlist.h>
+
+
+class QTextCodec;
+
+class Identity : public KShared
+{
+ public:
+ /// Create an Identity with a new id.
+ Identity();
+ /// Create a new Identity with a set id.
+ explicit Identity(int id);
+ /// Copy all of @param original including the id.
+ Identity(const Identity& original);
+ ~Identity();
+
+ /// This function copies all of @param original but the id
+ void copy(const Identity& original);
+
+ void setName(const QString& name); // the name of this identity
+ QString getName() const;
+
+ void setRealName(const QString& name);
+ QString getRealName() const;
+ void setIdent(const QString& ident);
+ QString getIdent() const;
+
+ void setNickname(uint index,const QString& nick);
+ QString getNickname(uint index) const;
+
+ void setBot(const QString& bot);
+ QString getBot() const;
+ void setPassword(const QString& password);
+ QString getPassword() const;
+
+ void setNicknameList(const QStringList& newList);
+ QStringList getNicknameList() const;
+
+ void setQuitReason(const QString& reason);
+ QString getQuitReason() const;
+ void setPartReason(const QString& reason);
+ QString getPartReason() const;
+ void setKickReason(const QString& reason);
+ QString getKickReason() const;
+
+ void setInsertRememberLineOnAway(bool state);
+ bool getInsertRememberLineOnAway() const;
+ void setShowAwayMessage(bool state);
+ bool getShowAwayMessage() const;
+
+ void setAwayMessage(const QString& message);
+ QString getAwayMessage() const;
+ void setReturnMessage(const QString& message);
+ QString getReturnMessage() const;
+
+ void setAutomaticAway(bool automaticAway);
+ bool getAutomaticAway() const;
+ void setAwayInactivity(int awayInactivity);
+ int getAwayInactivity() const;
+ void setAutomaticUnaway(bool automaticUnaway);
+ bool getAutomaticUnaway() const;
+
+ void setShellCommand(const QString &command);
+ QString getShellCommand() const;
+
+ void setCodecName(const QString &newCodecName);
+ QString getCodecName() const;
+ QTextCodec* getCodec() const;
+
+ QString getAwayNick() const;
+ void setAwayNick(const QString& n);
+
+ int id() const { return m_id; }
+
+ protected:
+ QString name;
+
+ QString bot;
+ QString password;
+
+ QString realName;
+ QString ident;
+
+ QStringList nicknameList;
+
+ QString partReason;
+ QString quitReason;
+ QString kickReason;
+
+ bool insertRememberLineOnAway;
+ bool showAwayMessages;
+ QString awayMessage;
+ QString returnMessage;
+
+ bool m_automaticAway;
+ int m_awayInactivity;
+ bool m_automaticUnaway;
+
+ QString m_codecName;
+ QTextCodec* m_codec;
+
+ QString m_shellCommand;
+
+ QString awayNick;
+
+ private:
+ int m_id;
+ static int s_availableId;
+ void init();
+};
+
+typedef KSharedPtr<Identity> IdentityPtr;
+typedef QValueList<IdentityPtr> IdentityList;
+
+#endif
diff --git a/konversation/src/identitydialog.cpp b/konversation/src/identitydialog.cpp
new file mode 100644
index 0000000..aa054b3
--- /dev/null
+++ b/konversation/src/identitydialog.cpp
@@ -0,0 +1,642 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#include "identitydialog.h"
+#include "konversationapplication.h"
+#include "awaymanager.h"
+#include "irccharsets.h"
+
+#include <qframe.h>
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qvaluelist.h>
+#include <qcheckbox.h>
+#include <qspinbox.h>
+#include <qtoolbutton.h>
+#include <qtabwidget.h>
+#include <qlistbox.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qwhatsthis.h>
+
+#include <kcombobox.h>
+#include <klocale.h>
+#include <klineedit.h>
+#include <kiconloader.h>
+#include <kinputdialog.h>
+#include <kmessagebox.h>
+#include <kuser.h>
+
+
+namespace Konversation
+{
+
+ IdentityDialog::IdentityDialog(QWidget *parent, const char *name)
+ : KDialogBase(Plain, i18n("Identities"), Ok|Cancel, Ok, parent, name)
+ {
+ QFrame* mainWidget = plainPage();
+ QGridLayout* mainLayout = new QGridLayout(mainWidget, 1, 2, 0, spacingHint());
+
+ QLabel* identityLabel = new QLabel(i18n("&Identity:"), mainWidget);
+ m_identityCBox = new KComboBox(mainWidget, "identity_combo");
+ m_identityCBox->setEditable(false);
+ identityLabel->setBuddy(m_identityCBox);
+
+ IdentityList tmpList = Preferences::identityList();
+
+ for(IdentityList::ConstIterator it = tmpList.begin(); it != tmpList.end(); ++it)
+ {
+ m_identityCBox->insertItem((*it)->getName());
+ m_identityList.append(new Identity(*(*it)));
+ }
+
+ QToolButton* newBtn = new QToolButton(mainWidget);
+ newBtn->setIconSet(SmallIconSet("add"));
+ newBtn->setTextLabel(i18n("Add"));
+ connect(newBtn, SIGNAL(clicked()), this, SLOT(newIdentity()));
+
+ QToolButton* copyBtn = new QToolButton(mainWidget);
+ copyBtn->setIconSet(SmallIconSet("editcopy"));
+ copyBtn->setTextLabel(i18n("Duplicate"));
+ connect(copyBtn, SIGNAL(clicked()), this, SLOT(copyIdentity()));
+
+ m_editBtn = new QToolButton(mainWidget);
+ m_editBtn->setIconSet(SmallIconSet("edit"));
+ m_editBtn->setTextLabel(i18n("Rename"));
+ connect(m_editBtn, SIGNAL(clicked()), this, SLOT(renameIdentity()));
+
+ m_delBtn = new QToolButton(mainWidget);
+ m_delBtn->setIconSet(SmallIconSet("editdelete"));
+ m_delBtn->setTextLabel(i18n("Remove"));
+ connect(m_delBtn, SIGNAL(clicked()), this, SLOT(deleteIdentity()));
+
+ QTabWidget* tabWidget = new QTabWidget(mainWidget);
+ QWidget* generalWidget = new QWidget(tabWidget);
+ tabWidget->addTab(generalWidget, i18n("General"));
+ QGridLayout* generalLayout = new QGridLayout(generalWidget, 1, 2, marginHint(), spacingHint());
+
+ QLabel* realNameLabel = new QLabel(i18n("&Real name:"), generalWidget);
+ m_realNameEdit = new KLineEdit(generalWidget);
+ QWhatsThis::add(m_realNameEdit, i18n("Enter your real name here. IRC is not intended to keep you hidden from your friends or enemies. Keep this in mind if you are tempted to behave maliciously. A fake \"real name\" can be a good way to mask your gender from all the nerds out there, but the PC you use can always be traced so you will never be truly anonymous."));
+ realNameLabel->setBuddy(m_realNameEdit);
+
+ QGroupBox* nicknameGBox = new QGroupBox(0, Qt::Horizontal, i18n("Nickname"), generalWidget);
+ nicknameGBox->setMargin(marginHint());
+ QGridLayout* nicknameLayout = new QGridLayout(nicknameGBox->layout(), 1, 2, spacingHint());
+
+ m_nicknameLBox = new QListBox(nicknameGBox);
+ QWhatsThis::add(m_nicknameLBox, i18n("This is your list of nicknames. A nickname is the name that other users will know you by. You may use any name you desire. The first character must be a letter.\n\nSince nicknames must be unique across an entire IRC network, your desired name may be rejected by the server because someone else is already using that nickname. Enter alternate nicknames for yourself. If your first choice is rejected by the server, Konversation will try the alternate nicknames."));
+ m_addNicknameBtn = new QPushButton(i18n("Add..."), nicknameGBox);
+ m_changeNicknameBtn = new QPushButton(i18n("Edit..."), nicknameGBox);
+ m_changeNicknameBtn->setEnabled(false);
+ m_removeNicknameBtn = new QPushButton(i18n("Delete"), nicknameGBox);
+ m_removeNicknameBtn->setEnabled(false);
+ m_upNicknameBtn = new QToolButton(nicknameGBox);
+ m_upNicknameBtn->setIconSet(SmallIconSet("up"));
+ m_upNicknameBtn->setAutoRepeat(true);
+ m_upNicknameBtn->setEnabled(false);
+ m_downNicknameBtn = new QToolButton(nicknameGBox);
+ m_downNicknameBtn->setIconSet(SmallIconSet("down"));
+ m_downNicknameBtn->setAutoRepeat(true);
+ m_downNicknameBtn->setEnabled(false);
+
+ connect(m_addNicknameBtn, SIGNAL(clicked()), this, SLOT(addNickname()));
+ connect(m_changeNicknameBtn, SIGNAL(clicked()), this, SLOT(editNickname()));
+ connect(m_removeNicknameBtn, SIGNAL(clicked()), this, SLOT(deleteNickname()));
+ connect(m_nicknameLBox, SIGNAL(selectionChanged()), this, SLOT(updateButtons()));
+ connect(m_upNicknameBtn, SIGNAL(clicked()), this, SLOT(moveNicknameUp()));
+ connect(m_downNicknameBtn, SIGNAL(clicked()), this, SLOT(moveNicknameDown()));
+
+ nicknameLayout->setColStretch(0, 10);
+ nicknameLayout->setRowStretch(4, 10);
+ nicknameLayout->addMultiCellWidget(m_nicknameLBox, 0, 4, 0, 0);
+ nicknameLayout->addMultiCellWidget(m_addNicknameBtn, 0, 0, 1, 4);
+ nicknameLayout->addMultiCellWidget(m_changeNicknameBtn, 1, 1, 1, 4);
+ nicknameLayout->addMultiCellWidget(m_removeNicknameBtn, 2, 2, 1, 4);
+ nicknameLayout->addWidget(m_upNicknameBtn, 3, 2);
+ nicknameLayout->addWidget(m_downNicknameBtn, 3, 3);
+
+ QGroupBox* autoIdentifyGBox = new QGroupBox(0, Qt::Horizontal, i18n("Auto Identify"), generalWidget);
+ autoIdentifyGBox->setMargin(marginHint());
+ QGridLayout* autoIdentifyLayout = new QGridLayout(autoIdentifyGBox->layout(), 1, 2, spacingHint());
+
+ QLabel* botLabel=new QLabel(i18n("Ser&vice:"), autoIdentifyGBox);
+ QWhatsThis::add(botLabel,i18n("Service name can be <b><i>nickserv</i></b> or a network dependant name like <b><i>nickserv@services.dal.net</i></b>"));
+ m_botEdit = new KLineEdit(autoIdentifyGBox);
+ botLabel->setBuddy(m_botEdit);
+
+ QLabel* passwordLabel = new QLabel(i18n("Pa&ssword:"), autoIdentifyGBox);
+ m_passwordEdit = new KLineEdit(autoIdentifyGBox);
+ m_passwordEdit->setEchoMode(QLineEdit::Password);
+ passwordLabel->setBuddy(m_passwordEdit);
+
+ autoIdentifyLayout->addWidget(botLabel, 0, 0);
+ autoIdentifyLayout->addWidget(m_botEdit, 0, 1);
+ autoIdentifyLayout->addWidget(passwordLabel, 0, 2);
+ autoIdentifyLayout->addWidget(m_passwordEdit, 0, 3);
+
+ int row = 0;
+ generalLayout->addWidget(realNameLabel, row, 0);
+ generalLayout->addWidget(m_realNameEdit, row, 1);
+ row++;
+ generalLayout->addMultiCellWidget(nicknameGBox, row, row, 0, 1);
+ row++;
+ generalLayout->addMultiCellWidget(autoIdentifyGBox, row, row, 0, 1);
+
+ QWidget* awayWidget = new QWidget(tabWidget);
+ tabWidget->addTab(awayWidget, i18n("Tab name", "Away"));
+ QGridLayout* awayLayout = new QGridLayout(awayWidget, 1, 2, marginHint(), spacingHint());
+
+ m_insertRememberLineOnAwayChBox = new QCheckBox(i18n("Mark the last position in chat windows when going away"), awayWidget);
+ QWhatsThis::add(m_insertRememberLineOnAwayChBox, i18n("If you check this box, whenever you perform an <b>/away</b> command, a horizontal line will appear in the channel, marking the point where you went away. Other IRC users do not see this horizontal line."));
+
+ QLabel* awayNickLabel = new QLabel(i18n("Away nickname:"), awayWidget);
+ m_awayNickEdit = new KLineEdit(awayWidget);
+ QWhatsThis::add(m_awayNickEdit, i18n("Enter a nickname that indicates you are away. Whenever you perform an <b>/away msg</b> command in any channel joined with this Identity, Konversation will automatically change your nickname to the Away nickname. Other users will be able to tell you are away from your computer. Whenever you perform an <b>/away</b> command in any channel in which you are away, Konversation will automatically change your nickname back to the original. If you do not wish to automatically change your nickname when going away, leave blank."));
+ awayNickLabel->setBuddy(m_awayNickEdit);
+
+ m_automaticAwayGBox = new QGroupBox(i18n("Automatic Away"), awayWidget);
+ m_automaticAwayGBox->setCheckable(true);
+ m_automaticAwayGBox->setColumnLayout(0, Qt::Horizontal);
+ m_automaticAwayGBox->setMargin(marginHint());
+ QGridLayout* automaticAwayLayout = new QGridLayout(m_automaticAwayGBox->layout(), 1, 2, spacingHint());
+
+ QWhatsThis::add(m_automaticAwayGBox, i18n("If you check this box, Konversation will automatically set all connections using this Identity away when the screensaver starts or after a period of user inactivity configured below."));
+
+ QLabel* autoAwayLabel1 = new QLabel(i18n("Set away after"), m_automaticAwayGBox);
+ m_awayInactivitySpin = new QSpinBox(1, 999, 1, m_automaticAwayGBox);
+ m_awayInactivitySpin->setSuffix(i18n(" minutes"));
+ QLabel* autoAwayLabel2 = new QLabel(i18n("of user inactivity"), m_automaticAwayGBox);
+ autoAwayLabel1->setBuddy(m_awayInactivitySpin);
+ autoAwayLabel2->setBuddy(m_awayInactivitySpin);
+ m_automaticUnawayChBox = new QCheckBox(i18n("Automatically return on activity"), m_automaticAwayGBox);
+ QWhatsThis::add(m_automaticUnawayChBox, i18n("If you check this box, Konversation will automatically cancel away for all connections using this Identity when the screensaver stops or new user activity is detected."));
+
+ connect(m_automaticAwayGBox, SIGNAL(toggled(bool)), autoAwayLabel1, SLOT(setEnabled(bool)));
+ connect(m_automaticAwayGBox, SIGNAL(toggled(bool)), autoAwayLabel2, SLOT(setEnabled(bool)));
+ connect(m_automaticAwayGBox, SIGNAL(toggled(bool)), m_awayInactivitySpin, SLOT(setEnabled(bool)));
+ connect(m_automaticAwayGBox, SIGNAL(toggled(bool)), m_automaticUnawayChBox, SLOT(setEnabled(bool)));
+
+ row = 0;
+ automaticAwayLayout->addWidget(autoAwayLabel1, row, 0);
+ automaticAwayLayout->addWidget(m_awayInactivitySpin, row, 1);
+ automaticAwayLayout->addWidget(autoAwayLabel2, row, 2);
+ QSpacerItem* spacer = new QSpacerItem(0, 0, QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ automaticAwayLayout->addItem(spacer, row, 3);
+ row++;
+ automaticAwayLayout->addMultiCellWidget(m_automaticUnawayChBox, row, row, 0, 3);
+
+ m_awayMessageGBox = new QGroupBox(i18n("Away Messages"), awayWidget);
+ m_awayMessageGBox->setCheckable(true);
+ m_awayMessageGBox->setColumnLayout(0, Qt::Horizontal);
+ m_awayMessageGBox->setMargin(marginHint());
+ QGridLayout* messagesLayout = new QGridLayout(m_awayMessageGBox->layout(), 1, 2, spacingHint());
+
+ QWhatsThis::add(m_awayMessageGBox, i18n("If you check this box, Konversation will automatically send the Away message to all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>. Whenever you perform an <b>/away</b> command, the Return message will be displayed in all channels joined with this Identity."));
+
+ QLabel* awayLabel = new QLabel(i18n("Away &message:"), m_awayMessageGBox);
+ m_awayEdit = new KLineEdit(m_awayMessageGBox);
+ awayLabel->setBuddy(m_awayEdit);
+
+ QLabel* unAwayLabel = new QLabel(i18n("Re&turn message:"), m_awayMessageGBox);
+ m_unAwayEdit = new KLineEdit(m_awayMessageGBox);
+ unAwayLabel->setBuddy(m_unAwayEdit);
+
+ connect(m_awayMessageGBox, SIGNAL(toggled(bool)), awayLabel, SLOT(setEnabled(bool)));
+ connect(m_awayMessageGBox, SIGNAL(toggled(bool)), m_awayEdit, SLOT(setEnabled(bool)));
+ connect(m_awayMessageGBox, SIGNAL(toggled(bool)), unAwayLabel, SLOT(setEnabled(bool)));
+ connect(m_awayMessageGBox, SIGNAL(toggled(bool)), m_unAwayEdit, SLOT(setEnabled(bool)));
+
+ row = 0;
+ messagesLayout->addWidget(awayLabel, row, 0);
+ messagesLayout->addWidget(m_awayEdit, row, 1);
+ row++;
+ messagesLayout->addWidget(unAwayLabel, row, 0);
+ messagesLayout->addWidget(m_unAwayEdit, row, 1);
+
+ row = 0;
+ awayLayout->addMultiCellWidget(m_insertRememberLineOnAwayChBox, row, row, 0, 1);
+ row++;
+ awayLayout->addWidget(awayNickLabel, row, 0);
+ awayLayout->addWidget(m_awayNickEdit, row, 1);
+ row++;
+ awayLayout->addMultiCellWidget(m_automaticAwayGBox, row, row, 0, 1);
+ row++;
+ awayLayout->addMultiCellWidget(m_awayMessageGBox, row, row, 0, 1);
+ row++;
+ awayLayout->setRowStretch(row, 10);
+
+ QWidget* advancedWidget = new QWidget(tabWidget);
+ tabWidget->addTab(advancedWidget, i18n("Advanced"));
+ QGridLayout* advancedLayout = new QGridLayout(advancedWidget, 1, 2, marginHint(), spacingHint());
+
+ QLabel* commandLabel = new QLabel(i18n("&Pre-shell command:"), advancedWidget);
+ m_sCommandEdit = new KLineEdit(advancedWidget);
+ QWhatsThis::add(m_sCommandEdit,i18n("Here you can enter a command to be executed before connection to server starts<br>If you have multiple servers in this identity this command will be executed for each server"));
+ commandLabel->setBuddy(m_sCommandEdit);
+
+ QLabel* loginLabel = new QLabel(i18n("I&dent:"), advancedWidget);
+ m_loginEdit = new KLineEdit(advancedWidget);
+ QWhatsThis::add(m_loginEdit, i18n("When you connect, many servers query your computer for an IDENT response. If you computer is not running an IDENT server, this response is sent by Konversation. No spaces are allowed."));
+ loginLabel->setBuddy(m_loginEdit);
+
+ // encoding combo box
+ QLabel* codecLabel = new QLabel(i18n("&Encoding:"), advancedWidget);
+ m_codecCBox = new KComboBox(advancedWidget,"codec_combo_box");
+ QWhatsThis::add(m_codecCBox, i18n("This setting affects how characters you type are encoded for sending to the server. It also affects how messages are displayed. When you first open Konversation, it automatically retrieves this setting from the operating system. If you seem to be having trouble seeing other user's messages correctly, try changing this setting."));
+ codecLabel->setBuddy(m_codecCBox);
+ // add encodings to combo box
+ m_codecCBox->insertStringList(Konversation::IRCCharsets::self()->availableEncodingDescriptiveNames());
+
+ QLabel* quitLabel = new QLabel(i18n("&Quit reason:"), advancedWidget);
+ m_quitEdit = new KLineEdit(advancedWidget);
+ QWhatsThis::add(m_quitEdit, i18n("Whenever you leave a server, this message is shown to others."));
+ quitLabel->setBuddy(m_quitEdit);
+
+ QLabel* partLabel = new QLabel(i18n("&Part reason:"), advancedWidget);
+ m_partEdit = new KLineEdit(advancedWidget);
+ QWhatsThis::add(m_partEdit, i18n("Whenever you leave a channel, this message is sent to the channel."));
+ partLabel->setBuddy(m_partEdit);
+
+ QLabel* kickLabel = new QLabel(i18n("&Kick reason:"), advancedWidget);
+ m_kickEdit = new KLineEdit(advancedWidget);
+ QWhatsThis::add(m_kickEdit, i18n("Whenever you are kicked from a channel (usually by an IRC operator), this message is sent to the channel."));
+ kickLabel->setBuddy(m_kickEdit);
+
+ row = 0;
+ advancedLayout->addWidget(commandLabel,row,0);
+ advancedLayout->addWidget(m_sCommandEdit, row, 1);
+ row++;
+ advancedLayout->addWidget(codecLabel,row,0);
+ advancedLayout->addWidget(m_codecCBox, row, 1);
+ row++;
+ advancedLayout->addWidget(loginLabel,row,0);
+ advancedLayout->addWidget(m_loginEdit, row, 1);
+ row++;
+ advancedLayout->addWidget(quitLabel, row, 0);
+ advancedLayout->addWidget(m_quitEdit, row, 1);
+ row++;
+ advancedLayout->addWidget(partLabel, row, 0);
+ advancedLayout->addWidget(m_partEdit, row, 1);
+ row++;
+ advancedLayout->addWidget(kickLabel, row, 0);
+ advancedLayout->addWidget(m_kickEdit, row, 1);
+ row++;
+ advancedLayout->setRowStretch(row, 10);
+
+ row = 0;
+ mainLayout->addWidget(identityLabel, row, 0);
+ mainLayout->addMultiCellWidget(m_identityCBox, row, row, 1, 2);
+ mainLayout->addWidget(newBtn, row, 3);
+ mainLayout->addWidget(copyBtn, row, 4);
+ mainLayout->addWidget(m_editBtn, row, 5);
+ mainLayout->addWidget(m_delBtn, row, 6);
+ mainLayout->setColStretch(1, 10);
+ row++;
+ mainLayout->addMultiCellWidget(tabWidget, row, row, 0, 6);
+
+ // set values for the widgets
+ updateIdentity(0);
+
+ // Set up signals / slots for identity page
+ connect(m_identityCBox, SIGNAL(activated(int)), this, SLOT(updateIdentity(int)));
+
+ setButtonOK(KGuiItem(i18n("&OK"), "button_ok", i18n("Change identity information")));
+ setButtonCancel(KGuiItem(i18n("&Cancel"), "button_cancel", i18n("Discards all changes made")));
+
+ AwayManager* awayManager = static_cast<KonversationApplication*>(kapp)->getAwayManager();
+ connect(this, SIGNAL(identitiesChanged()), awayManager, SLOT(identitiesChanged()));
+ }
+
+ IdentityDialog::~IdentityDialog()
+ {
+ }
+
+ void IdentityDialog::updateIdentity(int index)
+ {
+ if(m_currentIdentity && (m_nicknameLBox->count() == 0))
+ {
+ KMessageBox::error(this, i18n("You must add at least one nick to the identity."));
+ m_identityCBox->setCurrentText(m_currentIdentity->getName());
+ return;
+ }
+
+ if (isShown() && m_currentIdentity && m_realNameEdit->text().isEmpty())
+ {
+ KMessageBox::error(this, i18n("Please enter a real name."));
+ m_identityCBox->setCurrentText(m_currentIdentity->getName());
+ return;
+ }
+
+ refreshCurrentIdentity();
+
+ m_currentIdentity = m_identityList[index];
+
+ m_realNameEdit->setText(m_currentIdentity->getRealName());
+ m_nicknameLBox->clear();
+ m_nicknameLBox->insertStringList(m_currentIdentity->getNicknameList());
+ m_botEdit->setText(m_currentIdentity->getBot());
+ m_passwordEdit->setText(m_currentIdentity->getPassword());
+
+ m_insertRememberLineOnAwayChBox->setChecked(m_currentIdentity->getInsertRememberLineOnAway());
+ m_awayNickEdit->setText(m_currentIdentity->getAwayNick());
+ m_awayMessageGBox->setChecked(m_currentIdentity->getShowAwayMessage());
+ m_awayEdit->setText(m_currentIdentity->getAwayMessage());
+ m_unAwayEdit->setText(m_currentIdentity->getReturnMessage());
+ m_automaticAwayGBox->setChecked(m_currentIdentity->getAutomaticAway());
+ m_awayInactivitySpin->setValue(m_currentIdentity->getAwayInactivity());
+ m_automaticUnawayChBox->setChecked(m_currentIdentity->getAutomaticUnaway());
+
+ m_sCommandEdit->setText(m_currentIdentity->getShellCommand());
+ m_codecCBox->setCurrentItem(Konversation::IRCCharsets::self()->shortNameToIndex(m_currentIdentity->getCodecName()));
+ m_loginEdit->setText(m_currentIdentity->getIdent());
+ m_quitEdit->setText(m_currentIdentity->getQuitReason());
+ m_partEdit->setText(m_currentIdentity->getPartReason());
+ m_kickEdit->setText(m_currentIdentity->getKickReason());
+
+ if(index == 0)
+ {
+ m_editBtn->setEnabled(false);
+ m_delBtn->setEnabled(false);
+ }
+ else
+ {
+ m_editBtn->setEnabled(true);
+ m_delBtn->setEnabled(true);
+ }
+ }
+
+ void IdentityDialog::addNickname()
+ {
+ bool ok = false;
+ QString txt = KInputDialog::getText(i18n("Add Nickname"), i18n("Nickname:"), QString(), &ok, this);
+
+ if(ok && !txt.isEmpty())
+ {
+ m_nicknameLBox->insertItem(txt);
+ updateButtons();
+ }
+ }
+
+ void IdentityDialog::editNickname()
+ {
+ bool ok = false;
+ QString txt = KInputDialog::getText(i18n("Edit Nickname"), i18n("Nickname:"), m_nicknameLBox->currentText(), &ok, this);
+
+ if(ok && !txt.isEmpty())
+ {
+ m_nicknameLBox->changeItem(txt, m_nicknameLBox->currentItem());
+ }
+ }
+
+ void IdentityDialog::deleteNickname()
+ {
+ m_nicknameLBox->removeItem(m_nicknameLBox->currentItem());
+ updateButtons();
+ }
+
+ void IdentityDialog::updateButtons()
+ {
+ m_changeNicknameBtn->setEnabled(m_nicknameLBox->selectedItem());
+ m_removeNicknameBtn->setEnabled(m_nicknameLBox->selectedItem());
+
+ m_upNicknameBtn->setEnabled(m_nicknameLBox->selectedItem() && m_nicknameLBox->count()>1
+ && m_nicknameLBox->currentItem()>0);
+
+ m_downNicknameBtn->setEnabled(m_nicknameLBox->selectedItem() && m_nicknameLBox->count()>1
+ && m_nicknameLBox->currentItem()<m_nicknameLBox->numRows()-1 );
+
+ }
+
+ void IdentityDialog::moveNicknameUp()
+ {
+ uint current = m_nicknameLBox->currentItem();
+
+ if(current > 0)
+ {
+ QString txt = m_nicknameLBox->text(current);
+ m_nicknameLBox->removeItem(current);
+ m_nicknameLBox->insertItem(txt, current - 1);
+ m_nicknameLBox->setCurrentItem(current - 1);
+ }
+
+ updateButtons();
+ }
+
+ void IdentityDialog::moveNicknameDown()
+ {
+ uint current = m_nicknameLBox->currentItem();
+
+ if(current < (m_nicknameLBox->count() - 1))
+ {
+ QString txt = m_nicknameLBox->text(current);
+ m_nicknameLBox->removeItem(current);
+ m_nicknameLBox->insertItem(txt, current + 1);
+ m_nicknameLBox->setCurrentItem(current + 1);
+ }
+
+ updateButtons();
+ }
+
+ void IdentityDialog::refreshCurrentIdentity()
+ {
+ if(!m_currentIdentity)
+ {
+ return;
+ }
+
+ m_currentIdentity->setRealName(m_realNameEdit->text());
+ QStringList nicks;
+
+ for(unsigned int i = 0; i < m_nicknameLBox->count(); ++i)
+ {
+ nicks.append(m_nicknameLBox->text(i));
+ }
+
+ m_currentIdentity->setNicknameList(nicks);
+ m_currentIdentity->setBot(m_botEdit->text());
+ m_currentIdentity->setPassword(m_passwordEdit->text());
+
+ m_currentIdentity->setInsertRememberLineOnAway(m_insertRememberLineOnAwayChBox->isChecked());
+ m_currentIdentity->setAwayNick(m_awayNickEdit->text());
+ m_currentIdentity->setShowAwayMessage(m_awayMessageGBox->isChecked());
+ m_currentIdentity->setAwayMessage(m_awayEdit->text());
+ m_currentIdentity->setReturnMessage(m_unAwayEdit->text());
+ m_currentIdentity->setAutomaticAway(m_automaticAwayGBox->isChecked());
+ m_currentIdentity->setAwayInactivity(m_awayInactivitySpin->value());
+ m_currentIdentity->setAutomaticUnaway(m_automaticUnawayChBox->isChecked());
+
+ m_currentIdentity->setShellCommand(m_sCommandEdit->text());
+ m_currentIdentity->setCodecName(Konversation::IRCCharsets::self()->availableEncodingShortNames()[m_codecCBox->currentItem()]);
+ m_currentIdentity->setIdent(m_loginEdit->text());
+ m_currentIdentity->setQuitReason(m_quitEdit->text());
+ m_currentIdentity->setPartReason(m_partEdit->text());
+ m_currentIdentity->setKickReason(m_kickEdit->text());
+ }
+
+ void IdentityDialog::slotOk()
+ {
+ if(m_nicknameLBox->count() == 0)
+ {
+ KMessageBox::error(this, i18n("You must add at least one nick to the identity."));
+ m_identityCBox->setCurrentText(m_currentIdentity->getName());
+ return;
+ }
+
+ if(m_realNameEdit->text().isEmpty())
+ {
+ KMessageBox::error(this, i18n("Please enter a real name."));
+ m_identityCBox->setCurrentText(m_currentIdentity->getName());
+ return;
+ }
+
+ refreshCurrentIdentity();
+ Preferences::setIdentityList(m_identityList);
+ static_cast<KonversationApplication*>(kapp)->saveOptions(true);
+ emit identitiesChanged();
+ accept();
+ }
+
+ void IdentityDialog::newIdentity()
+ {
+ bool ok = false;
+ QString txt = KInputDialog::getText(i18n("Add Identity"), i18n("Identity name:"), QString(), &ok, this);
+
+ if(ok && !txt.isEmpty())
+ {
+ KUser user(KUser::UseRealUserID);
+ IdentityPtr identity = new Identity;
+ identity->setName(txt);
+ identity->setIdent(user.loginName());
+ m_identityList.append(identity);
+ m_identityCBox->insertItem(txt);
+ m_identityCBox->setCurrentItem(m_identityCBox->count() - 1);
+ updateIdentity(m_identityCBox->currentItem());
+ }
+ else if(ok && txt.isEmpty())
+ {
+ KMessageBox::error(this, i18n("You need to give the identity a name."));
+ newIdentity();
+ }
+ updateButtons();
+ }
+
+ void IdentityDialog::renameIdentity()
+ {
+ bool ok = false;
+ QString currentTxt = m_identityCBox->currentText();
+ QString txt = KInputDialog::getText(i18n("Rename Identity"), i18n("Identity name:"), currentTxt, &ok, this);
+
+ if(ok && !txt.isEmpty())
+ {
+ m_currentIdentity->setName(txt);
+ m_identityCBox->changeItem(txt, m_identityCBox->currentItem());
+ }
+ else if(ok && txt.isEmpty())
+ {
+ KMessageBox::error(this, i18n("You need to give the identity a name."));
+ renameIdentity();
+ }
+ }
+
+ void IdentityDialog::deleteIdentity()
+ {
+ int current = m_identityCBox->currentItem();
+
+ if(current <= 0)
+ {
+ return;
+ }
+
+ ServerGroupList serverGroups = Preferences::serverGroupList();
+ ServerGroupList::iterator it = serverGroups.begin();
+ bool found = false;
+
+ while((it != serverGroups.end()) && !found)
+ {
+ if((*it)->identityId() == m_currentIdentity->id())
+ {
+ found = true;
+ }
+
+ ++it;
+ }
+
+ QString warningTxt;
+
+ if(found)
+ {
+ warningTxt = i18n("This identity is in use, if you remove it the network settings using it will"
+ " fall back to the default identity. Should it be deleted anyway?");
+ }
+ else
+ {
+ warningTxt = i18n("Are you sure you want to delete all information for this identity?");
+ }
+
+ if(KMessageBox::warningContinueCancel(this, warningTxt, i18n("Delete Identity"),
+ KGuiItem(i18n("Delete"), "editdelete")) == KMessageBox::Continue)
+ {
+ m_identityCBox->removeItem(current);
+ m_identityList.remove(m_currentIdentity);
+ m_currentIdentity = 0;
+ updateIdentity(m_identityCBox->currentItem());
+ updateButtons();
+ }
+ }
+
+ void IdentityDialog::copyIdentity()
+ {
+ bool ok = false;
+ QString currentTxt = m_identityCBox->currentText();
+ QString txt = KInputDialog::getText(i18n("Duplicate Identity"), i18n("Identity name:"), currentTxt, &ok, this);
+
+ if(ok && !txt.isEmpty())
+ {
+ IdentityPtr identity = new Identity;
+ identity->copy(*m_currentIdentity);
+ identity->setName(txt);
+ m_identityList.append(identity);
+ m_identityCBox->insertItem(txt);
+ m_identityCBox->setCurrentItem(m_identityCBox->count() - 1);
+ updateIdentity(m_identityCBox->currentItem());
+ }
+ else if(ok && txt.isEmpty())
+ {
+ KMessageBox::error(this, i18n("You need to give the identity a name."));
+ renameIdentity();
+ }
+ }
+
+ void IdentityDialog::setCurrentIdentity(int index)
+ {
+ if (index >= m_identityCBox->count())
+ index = 0;
+
+ m_identityCBox->setCurrentItem(index);
+ updateIdentity(index);
+ }
+
+ IdentityPtr IdentityDialog::setCurrentIdentity(IdentityPtr identity)
+ {
+ int index = Preferences::identityList().findIndex(identity);
+ setCurrentIdentity(index);
+
+ return m_currentIdentity;
+ }
+
+ IdentityPtr IdentityDialog::currentIdentity() const
+ {
+ return m_currentIdentity;
+ }
+}
+
+#include "identitydialog.moc"
diff --git a/konversation/src/identitydialog.h b/konversation/src/identitydialog.h
new file mode 100644
index 0000000..e58438f
--- /dev/null
+++ b/konversation/src/identitydialog.h
@@ -0,0 +1,99 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONIDENTITYDIALOG_H
+#define KONVERSATIONIDENTITYDIALOG_H
+
+#include "identity.h"
+
+#include <kdialogbase.h>
+
+
+class KComboBox;
+class KLineEdit;
+class QCheckBox;
+class QSpinBox;
+class QListBox;
+class QGroupBox;
+class QToolButton;
+
+namespace Konversation
+{
+
+ class IdentityDialog : public KDialogBase
+ {
+ Q_OBJECT
+ public:
+ explicit IdentityDialog(QWidget *parent = 0, const char *name = 0);
+ ~IdentityDialog();
+ void setCurrentIdentity(int index);
+ IdentityPtr setCurrentIdentity(IdentityPtr identity);
+ IdentityPtr currentIdentity() const;
+
+
+ signals:
+ void identitiesChanged();
+
+
+ protected slots:
+ void updateIdentity(int index);
+
+ void addNickname();
+ void editNickname();
+ void deleteNickname();
+ void updateButtons();
+ void moveNicknameUp();
+ void moveNicknameDown();
+
+ void refreshCurrentIdentity();
+
+ void slotOk();
+
+ void newIdentity();
+ void renameIdentity();
+ void deleteIdentity();
+ void copyIdentity();
+
+
+ private:
+ KComboBox* m_identityCBox;
+ KLineEdit* m_realNameEdit;
+ KLineEdit* m_sCommandEdit;
+ KLineEdit* m_loginEdit;
+ KComboBox* m_codecCBox;
+ KLineEdit* m_botEdit;
+ KLineEdit* m_passwordEdit;
+ KLineEdit* m_quitEdit;
+ KLineEdit* m_partEdit;
+ KLineEdit* m_kickEdit;
+ KLineEdit* m_awayEdit;
+ KLineEdit* m_unAwayEdit;
+ KLineEdit* m_awayNickEdit;
+ QCheckBox* m_insertRememberLineOnAwayChBox;
+ QListBox* m_nicknameLBox;
+ QGroupBox* m_awayMessageGBox;
+ QGroupBox* m_automaticAwayGBox;
+ QSpinBox* m_awayInactivitySpin;
+ QCheckBox* m_automaticUnawayChBox;
+ QToolButton* m_editBtn;
+ QToolButton* m_delBtn;
+ QToolButton* m_upNicknameBtn;
+ QToolButton* m_downNicknameBtn;
+ QPushButton* m_addNicknameBtn;
+ QPushButton* m_changeNicknameBtn;
+ QPushButton* m_removeNicknameBtn;
+
+ IdentityList m_identityList;
+ IdentityPtr m_currentIdentity;
+ };
+
+}
+#endif
diff --git a/konversation/src/ignore.cpp b/konversation/src/ignore.cpp
new file mode 100644
index 0000000..8ff8304
--- /dev/null
+++ b/konversation/src/ignore.cpp
@@ -0,0 +1,30 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Mon Jun 24 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "ignore.h"
+
+
+Ignore::Ignore(const QString &newName,int newFlags)
+{
+ setFlags(newFlags);
+ setName(newName);
+}
+
+Ignore::~Ignore()
+{
+}
+
+void Ignore::setName(const QString &newName) { name=newName; }
+void Ignore::setFlags(int newFlags) { flags=newFlags; }
+QString Ignore::getName() { return name; }
+int Ignore::getFlags() { return flags; }
diff --git a/konversation/src/ignore.h b/konversation/src/ignore.h
new file mode 100644
index 0000000..ec64c9c
--- /dev/null
+++ b/konversation/src/ignore.h
@@ -0,0 +1,46 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Mon Jun 24 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef IGNORE_H
+#define IGNORE_H
+
+#include <qstring.h>
+
+
+class Ignore
+{
+ public:
+ enum Type
+ {
+ Channel=1,
+ Query=2,
+ Notice=4,
+ CTCP=8,
+ DCC=16,
+ Exception=32,
+ All=31
+ };
+
+ Ignore(const QString &name,int flags);
+ ~Ignore();
+
+ void setName(const QString &newName);
+ void setFlags(int newFlags);
+ QString getName();
+ int getFlags();
+
+ protected:
+ QString name;
+ int flags;
+};
+#endif
diff --git a/konversation/src/ignore_preferences.cpp b/konversation/src/ignore_preferences.cpp
new file mode 100644
index 0000000..825cfb7
--- /dev/null
+++ b/konversation/src/ignore_preferences.cpp
@@ -0,0 +1,219 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#include "ignore_preferences.h"
+#include "ignorelistviewitem.h"
+#include "ignore.h"
+#include "preferences.h"
+
+#include <klocale.h>
+#include <klistview.h>
+#include <qlistview.h>
+#include <qlineedit.h>
+#include <qheader.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kdebug.h>
+#include <kpushbutton.h>
+#include <qcheckbox.h>
+
+
+Ignore_Config::Ignore_Config( QWidget* parent, const char* name, WFlags fl )
+ : Ignore_ConfigUI( parent, name, fl )
+{
+ connect(newButton,SIGNAL(clicked()),
+ this,SLOT(newIgnore()));
+ connect(removeButton,SIGNAL(clicked()),
+ this,SLOT(removeIgnore()));
+ connect(removeAllButton,SIGNAL(clicked()),
+ this,SLOT(removeAllIgnore()));
+ connect(ignoreListView,SIGNAL(selectionChanged(QListViewItem*)),
+ this,SLOT(select(QListViewItem*)));
+ connect(chkChannel, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ connect(chkQuery, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ connect(chkNotice, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ connect(chkCTCP, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ connect(chkDCC, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ connect(txtPattern, SIGNAL(textChanged(const QString &)), this, SLOT(flagCheckboxChanged()));
+// connect(chkException, SIGNAL(clicked()), this, SLOT(flagCheckboxChanged()));
+ loadSettings();
+
+ ignoreListView->header()->setMovingEnabled(false);
+}
+
+Ignore_Config::~Ignore_Config()
+{
+
+}
+
+void Ignore_Config::newIgnore()
+{
+ ignoreListView->setSelected(new IgnoreListViewItem(ignoreListView,
+ "new!new@new.new",
+ Ignore::Channel |
+ Ignore::Query |
+ Ignore::Notice |
+ Ignore::CTCP |
+ Ignore::DCC), true);
+ txtPattern->setFocus();
+ txtPattern->selectAll();
+
+ updateEnabledness();
+ emit modified();
+}
+void Ignore_Config::removeAllIgnore()
+{
+ ignoreListView->clear();
+ updateEnabledness();
+ emit modified();
+}
+void Ignore_Config::removeIgnore()
+{
+ delete ignoreListView->selectedItem();
+ updateEnabledness();
+ emit modified();
+}
+
+QPtrList<Ignore> Ignore_Config::getIgnoreList()
+{
+ QPtrList<Ignore> newList;
+
+ IgnoreListViewItem* item=static_cast<IgnoreListViewItem*>(ignoreListView->firstChild());
+ while(item)
+ {
+ Ignore* newItem=new Ignore(item->text(0),item->getFlags());
+ newList.append(newItem);
+ item=item->itemBelow();
+ }
+
+ return newList;
+}
+
+// returns the currently visible ignore list as QStringList to make comparing easy
+QStringList Ignore_Config::currentIgnoreList()
+{
+ QStringList newList;
+
+ IgnoreListViewItem* item=static_cast<IgnoreListViewItem*>(ignoreListView->firstChild());
+ while(item)
+ {
+ newList.append(item->text(0)+' '+item->getFlags());
+ item=item->itemBelow();
+ }
+
+ return newList;
+}
+
+// checks if the currently visible ignore list differs from the currently saved one
+bool Ignore_Config::hasChanged()
+{
+ return(m_oldIgnoreList!=currentIgnoreList());
+}
+
+void Ignore_Config::restorePageToDefaults()
+{
+ if(ignoreListView->childCount() != 0) {
+ ignoreListView->clear();
+ updateEnabledness();
+ emit modified();
+ }
+}
+void Ignore_Config::saveSettings()
+{
+ Preferences::setIgnoreList(getIgnoreList());
+ // remember the list for hasChanged()
+ m_oldIgnoreList=currentIgnoreList();
+}
+
+void Ignore_Config::loadSettings()
+{
+ QPtrList<Ignore> ignoreList=Preferences::ignoreList();
+ // Insert Ignore items backwards to get them sorted properly
+ Ignore* item=ignoreList.last();
+ ignoreListView->clear();
+ while(item)
+ {
+ new IgnoreListViewItem(ignoreListView,item->getName(),item->getFlags());
+ item=ignoreList.prev();
+ }
+ // remember the list for hasChanged()
+ m_oldIgnoreList=currentIgnoreList();
+ updateEnabledness();
+}
+
+void Ignore_Config::updateEnabledness()
+{
+ IgnoreListViewItem* selectedItem=static_cast<IgnoreListViewItem*>(ignoreListView->selectedItem());
+
+ chkChannel->setEnabled(selectedItem != NULL);
+ chkQuery->setEnabled(selectedItem != NULL);
+ chkNotice->setEnabled(selectedItem != NULL);
+ chkCTCP->setEnabled(selectedItem != NULL);
+ chkDCC->setEnabled(selectedItem != NULL);
+// chkExceptions->setEnabled(selectedItem != NULL);
+ txtPattern->setEnabled(selectedItem != NULL);
+ removeButton->setEnabled(selectedItem != NULL);
+ removeAllButton->setEnabled(ignoreListView->childCount() > 0);
+
+}
+
+void Ignore_Config::select(QListViewItem* item)
+{
+ updateEnabledness();
+ // FIXME: Cast to IgnoreListViewItem, maybe derive from KListView some day
+ IgnoreListViewItem* selectedItem=static_cast<IgnoreListViewItem*>(item);
+
+ if(selectedItem)
+ {
+ int flags = selectedItem->getFlags();
+ chkChannel->setChecked(flags & Ignore::Channel);
+ chkQuery->setChecked(flags & Ignore::Query);
+ chkNotice->setChecked(flags & Ignore::Notice);
+ chkCTCP->setChecked(flags & Ignore::CTCP);
+ chkDCC->setChecked(flags & Ignore::DCC);
+ txtPattern->blockSignals(true);
+ txtPattern->setText(selectedItem->getName());
+ txtPattern->blockSignals(false);
+
+// chkExceptions->setChecked(flags & Ignore::Exception) ;
+ }
+}
+
+void Ignore_Config::flagCheckboxChanged()
+{
+ int flags = 0;
+ if(chkChannel->isChecked()) flags |= Ignore::Channel;
+ if(chkQuery->isChecked()) flags |= Ignore::Query;
+ if(chkNotice->isChecked()) flags |= Ignore::Notice;
+ if(chkCTCP->isChecked()) flags |= Ignore::CTCP;
+ if(chkDCC->isChecked()) flags |= Ignore::DCC;
+
+// if(chkExceptions->isChecked()) flags |= Ignore::Exceptions;
+ IgnoreListViewItem* selectedItem=static_cast<IgnoreListViewItem*>(ignoreListView->selectedItem());
+ if(selectedItem) {
+ selectedItem->setFlags(flags);
+ selectedItem->setName(txtPattern->text());
+ }
+ emit modified();
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void Ignore_Config::languageChange()
+{
+ loadSettings();
+}
+
+#include "ignore_preferences.moc"
diff --git a/konversation/src/ignore_preferences.h b/konversation/src/ignore_preferences.h
new file mode 100644
index 0000000..2b90bce
--- /dev/null
+++ b/konversation/src/ignore_preferences.h
@@ -0,0 +1,58 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef IGNORE_CONFIG_H
+#define IGNORE_CONFIG_H
+
+#include "ignore_preferencesui.h"
+#include "konvisettingspage.h"
+
+#include <qptrlist.h>
+
+
+class Ignore;
+class Ignore_Config : public Ignore_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Ignore_Config( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~Ignore_Config();
+ QString flagNames;
+
+ virtual void restorePageToDefaults();
+ virtual void saveSettings();
+ virtual void loadSettings();
+
+ virtual bool hasChanged();
+
+ private:
+ QStringList m_oldIgnoreList;
+
+ QStringList currentIgnoreList(); // in hasChanged() format
+ QPtrList<Ignore> getIgnoreList(); // in prefs format
+ void updateEnabledness();
+
+ public slots:
+ virtual void languageChange();
+
+ protected slots:
+ void newIgnore();
+ void removeIgnore();
+ void flagCheckboxChanged();
+ void select(QListViewItem* item);
+ void removeAllIgnore();
+ signals:
+ void modified();
+};
+
+#endif // IGNORE_CONFIG_H
diff --git a/konversation/src/ignore_preferencesui.ui b/konversation/src/ignore_preferencesui.ui
new file mode 100644
index 0000000..bc33198
--- /dev/null
+++ b/konversation/src/ignore_preferencesui.ui
@@ -0,0 +1,219 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Ignore_ConfigUI</class>
+<comment>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.
+</comment>
+<author>Copyright (C) 2005 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Ignore_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>374</width>
+ <height>310</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="baseSize">
+ <size>
+ <width>300</width>
+ <height>200</height>
+ </size>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="KListView" row="0" column="0" rowspan="1" colspan="2">
+ <column>
+ <property name="text">
+ <string>Pattern</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Type</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>ignoreListView</cstring>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Pattern:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>txtPattern</cstring>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>grpMessageTypes</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string>Message Types</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="1">
+ <property name="name">
+ <cstring>chkCTCP</cstring>
+ </property>
+ <property name="text">
+ <string>CTCP</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>chkChannel</cstring>
+ </property>
+ <property name="text">
+ <string>Channel</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="1">
+ <property name="name">
+ <cstring>chkDCC</cstring>
+ </property>
+ <property name="text">
+ <string>DCC</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>chkNotice</cstring>
+ </property>
+ <property name="text">
+ <string>Notice</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>chkQuery</cstring>
+ </property>
+ <property name="text">
+ <string>Query</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="2" rowspan="3" colspan="1">
+ <property name="name">
+ <cstring>layout20</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;New</string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>removeAllButton</cstring>
+ </property>
+ <property name="text">
+ <string>Remove &amp;All</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer9</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </grid>
+</widget>
+<tabstops>
+ <tabstop>ignoreListView</tabstop>
+ <tabstop>txtPattern</tabstop>
+ <tabstop>chkChannel</tabstop>
+ <tabstop>chkQuery</tabstop>
+ <tabstop>chkNotice</tabstop>
+ <tabstop>chkCTCP</tabstop>
+ <tabstop>chkDCC</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+ <tabstop>removeAllButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/ignorelistviewitem.cpp b/konversation/src/ignorelistviewitem.cpp
new file mode 100644
index 0000000..c7ba20a
--- /dev/null
+++ b/konversation/src/ignorelistviewitem.cpp
@@ -0,0 +1,55 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Die Jun 25 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "ignorelistviewitem.h"
+#include "ignore.h"
+
+#include <klocale.h>
+#include <kdebug.h>
+
+
+IgnoreListViewItem::IgnoreListViewItem(QListView* parent,const QString& name,int newFlags):
+KListViewItem(parent,name)
+{
+ setFlags(newFlags);
+}
+
+IgnoreListViewItem::~IgnoreListViewItem()
+{
+}
+
+void IgnoreListViewItem::setFlag(int flag,bool active)
+{
+ if(active) m_flags|=flag;
+ else m_flags &= ~flag; //any bits that are set in flag will cause those bits in flags to be set to 0
+ setFlags(m_flags);
+}
+
+void IgnoreListViewItem::setFlags(int newFlags)
+{
+ m_flags=newFlags;
+
+ QString flagsStr;
+ if(m_flags & Ignore::Channel) flagsStr += i18n("Channel") + ' ';
+ if(m_flags & Ignore::Query) flagsStr += i18n("Query") + ' ';
+ if(m_flags & Ignore::Notice) flagsStr += i18n("Notice") + ' ';
+ if(m_flags & Ignore::CTCP) flagsStr += i18n("CTCP") + ' ';
+ if(m_flags & Ignore::DCC) flagsStr += i18n("DCC") + ' ';
+ if(m_flags & Ignore::Exception) flagsStr += i18n("Exception") + ' ';
+ setText(1,flagsStr);
+}
+
+IgnoreListViewItem* IgnoreListViewItem::itemBelow()
+{
+ return (IgnoreListViewItem*) QListViewItem::itemBelow();
+}
diff --git a/konversation/src/ignorelistviewitem.h b/konversation/src/ignorelistviewitem.h
new file mode 100644
index 0000000..c99242a
--- /dev/null
+++ b/konversation/src/ignorelistviewitem.h
@@ -0,0 +1,39 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Die Jun 25 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef IGNORELISTVIEWITEM_H
+#define IGNORELISTVIEWITEM_H
+
+#include <qstring.h>
+
+#include <klistview.h>
+
+
+class IgnoreListViewItem : public KListViewItem
+{
+ public:
+ IgnoreListViewItem(QListView* parent,const QString& name,int flags);
+ ~IgnoreListViewItem();
+
+ void setFlag(int flag,bool active);
+ bool getFlag(int flag) { return m_flags & flag; };
+ QString getName() { return text(0); };
+ void setName(QString name) { setText(0, name); };
+ int getFlags() { return m_flags; };
+ IgnoreListViewItem* itemBelow();
+
+ void setFlags(int flags);
+ protected:
+ int m_flags;
+};
+#endif
diff --git a/konversation/src/images.cpp b/konversation/src/images.cpp
new file mode 100644
index 0000000..d97f9c7
--- /dev/null
+++ b/konversation/src/images.cpp
@@ -0,0 +1,319 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2006 Eike Hein <hein@kde.org>
+*/
+
+#include "images.h"
+#include "common.h"
+#include "konversationapplication.h"
+
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <qstringlist.h>
+
+#include <kdebug.h>
+#include <kiconloader.h>
+#include <kstandarddirs.h>
+
+
+using namespace Konversation;
+
+Images::Images()
+{
+ initializeLeds();
+ initializeNickIcons();
+ initializeKimifaceIcons();
+
+ m_closeIcon = KGlobal::iconLoader()->loadIcon("fileclose",KIcon::Small);
+ m_disabledCloseIcon = KGlobal::iconLoader()->loadIconSet("fileclose",KIcon::Small).pixmap(QIconSet::Small, false);
+}
+
+Images::~Images()
+{
+}
+
+QIconSet Images::getKimproxyAway() const { return kimproxyAway; }
+QIconSet Images::getKimproxyOnline() const { return kimproxyOnline; }
+QIconSet Images::getKimproxyOffline() const { return kimproxyOffline; }
+
+QPixmap Images::getNickIcon(NickPrivilege privilege,bool isAway) const
+{
+ return nickIcons[privilege][isAway?1:0];
+}
+
+void Images::initializeLeds()
+{
+ m_serverColor = "steelblue";
+ m_systemColor = Preferences::tabNotificationsSystemColor();
+ m_msgsColor = Preferences::tabNotificationsMsgsColor();
+ m_privateColor = Preferences::tabNotificationsPrivateColor();
+ m_eventsColor = Preferences::tabNotificationsEventsColor();
+ m_nickColor = Preferences::tabNotificationsNickColor();
+ m_highlightsColor = Preferences::tabNotificationsHighlightsColor();
+
+ // m_serverLedOn = getLed(m_serverColor,true);
+ m_serverLedOff = getLed(m_serverColor,false);
+ m_systemLedOn = getLed(m_systemColor,true);
+ m_systemLedOff = getLed(m_systemColor,false);
+ m_msgsLedOn = getLed(m_msgsColor,true);
+ m_msgsLedOff = getLed(m_msgsColor,false);
+ m_privateLedOn = getLed(m_privateColor,true);
+ m_privateLedOff = getLed(m_privateColor,false);
+ m_eventsLedOn = getLed(m_eventsColor,true);
+ m_nickLedOn = getLed(m_nickColor,true);
+ m_highlightsLedOn = getLed(m_highlightsColor,true);
+}
+
+void Images::initializeKimifaceIcons()
+{
+ kimproxyAway = KGlobal::iconLoader()->loadIconSet("kimproxyaway",KIcon::Small);
+ kimproxyOnline = KGlobal::iconLoader()->loadIconSet("kimproxyonline",KIcon::Small);
+ kimproxyOffline = KGlobal::iconLoader()->loadIconSet("kimproxyoffline",KIcon::Small);
+}
+
+// NickIcons
+
+void Images::initializeNickIcons()
+{
+
+ QString iconTheme = Preferences::iconTheme();
+ QStringList icons = KGlobal::dirs()->findAllResources("data","konversation/themes/"+iconTheme+"/*.png");
+
+ if( icons.count() < 7 ) // Sanity
+ icons = KGlobal::dirs()->findAllResources("data","konversation/themes/default/*.png");
+
+ icons.sort();
+ QStringList::ConstIterator it = icons.begin();
+
+ /* The list is sorted alphabetically. */
+
+ QPixmap elementAdmin(*it);
+ ++it;
+ QPixmap elementAway(*it);
+ ++it;
+ QPixmap elementHalfOp(*it);
+ ++it;
+ QPixmap elementNormal(*it);
+ ++it;
+ QPixmap elementOp(*it);
+ ++it;
+ QPixmap elementOwner(*it);
+ ++it;
+ QPixmap elementVoice(*it);
+
+ nickIcons[Normal][0] = elementNormal;
+ nickIcons[Normal][1] = overlayPixmaps( nickIcons[Normal][0], elementAway );
+
+ nickIcons[Voice][0] = overlayPixmaps( elementNormal, elementVoice );
+ nickIcons[Voice][1] = overlayPixmaps( nickIcons[Voice][0], elementAway );
+
+ nickIcons[HalfOp][0] = overlayPixmaps( elementNormal, elementHalfOp );
+ nickIcons[HalfOp][1] = overlayPixmaps( nickIcons[HalfOp][0], elementAway );
+
+ nickIcons[Op][0] = overlayPixmaps( elementNormal, elementOp );
+ nickIcons[Op][1] = overlayPixmaps( nickIcons[Op][0], elementAway );
+
+ nickIcons[Owner][0] = overlayPixmaps( elementNormal, elementOwner );
+ nickIcons[Owner][1] = overlayPixmaps( nickIcons[Owner][0], elementAway );
+
+ nickIcons[Admin][0] = overlayPixmaps( elementNormal, elementAdmin );
+ nickIcons[Admin][1] = overlayPixmaps( nickIcons[Admin][0], elementAway );
+
+ /*
+ // why doesn't it work?
+ nickIcons[Op][0] = elementNormal;
+ bitBlt( &nickIcons[Op][0], 0, 0, &elementOp, 0, 0, -1, -1, Qt::CopyROP );
+ nickIcons[Op][1] = nickIcons[Op][0];
+ bitBlt( &nickIcons[Op][1], 0, 0, &elementAway, 0, 0, -1, -1, Qt::CopyROP );
+ */
+}
+
+void Images::updateIcons()
+{
+ m_closeIcon = KGlobal::iconLoader()->loadIcon("fileclose",KIcon::Small);
+ m_disabledCloseIcon = KGlobal::iconLoader()->loadIconSet("fileclose",KIcon::Small).pixmap(QIconSet::Small, false);
+}
+
+QIconSet Images::getLed(QColor col,bool state)
+{
+ QColor color;
+ QPainter paint;
+ QBrush brush;
+ QPen pen;
+
+ if (state==false)
+ color = col.dark(180);
+ else
+ color = col;
+
+ int scale = 3;
+ int width = 12 * scale;
+
+ QPixmap *tmpMap = 0;
+
+ tmpMap = new QPixmap(width + 6, width + 6);
+ QWidget tmpWidget;
+ tmpMap->fill(tmpWidget.paletteBackgroundColor());
+ paint.begin(tmpMap);
+
+ // Set the brush to SolidPattern, this fills the entire area
+ // of the ellipse which is drawn first
+ brush.setStyle( QBrush::SolidPattern );
+ brush.setColor( color );
+ paint.setBrush( brush );
+
+ // Draw a "flat" LED with the given color
+ paint.drawEllipse( scale, scale, width - scale*2, width - scale*2 );
+
+ // Setting the new width of the pen is essential to avoid "pixelized"
+ // shadow like it can be observed with the old LED code
+ pen.setWidth( 2 * scale );
+
+ // shrink the light on the LED to a size about 2/3 of the complete LED
+ int pos = width/5 + 1;
+ int light_width = width;
+ light_width *= 2;
+ light_width /= 3;
+
+ // Calculate the LEDs "light factor"
+ int light_quote = (130*2/(light_width?light_width:1))+100;
+
+ // Draw the bright spot on the LED
+ while (light_width)
+ {
+ color = color.light( light_quote ); // make color lighter
+ pen.setColor( color ); // set color as pen color
+ paint.setPen( pen ); // select the pen for drawing
+ paint.drawEllipse( pos, pos, light_width, light_width ); // draw the ellipse (circle)
+ light_width--;
+ if (!light_width)
+ break;
+ paint.drawEllipse( pos, pos, light_width, light_width );
+ light_width--;
+ if (!light_width)
+ break;
+ paint.drawEllipse( pos, pos, light_width, light_width );
+ pos++; light_width--;
+ }
+
+ // Draw border
+ pen.setWidth( scale + 1 );
+ color = QColor("#7D7D7D");
+ pen.setColor( color ); // Set the pen accordingly
+ paint.setPen( pen ); // Select pen for drawing
+ brush.setStyle( QBrush::NoBrush ); // Switch off the brush
+ paint.setBrush( brush ); // This avoids filling of the ellipse
+ paint.drawEllipse( 2, 2, width, width );
+ paint.end();
+
+ tmpMap->setMask(tmpMap->createHeuristicMask(true));
+
+ // painting done
+ QImage i = tmpMap->convertToImage();
+ delete tmpMap;
+
+ i.setAlphaBuffer(true);
+ width /= 3;
+ i = i.smoothScale(width, width);
+
+ QPixmap dest = i;
+
+ QIconSet result;
+ result.setPixmap(dest,QIconSet::Automatic);
+ return dest;
+}
+
+QIconSet Images::getServerLed(bool state)
+{
+ if (state)
+ return m_serverLedOn;
+ else
+ return m_serverLedOff;
+}
+
+QIconSet Images::getSystemLed(bool state)
+{
+ if (Preferences::tabNotificationsSystemColor()!=m_systemColor)
+ {
+ if (state)
+ return getLed(Preferences::tabNotificationsSystemColor(),true);
+ else
+ return getLed(Preferences::tabNotificationsSystemColor(),false);
+ }
+ else
+ {
+ if (state)
+ return m_systemLedOn;
+ else
+ return m_systemLedOff;
+ }
+}
+
+QIconSet Images::getMsgsLed(bool state)
+{
+ if (Preferences::tabNotificationsMsgsColor()!=m_msgsColor)
+ {
+ if (state)
+ return getLed(Preferences::tabNotificationsMsgsColor(),true);
+ else
+ return getLed(Preferences::tabNotificationsMsgsColor(),false);
+ }
+ else
+ {
+ if (state)
+ return m_msgsLedOn;
+ else
+ return m_msgsLedOff;
+ }
+}
+
+QIconSet Images::getPrivateLed(bool state)
+{
+ if (Preferences::tabNotificationsPrivateColor()!=m_privateColor)
+ {
+ if (state)
+ return getLed(Preferences::tabNotificationsPrivateColor(),true);
+ else
+ return getLed(Preferences::tabNotificationsPrivateColor(),false);
+ }
+ else
+ {
+ if (state)
+ return m_privateLedOn;
+ else
+ return m_privateLedOff;
+ }
+}
+
+QIconSet Images::getEventsLed()
+{
+ if (Preferences::tabNotificationsEventsColor()!=m_eventsColor)
+ return getLed(Preferences::tabNotificationsEventsColor(),true);
+ else
+ return m_eventsLedOn;
+}
+
+QIconSet Images::getNickLed()
+{
+ if (Preferences::tabNotificationsNickColor()!=m_nickColor)
+ return getLed(Preferences::tabNotificationsNickColor(),true);
+ else
+ return m_nickLedOn;
+}
+
+QIconSet Images::getHighlightsLed()
+{
+ if (Preferences::tabNotificationsHighlightsColor()!=m_highlightsColor)
+ return getLed(Preferences::tabNotificationsHighlightsColor(),true);
+ else
+ return m_highlightsLedOn;
+}
+
+#include "images.moc"
diff --git a/konversation/src/images.h b/konversation/src/images.h
new file mode 100644
index 0000000..119c048
--- /dev/null
+++ b/konversation/src/images.h
@@ -0,0 +1,102 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef IMAGES_H
+#define IMAGES_H
+
+#include <qiconset.h>
+#include <qpixmap.h>
+#include <qobject.h>
+
+
+/**
+ * Do not create an instance of this class yourself.
+ * use KonversationApplication::instance()->images().
+ */
+
+class Images : public QObject
+{
+ Q_OBJECT
+
+ public:
+ enum NickPrivilege
+ {
+ Normal=0,
+ Voice,
+ HalfOp,
+ Op,
+ Owner,
+ Admin,
+ _NickPrivilege_COUNT
+ };
+
+ Images();
+ virtual ~Images();
+
+ QPixmap getCloseIcon() { return m_closeIcon; }
+ QPixmap getDisabledCloseIcon() { return m_disabledCloseIcon; }
+
+ QIconSet getLed(QColor col,bool state = true);
+
+ QIconSet getServerLed(bool state);
+ QIconSet getSystemLed(bool state);
+ QIconSet getMsgsLed(bool state);
+ QIconSet getPrivateLed(bool state);
+ QIconSet getEventsLed();
+ QIconSet getNickLed();
+ QIconSet getHighlightsLed();
+
+ QIconSet getKimproxyAway() const;
+ QIconSet getKimproxyOnline() const;
+ QIconSet getKimproxyOffline() const;
+
+ QPixmap getNickIcon(NickPrivilege privilege,bool isAway=false) const;
+ void initializeNickIcons();
+
+ public slots:
+ void updateIcons();
+
+ protected:
+ void initializeLeds();
+ void initializeKimifaceIcons();
+
+ QPixmap m_closeIcon;
+ QPixmap m_disabledCloseIcon;
+
+ QIconSet m_serverLedOn;
+ QIconSet m_serverLedOff;
+ QIconSet m_systemLedOn;
+ QIconSet m_systemLedOff;
+ QIconSet m_msgsLedOn;
+ QIconSet m_msgsLedOff;
+ QIconSet m_privateLedOn;
+ QIconSet m_privateLedOff;
+ QIconSet m_eventsLedOn;
+ QIconSet m_nickLedOn;
+ QIconSet m_highlightsLedOn;
+
+ QColor m_serverColor;
+ QColor m_systemColor;
+ QColor m_msgsColor;
+ QColor m_privateColor;
+ QColor m_eventsColor;
+ QColor m_nickColor;
+ QColor m_highlightsColor;
+
+ QIconSet kimproxyAway;
+ QIconSet kimproxyOnline;
+ QIconSet kimproxyOffline;
+
+ // [privilege][away]
+ QPixmap nickIcons[_NickPrivilege_COUNT][2];
+};
+#endif
diff --git a/konversation/src/inputfilter.cpp b/konversation/src/inputfilter.cpp
new file mode 100644
index 0000000..badbe66
--- /dev/null
+++ b/konversation/src/inputfilter.cpp
@@ -0,0 +1,1985 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "inputfilter.h"
+#include "server.h"
+#include "replycodes.h"
+#include "konversationapplication.h"
+#include "commit.h"
+#include "version.h"
+#include "query.h"
+#include "channel.h"
+#include "statuspanel.h"
+#include "common.h"
+#include "notificationhandler.h"
+
+#include <qdatastream.h>
+#include <qstringlist.h>
+#include <qdatetime.h>
+#include <qregexp.h>
+
+#include <klocale.h>
+#include <kdeversion.h>
+#include <kstringhandler.h>
+#include <config.h>
+#include <kdebug.h>
+#include <kresolver.h>
+
+InputFilter::InputFilter()
+{
+ m_connecting = false;
+}
+
+InputFilter::~InputFilter()
+{
+}
+
+void InputFilter::setServer(Server* newServer)
+{
+ server=newServer;
+}
+
+void InputFilter::parseLine(const QString& a_newLine)
+{
+ QString trailing;
+ QString newLine(a_newLine);
+
+ // Remove white spaces at the end and beginning
+ newLine = newLine.stripWhiteSpace();
+ // Find end of middle parameter list
+ int pos = newLine.find(" :");
+ // Was there a trailing parameter?
+ if(pos != -1)
+ {
+ // Copy trailing parameter
+ trailing = newLine.mid(pos + 2);
+ // Cut trailing parameter from string
+ newLine = newLine.left(pos);
+ }
+ // Remove all unnecessary white spaces to make parsing easier
+ newLine = newLine.simplifyWhiteSpace();
+
+ QString prefix;
+
+ // Do we have a prefix?
+ if(newLine[0] == ':')
+ {
+ // Find end of prefix
+ pos = newLine.find(' ');
+ // Copy prefix
+ prefix = newLine.mid(1, pos - 1);
+ // Remove prefix from line
+ newLine = newLine.mid(pos + 1);
+ }
+
+ // Find end of command
+ pos = newLine.find(' ');
+ // Copy command (all lowercase to make parsing easier)
+ QString command = newLine.left(pos).lower();
+ // Are there parameters left in the string?
+ QStringList parameterList;
+
+ if(pos != -1)
+ {
+ // Cut out the command
+ newLine = newLine.mid(pos + 1);
+ // The rest of the string will be the parameter list
+ parameterList = QStringList::split(" ", newLine);
+ }
+
+ Q_ASSERT(server);
+
+ // Server command, if no "!" was found in prefix
+ if((prefix.find('!') == -1) && (prefix != server->getNickname()))
+ {
+
+ parseServerCommand(prefix, command, parameterList, trailing);
+ }
+ else
+ {
+ parseClientCommand(prefix, command, parameterList, trailing);
+ }
+}
+
+void InputFilter::parseClientCommand(const QString &prefix, const QString &command, const QStringList &parameterList, const QString &_trailing)
+{
+ KonversationApplication* konv_app = static_cast<KonversationApplication *>(KApplication::kApplication());
+ Q_ASSERT(konv_app);
+ Q_ASSERT(server);
+ // Extract nickname from prefix
+ int pos = prefix.find("!");
+ QString sourceNick = prefix.left(pos);
+ QString sourceHostmask = prefix.mid(pos + 1);
+ // remember hostmask for this nick, it could have changed
+ server->addHostmaskToNick(sourceNick,sourceHostmask);
+ QString trailing = _trailing;
+
+ if(command=="privmsg")
+ {
+ bool isChan = isAChannel(parameterList[0]);
+ // CTCP message?
+ if(server->identifyMsg() && (trailing.at(0) == '+' || trailing.at(0) == '-')) {
+ trailing = trailing.mid(1);
+ }
+
+ if(trailing.at(0)==QChar(0x01))
+ {
+ // cut out the CTCP command
+ QString ctcp = trailing.mid(1,trailing.find(1,1)-1);
+
+ QString ctcpCommand=ctcp.left(ctcp.find(" ")).lower();
+ QString ctcpArgument=ctcp.mid(ctcp.find(" ")+1);
+ ctcpArgument=static_cast<KonversationApplication*>(kapp)->doAutoreplace(ctcpArgument,false);
+
+ // If it was a ctcp action, build an action string
+ if(ctcpCommand=="action" && isChan)
+ {
+ if(!isIgnore(prefix,Ignore::Channel))
+ {
+ Channel* channel = server->getChannelByName( parameterList[0] );
+
+ if(!channel) {
+ kdError() << "Didn't find the channel " << parameterList[0] << endl;
+ return;
+ }
+
+ channel->appendAction(sourceNick,ctcpArgument);
+
+ if(sourceNick != server->getNickname())
+ {
+ if(ctcpArgument.lower().find(QRegExp("(^|[^\\d\\w])"
+ + QRegExp::escape(server->loweredNickname())
+ + "([^\\d\\w]|$)")) !=-1 )
+ {
+ konv_app->notificationHandler()->nick(channel, sourceNick, ctcpArgument);
+ }
+ else
+ {
+ konv_app->notificationHandler()->message(channel, sourceNick, ctcpArgument);
+ }
+ }
+ }
+ }
+ // If it was a ctcp action, build an action string
+ else if(ctcpCommand=="action" && !isChan)
+ {
+ // Check if we ignore queries from this nick
+ if(!isIgnore(prefix,Ignore::Query))
+ {
+ NickInfoPtr nickinfo = server->obtainNickInfo(sourceNick);
+ nickinfo->setHostmask(sourceHostmask);
+
+ // create new query (server will check for dupes)
+ query = server->addQuery(nickinfo, false /* we didn't initiate this*/ );
+
+ // send action to query
+ query->appendAction(sourceNick,ctcpArgument);
+
+ if(sourceNick != server->getNickname() && query)
+ {
+ konv_app->notificationHandler()->queryMessage(query, sourceNick, ctcpArgument);
+ }
+ }
+ }
+
+ // Answer ping requests
+ else if(ctcpCommand=="ping")
+ {
+ if(!isIgnore(prefix,Ignore::CTCP))
+ {
+ if(isChan)
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-PING request from %1 to channel %2, sending answer.")
+ .arg(sourceNick).arg(parameterList[0])
+ );
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-%1 request from %2, sending answer.")
+ .arg("PING").arg(sourceNick)
+ );
+ }
+ server->ctcpReply(sourceNick,QString("PING %1").arg(ctcpArgument));
+ }
+ }
+
+ // Maybe it was a version request, so act appropriately
+ else if(ctcpCommand=="version")
+ {
+ if(!isIgnore(prefix,Ignore::CTCP))
+ {
+ if (isChan)
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received Version request from %1 to channel %2.")
+ .arg(sourceNick).arg(parameterList[0])
+ );
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received Version request from %1.")
+ .arg(sourceNick)
+ );
+ }
+
+ QString reply;
+ if(Preferences::customVersionReplyEnabled())
+ {
+ reply = Preferences::customVersionReply().stripWhiteSpace();
+ }
+ else
+ {
+ // Do not internationalize the below version string
+ reply = QString("Konversation %1 (C) 2002-2008 by the Konversation team")
+ .arg(QString(KONVI_VERSION));
+ }
+ server->ctcpReply(sourceNick,"VERSION "+reply);
+ }
+ }
+ // DCC request?
+ else if(ctcpCommand=="dcc" && !isChan)
+ {
+ if(!isIgnore(prefix,Ignore::DCC))
+ {
+ // Extract DCC type and argument list
+ QString dccType=ctcpArgument.lower().section(' ',0,0);
+
+ // Support file names with spaces
+ QString dccArguments = ctcpArgument.mid(ctcpArgument.find(" ")+1);
+ QStringList dccArgumentList;
+
+ if ((dccArguments.contains('\"') >= 2) && (dccArguments.startsWith("\""))) {
+ int lastQuotePos = dccArguments.findRev("\"");
+ if (dccArguments[lastQuotePos+1] == ' ') {
+ QString fileName = dccArguments.mid(1, lastQuotePos-1);
+ dccArguments = dccArguments.mid(lastQuotePos+2);
+
+ dccArgumentList.append(fileName);
+ }
+ }
+ dccArgumentList += QStringList::split(' ', dccArguments);
+
+ if(dccType=="send")
+ {
+ if(dccArgumentList.count()==4)
+ {
+ // incoming file
+ konv_app->notificationHandler()->dccIncoming(server->getStatusView(), sourceNick);
+ emit addDccGet(sourceNick,dccArgumentList);
+ }
+ else if(dccArgumentList.count()==5)
+ {
+ if(dccArgumentList[2]=="0")
+ {
+ // incoming file (Reverse DCC)
+ konv_app->notificationHandler()->dccIncoming(server->getStatusView(), sourceNick);
+ emit addDccGet(sourceNick,dccArgumentList);
+ }
+ else
+ {
+ // the receiver accepted the offer for Reverse DCC
+ emit startReverseDccSendTransfer(sourceNick,dccArgumentList);
+ }
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("DCC"),
+ i18n("Received invalid DCC SEND request from %1.")
+ .arg(sourceNick)
+ );
+ }
+ }
+ else if(dccType=="accept")
+ {
+ // resume request was accepted
+ if(dccArgumentList.count()==3)
+ {
+ emit resumeDccGetTransfer(sourceNick,dccArgumentList);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("DCC"),
+ i18n("Received invalid DCC ACCEPT request from %1.")
+ .arg(sourceNick)
+ );
+ }
+ }
+ // Remote client wants our sent file resumed
+ else if(dccType=="resume")
+ {
+ if(dccArgumentList.count()==3)
+ {
+ emit resumeDccSendTransfer(sourceNick,dccArgumentList);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("DCC"),
+ i18n("Received invalid DCC RESUME request from %1.")
+ .arg(sourceNick)
+ );
+ }
+ }
+ else if(dccType=="chat")
+ {
+
+ if(dccArgumentList.count()==3)
+ {
+ // will be connected via Server to KonversationMainWindow::addDccChat()
+ emit addDccChat(server->getNickname(),sourceNick,dccArgumentList,false);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("DCC"),
+ i18n("Received invalid DCC CHAT request from %1.")
+ .arg(sourceNick)
+ );
+ }
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("DCC"),
+ i18n("Unknown DCC command %1 received from %2.")
+ .arg(ctcpArgument).arg(sourceNick)
+ );
+ }
+ }
+ }
+ else if (ctcpCommand=="clientinfo" && !isChan)
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-%1 request from %2, sending answer.")
+ .arg("CLIENTINFO").arg(sourceNick)
+ );
+ server->ctcpReply(sourceNick,QString("CLIENTINFO ACTION CLIENTINFO DCC PING TIME VERSION"));
+ }
+ else if(ctcpCommand=="time" && !isChan)
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-%1 request from %2, sending answer.")
+ .arg("TIME").arg(sourceNick)
+ );
+ server->ctcpReply(sourceNick,QString("TIME ")+QDateTime::currentDateTime().toString());
+ }
+
+ // No known CTCP request, give a general message
+ else
+ {
+ if(!isIgnore(prefix,Ignore::CTCP))
+ {
+ if (isChan)
+ server->appendServerMessageToChannel(
+ parameterList[0],
+ "CTCP",
+ i18n("Received unknown CTCP-%1 request from %2 to Channel %3.")
+ .arg(ctcp).arg(sourceNick).arg(parameterList[0])
+ );
+ else
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received unknown CTCP-%1 request from %2.")
+ .arg(ctcp).arg(sourceNick)
+ );
+ }
+ }
+ }
+ // No CTCP, so it's an ordinary channel or query message
+ else
+ {
+ parsePrivMsg (prefix, parameterList, trailing);
+ }
+ }
+ else if(command=="notice")
+ {
+ if(!isIgnore(prefix,Ignore::Notice))
+ {
+ // Channel notice?
+ if(isAChannel(parameterList[0]))
+ {
+ if(server->identifyMsg())
+ {
+ trailing = trailing.mid(1);
+ }
+
+ server->appendServerMessageToChannel(parameterList[0], i18n("Notice"),
+ i18n("-%1 to %2- %3")
+ .arg(sourceNick).arg(parameterList[0]).arg(trailing)
+ );
+ }
+ // Private notice
+ else
+ {
+ // Was this a CTCP reply?
+ if(trailing.at(0)==QChar(0x01))
+ {
+ // cut 0x01 bytes from trailing string
+ QString ctcp(trailing.mid(1,trailing.length()-2));
+ QString replyReason(ctcp.section(' ',0,0));
+ QString reply(ctcp.section(' ',1));
+
+ // pong reply, calculate turnaround time
+ if(replyReason.lower()=="ping")
+ {
+ int dateArrived=QDateTime::currentDateTime().toTime_t();
+ int dateSent=reply.toInt();
+ int time = dateArrived-dateSent;
+ QString unit = "seconds";
+
+ if (time==1)
+ unit = "second";
+
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-PING reply from %1: %2 %3.")
+ .arg(sourceNick)
+ .arg(time)
+ .arg(unit)
+ );
+ }
+ // all other ctcp replies get a general message
+ else
+ {
+ server->appendMessageToFrontmost(i18n("CTCP"),
+ i18n("Received CTCP-%1 reply from %2: %3.")
+ .arg(replyReason).arg(sourceNick).arg(reply)
+ );
+ }
+ }
+ // No, so it was a normal notice
+ else
+ {
+ // Nickserv
+ if (trailing.startsWith("If this is your nick"))
+ {
+ // Identify command if specified
+ server->registerWithServices();
+ }
+ else if (server->identifyMsg())
+ trailing = trailing.mid(1);
+
+ if(trailing.lower() == "password accepted - you are now recognized"
+ || trailing.lower() == "you have already identified")
+ {
+ NickInfoPtr nickInfo = server->getNickInfo(server->getNickname());
+ if(nickInfo)
+ nickInfo->setIdentified(true);
+ }
+ server->appendMessageToFrontmost(i18n("Notice"), i18n("-%1- %2").arg(sourceNick).arg(trailing));
+ }
+ }
+ }
+ }
+ else if(command=="join")
+ {
+ QString channelName(trailing);
+ // Sometimes JOIN comes without ":" in front of the channel name
+ if(channelName.isEmpty())
+ channelName=parameterList[parameterList.count()-1];
+
+ // Did we join the channel, or was it someone else?
+ if(server->isNickname(sourceNick))
+ {
+ /*
+ QString key;
+ // TODO: Try to remember channel keys for autojoins and manual joins, so
+ // we can get %k to work
+
+ if(channelName.find(' ')!=-1)
+ {
+ key=channelName.section(' ',1,1);
+ channelName=channelName.section(' ',0,0);
+ }
+ */
+
+ // Join the channel
+ server->joinChannel(channelName, sourceHostmask);
+
+ server->resetNickList(channelName);
+
+ // Upon JOIN we're going to receive some NAMES input from the server which
+ // we need to be able to tell apart from manual invocations of /names
+ setAutomaticRequest("NAMES",channelName,true);
+
+ server->getChannelByName(channelName)->clearModeList();
+
+ // Request modes for the channel
+ server->queue("MODE "+channelName, Server::LowPriority);
+
+ // Initiate channel ban list
+ server->getChannelByName(channelName)->clearBanList();
+ setAutomaticRequest("BANLIST",channelName,true);
+ server->queue("MODE "+channelName+" +b", Server::LowPriority);
+ }
+ else
+ {
+ Channel* channel = server->nickJoinsChannel(channelName,sourceNick,sourceHostmask);
+ konv_app->notificationHandler()->join(channel, sourceNick);
+ }
+ }
+ else if(command=="kick")
+ {
+ server->nickWasKickedFromChannel(parameterList[0],parameterList[1],sourceNick,trailing);
+ }
+ else if(command=="part")
+ {
+ /* FIXME: Ugly workaround for a version of the PART line encountered on ircu:
+ * :Nick!user@host PART :#channel
+ * Quote: "The final colon is specified as a "last argument" designator, and
+ * is always valid before the final argument."
+ */
+
+ QString channel;
+ QString reason;
+
+ if (parameterList[0].isEmpty())
+ {
+ channel = trailing;
+ }
+ else
+ {
+ channel = parameterList[0];
+ reason = trailing;
+ }
+
+ Channel* channelPtr = server->removeNickFromChannel(channel,sourceNick,reason);
+
+ if(sourceNick != server->getNickname())
+ {
+ konv_app->notificationHandler()->part(channelPtr, sourceNick);
+ }
+ }
+ else if(command=="quit")
+ {
+ server->removeNickFromServer(sourceNick,trailing);
+ if(sourceNick != server->getNickname())
+ {
+ konv_app->notificationHandler()->quit(server->getStatusView(), sourceNick);
+ }
+ }
+ else if(command=="nick")
+ {
+ QString newNick(trailing);
+
+ // Message may not include ":" in front of the new nickname
+ if (newNick.isEmpty())
+ newNick=parameterList[parameterList.count()-1];
+
+ server->renameNick(sourceNick,newNick);
+
+ if (sourceNick != server->getNickname())
+ {
+ konv_app->notificationHandler()->nickChange(server->getStatusView(), sourceNick, newNick);
+ }
+ }
+ else if(command=="topic")
+ {
+ server->setChannelTopic(sourceNick,parameterList[0],trailing);
+ }
+ else if(command=="mode") // mode #channel -/+ mmm params
+ {
+ QStringList params=parameterList;
+ if (!trailing.isEmpty())
+ params << trailing;
+ parseModes(sourceNick, params);
+ Channel* channel = server->getChannelByName(parameterList[0]);
+ if(sourceNick != server->getNickname())
+ {
+ konv_app->notificationHandler()->mode(channel, sourceNick);
+ }
+ }
+ else if(command=="invite")
+ {
+ QString channel;
+
+ if (parameterList.count() > 1)
+ channel = parameterList[1];
+ else
+ channel = trailing;
+
+ server->appendMessageToFrontmost(i18n("Invite"),
+ i18n("%1 invited you to channel %2.")
+ .arg(sourceNick).arg(channel)
+ );
+ emit invitation(sourceNick,channel);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(command,parameterList.join(" ")+' '+trailing);
+ }
+}
+
+void InputFilter::parseServerCommand(const QString &prefix, const QString &command, const QStringList &parameterList, const QString &trailing)
+{
+ bool isNumeric;
+ int numeric = command.toInt(&isNumeric);
+
+ Q_ASSERT(server); if(!server) return;
+
+ if(!isNumeric)
+ {
+ if(command=="ping")
+ {
+ QString text;
+ text = (!trailing.isEmpty()) ? trailing : parameterList.join(" ");
+
+ if(!trailing.isEmpty())
+ {
+ text = prefix + " :" + text;
+ }
+
+ if(!text.startsWith(" "))
+ {
+ text.prepend(' ');
+ }
+
+ // queue the reply to send it as soon as possible
+ server->queue("PONG"+text, Server::HighPriority);
+
+ }
+ else if(command=="error :closing link:")
+ {
+ kdDebug() << "link closed" << endl;
+ }
+ else if(command=="pong")
+ {
+ // double check if we are in lag measuring mode since some servers fail to send
+ // the LAG cookie back in PONG
+ if(trailing.startsWith("LAG") || getLagMeasuring())
+ {
+ server->pongReceived();
+ }
+ }
+ else if(command=="mode")
+ {
+ QStringList params=parameterList;
+ if (!trailing.isEmpty())
+ params << trailing;
+ parseModes(prefix, params);
+ }
+ else if(command=="notice")
+ {
+ server->appendStatusMessage(i18n("Notice"),i18n("-%1- %2").arg(prefix).arg(trailing));
+ }
+ else if(command=="kick")
+ {
+ server->nickWasKickedFromChannel(parameterList[0],parameterList[1],prefix,trailing);
+ }
+ else if(command == "privmsg")
+ {
+ parsePrivMsg(prefix, parameterList, trailing);
+ }
+ // All yet unknown messages go into the frontmost window unaltered
+ else
+ {
+ server->appendMessageToFrontmost(command,parameterList.join(" ")+' '+trailing);
+ }
+ }
+ else
+ {
+ switch (numeric)
+ {
+ case RPL_WELCOME:
+ case RPL_YOURHOST:
+ case RPL_CREATED:
+ {
+ if(numeric==RPL_WELCOME)
+ {
+ QString host;
+
+ if(trailing.contains("@"))
+ host = trailing.section("@",1);
+
+ // re-set nickname, since the server may have truncated it
+ if(parameterList[0]!=server->getNickname())
+ server->renameNick(server->getNickname(), parameterList[0]);
+
+ // Send the welcome signal, so the server class knows we are connected properly
+ emit welcome(host);
+ m_connecting = true;
+ }
+ server->appendStatusMessage(i18n("Welcome"),trailing);
+ break;
+ }
+ case RPL_MYINFO:
+ {
+ server->appendStatusMessage(i18n("Welcome"),
+ i18n("Server %1 (Version %2), User modes: %3, Channel modes: %4")
+ .arg(parameterList[1])
+ .arg(parameterList[2])
+ .arg(parameterList[3])
+ .arg(parameterList[4])
+ );
+ server->setAllowedChannelModes(parameterList[4]);
+ break;
+ }
+ //case RPL_BOUNCE: // RFC 1459 name, now seems to be obsoleted by ...
+ case RPL_ISUPPORT: // ... DALnet RPL_ISUPPORT
+ {
+ server->appendStatusMessage(i18n("Support"),parameterList.join(" "));
+
+ // The following behavoiur is neither documented in RFC 1459 nor in 2810-2813
+ // Nowadays, most ircds send server capabilities out via 005 (BOUNCE).
+ // refer to http://www.irc.org/tech_docs/005.html for a kind of documentation.
+ // More on http://www.irc.org/tech_docs/draft-brocklesby-irc-isupport-03.txt
+
+ QStringList::const_iterator it = parameterList.begin();
+ // don't want the user name
+ ++it;
+ for (; it != parameterList.end(); ++it )
+ {
+ QString property, value;
+ int pos;
+ if ((pos=(*it).find( '=' )) !=-1)
+ {
+ property = (*it).left(pos);
+ value = (*it).mid(pos+1);
+ }
+ else
+ {
+ property = *it;
+ }
+ if (property=="PREFIX")
+ {
+ pos = value.find(')',1);
+ if(pos==-1)
+ {
+ server->setPrefixes(QString(), value);
+ // XXX if ) isn't in the string, NOTHING should be there. anyone got a server
+ if (value.length() || property.length())
+ server->appendStatusMessage("","XXX Server sent bad PREFIX in RPL_ISUPPORT, please report.");
+ }
+ else
+ {
+ server->setPrefixes (value.mid(1, pos-1), value.mid(pos+1));
+ }
+ }
+ else if (property=="CHANTYPES")
+ {
+ server->setChannelTypes(value);
+ }
+ else if (property == "CAPAB")
+ {
+ // Disable as we don't use this for anything yet
+ //server->queue("CAPAB IDENTIFY-MSG");
+ }
+ else
+ {
+ //kdDebug() << "Ignored server-capability: " << property << " with value '" << value << "'" << endl;
+ }
+ } // endfor
+ break;
+ }
+ case RPL_UMODEIS:
+ {
+ QString message=QString("%1 %2").arg(i18n("Your personal modes are:")).arg(parameterList.join(" ").section(' ',1) + ' '+trailing);
+ server->appendMessageToFrontmost("Info", message);
+ break;
+ }
+ case RPL_CHANNELMODEIS:
+ {
+ const QString modeString=parameterList[2];
+ // This is the string the user will see
+ QString modesAre;
+ QString message = i18n("Channel modes: ") + modeString;
+
+ for(unsigned int index=0;index<modeString.length();index++)
+ {
+ QString parameter;
+ int parameterCount=3;
+ char mode=modeString[index];
+ if(mode!='+')
+ {
+ if(!modesAre.isEmpty())
+ modesAre+=", ";
+ if(mode=='t')
+ modesAre+=i18n("topic protection");
+ else if(mode=='n')
+ modesAre+=i18n("no messages from outside");
+ else if(mode=='s')
+ modesAre+=i18n("secret");
+ else if(mode=='i')
+ modesAre+=i18n("invite only");
+ else if(mode=='p')
+ modesAre+=i18n("private");
+ else if(mode=='m')
+ modesAre+=i18n("moderated");
+ else if(mode=='k')
+ {
+ parameter=parameterList[parameterCount++];
+ message += ' ' + parameter;
+ modesAre+=i18n("password protected");
+ }
+ else if(mode=='a')
+ modesAre+=i18n("anonymous");
+ else if(mode=='r')
+ modesAre+=i18n("server reop");
+ else if(mode=='c')
+ modesAre+=i18n("no colors allowed");
+ else if(mode=='l')
+ {
+ parameter=parameterList[parameterCount++];
+ message += ' ' + parameter;
+ modesAre+=i18n("limited to %n user", "limited to %n users", parameter.toInt());
+ }
+ else
+ {
+ modesAre+=mode;
+ }
+ server->updateChannelModeWidgets(parameterList[1],mode,parameter);
+ }
+ } // endfor
+ if(!modesAre.isEmpty() && Preferences::useLiteralModes())
+ {
+ server->appendCommandMessageToChannel(parameterList[1],i18n("Mode"),message);
+ }
+ else
+ {
+ server->appendCommandMessageToChannel(parameterList[1],i18n("Mode"),
+ i18n("Channel modes: ") + modesAre
+ );
+ }
+ break;
+ }
+ case RPL_CHANNELURLIS:
+ {// :niven.freenode.net 328 argonel #channel :http://www.buggeroff.com/
+ server->appendCommandMessageToChannel(parameterList[1], i18n("URL"),
+ i18n("Channel URL: %1").arg(trailing));
+ break;
+ }
+ case RPL_CHANNELCREATED:
+ {
+ QDateTime when;
+ when.setTime_t(parameterList[2].toUInt());
+ server->appendCommandMessageToChannel(parameterList[1],i18n("Created"),
+ i18n("This channel was created on %1.")
+ .arg(when.toString(Qt::LocalDate))
+ );
+
+ if(Preferences::autoWhoContinuousEnabled())
+ {
+ emit endOfWho(parameterList[1]);
+ }
+
+ break;
+ }
+ case RPL_WHOISACCOUNT:
+ {
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),i18n("%1 is logged in as %2.").arg(parameterList[1]).arg(parameterList[2]));
+ }
+ break;
+ }
+ case RPL_NAMREPLY:
+ {
+ QStringList nickList;
+
+ if(!trailing.isEmpty())
+ {
+ nickList = QStringList::split(" ", trailing);
+ }
+ else if(parameterList.count() > 3)
+ {
+ for(uint i = 3; i < parameterList.count(); i++) {
+ nickList.append(parameterList[i]);
+ }
+ }
+ else
+ {
+ kdDebug() << "Hmm seems something is broken... can't get to the names!" << endl;
+ }
+
+ // send list to channel
+ server->addPendingNickList(parameterList[2], nickList);
+
+ // Display message only if this was not an automatic request.
+ if(!getAutomaticRequest("NAMES",parameterList[2])==1)
+ {
+ server->appendMessageToFrontmost(i18n("Names"),trailing);
+ }
+ break;
+ }
+ case RPL_ENDOFNAMES:
+ {
+ if(getAutomaticRequest("NAMES",parameterList[1])==1)
+ {
+ // This code path was taken for the automatic NAMES input on JOIN, upcoming
+ // NAMES input for this channel will be manual invocations of /names
+ setAutomaticRequest("NAMES",parameterList[1],false);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("Names"),i18n("End of NAMES list."));
+ }
+ break;
+ }
+ // Topic set messages
+ case RPL_NOTOPIC:
+ {
+ server->appendMessageToFrontmost(i18n("TOPIC"),i18n("The channel %1 has no topic set.").arg(parameterList[1]) /*.arg(parameterList[2])*/); //FIXME ok, whats the second parameter supposed to be?
+
+ break;
+ }
+ case RPL_TOPIC:
+ {
+ QString topic = Konversation::removeIrcMarkup(trailing);
+
+ // FIXME: This is an abuse of the automaticRequest system: We're
+ // using it in an inverted manner, i.e. the automaticRequest is
+ // set to true by a manual invocation of /topic. Bad bad bad -
+ // needs rethinking of automaticRequest.
+ if(getAutomaticRequest("TOPIC",parameterList[1])==0)
+ {
+ // Update channel window
+ server->setChannelTopic(parameterList[1],topic);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("Topic"),i18n("The channel topic for %1 is: \"%2\"").arg(parameterList[1]).arg(topic));
+ }
+
+ break;
+ }
+ case RPL_TOPICSETBY:
+ {
+ // Inform user who set the topic and when
+ QDateTime when;
+ when.setTime_t(parameterList[3].toUInt());
+
+ // See FIXME in RPL_TOPIC
+ if(getAutomaticRequest("TOPIC",parameterList[1])==0)
+ {
+ server->appendCommandMessageToChannel(parameterList[1],i18n("Topic"),
+ i18n("The topic was set by %1 on %2.")
+ .arg(parameterList[2]).arg(when.toString(Qt::LocalDate)),
+ false);
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("Topic"),i18n("The topic for %1 was set by %2 on %3.")
+ .arg(parameterList[1])
+ .arg(parameterList[2])
+ .arg(when.toString(Qt::LocalDate))
+ );
+ setAutomaticRequest("TOPIC",parameterList[1],false);
+ }
+ emit topicAuthor(parameterList[1], parameterList[2], when);
+
+ break;
+ }
+ case RPL_WHOISACTUALLY:
+ {
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),i18n("%1 is actually using the host %2.").arg(parameterList[1]).arg(parameterList[2]));
+ }
+ break;
+ }
+ case ERR_NOSUCHNICK:
+ {
+ // Display slightly different error message in case we performed a WHOIS for
+ // IP resolve purposes, and clear it from the automaticRequest list
+ if(getAutomaticRequest("DNS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("%1: No such nick/channel.").arg(parameterList[1]));
+ }
+ else if(getAutomaticRequest("WHOIS",parameterList[1])==0) //Display message only if this was not an automatic request.
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("No such nick: %1.").arg(parameterList[1]));
+ setAutomaticRequest("DNS", parameterList[1], false);
+ }
+
+ break;
+ }
+ case ERR_NOSUCHCHANNEL:
+ {
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("%1: No such channel.").arg(parameterList[1]));
+ }
+ break;
+ }
+ // Nick already on the server, so try another one
+ case ERR_NICKNAMEINUSE:
+ {
+ // if we are already connected, don't try tro find another nick ourselves
+ if(server->isConnected())
+ { // Show message
+ server->appendMessageToFrontmost(i18n("Nick"),i18n("Nickname already in use, try a different one."));
+ }
+ else // not connected yet, so try to find a nick that's not in use
+ {
+ // Get the next nick from the list or ask for a new one
+ QString newNick = server->getNextNickname();
+
+ // The user chose to disconnect
+ if (newNick.isNull())
+ {
+ server->disconnect();
+ }
+ else
+ {
+ // Update Server window
+ server->obtainNickInfo(server->getNickname()) ;
+ server->renameNick(server->getNickname(), newNick);
+ // Show message
+ server->appendMessageToFrontmost(i18n("Nick"), i18n("Nickname already in use. Trying %1.").arg(newNick));
+ // Send nickchange request to the server
+ server->queue("NICK "+newNick);
+ }
+ }
+ break;
+ }
+ case ERR_ERRONEUSNICKNAME:
+ {
+ if(server->isConnected())
+ { // We are already connected. Just print the error message
+ server->appendMessageToFrontmost(i18n("Nick"), trailing);
+ }
+ else // Find a new nick as in ERR_NICKNAMEINUSE
+ {
+ QString newNick = server->getNextNickname();
+
+ // The user chose to disconnect
+ if (newNick.isNull())
+ {
+ server->disconnect();
+ }
+ else
+ {
+ server->obtainNickInfo(server->getNickname()) ;
+ server->renameNick(server->getNickname(), newNick);
+ server->appendMessageToFrontmost(i18n("Nick"), i18n("Erroneus nickname. Changing nick to %1." ).arg(newNick)) ;
+ server->queue("NICK "+newNick);
+ }
+ }
+ break;
+ }
+ case ERR_NOTONCHANNEL:
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("You are not on %1.").arg(parameterList[1]));
+
+ break;
+ }
+ case RPL_MOTDSTART:
+ {
+ if(!m_connecting || !Preferences::skipMOTD())
+ server->appendStatusMessage(i18n("MOTD"),i18n("Message of the day:"));
+ break;
+ }
+ case RPL_MOTD:
+ {
+ if(!m_connecting || !Preferences::skipMOTD())
+ server->appendStatusMessage(i18n("MOTD"),trailing);
+ break;
+ }
+ case RPL_ENDOFMOTD:
+ {
+ if(!m_connecting || !Preferences::skipMOTD())
+ server->appendStatusMessage(i18n("MOTD"),i18n("End of message of the day"));
+
+ if(m_connecting)
+ server->autoCommandsAndChannels();
+
+ m_connecting = false;
+ break;
+ }
+ case ERR_NOMOTD:
+ {
+ if(m_connecting)
+ server->autoCommandsAndChannels();
+
+ m_connecting = false;
+ break;
+ }
+ case RPL_YOUREOPER:
+ {
+ server->appendMessageToFrontmost(i18n("Notice"),i18n("You are now an IRC operator on this server."));
+
+ break;
+ }
+ case RPL_GLOBALUSERS: // Current global users: 589 Max: 845
+ {
+ QString current(trailing.section(' ',3));
+ //QString max(trailing.section(' ',5,5));
+ server->appendStatusMessage(i18n("Users"),i18n("Current users on the network: %1").arg(current));
+ break;
+ }
+ case RPL_LOCALUSERS: // Current local users: 589 Max: 845
+ {
+ QString current(trailing.section(' ',3));
+ //QString max(trailing.section(' ',5,5));
+ server->appendStatusMessage(i18n("Users"),i18n("Current users on %1: %2.").arg(prefix).arg(current));
+ break;
+ }
+ case RPL_ISON:
+ {
+ // Tell server to start the next notify timer round
+ emit notifyResponse(trailing);
+ break;
+ }
+ case RPL_AWAY:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ if(nickInfo)
+ {
+ nickInfo->setAway(true);
+ if( nickInfo->getAwayMessage() == trailing )
+ break;
+ nickInfo->setAwayMessage(trailing);
+ }
+
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Away"),i18n("%1 is away: %2")
+ .arg(parameterList[1]).arg(trailing)
+ );
+ }
+
+ break;
+ }
+ case RPL_INVITING:
+ {
+ server->appendMessageToFrontmost(i18n("Invite"),
+ i18n("You invited %1 to channel %2.")
+ .arg(parameterList[1]).arg(parameterList[2])
+ );
+ break;
+ }
+ //Sample WHOIS response
+ //"/WHOIS psn"
+ //[19:11] :zahn.freenode.net 311 PhantomsDad psn ~psn h106n2fls23o1068.bredband.comhem.se * :Peter Simonsson
+ //[19:11] :zahn.freenode.net 319 PhantomsDad psn :#kde-devel #koffice
+ //[19:11] :zahn.freenode.net 312 PhantomsDad psn irc.freenode.net :http://freenode.net/
+ //[19:11] :zahn.freenode.net 301 PhantomsDad psn :away
+ //[19:11] :zahn.freenode.net 320 PhantomsDad psn :is an identified user
+ //[19:11] :zahn.freenode.net 317 PhantomsDad psn 4921 1074973024 :seconds idle, signon time
+ //[19:11] :zahn.freenode.net 318 PhantomsDad psn :End of /WHOIS list.
+ case RPL_WHOISUSER:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ if(nickInfo)
+ {
+ nickInfo->setHostmask(i18n("%1@%2").arg(parameterList[2]).arg(parameterList[3]));
+ nickInfo->setRealName(trailing);
+ }
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ // escape html tags
+ QString escapedRealName(trailing);
+ escapedRealName.replace("<","&lt;").replace(">","&gt;");
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is %2@%3 (%4)")
+ .arg(parameterList[1])
+ .arg(parameterList[2])
+ .arg(parameterList[3])
+ .arg(escapedRealName), false); // Don't parse any urls
+ }
+ else
+ {
+ // This WHOIS was requested by Server for DNS resolve purposes; try to resolve the host
+ if(getAutomaticRequest("DNS",parameterList[1])==1)
+ {
+ KNetwork::KResolverResults resolved = KNetwork::KResolver::resolve(parameterList[3],"");
+ if(resolved.error() == KResolver::NoError && resolved.size() > 0)
+ {
+ QString ip = resolved.first().address().nodeName();
+ server->appendMessageToFrontmost(i18n("DNS"),
+ i18n("Resolved %1 (%2) to address: %3")
+ .arg(parameterList[1])
+ .arg(parameterList[3])
+ .arg(ip)
+ );
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("Error"),
+ i18n("Unable to resolve address for %1 (%2)")
+ .arg(parameterList[1])
+ .arg(parameterList[3])
+ );
+ }
+
+ // Clear this from the automaticRequest list so it works repeatedly
+ setAutomaticRequest("DNS", parameterList[1], false);
+ }
+ }
+ break;
+ }
+ // From a WHOIS.
+ //[19:11] :zahn.freenode.net 320 PhantomsDad psn :is an identified user
+ case RPL_WHOISIDENTIFY:
+ case RPL_IDENTIFIED:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ if(nickInfo)
+ {
+ nickInfo->setIdentified(true);
+ }
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ // Prints "psn is an identified user"
+ //server->appendStatusMessage(i18n("Whois"),parameterList.join(" ").section(' ',1)+' '+trailing);
+ // The above line works fine, but can't be i18n'ised. So use the below instead.. I hope this is okay.
+ server->appendMessageToFrontmost(i18n("Whois"), i18n("%1 is an identified user.").arg(parameterList[1]));
+ }
+ break;
+ }
+ // Sample WHO response
+ //"/WHO #lounge"
+ //[21:39] [352] #lounge jasmine bots.worldforge.org irc.worldforge.org jasmine H 0 jasmine
+ //[21:39] [352] #lounge ~Nottingha worldforge.org irc.worldforge.org SherwoodSpirit H 0 Arboreal Entity
+ case RPL_WHOREPLY:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[5]);
+ // G=away G@=away,op G+=away,voice
+ bool bAway = parameterList[6].upper().startsWith("G");
+ if(nickInfo)
+ {
+ nickInfo->setHostmask(i18n("%1@%2").arg(parameterList[2]).arg(parameterList[3]));
+ //Strip off the "0 "
+ nickInfo->setRealName(trailing.section(" ", 1));
+ nickInfo->setAway(bAway);
+ if(!bAway)
+ {
+ nickInfo->setAwayMessage(QString());
+ }
+ }
+ // Display message only if this was not an automatic request.
+ if(!whoRequestList.isEmpty()) // for safe
+ {
+ if(getAutomaticRequest("WHO",whoRequestList.front())==0)
+ {
+ server->appendMessageToFrontmost(i18n("Who"),
+ i18n("%1 is %2@%3 (%4)%5").arg(parameterList[5])
+ .arg(parameterList[2])
+ .arg(parameterList[3])
+ .arg(trailing.section(" ", 1))
+ .arg(bAway?i18n(" (Away)"):QString())
+ , false); // Don't parse as url
+ }
+ }
+ break;
+ }
+ case RPL_ENDOFWHO:
+ {
+ if(!whoRequestList.isEmpty())
+ { // for safety
+ QStringList::iterator it = whoRequestList.find(parameterList[1].lower());
+
+ if(it != whoRequestList.end())
+ {
+ if(getAutomaticRequest("WHO", *it) == 0)
+ {
+ server->appendMessageToFrontmost(i18n("Who"),
+ i18n("End of /WHO list for %1")
+ .arg(parameterList[1]));
+ }
+ else
+ {
+ setAutomaticRequest("WHO", *it, false);
+ }
+
+ whoRequestList.remove(it);
+ }
+ else
+ {
+ // whoReauestList seems to be broken.
+ kdDebug() << "InputFilter::parseServerCommand(): RPL_ENDOFWHO: malformed ENDOFWHO. retrieved: "
+ << parameterList[1] << " expected: " << whoRequestList.front()
+ << endl;
+ whoRequestList.clear();
+ }
+ }
+ else
+ {
+ kdDebug() << "InputFilter::parseServerCommand(): RPL_ENDOFWHO: unexpected ENDOFWHO. retrieved: "
+ << parameterList[1]
+ << endl;
+ }
+
+ emit endOfWho(parameterList[1]);
+ break;
+ }
+ case RPL_WHOISCHANNELS:
+ {
+ QStringList userChannels,voiceChannels,opChannels,halfopChannels,ownerChannels,adminChannels;
+
+ // get a list of all channels the user is in
+ QStringList channelList=QStringList::split(' ',trailing);
+ channelList.sort();
+
+ // split up the list in channels where they are operator / user / voice
+ for(unsigned int index=0; index < channelList.count(); index++)
+ {
+ QString lookChannel=channelList[index];
+ if(lookChannel.startsWith("*") || lookChannel.startsWith("&"))
+ {
+ adminChannels.append(lookChannel.mid(1));
+ server->setChannelNick(lookChannel.mid(1), parameterList[1], 16);
+ }
+ // See bug #97354 part 2
+ else if((lookChannel.startsWith("!") || lookChannel.startsWith("~")) && server->isAChannel(lookChannel.mid(1)))
+ {
+ ownerChannels.append(lookChannel.mid(1));
+ server->setChannelNick(lookChannel.mid(1), parameterList[1], 8);
+ }
+ // See bug #97354 part 1
+ else if(lookChannel.startsWith("@+"))
+ {
+ opChannels.append(lookChannel.mid(2));
+ server->setChannelNick(lookChannel.mid(2), parameterList[1], 4);
+ }
+ else if(lookChannel.startsWith("@"))
+ {
+ opChannels.append(lookChannel.mid(1));
+ server->setChannelNick(lookChannel.mid(1), parameterList[1], 4);
+ }
+ else if(lookChannel.startsWith("%"))
+ {
+ halfopChannels.append(lookChannel.mid(1));
+ server->setChannelNick(lookChannel.mid(1), parameterList[1], 2);
+ }
+ else if(lookChannel.startsWith("+"))
+ {
+ voiceChannels.append(lookChannel.mid(1));
+ server->setChannelNick(lookChannel.mid(1), parameterList[1], 1);
+ }
+ else
+ {
+ userChannels.append(lookChannel);
+ server->setChannelNick(lookChannel, parameterList[1], 0);
+ }
+ } // endfor
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ if(userChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is a user on channels: %2")
+ .arg(parameterList[1])
+ .arg(userChannels.join(" "))
+ );
+ }
+ if(voiceChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 has voice on channels: %2")
+ .arg(parameterList[1]).arg(voiceChannels.join(" "))
+ );
+ }
+ if(halfopChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is a halfop on channels: %2")
+ .arg(parameterList[1]).arg(halfopChannels.join(" "))
+ );
+ }
+ if(opChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is an operator on channels: %2")
+ .arg(parameterList[1]).arg(opChannels.join(" "))
+ );
+ }
+ if(ownerChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is owner of channels: %2")
+ .arg(parameterList[1]).arg(ownerChannels.join(" "))
+ );
+ }
+ if(adminChannels.count())
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is admin on channels: %2")
+ .arg(parameterList[1]).arg(adminChannels.join(" "))
+ );
+ }
+ }
+ break;
+ }
+ case RPL_WHOISSERVER:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ if(nickInfo)
+ {
+ nickInfo->setNetServer(parameterList[2]);
+ nickInfo->setNetServerInfo(trailing);
+ // Clear the away state on assumption that if nick is away, this message will be followed
+ // by a 301 RPL_AWAY message. Not necessary a invalid assumption, but what can we do?
+ nickInfo->setAway(false);
+ nickInfo->setAwayMessage(QString());
+ }
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is online via %2 (%3).").arg(parameterList[1])
+ .arg(parameterList[2]).arg(trailing)
+ );
+ }
+ break;
+ }
+ case RPL_WHOISHELPER:
+ {
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 is available for help.")
+ .arg(parameterList[1])
+ );
+ }
+ break;
+ }
+ case RPL_WHOISOPERATOR:
+ {
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ if (trailing.lower().simplifyWhiteSpace().startsWith("is an irc operator"))
+ server->appendMessageToFrontmost(i18n("Whois"),i18n("%1 is an IRC Operator.").arg(parameterList[1]));
+ else
+ server->appendMessageToFrontmost(i18n("Whois"),QString("%1 %2").arg(parameterList[1]).arg(trailing));
+ }
+ break;
+ }
+ case RPL_WHOISIDLE:
+ {
+ // get idle time in seconds
+ long seconds=parameterList[2].toLong();
+ long minutes=seconds/60;
+ long hours =minutes/60;
+ long days =hours/24;
+
+ // if idle time is longer than a day
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ if(days)
+ {
+ const QString daysString = i18n("1 day", "%n days", days);
+ const QString hoursString = i18n("1 hour", "%n hours", (hours % 24));
+ const QString minutesString = i18n("1 minute", "%n minutes", (minutes % 60));
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = (x seconds)",
+ "%1 has been idle for %2, %3, %4, and %5.")
+ .arg(parameterList[1])
+ .arg(daysString).arg(hoursString).arg(minutesString).arg(secondsString)
+ );
+ // or longer than an hour
+ }
+ else if(hours)
+ {
+ const QString hoursString = i18n("1 hour", "%n hours", hours);
+ const QString minutesString = i18n("1 minute", "%n minutes", (minutes % 60));
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)",
+ "%1 has been idle for %2, %3, and %4.")
+ .arg(parameterList[1])
+ .arg(hoursString).arg(minutesString).arg(secondsString)
+ );
+ // or longer than a minute
+ }
+ else if(minutes)
+ {
+ const QString minutesString = i18n("1 minute", "%n minutes", minutes);
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 = name of person, %2 = (x minutes), %3 = (x seconds)",
+ "%1 has been idle for %2 and %3.")
+ .arg(parameterList[1])
+ .arg(minutesString).arg(secondsString)
+ );
+ // or just some seconds
+ }
+ else
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 has been idle for 1 second.", "%1 has been idle for %n seconds.", seconds)
+ .arg(parameterList[1])
+ );
+ }
+ }
+
+ if(parameterList.count()==4)
+ {
+ QDateTime when;
+ when.setTime_t(parameterList[3].toUInt());
+ NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ if(nickInfo)
+ {
+ nickInfo->setOnlineSince(when);
+ }
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),
+ i18n("%1 has been online since %2.")
+ .arg(parameterList[1]).arg(when.toString(Qt::LocalDate))
+ );
+ }
+ }
+ break;
+ }
+ case RPL_ENDOFWHOIS:
+ {
+ //NickInfo* nickInfo = server->getNickInfo(parameterList[1]);
+ // Display message only if this was not an automatic request.
+ if(getAutomaticRequest("WHOIS",parameterList[1])==0)
+ {
+ server->appendMessageToFrontmost(i18n("Whois"),i18n("End of WHOIS list."));
+ }
+ // was this an automatic request?
+ if(getAutomaticRequest("WHOIS",parameterList[1])!=0)
+ {
+ setAutomaticRequest("WHOIS",parameterList[1],false);
+ }
+ break;
+ }
+ case RPL_USERHOST:
+ {
+ // iterate over all nick/masks in reply
+ QStringList uhosts=QStringList::split(" ",trailing);
+
+ for(unsigned int index=0;index<uhosts.count();index++)
+ {
+ // extract nickname and hostmask from reply
+ QString nick(uhosts[index].section('=',0,0));
+ QString mask(uhosts[index].section('=',1));
+
+ // get away and IRC operator flags
+ bool away=(mask[0]=='-');
+ bool ircOp=(nick[nick.length()-1]=='*');
+
+ // cut flags from nick/hostmask
+ mask=mask.mid(1);
+ if(ircOp)
+ {
+ nick=nick.left(nick.length()-1);
+ }
+
+ // inform server of this user's data
+ emit userhost(nick,mask,away,ircOp);
+
+ // display message only if this was no automatic request
+ if(getAutomaticRequest("USERHOST",nick)==0)
+ {
+ server->appendMessageToFrontmost(i18n("Userhost"),
+ i18n("%1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away", "%1%2 is %3%4.")
+ .arg(nick)
+ .arg((ircOp) ? i18n(" (IRC Operator)") : QString())
+ .arg(mask)
+ .arg((away) ? i18n(" (away)") : QString()));
+ }
+
+ // was this an automatic request?
+ if(getAutomaticRequest("USERHOST",nick)!=0)
+ {
+ setAutomaticRequest("USERHOST",nick,false);
+ }
+ } // for
+ break;
+ }
+ case RPL_LISTSTART: //FIXME This reply is obsolete!!!
+ {
+ if(getAutomaticRequest("LIST",QString())==0)
+ {
+ server->appendMessageToFrontmost(i18n("List"),i18n("List of channels:"));
+ }
+ break;
+ }
+ case RPL_LIST:
+ {
+ if(getAutomaticRequest("LIST",QString())==0)
+ {
+ QString message;
+ message=i18n("%1 (%n user): %2", "%1 (%n users): %2", parameterList[2].toInt());
+ server->appendMessageToFrontmost(i18n("List"),message.arg(parameterList[1]).arg(trailing));
+ }
+ else // send them to /LIST window
+ {
+ emit addToChannelList(parameterList[1],parameterList[2].toInt(),trailing);
+ }
+
+ break;
+ }
+ case RPL_LISTEND:
+ {
+ // was this an automatic request?
+ if(getAutomaticRequest("LIST",QString())==0)
+ {
+ server->appendMessageToFrontmost(i18n("List"),i18n("End of channel list."));
+ }
+ else
+ {
+ setAutomaticRequest("LIST",QString(),false);
+ }
+ break;
+ }
+ case RPL_NOWAWAY:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[0]);
+ if (nickInfo) nickInfo->setAway(true);
+
+ server->setAway(true);
+
+ break;
+ }
+ case RPL_UNAWAY:
+ {
+ NickInfo* nickInfo = server->getNickInfo(parameterList[0]);
+
+ if (nickInfo)
+ {
+ nickInfo->setAway(false);
+ nickInfo->setAwayMessage(QString());
+ }
+
+ server->setAway(false);
+
+ break;
+ }
+ case RPL_BANLIST:
+ {
+ if (getAutomaticRequest("BANLIST", parameterList[1]))
+ {
+ server->addBan(parameterList[1], parameterList.join(" ").section(' ', 2, 4));
+ } else {
+ QDateTime when;
+ when.setTime_t(parameterList[4].toUInt());
+
+ server->appendMessageToFrontmost(i18n("BanList:%1").arg(parameterList[1]), i18n("BanList message: e.g. *!*@aol.com set by MrGrim on <date>", "%1 set by %2 on %3").arg(parameterList[2]).arg(parameterList[3].section('!', 0, 0)).arg(when.toString(Qt::LocalDate)));
+ }
+ break;
+ }
+ case RPL_ENDOFBANLIST:
+ {
+ if (getAutomaticRequest("BANLIST", parameterList[1]))
+ {
+ setAutomaticRequest("BANLIST", parameterList[1], false);
+ } else {
+ server->appendMessageToFrontmost(i18n("BanList:%1").arg(parameterList[1]), i18n("End of Ban List."));
+ }
+ break;
+ }
+ case ERR_NOCHANMODES:
+ {
+ ChatWindow *chatwindow = server->getChannelByName(parameterList[1]);
+ if(chatwindow)
+ {
+ chatwindow->appendServerMessage(i18n("Channel"), trailing);
+ }
+ else // We couldn't join the channel , so print the error. with [#channel] : <Error Message>
+ {
+ server->appendMessageToFrontmost(i18n("Channel"), trailing);
+ }
+ break;
+ }
+ case ERR_NOSUCHSERVER:
+ {
+ //Some servers don't know their name, so they return an error instead of the PING data
+ if (getLagMeasuring() && trailing.startsWith(prefix))
+ {
+ server->pongReceived();
+ }
+ break;
+ }
+ case ERR_UNAVAILRESOURCE:
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("%1 is currently unavailable.").arg(parameterList[1]));
+
+ break;
+ }
+ case RPL_HIGHCONNECTCOUNT:
+ case RPL_LUSERCLIENT:
+ case RPL_LUSEROP:
+ case RPL_LUSERUNKNOWN:
+ case RPL_LUSERCHANNELS:
+ case RPL_LUSERME:
+ {
+ server->appendStatusMessage(i18n("Users"), parameterList.join(" ").section(' ',1) + ' '+trailing);
+ break;
+ }
+ case ERR_UNKNOWNCOMMAND:
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("%1: Unknown command.").arg(parameterList[1]));
+
+ break;
+ }
+ case ERR_NOTREGISTERED:
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("Not registered."));
+
+ break;
+ }
+ case ERR_NEEDMOREPARAMS:
+ {
+ server->appendMessageToFrontmost(i18n("Error"),i18n("%1: This command requires more parameters.").arg(parameterList[1]));
+
+ break;
+ }
+ case RPL_CAPAB: // Special freenode reply afaik
+ {
+ // Disable as we don't use this for anything yet
+ if(trailing.contains("IDENTIFY-MSG"))
+ {
+ server->enableIdentifyMsg(true);
+ break;
+ }
+
+ /* don't break; - this is also used as RPL_DATASTR on ircu and some others */
+ }
+ // FALLTHROUGH to default to let the error display otherwise
+ default:
+ {
+ // All yet unknown messages go into the frontmost window without the
+ // preceding nickname
+ server->appendMessageToFrontmost(command, parameterList.join(" ").section(' ',1) + ' '+trailing);
+ }
+ } // end of numeric switch
+ }
+}
+
+void InputFilter::parseModes(const QString &sourceNick, const QStringList &parameterList)
+{
+ const QString modestring=parameterList[1];
+
+ if (!isAChannel(parameterList[0]))
+ {
+ QString message;
+ if (parameterList[0] == server->getNickname())
+ {
+ if (sourceNick == server->getNickname())
+ {
+ //XXX someone might care about the potentially unnecessary plural here
+ message = i18n("You have set personal modes: ") + modestring;
+ }
+ else
+ { //XXX someone might care about the potentially unnecessary plural here
+ message = QString("%1 %2 %3").arg(sourceNick).arg(i18n("has changed your personal modes:")).arg(modestring);
+ }
+ }
+ if (!message.isEmpty())
+ server->appendStatusMessage(i18n("Mode"), message);
+ return;
+ }
+
+ bool plus=false;
+ int parameterIndex=0;
+ // List of modes that need a parameter (note exception with -k and -l)
+ // Mode q is quiet on freenode and acts like b... if this is a channel mode on other
+ // networks then more logic is needed here. --MrGrim
+ QString parameterModes="aAoOvhkbleIq";
+ QString message = sourceNick + i18n(" sets mode: ") + modestring;
+
+ for(unsigned int index=0;index<modestring.length();index++)
+ {
+ unsigned char mode=modestring[index];
+ QString parameter;
+
+ // Check if this is a mode or a +/- qualifier
+ if(mode=='+' || mode=='-')
+ {
+ plus=(mode=='+');
+ }
+ else
+ {
+ // Check if this was a parameter mode
+ if(parameterModes.find(mode)!=-1)
+ {
+ // Check if the mode actually wants a parameter. -k and -l do not!
+ if(plus || (!plus && (mode!='k') && (mode!='l')))
+ {
+ // Remember the mode parameter
+ parameter=parameterList[2+parameterIndex];
+ message += ' ' + parameter;
+ // Switch to next parameter
+ ++parameterIndex;
+ }
+ }
+ // Let the channel update its modes
+ if(parameter.isEmpty()) // XXX Check this to ensure the braces are in the correct place
+ {
+ kdDebug() << "in updateChannelMode. sourceNick: '" << sourceNick << "' parameterlist: '"
+ << parameterList.join(", ") << "'"
+ << endl;
+ }
+ server->updateChannelMode(sourceNick,parameterList[0],mode,plus,parameter);
+ }
+ } // endfor
+
+ if (Preferences::useLiteralModes())
+ {
+ server->appendCommandMessageToChannel(parameterList[0],i18n("Mode"),message);
+ }
+}
+
+// # & + and ! are *often*, but not necessarily, Channel identifiers. + and ! are non-RFC,
+// so if a server doesn't offer 005 and supports + and ! channels, I think thats broken behaviour
+// on their part - not ours. --Argonel
+bool InputFilter::isAChannel(const QString &check)
+{
+ Q_ASSERT(server);
+ // if we ever see the assert, we need the ternary
+ return server? server->isAChannel(check) : QString("#&").contains(check.at(0));
+}
+
+bool InputFilter::isIgnore(const QString &sender, Ignore::Type type)
+{
+ bool doIgnore = false;
+
+ QPtrList<Ignore> list = Preferences::ignoreList();
+
+ for(unsigned int index =0; index<list.count(); index++)
+ {
+ Ignore* item = list.at(index);
+ QRegExp ignoreItem(QRegExp::escape(item->getName()).replace("\\*", "(.*)"),false);
+ if (ignoreItem.exactMatch(sender) && (item->getFlags() & type))
+ doIgnore = true;
+ if (ignoreItem.exactMatch(sender) && (item->getFlags() & Ignore::Exception))
+ return false;
+ }
+
+ return doIgnore;
+}
+
+void InputFilter::reset()
+{
+ automaticRequest.clear();
+ whoRequestList.clear();
+}
+
+void InputFilter::setAutomaticRequest(const QString& command, const QString& name, bool yes)
+{
+ automaticRequest[command][name.lower()] += (yes) ? 1 : -1;
+ if(automaticRequest[command][name.lower()]<0)
+ {
+ kdDebug() << "InputFilter::automaticRequest( " << command << ", " << name
+ << " ) was negative! Resetting!"
+ << endl;
+ automaticRequest[command][name.lower()]=0;
+ }
+}
+
+int InputFilter::getAutomaticRequest(const QString& command, const QString& name)
+{
+ return automaticRequest[command][name.lower()];
+}
+
+void InputFilter::addWhoRequest(const QString& name) { whoRequestList << name.lower(); }
+
+bool InputFilter::isWhoRequestUnderProcess(const QString& name) { return (whoRequestList.contains(name.lower())>0); }
+
+void InputFilter::setLagMeasuring(bool state) { lagMeasuring=state; }
+
+bool InputFilter::getLagMeasuring() { return lagMeasuring; }
+
+void InputFilter::parsePrivMsg(const QString& prefix,
+ const QStringList& parameterList,
+ const QString& trailing)
+{
+ int pos = prefix.find("!");
+ QString source;
+ QString sourceHostmask;
+ QString message(trailing);
+
+ if(pos > 0)
+ {
+ source = prefix.left(pos);
+ sourceHostmask = prefix.mid(pos + 1);
+ }
+ else
+ {
+ source = prefix;
+ }
+
+ KonversationApplication* konv_app = static_cast<KonversationApplication*>(kapp);
+ message = konv_app->doAutoreplace(message, false);
+
+ if(isAChannel(parameterList[0]))
+ {
+ if(!isIgnore(prefix, Ignore::Channel))
+ {
+ Channel* channel = server->getChannelByName(parameterList[0]);
+ if(channel)
+ {
+ channel->append(source, message);
+
+ if(source != server->getNickname())
+ {
+ QRegExp regexp("(^|[^\\d\\w])" +
+ QRegExp::escape(server->loweredNickname()) +
+ "([^\\d\\w]|$)");
+ regexp.setCaseSensitive(false);
+ if(message.find(regexp) !=-1 )
+ {
+ konv_app->notificationHandler()->nick(channel,
+ source, message);
+ }
+ else
+ {
+ konv_app->notificationHandler()->message(channel,
+ source, message);
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if(!isIgnore(prefix,Ignore::Query))
+ {
+ NickInfoPtr nickinfo = server->obtainNickInfo(source);
+ nickinfo->setHostmask(sourceHostmask);
+
+ // Create a new query (server will check for dupes)
+ query = server->addQuery(nickinfo, false /*we didn't initiate this*/ );
+
+ // send action to query
+ query->appendQuery(source, message);
+
+ if(source != server->getNickname() && query)
+ {
+ QRegExp regexp("(^|[^\\d\\w])" +
+ QRegExp::escape(server->loweredNickname()) +
+ "([^\\d\\w]|$)");
+ regexp.setCaseSensitive(false);
+ if(message.find(regexp) !=-1 )
+ {
+ konv_app->notificationHandler()->nick(query,
+ source, message);
+ }
+ else
+ {
+ konv_app->notificationHandler()->queryMessage(query,
+ source, message);
+ }
+ }
+ }
+ }
+}
+
+#include "inputfilter.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/inputfilter.h b/konversation/src/inputfilter.h
new file mode 100644
index 0000000..2edb985
--- /dev/null
+++ b/konversation/src/inputfilter.h
@@ -0,0 +1,94 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef INPUTFILTER_H
+#define INPUTFILTER_H
+
+#include "ignore.h"
+
+#include <qobject.h>
+#include <qstringlist.h>
+
+
+class Server;
+class QWidget;
+class Query;
+class QDateTime;
+
+class InputFilter : public QObject
+{
+ Q_OBJECT
+
+ public:
+ InputFilter();
+ ~InputFilter();
+
+ void setServer(Server* newServer);
+ void parseLine(const QString &line);
+
+ void reset(); // reset AutomaticRequest, WhoRequestList
+
+ // use this when the client does automatics, like userhost for finding hostmasks
+ void setAutomaticRequest(const QString& command, const QString& name, bool yes);
+ int getAutomaticRequest(const QString& command, const QString& name);
+ void addWhoRequest(const QString& name); // called from Server::send()
+ // to avoid duplicate requests
+ bool isWhoRequestUnderProcess(const QString& name);
+ void setLagMeasuring(bool yes);
+ bool getLagMeasuring();
+
+ signals:
+ void welcome(const QString& ownHost);
+ void notifyResponse(const QString &nicksOnline);
+ // will be connected to Server::startReverseDccSendTransfer()
+ void startReverseDccSendTransfer(const QString &sourceNick, const QStringList &dccArgument);
+ // will be connected to Server::addDccGet()
+ void addDccGet(const QString &sourceNick, const QStringList &dccArgument);
+ // will be connected to Server::resumeDccGetTransfer()
+ void resumeDccGetTransfer(const QString &sourceNick, const QStringList &dccArgument);
+ // will be connected to Server::resumeDccSendTransfer()
+ void resumeDccSendTransfer(const QString &sourceNick, const QStringList &dccArgument);
+ // will be connected to Server::userhost()
+ void userhost(const QString& nick,const QString& hostmask,bool away,bool ircOp);
+ // will be connected to Server::setTopicAuthor()
+ void topicAuthor(const QString& channel, const QString& author, QDateTime t);
+ void endOfWho(const QString& target); // for scheduling auto /WHO
+ void addChannelListPanel();
+ void addToChannelList(const QString& channel,int users,const QString& topic);
+ void invitation(const QString& nick,const QString& channel);
+
+ void addDccChat(const QString& myNick,const QString& nick,const QStringList& arguments,bool listen);
+
+ protected:
+ void parseClientCommand(const QString &prefix, const QString &command, const QStringList &parameterList, const QString &trailing);
+ void parseServerCommand(const QString &prefix, const QString &command, const QStringList &parameterList, const QString &trailing);
+ void parseModes(const QString &sourceNick, const QStringList &parameterList);
+ void parsePrivMsg(const QString& prefix, const QStringList& parameterList, const QString& trailing);
+
+ bool isAChannel(const QString &check);
+ bool isIgnore(const QString &pattern, Ignore::Type type);
+
+ Server* server;
+ // automaticRequest[command][channel or nick]=count
+ QMap< QString, QMap<QString,int> > automaticRequest;
+ QStringList whoRequestList;
+ int lagMeasuring;
+
+ Query* query;
+
+ int m_debugCount;
+
+ /// Used when handling MOTD
+ bool m_connecting;
+};
+#endif
diff --git a/konversation/src/insertchardialog.cpp b/konversation/src/insertchardialog.cpp
new file mode 100644
index 0000000..3b5c080
--- /dev/null
+++ b/konversation/src/insertchardialog.cpp
@@ -0,0 +1,57 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#include "insertchardialog.h"
+
+#include <kcharselect.h>
+#include <klocale.h>
+#include <kguiitem.h>
+
+
+namespace Konversation
+{
+
+ InsertCharDialog::InsertCharDialog(const QString& font, QWidget *parent, const char *name)
+ : KDialogBase(parent, name, false, i18n("Insert Character"),
+ KDialogBase::Ok | KDialogBase::Close,
+ KDialogBase::Ok, false)
+ {
+ setButtonOK(KGuiItem(i18n("&Insert"), "ok", i18n("Insert a character")));
+
+ m_charTable = new KCharSelect(this, "charTable", font);
+ m_charTable->enableFontCombo(false);
+ setMainWidget(m_charTable);
+
+ connect(m_charTable, SIGNAL(doubleClicked()), this, SLOT(slotOk()));
+ }
+
+ InsertCharDialog::~InsertCharDialog()
+ {
+ }
+
+ void InsertCharDialog::setFont(const QFont &font)
+ {
+ m_charTable->setFont(font.family());
+ }
+
+ QChar InsertCharDialog::chr()
+ {
+ return m_charTable->chr();
+ }
+
+ void InsertCharDialog::slotOk()
+ {
+ emit insertChar(m_charTable->chr());
+ }
+
+}
+
+#include "insertchardialog.moc"
diff --git a/konversation/src/insertchardialog.h b/konversation/src/insertchardialog.h
new file mode 100644
index 0000000..a2c0001
--- /dev/null
+++ b/konversation/src/insertchardialog.h
@@ -0,0 +1,46 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONINSERTCHARDIALOG_H
+#define KONVERSATIONINSERTCHARDIALOG_H
+
+#include <kdialogbase.h>
+
+
+class KCharSelect;
+class QChar;
+
+namespace Konversation
+{
+
+ class InsertCharDialog : public KDialogBase
+ {
+ Q_OBJECT
+
+ public:
+ explicit InsertCharDialog(const QString& font = QString(), QWidget *parent = 0, const char *name = 0);
+ ~InsertCharDialog();
+
+ void setFont(const QFont &font);
+ QChar chr();
+
+ protected slots:
+ virtual void slotOk();
+
+ signals:
+ void insertChar(const QChar&);
+
+ private:
+ KCharSelect* m_charTable;
+ };
+
+}
+#endif
diff --git a/konversation/src/irccharsets.cpp b/konversation/src/irccharsets.cpp
new file mode 100644
index 0000000..89fdf4f
--- /dev/null
+++ b/konversation/src/irccharsets.cpp
@@ -0,0 +1,177 @@
+// A wrapper for KCharsets
+// Copyright (C) 2004, 2006 Shintaro Matsuoka <shin@shoegazed.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.
+*/
+
+#include "irccharsets.h"
+
+#include <qglobal.h>
+#include <qregexp.h>
+#include <qtextcodec.h>
+#include <kcharsets.h>
+#include <kdebug.h>
+#include <kglobal.h>
+#include <kstaticdeleter.h>
+
+#if QT_VERSION < 0x030300
+#include <klocale.h>
+#else
+#include <qlocale.h>
+#endif
+
+
+namespace Konversation
+{
+
+ IRCCharsets* IRCCharsets::s_self = 0;
+ static KStaticDeleter<IRCCharsets> staticIRCCharsetDeleter;
+
+ IRCCharsets *IRCCharsets::self()
+ {
+ if(!s_self)
+ staticIRCCharsetDeleter.setObject(s_self, new IRCCharsets());
+ return s_self;
+ }
+
+ QStringList IRCCharsets::availableEncodingShortNames()
+ {
+ return m_shortNames;
+ }
+
+ QStringList IRCCharsets::availableEncodingDescriptiveNames()
+ {
+ return m_descriptiveNames;
+ }
+
+ int IRCCharsets::availableEncodingsCount()
+ {
+ return m_shortNames.count();
+ }
+
+ QString IRCCharsets::shortNameToDescriptiveName( const QString& shortName )
+ {
+ return m_descriptiveNames[ shortNameToIndex( shortName ) ];
+ }
+
+ QString descriptiveNameToShortName( const QString& descriptiveName )
+ {
+ return KGlobal::charsets()->encodingForName( descriptiveName );
+ }
+
+ QString IRCCharsets::ambiguousNameToShortName( const QString& ambiguousName )
+ {
+ // simplify ambiguousName
+ QString simplifiedAmbiguousName( ambiguousName.lower() );
+ simplifiedAmbiguousName.replace( QRegExp( "[^a-z0-9]" ), "" );
+
+ // search m_simplifiedShortNames
+ int index = 0;
+ for ( QStringList::iterator it = m_simplifiedShortNames.begin() ; it != m_simplifiedShortNames.end() ; ++it )
+ {
+ if ( (*it) == simplifiedAmbiguousName )
+ return m_shortNames[index];
+ ++index;
+ }
+
+ // search m_shortNameAliases
+ if ( m_shortNameAliases.contains( simplifiedAmbiguousName ) )
+ return m_shortNameAliases[ simplifiedAmbiguousName ];
+
+ // failed
+ return QString();
+ }
+
+ int IRCCharsets::shortNameToIndex( const QString& shortName )
+ {
+ int index = 0;
+ for ( QStringList::iterator it = m_shortNames.begin() ; it != m_shortNames.end() ; ++it )
+ {
+ if ( (*it) == shortName )
+ return index;
+ ++index;
+ }
+ return -1;
+ }
+
+ bool IRCCharsets::isValidEncoding( const QString& shortName )
+ {
+ return ( m_shortNames.contains( shortName ) > 0 );
+ }
+
+ QString IRCCharsets::encodingForLocale()
+ {
+ #if QT_VERSION < 0x030300
+ QString locale = KLocale::defaultLanguage();
+ #else
+ QString locale = QLocale::system().name();
+ #endif
+
+ // Special cases
+ // don't add conditions for the languages for which QTextCodec::codecForLocale() returns a correct codec.
+ if ( locale == "ja_JP" )
+ return "jis7";
+
+ // it's a little hacky..
+ for ( QStringList::iterator it = m_shortNames.begin() ; it != m_shortNames.end() ; ++it )
+ if ( QTextCodec::codecForName( (*it).ascii() ) == QTextCodec::codecForLocale() )
+ return *it;
+
+ return "utf8";
+ }
+
+ QTextCodec* IRCCharsets::codecForName( const QString& shortName )
+ {
+ if(shortName == "iso-2022-jp")
+ return QTextCodec::codecForName( "jis7" );
+ else
+ return QTextCodec::codecForName( shortName.ascii() );
+ }
+
+ IRCCharsets::IRCCharsets()
+ {
+ s_self = this;
+
+ // setup m_shortNameAliases
+ // use only [a-z0-9] for keys!
+ m_shortNameAliases["unicode"] = "utf8";
+ m_shortNameAliases["latin1"] = "iso-8859-1";
+
+ // setup m_shortNames, m_descriptiveNames, m_simplifiedShortNames
+ QRegExp reSimplify( "[^a-zA-Z0-9]" );
+ m_descriptiveNames = KGlobal::charsets()->descriptiveEncodingNames();
+ QStringList::Iterator it = m_descriptiveNames.begin();
+ while ( it != m_descriptiveNames.end() )
+ {
+ QString encodingName = KGlobal::charsets()->encodingForName( *it );
+ // exclude encodings which are not supported on IRC
+ if ( encodingName == "iso-10646-ucs-2" ||
+ encodingName == "ucs2" ||
+ encodingName == "utf16" ||
+ encodingName == "utf7" )
+ {
+ it = m_descriptiveNames.remove( it );
+ }
+ else
+ {
+ m_shortNames.append( encodingName );
+ m_simplifiedShortNames.append( encodingName.replace( reSimplify, "" ) );
+
+ if(encodingName == "jis7") // Add iso-2022-jp which is same as jis7 but not in Qt
+ {
+ it = m_descriptiveNames.insert(it, "Japanese ( iso-2022-jp )");
+ m_shortNames.append( "iso-2022-jp" );
+ m_simplifiedShortNames.append( "ISO-2022-JP" );
+ ++it;
+ }
+ ++it;
+ }
+
+ }
+ }
+
+}
diff --git a/konversation/src/irccharsets.h b/konversation/src/irccharsets.h
new file mode 100644
index 0000000..1f7facd
--- /dev/null
+++ b/konversation/src/irccharsets.h
@@ -0,0 +1,106 @@
+// A wrapper for KCharsets
+// Copyright (C) 2004 Shintaro Matsuoka <shin@shoegazed.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.
+*/
+
+#ifndef KONVERSATION_IRCCHARSETS_H
+#define KONVERSATION_IRCCHARSETS_H
+
+#include <qmap.h>
+#include <qstringlist.h>
+
+
+namespace Konversation
+{
+
+ class IRCCharsets
+ {
+ private:
+ IRCCharsets();
+
+ public:
+ static IRCCharsets *self();
+
+ /**
+ * Lists all available encoding names.
+ * e.g. "utf8", "iso 8859-1"
+ * Encodings which don't work on IRC are excluded. (e.g. utf16)
+ * @note It's guaranteed that the order of this list is same with that of @ref availableEncodingDescriptiveNames() .
+ */
+ QStringList availableEncodingShortNames();
+
+ /**
+ * Lists all available encoding descriptions.
+ * e.g. "Unicode ( utf8 )", "Western European ( iso 8859-1 )"
+ * Encodings which don't work on IRC are excluded. (e.g. utf16)
+ */
+ QStringList availableEncodingDescriptiveNames();
+
+ int availableEncodingsCount();
+
+ QString shortNameToDescriptiveName( const QString& shortName );
+ QString descriptiveNameToShortName( const QString& descriptiveName );
+
+ /**
+ * Converts the ambiguous encoding name to a short encoding name
+ * Like : iso8859-9 -> iso 8859-9, iso-8859-9 -> iso 8859-9
+ * If the ambiguous name is invalid, returns QString:null.
+ * @return a short encoding name or QString::null
+ */
+ QString ambiguousNameToShortName( const QString& ambiguousName );
+
+ /**
+ * Returns the encoding index in the short names list or the descriptions list.
+ * If the encoding name is invalid, returns -1.
+ * @return an index number of the encoding
+ */
+ int shortNameToIndex( const QString& shortName );
+
+ /**
+ * Checks if the encoding name is in the short encoding names.
+ * @see availableEncodingShortNames()
+ */
+ bool isValidEncoding( const QString& shortName );
+
+ /**
+ * Returns the short name of the most suitable encoding for this locale.
+ * @return a short encoding name
+ */
+ QString encodingForLocale();
+
+ QTextCodec* codecForName( const QString& shortName );
+
+ private:
+ QMap<QString,QString> m_shortNameAliases;
+
+ /**
+ * short names list
+ * you can get this list with @ref availableEncodingShortNames()
+ * e.g. iso 8859-1
+ */
+ QStringList m_shortNames;
+
+ /**
+ * descriptive names list
+ * you can get this list with @ref availableEncodingDescriptiveNames();
+ * e.g. Western European ( iso 8859-1 )
+ */
+ QStringList m_descriptiveNames;
+
+ /**
+ * simplified short names list (for internal use)
+ * e.g. iso88591
+ * used in @ref ambiguousNameToShortName()
+ */
+ QStringList m_simplifiedShortNames;
+
+ static IRCCharsets *s_self;
+ };
+
+}
+#endif // KONVERSATION_IRCCHARSETS_H
diff --git a/konversation/src/irccolorchooser.cpp b/konversation/src/irccolorchooser.cpp
new file mode 100644
index 0000000..3cf6ccf
--- /dev/null
+++ b/konversation/src/irccolorchooser.cpp
@@ -0,0 +1,83 @@
+/*
+ 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.
+*/
+
+/*
+ dialog used to add irc colors to your messages
+ begin: Wed 9 July 2003
+ copyright: (C) 2003 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "irccolorchooser.h"
+#include "irccolorchooserui.h"
+#include "config/preferences.h"
+
+#include <qlabel.h>
+#include <qpixmap.h>
+
+#include <klocale.h>
+#include <kcombobox.h>
+
+
+IRCColorChooser::IRCColorChooser(QWidget* parent, const char* name)
+: KDialogBase(parent, name, true, i18n("IRC Color Chooser"), Ok|Cancel, Ok)
+{
+ m_view = new IRCColorChooserUI(this);
+ setMainWidget(m_view);
+ initColors(m_view->m_fgColorCBox);
+ initColors(m_view->m_bgColorCBox);
+ m_view->m_bgColorCBox->insertItem(i18n("None"), 0);
+
+ connect(m_view->m_fgColorCBox, SIGNAL(activated(int)), this, SLOT(updatePreview()));
+ connect(m_view->m_bgColorCBox, SIGNAL(activated(int)), this, SLOT(updatePreview()));
+ m_view->m_fgColorCBox->setCurrentItem(1);
+ m_view->m_bgColorCBox->setCurrentItem(0);
+ updatePreview();
+}
+
+QString IRCColorChooser::color()
+{
+ QString s;
+ s = "%C" + QString::number(m_view->m_fgColorCBox->currentItem());
+
+ if(m_view->m_bgColorCBox->currentItem() > 0)
+ {
+ s += ',' + QString::number(m_view->m_bgColorCBox->currentItem() - 1);
+ }
+
+ return s;
+}
+
+void IRCColorChooser::updatePreview()
+{
+ QColor bgc;
+
+ if(m_view->m_bgColorCBox->currentItem() > 0)
+ {
+ bgc = Preferences::ircColorCode(m_view->m_bgColorCBox->currentItem() - 1);
+ }
+ else
+ {
+ bgc = Preferences::color(Preferences::TextViewBackground);
+ }
+
+ m_view->m_previewLbl->setBackgroundColor(bgc);
+ m_view->m_previewLbl->setPaletteForegroundColor(Preferences::ircColorCode(m_view->m_fgColorCBox->currentItem()));
+}
+
+void IRCColorChooser::initColors(KComboBox* combo)
+{
+ QPixmap pix(width(), combo->fontMetrics().height() + 4);
+
+ for (int i =0; i < 15; i++)
+ {
+ pix.fill(Preferences::ircColorCode(i));
+ combo->insertItem(pix, i);
+ }
+}
+
+#include "irccolorchooser.moc"
diff --git a/konversation/src/irccolorchooser.h b/konversation/src/irccolorchooser.h
new file mode 100644
index 0000000..d1357fa
--- /dev/null
+++ b/konversation/src/irccolorchooser.h
@@ -0,0 +1,41 @@
+/*
+ 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.
+*/
+
+/*
+ dialog used to add irc colors to your messages
+ begin: Wed 9 July 2003
+ copyright: (C) 2003 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#ifndef IRCCOLORCHOOSER_H
+#define IRCCOLORCHOOSER_H
+
+#include <kdialogbase.h>
+
+
+class IRCColorChooserUI;
+class KComboBox;
+class Preferences;
+
+class IRCColorChooser : public KDialogBase
+{
+ Q_OBJECT
+ public:
+ explicit IRCColorChooser(QWidget* parent, const char* name = 0);
+ QString color();
+
+ protected slots:
+ void updatePreview();
+
+ protected:
+ void initColors(KComboBox* combo);
+
+ protected:
+ IRCColorChooserUI* m_view;
+};
+#endif
diff --git a/konversation/src/irccolorchooserui.ui b/konversation/src/irccolorchooserui.ui
new file mode 100644
index 0000000..386824c
--- /dev/null
+++ b/konversation/src/irccolorchooserui.ui
@@ -0,0 +1,148 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>IRCColorChooserUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>IRCColorChooserUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>249</width>
+ <height>122</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="2" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_previewLbl</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>Panel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="text">
+ <string>Preview</string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>This is how your message will look with these colors</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;This is a preview of how your readers may see view your message if you select these colors.&lt;br&gt;
+&lt;b&gt;Note: Not all clients support this, and some users may have chosen to ignore your color changes.&lt;/b&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="0" column="1">
+ <property name="name">
+ <cstring>m_fgColorCBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>The chosen text color is added to the input line.</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;Here you choose what color you want you the text in the next message you send to be. If you choose a color and click Ok, the chosen color is added to the Input Line. Any text written after this will be in the chosen color, until you change the color again.&lt;br&gt;
+&lt;b&gt;Note: Not all users turn on the option to see this.&lt;/b&gt;&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>m_fgColorLbl</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Foreground color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_fgColorCBox</cstring>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>The chosen text color is added to the input line.</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;Here you choose what color you want you the text in the next message you send to be. If you choose a color and click Ok, the chosen color is added to the Input Line. Any text written after this will be in the chosen color, until you change the color again.&lt;br&gt;
+&lt;b&gt;Note: Not all users turn on the option to see this.&lt;/b&gt;&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>m_bgColorCBox</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>The chosen text-background color is added to the input line.</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;Here you choose what color you want you background for the text in the next message you send to be.
+If you choose a color and click Ok, the chosen color is added to the Input Line.
+Any text written after this will have the chosen color, until you change the color again.&lt;br&gt;
+Choosing the default "&lt;i&gt;None&lt;/i&gt;" will not change the background color of your message, so your readers will view your message with their normal background text color.&lt;br&gt;
+&lt;b&gt;Note: Not all clients support this, and not all users turn on the option to see this.&lt;/b&gt;&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>m_bgColorLbl</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Background color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>m_bgColorCBox</cstring>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>The chosen text-background color is added to the input line.</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;Here you choose what color you want you background for the text in the next message you send to be.
+If you choose a color and click Ok, the chosen color is added to the Input Line.
+Any text written after this will have the chosen color, until you change the color again.&lt;br&gt;
+Choosing the default "&lt;i&gt;None&lt;/i&gt;" will not change the background color of your message, so your readers will view your message with their normal background text color.&lt;br&gt;
+&lt;b&gt;Note: Not all clients support this, and not all users turn on the option to see this.&lt;/b&gt;&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcombobox.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/ircinput.cpp b/konversation/src/ircinput.cpp
new file mode 100644
index 0000000..b69c787
--- /dev/null
+++ b/konversation/src/ircinput.cpp
@@ -0,0 +1,551 @@
+/*
+ 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.
+*/
+
+/*
+ The line input widget with chat enhanced functions
+ begin: Tue Mar 5 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "ircinput.h"
+#include "konversationapplication.h"
+#include "multilineedit.h"
+#include "chatwindow.h"
+#include "ircview.h"
+
+#include <private/qrichtext_p.h>
+#include <qclipboard.h>
+#include <qregexp.h>
+#include <qdom.h>
+#include <qevent.h>
+#include <qobject.h>
+#include <qwhatsthis.h>
+#include <qpopupmenu.h>
+
+#include <kapplication.h>
+#include <kmessagebox.h>
+#include <klocale.h>
+#include <kcompletionbox.h>
+
+#define MAXHISTORY 100
+#define RICHTEXT 0
+
+
+IRCInput::IRCInput(QWidget* parent) : KTextEdit(parent)
+{
+ m_lastHeight=document()->height();
+
+ //I am not terribly interested in finding out where this value comes from
+ //nor in compensating for it if my guess is incorrect. so, cache it.
+ m_qtBoxPadding=m_lastHeight-fontMetrics().lineSpacing();
+
+ connect(KApplication::kApplication(), SIGNAL(appearanceChanged()), this, SLOT(updateAppearance()));
+ m_multiRow = Preferences::useMultiRowInputBox();
+
+ m_useSelection = false;
+
+ // connect history signal
+ connect(this,SIGNAL (history(bool)) ,this,SLOT (getHistory(bool)) );
+ // add one empty line to the history (will be overwritten with newest entry)
+ historyList.prepend(QString());
+ // reset history line counter
+ lineNum=0;
+ // reset completion mode
+ setCompletionMode('\0');
+ completionBox = new KCompletionBox(this);
+ connect(completionBox, SIGNAL(activated(const QString&)), this, SLOT(insertCompletion(const QString&)));
+
+ // widget may not be resized vertically
+ setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding,QSizePolicy::Fixed));
+
+ //NoWrap coupled with the size policy constrains the line edit to be one row high
+ setWordWrap(m_multiRow ? WidgetWidth : NoWrap);
+
+ setHScrollBarMode(AlwaysOff);
+ setVScrollBarMode(AlwaysOff);
+ #if RICHTEXT == 1
+ setAutoFormatting(QTextEdit::AutoNone);
+ setTextFormat(RichText);
+ #else
+ setTextFormat(PlainText);
+ #endif
+
+ QWhatsThis::add(this, i18n("<qt>The input line is where you type messages to be sent the channel, query, or server. A message sent to a channel is seen by everyone on the channel, whereas a message in a query is sent only to the person in the query with you.<p>To automatically complete the nickname you began typing, press Tab. If you have not begun typing, the last successfully completed nickname will be used.<p>You can also send special commands:<br><table><tr><th>/me <i>action</i></th><td>shows up as an action in the channel or query. For example: <em>/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td></tr><tr><th>/whois <i>nickname</i></th><td>shows information about this person, including what channels they are in.</td></tr></table><p>For more commands, see the Konversation Handbook.<p>A message cannot contain multiple lines.</qt>"));
+
+ m_disableSpellCheckTimer = new QTimer(this);
+ connect(m_disableSpellCheckTimer, SIGNAL(timeout()), this, SLOT(disableSpellChecking()));
+}
+
+IRCInput::~IRCInput()
+{
+}
+
+void IRCInput::showEvent(QShowEvent* /* e */)
+{
+ m_disableSpellCheckTimer->stop();
+ setCheckSpellingEnabled(Preferences::spellChecking());
+}
+
+void IRCInput::hideEvent(QHideEvent* /* event */)
+{
+ Preferences::setSpellChecking(checkSpellingEnabled());
+
+ // If we disable spell-checking here immediately, tab switching will
+ // be very slow. If we delay it by five seconds, a user would have to
+ // need more than five seconds to switch between all his tabs before
+ // the slowdown starts to occur (show event stops the timer, i.e. wrap-
+ // around is not an issue). Unless he has unlikely amounts of channels,
+ // needing more than five seconds indicates very slow switching speed,
+ // which makes the delay a non-issue to begin with. Hence this fixes
+ // the problem on the surface. In the KDE 4 version, we want to look
+ // into having only one spell-checker instance instead of starting and
+ // stopping at all.
+ m_disableSpellCheckTimer->start(5000, true);
+}
+
+void IRCInput::disableSpellChecking()
+{
+ setCheckSpellingEnabled(false);
+}
+void IRCInput::slotSpellCheckDone(const QString& s)
+{
+ // NOTE: kdelibs 3.5's KSpell stupidly adds newlines to its
+ // buffer at some point for god-knows-what-reason, and for-
+ // gets to remove them again before handing the result back.
+ // There's a FIXME to the effect in KSpell::check. This is
+ // a workaround.
+
+ if (s == text() || s == (text() + '\n'+'\n'))
+ return;
+
+ setText(s.simplifyWhiteSpace());
+}
+
+void IRCInput::updateAppearance()
+{
+ m_multiRow = Preferences::useMultiRowInputBox();
+ setWordWrap(m_multiRow ? WidgetWidth : NoWrap);
+ m_lastHeight=heightForWidth(sizeHint().width());
+ ensureCursorVisible(); //appears to trigger updateGeometry
+}
+
+void IRCInput::resizeContents( int w, int h )
+{
+ if (document()->height() != m_lastHeight) {
+ m_lastHeight=document()->height();
+ updateGeometry();
+ }
+ KTextEdit::resizeContents(w,h);
+}
+
+// widget must be only one line high - luckily QT will enforce this via wrappping policy
+QSize IRCInput::sizeHint() const
+{
+ constPolish();
+
+ int ObscurePadding = 4;
+ int f=2*frameWidth();
+ int w=12 * (kMax(fontMetrics().lineSpacing(),14) + f + ObscurePadding);
+ int h=m_lastHeight - m_qtBoxPadding + f + ObscurePadding;
+ return QSize(w,h);
+}
+
+QPopupMenu *IRCInput::createPopupMenu( const QPoint &pos )
+{
+ QPopupMenu *menu=KTextEdit::createPopupMenu(pos);
+ menu->removeItemAt(menu->count()-1);
+ menu->removeItemAt(menu->count()-1);
+ return menu;
+}
+
+QString IRCInput::text() const
+{
+ #if RICHTEXT == 1
+ QString content=KTextEdit::text();
+
+ QDomDocument document;
+
+ document.setContent(content,false);
+ QDomNodeList nodes=document.elementsByTagName("p");
+ if(nodes.count())
+ {
+ QDomElement node=nodes.item(0).toElement();
+ return node.text();
+ }
+ return QString();
+
+ #else
+ return KTextEdit::text();
+ #endif
+}
+
+void IRCInput::setText(const QString& text)
+{
+ // reimplemented to set cursor at the end of the new text
+ KTextEdit::setText(text);
+ setCursorPosition(0,text.length()+1);
+}
+
+// FIXME - find a better way to do this. eventfilters introduce nebulous behaviour
+//take text events from IRCView and TopicLabel
+bool IRCInput::eventFilter(QObject *object,QEvent *event)
+{
+ if (object->isA("IRCView") || object->isA("Konversation::TopicLabel"))
+ {
+ if (event->type() == QEvent::KeyPress)
+ {
+ QKeyEvent* ke = static_cast<QKeyEvent*>(event);
+
+ // Allow tab to be handled naturally by the widget.
+ // Once it runs out of links it goes to the next control.
+ if (ke->key() == Key_Tab && (ke->state() == 0 || ke->state() == Qt::ShiftButton))
+ return false;
+
+ if (!ke->text().isEmpty() && ((ke->state() & (Qt::ShiftButton|Qt::Keypad)) || ke->state() == 0))
+ {
+ setFocus();
+ KonversationApplication::sendEvent(this,event);
+ return true;
+ }
+ }
+ }
+
+ return KTextEdit::eventFilter(object,event);
+}
+
+// Take care of Tab, Cursor and so on
+void IRCInput::keyPressEvent(QKeyEvent* e)
+{
+ switch(e->key())
+ {
+ case Key_Tab:
+ emit nickCompletion();
+ return;
+ break;
+
+ case Key_Up:
+ if (m_multiRow && (e->state() != (Qt::ShiftButton|Qt::ControlButton)))
+ break;
+ emit history(true);
+ return;
+ break;
+
+ case Key_Down:
+ if (m_multiRow && (e->state() != (Qt::ShiftButton|Qt::ControlButton)))
+ break;
+ emit history(false);
+ return;
+ break;
+
+ case Key_Enter:
+ case Key_Return:
+ {
+ if(text().length()) addHistory(text());
+ if(completionBox->isHidden())
+ {
+ // Reset completion mode
+ setCompletionMode('\0');
+
+ // Ctrl+Enter is a special case in which commands should be send as normal messages
+ if ( e->state() & ControlButton )
+ {
+ emit envelopeCommand();
+ }
+ else
+ {
+ setText(static_cast<KonversationApplication*>(kapp)->doAutoreplace(text(),true));
+ emit submit();
+ }
+ }
+ else
+ {
+ insertCompletion(completionBox->currentText());
+ completionBox->hide();
+ }
+ // prevent widget from adding lines
+ return;
+ }
+ break;
+
+ default:
+ // Check if the keystroke actually produced text. If not it was just a qualifier.
+ if(!e->text().isEmpty() || ((e->key() >= Qt::Key_Home) && (e->key() <= Qt::Key_Down)))
+ {
+ if(getCompletionMode()!='\0')
+ {
+ setCompletionMode('\0');
+ emit endCompletion();
+ }
+
+ completionBox->hide();
+ }
+
+ // support ASCII BEL
+ if(e->ascii() == 7)
+ insert("%G");
+ // support ^U (delete text in input box)
+ else if(e->ascii() == 21)
+ setText("");
+ }
+
+ KTextEdit::keyPressEvent(e);
+}
+
+void IRCInput::addHistory(const QString& line)
+{
+ // Only add line if it's not the same as the last was
+ if(historyList[1]!=line)
+ {
+ // Replace empty first entry with line
+ historyList[0]=line;
+ // Add new empty entry to history
+ historyList.prepend(QString());
+ // Remove oldest line in history, if the list grows beyond MAXHISTORY
+ if(historyList.count()>MAXHISTORY) historyList.remove(historyList.last());
+ }
+ // Reset history counter
+ lineNum=0;
+}
+
+void IRCInput::getHistory(bool up)
+{
+ // preserve text
+ historyList[lineNum]=text();
+ // Did the user press cursor up?
+ if(up)
+ {
+ // increment the line counter
+ lineNum++;
+ // if we are past the end of the list, go to the last entry
+ if(lineNum==historyList.count()) lineNum--;
+ }
+ // no, it was cursor down
+ else
+ {
+ // If we are at the top of the lest, arrow-down shall add the text to the history and clear the field for new input
+ if(lineNum==0)
+ {
+ if(text().length()) addHistory(text());
+ setText("");
+ }
+ // If we aren't at the top of the list, decrement the line counter
+ else
+ {
+ lineNum--;
+ }
+ }
+ // replace the text in the input field with history
+ setText(historyList[lineNum]);
+}
+
+/**
+ * Work around the fact that while QTextEdit::paste() is virtual, whether we are
+ * pasting from middle button or control-V is PRIVATE and NO ACCESSOR is given.
+ */
+void IRCInput::contentsMouseReleaseEvent( QMouseEvent *ev)
+{
+ if (ev->button() == Qt::MidButton)
+ {
+ m_useSelection=true;
+ }
+
+ // Reset completion
+ setCompletionMode('\0');
+ emit endCompletion();
+
+ KTextEdit::contentsMouseReleaseEvent(ev);
+ m_useSelection=false;
+}
+
+void IRCInput::paste(bool useSelection)
+{
+ m_useSelection = useSelection;
+ paste();
+ m_useSelection = false;
+}
+
+void IRCInput::paste()
+{
+ QClipboard *cb = KApplication::kApplication()->clipboard();
+ setFocus();
+
+ // Copy text from the clipboard (paste)
+ QString pasteText;
+ if(m_useSelection)
+ {
+ pasteText = cb->text( QClipboard::Selection);
+ }
+ else
+ {
+ pasteText = cb->text( QClipboard::Clipboard);
+ }
+
+ // is there any text in the clipboard?
+ if(!pasteText.isEmpty())
+ {
+ //End completion on paste
+ setCompletionMode('\0');
+ emit endCompletion();
+
+ bool signal=false;
+
+ // replace \r with \n to make xterm pastes happy
+ pasteText.replace("\r","\n");
+ // remove blank lines
+ while(pasteText.contains("\n\n"))
+ pasteText.replace("\n\n","\n");
+
+ QRegExp reTopSpace("^ *\n");
+ while(pasteText.contains(reTopSpace))
+ pasteText.remove(reTopSpace);
+
+ QRegExp reBottomSpace("\n *$");
+ while(pasteText.contains(reBottomSpace))
+ pasteText.remove(reBottomSpace);
+
+ // Escape % when var expansion is enabled
+ if (!Preferences::disableExpansion())
+ {
+ pasteText.replace ('%', "%%");
+ }
+
+ // does the text contain at least one newline character?
+ if(pasteText.find('\n')!=-1)
+ {
+ // make comparisons easier (avoid signed / unsigned warnings)
+ unsigned int pos=pasteText.find('\n');
+ unsigned int rpos=pasteText.findRev('\n');
+
+ // emit the signal if there's a line break in the middle of the text
+ if(pos>0 && pos!=(pasteText.length()-1))
+ signal=true;
+ // emit the signal if there's more than one line break in the text
+ if(pos!=rpos)
+ signal=true;
+
+ // Remove the \n from end of the line if there's only one \n
+ if(!signal)
+ pasteText.remove('\n');
+ }
+ else
+ {
+ insert(pasteText);
+ return;
+ }
+
+ // should we signal the application due to newlines in the paste?
+ if(signal)
+ {
+ // if there is text in the input line
+ if(!text().isEmpty())
+ {
+ // prepend text to the paste
+ pasteText=text()+'\n'+pasteText;
+ }
+ // ask the user on long pastes
+ if(checkPaste(pasteText))
+ {
+ // signal pasted text
+ emit textPasted(pasteText);
+ // remember old line, in case the user does not paste eventually
+ addHistory(pasteText);
+ // delete input text
+ setText("");
+ }
+ }
+ // otherwise let the KLineEdit handle the pasting
+ else KTextEdit::paste();
+ }
+}
+
+bool IRCInput::checkPaste(QString& text)
+{
+ int doPaste=KMessageBox::Yes;
+
+ //text is now preconditioned when you get here
+ int lines=text.contains('\n');
+
+ if(text.length()>256 || lines)
+ {
+ doPaste=KMessageBox::warningYesNoCancel
+ (this,
+ i18n("<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) into "
+ "the chat. This can cause connection resets or flood kills. "
+ "Do you really want to continue?</qt>").arg(text.length()).arg(lines+1),
+ i18n("Large Paste Warning"),
+ i18n("Paste"),
+ i18n("&Edit..."),
+ "LargePaste",
+ KMessageBox::Dangerous);
+ }
+
+ if (doPaste==KMessageBox::No)
+ {
+ QString ret(MultilineEdit::edit(this,text));
+ if (ret.isEmpty())
+ return false;
+ text=ret;
+ return true;
+ }
+
+ return (doPaste==KMessageBox::Yes);
+}
+
+void IRCInput::showCompletionList(const QStringList& nicks)
+{
+ completionBox->setItems(nicks);
+ completionBox->popup();
+}
+
+void IRCInput::insertCompletion(const QString& nick)
+{
+ int pos; // = cursorPosition();
+ int oldPos; // = cursorPosition();
+
+ getCursorPosition(&oldPos,&pos);
+ oldPos=pos;
+
+ QString line = text();
+
+ while(pos && line[pos-1] != ' ') pos--;
+
+ line.remove(pos, oldPos - pos);
+
+ // did we find the nick in the middle of the line?
+ if(pos)
+ {
+ QString addMiddle(Preferences::nickCompleteSuffixMiddle());
+ line.insert(pos, nick + addMiddle);
+ pos += nick.length() + addMiddle.length();
+ }
+ // no, it was at the beginning
+ else
+ {
+ setLastCompletion(nick);
+ QString addStart(Preferences::nickCompleteSuffixStart());
+ line.insert(pos, nick + addStart);
+ pos += nick.length() + addStart.length();
+ }
+
+ setText(line);
+ setCursorPosition(0,pos);
+}
+
+void IRCInput::setLastCompletion(const QString& completion)
+{
+ m_lastCompletion = completion;
+}
+
+// Accessor methods
+
+void IRCInput::setCompletionMode(char mode) { completionMode=mode; }
+char IRCInput::getCompletionMode() { return completionMode; }
+void IRCInput::setOldCursorPosition(int pos) { oldPos=pos; }
+int IRCInput::getOldCursorPosition() { return oldPos; }
+
+#include "ircinput.moc"
diff --git a/konversation/src/ircinput.h b/konversation/src/ircinput.h
new file mode 100644
index 0000000..85e42c1
--- /dev/null
+++ b/konversation/src/ircinput.h
@@ -0,0 +1,91 @@
+/*
+ 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.
+*/
+
+/*
+ The line input widget with chat enhanced functions
+ begin: Tue Mar 5 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef IRCINPUT_H
+#define IRCINPUT_H
+
+#include <qstringlist.h>
+
+#include <ktextedit.h>
+
+
+class KCompletionBox;
+class QMouseEvent;
+
+class IRCInput : public KTextEdit
+{
+ Q_OBJECT
+
+ public:
+ explicit IRCInput(QWidget* parent);
+ ~IRCInput();
+
+ void setCompletionMode(char mode);
+ char getCompletionMode();
+ void setOldCursorPosition(int pos);
+ int getOldCursorPosition();
+ QString lastCompletion() const { return m_lastCompletion; }
+
+ virtual QSize sizeHint() const;
+ QString text() const;
+
+ signals:
+ void nickCompletion();
+ void endCompletion(); // tell channel that completion phase is over
+ void history(bool up);
+ void textPasted(const QString& text);
+ void submit();
+ void envelopeCommand();
+
+ public slots:
+ void paste();
+ void paste(bool useSelection);
+ void showCompletionList(const QStringList& nicks);
+ void setText(const QString& text);
+ void setLastCompletion(const QString& completion);
+ virtual void setOverwriteMode(bool) { }
+ virtual void resizeContents( int w, int h );
+ virtual void updateAppearance();
+
+ protected slots:
+ void getHistory(bool up);
+ void insertCompletion(const QString& nick);
+ void disableSpellChecking();
+ virtual void slotSpellCheckDone(const QString& s);
+
+ protected:
+ bool eventFilter(QObject *object,QEvent *event);
+ void addHistory(const QString& text);
+ bool checkPaste(QString& text);
+ void contentsMouseReleaseEvent(QMouseEvent *);
+
+ virtual void keyPressEvent(QKeyEvent* e);
+ virtual QPopupMenu *createPopupMenu( const QPoint& pos );
+ virtual void showEvent(QShowEvent* e);
+ virtual void hideEvent(QHideEvent* e);
+
+ QStringList historyList;
+ unsigned int lineNum;
+ unsigned int oldPos;
+ char completionMode;
+ KCompletionBox* completionBox;
+ QString m_lastCompletion;
+ bool m_useSelection;
+ bool m_multiRow;
+ int m_lastHeight; //essentially corresponds to qtextbrowser::doc->height()
+ int m_qtBoxPadding; //see comment in constructor
+
+ QTimer* m_disableSpellCheckTimer;
+};
+#endif
diff --git a/konversation/src/ircqueue.cpp b/konversation/src/ircqueue.cpp
new file mode 100644
index 0000000..c80ceca
--- /dev/null
+++ b/konversation/src/ircqueue.cpp
@@ -0,0 +1,209 @@
+/*
+ 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) version 2.
+*/
+
+/*
+ Copyright (C) 2008 Eli J. MacKenzie <argonel at gmail.com>
+*/
+
+#include <qdatetime.h>
+#include <qtimer.h>
+#include <qstring.h>
+
+#include "ircqueue.h"
+#include "server.h"
+
+//#include "/home/ejm/argnl.h"
+
+IRCQueue::EmptyingRate staticrates[Server::Howmanyqueuesdoweneedanywayquestionmark]; /*=
+ {
+ IRCQueue::EmptyingRate(6,60000)
+ ,IRCQueue::EmptyingRate(20,60000)
+ ,IRCQueue::EmptyingRate(1,1000)//,IRCQueue::EmptyingRate::Bytes)
+ };
+*/
+
+int IRCQueue::EmptyingRate::nextInterval(int, int elapsed)
+{
+ if (!isValid())
+ return 0;
+ //KX << _S(m_interval) << endl;
+ if (m_type == Lines)
+ {
+ int i = m_interval/m_rate;
+ //KX << _S(i) << endl;
+ if (i<elapsed) {
+ //KX << _S(i) << _S(elapsed) << endl;
+ return 0;
+ }
+ else
+ {
+ //KX << _S(i) << endl;
+ return i;
+ }
+ }
+ else
+ {
+ //TODO write this...
+ return 0;
+ }
+return 0;
+}
+
+IRCQueue::EmptyingRate& IRCQueue::getRate()
+{
+ return m_rate;
+}
+
+
+IRCQueue::IRCQueue(Server *server, EmptyingRate& rate, int ind) :
+ m_rate(rate), m_blocked(true), m_server(server),
+ m_linesSent(0), m_globalLinesSent(0),
+ m_bytesSent(0), m_globalBytesSent(0), m_lastWait(0), m_myIndex(ind)
+{
+ //KX << _S(m_rate.m_rate) << _S(m_rate.m_interval) << _S(m_rate.m_type) << endl;
+ m_timer=new QTimer(this);
+ connect(m_timer, SIGNAL(timeout()), SLOT(sendNow()));
+ if (server)
+ {
+ connect(server, SIGNAL(serverOnline(bool)), SLOT(serverOnline(bool)));
+ connect(server, SIGNAL(sentStat(int, int, IRCQueue*)), SLOT(sent(int, int, IRCQueue*)));
+ m_blocked=!(m_server->isConnected());
+ }
+}
+
+IRCQueue::~IRCQueue()
+{
+ kdDebug() << "~IRCQueue" << endl;
+}
+
+QString IRCQueue::pop()
+{
+ if (m_pending.isEmpty())
+ return QString("");
+
+ IRCMessage msg=m_pending.first();
+ m_pending.pop_front();
+ m_lastWait=msg.age();
+ m_lastSent=QTime::currentTime();
+ return msg.text();
+}
+
+int IRCQueue::nextSize()
+{
+ if (m_pending.isEmpty())
+ return 0;
+ return m_pending.first().text().length();
+}
+
+int IRCQueue::currentWait()
+{
+ if (m_pending.isEmpty())
+ return 0;
+ return m_pending.first().age();
+}
+
+int IRCQueue::elapsed()
+{
+ if (m_startedAt.isNull())
+ return 0;
+ else
+ return m_startedAt.elapsed(); //FIXME if its been more than a day since this queue was used, this breaks
+}
+
+int IRCQueue::linesSent() const
+{
+ return m_linesSent;
+}
+
+int IRCQueue::bytesSent() const
+{
+ return m_bytesSent;
+}
+
+///Feedback indicating size of data sent to update statistics. Not necessarily data from this queue!!!
+void IRCQueue::sent(int, int e, IRCQueue *wq)
+{
+ //KX << k_funcinfo << _S(m_mine) << endl;
+ m_globalLinesSent++;
+ m_globalBytesSent+=e; // we don't care about the unencoded bytes, we want what went to the server
+ if (wq == this) {
+ m_linesSent++;
+ m_bytesSent+=e;
+ }
+}
+
+void IRCQueue::enqueue(QString line)
+{
+ m_pending.append(IRCMessage(line));
+ if (!m_timer->isActive())
+ adjustTimer();
+}
+
+//starts timer if stopped, adjusts interval if necessary
+void IRCQueue::adjustTimer()
+{
+ int msec;
+ msec=getRate().nextInterval(nextSize(), elapsed());
+ //if (m_myIndex == 0)
+ // KX << _S(msec) << endl;
+ m_timer->start(msec,true);
+ m_startedAt.start();
+ return;
+}
+
+bool IRCQueue::doSend()
+{
+ bool p=!m_pending.isEmpty();
+ if (p)
+ {
+ // int plw = m_lastWait;
+ QString s=pop();
+ //if (m_myIndex == 0)
+ // KX << _S(plw) << _S(m_lastWait) << endl;
+ m_server->toServer(s, this);
+ m_startedAt.start();
+ }
+ return p;//if we sent something, fire the timer again
+}
+
+///it would probably be better to delete and recreate the queue.
+void IRCQueue::reset()
+{
+ // KX << k_funcinfo << endl;
+ m_timer->stop();
+ m_lastWait=0;
+ if (m_server)
+ m_blocked=!(m_server->isConnected()); //FIXME (maybe) "we can't do this anymore because blocked can't correspond to whether the server is online, instead must correspond to whether the socket has become writable (readyWrite)"
+
+ m_startedAt=m_globalLastSent=m_lastSent=QTime();
+ m_pending.clear();
+ m_linesSent=m_bytesSent=m_globalBytesSent=m_globalLinesSent=0;
+}
+
+//called when the timer fires.
+void IRCQueue::sendNow()
+{
+ if (doSend())
+ adjustTimer();
+ //else //its a single-shot timer so if we don't adjust it, it won't run :)
+}
+
+///lets us know we should block output
+void IRCQueue::serverOnline(bool on)
+{
+ if (m_blocked!=on)
+ return;
+ m_blocked=!on;
+ if (m_blocked && m_timer->isActive())
+ reset();
+ else if (!m_blocked && !m_timer->isActive() && nextSize())
+ {
+ adjustTimer();
+ }
+}
+
+#include "ircqueue.moc"
diff --git a/konversation/src/ircqueue.h b/konversation/src/ircqueue.h
new file mode 100644
index 0000000..c80c329
--- /dev/null
+++ b/konversation/src/ircqueue.h
@@ -0,0 +1,137 @@
+/*
+ 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) version 2.
+*/
+
+/*
+ Copyright (C) 2008 Eli J. MacKenzie <argonel at gmail.com>
+*/
+
+
+#ifndef IRCQUEUE_H
+#define IRCQUEUE_H
+
+class Server;
+
+//channel.cpp, outputfilter.cpp, query.cpp, server.cpp, statuspanel.cpp
+
+/**
+ * A message from or to an IRC server.
+ *
+ * Contains all we know about the message, which currently consists of the text, the time it was created,
+ * and its original encoding. (Since currently these objects are only used internally, we know the message
+ * is Unicode.)
+ */
+struct IRCMessage
+{
+ IRCMessage() : t(QTime::currentTime()) //, codec(QTextCodec::codecForName("utf8"))
+ {} ///< this constructor required for QValueList, do not use
+
+ /**
+ Make a new IRCMessage with timestamp of QTime::currentTime().
+
+ Note the constructor takes a QString, not a const QString& or a QString *. If you want to modify the
+ contained text, put it back with setText.
+ */
+ IRCMessage(QString i) : s(i), t(QTime::currentTime()) //, codec(QTextCodec::codecForName("utf8"))
+ {}
+
+ QString text() { return s; }
+ int age() { return t.elapsed(); }
+ QTime time() { return t; }
+ void setText(QString text) { s=text; }
+private:
+ QString s;
+ QTime t;
+
+ //FIXME wire this up
+ //QTextCodec* codec;
+ //operator const char * () const { return codec->fromUnicode(text()); }
+
+};
+
+/**
+* Provides a self-sending queue of IRCMessages.
+*
+* Messages enqueued in this server can only be erased via reset() or sent to the attached server.
+* The server and the emptying rates cannot be changed, if you want to do that construct a new queue.
+
+*/
+class IRCQueue: public QObject
+{
+ Q_OBJECT
+
+public:
+ struct EmptyingRate
+ {
+ enum RateType {
+ Lines, ///< Lines per interval.
+ Bytes ///< Bytes per interval. Not implemented. FIXME
+ };
+ EmptyingRate(int rate=6, int msec_interval=50000, RateType type=Lines):
+ m_rate(rate), m_interval(msec_interval), m_type(type)
+ {
+ }
+
+ int nextInterval(int byte_size, int msec_since_last);
+
+ int m_rate;
+ int m_interval;
+ RateType m_type;
+ bool isValid() { return m_rate > 0; }
+ };
+
+ IRCQueue(Server *server, EmptyingRate& rate, int myindex=0);
+ ~IRCQueue();
+
+ void enqueue(QString line);
+ void reset();
+ EmptyingRate& getRate();// { return &m_rate; }
+
+ bool isValid() { return m_rate.isValid(); }
+ bool isEmpty() { return m_pending.isEmpty(); }
+
+ //WTF? why are there two of these.
+ //These are decoupled for a reason, what is it?
+ int currentWait(); ///< Time in ms that the front has been waiting
+ int elapsed(); ///< How long has the queue been running since it was last started?
+
+ int nextSize(); ///< Current size of front
+ int pendingMessages() { return m_pending.count(); }
+ int linesSent() const; ///< count of lines sent by this queue
+ int bytesSent() const; ///< count of bytes sent by this queue
+
+ ///Time in milliseconds that the previous message waited
+ int lastWait() { return m_lastWait; }
+
+public slots:
+ void sent(int bytes, int encodedBytes, IRCQueue *); ///< feedback statistics
+ void sendNow(); ///< dumps a line to the socket
+ void serverOnline(bool on); ///< server tells us that the socket is ready
+
+protected:
+ QString pop(); ///< pops front, sets statistics
+ void adjustTimer(); ///< sets the next timer interval
+ bool doSend(); ///< pops front and tells the server to send it. returns true if we sent something
+ EmptyingRate& m_rate;
+
+private:
+ QValueList<IRCMessage> m_pending;
+ QTimer *m_timer;
+ bool m_blocked;
+ bool m_online;
+ Server *m_server;
+
+ QTime m_startedAt;
+ QTime m_lastSent, m_globalLastSent;
+ int m_linesSent, m_globalLinesSent;
+ int m_bytesSent, m_globalBytesSent;
+ int m_lastWait;
+ int m_myIndex;
+};
+
+extern IRCQueue::EmptyingRate staticrates[];
+
+#endif
diff --git a/konversation/src/ircview.cpp b/konversation/src/ircview.cpp
new file mode 100644
index 0000000..3b4108a
--- /dev/null
+++ b/konversation/src/ircview.cpp
@@ -0,0 +1,1791 @@
+// -*- mode: c++; c-file-style: "bsd"; c-basic-offset: 4; tabs-width: 4; indent-tabs-mode: nil -*-
+
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2007 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "ircview.h"
+#include "channel.h"
+#include "dccchat.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "connectionmanager.h"
+#include "highlight.h"
+#include "server.h"
+#include "konversationsound.h"
+#include "common.h"
+#include "emoticon.h"
+#include "notificationhandler.h"
+
+#include <private/qrichtext_p.h>
+#include <qstylesheet.h>
+#include <qstringlist.h>
+#include <qregexp.h>
+#include <qtextbrowser.h>
+#include <qclipboard.h>
+#include <qbrush.h>
+#include <qevent.h>
+#include <qdragobject.h>
+#include <qpopupmenu.h>
+#include <qwhatsthis.h>
+#include <qmap.h>
+#include <qcolor.h>
+#include <qscrollbar.h>
+#include <qcursor.h>
+
+#include <dcopref.h>
+#include <dcopclient.h>
+#include <kmessagebox.h>
+#include <klocale.h>
+#include <kurl.h>
+#include <kurldrag.h>
+#include <kbookmark.h>
+#include <kbookmarkmanager.h>
+#include <kdeversion.h>
+#include <kstandarddirs.h>
+#include <krun.h>
+#include <kprocess.h>
+#include <kiconloader.h>
+#include <kshell.h>
+#include <kpopupmenu.h>
+#include <kaction.h>
+#include <kglobalsettings.h>
+#include <kdebug.h>
+#include <kmenubar.h>
+#include <kfiledialog.h>
+#include <kio/job.h>
+#include <kstdaccel.h>
+#include <kglobal.h>
+
+
+IRCView::IRCView(QWidget* parent, Server* newServer) : KTextBrowser(parent)
+{
+ m_copyUrlMenu = false;
+ m_resetScrollbar = true;
+ m_offset = 0;
+ m_mousePressed = false;
+ m_isOnNick = false;
+ m_isOnChannel = false;
+ m_chatWin = 0;
+ m_findParagraph=0;
+ m_findIndex=0;
+ m_nickPopup = 0;
+ m_channelPopup = 0;
+
+ m_rememberLineParagraph = -1;
+ m_rememberLineDirtyBit = false;
+
+ m_disableEnsureCursorVisible = false;
+ m_wasPainted = false;
+
+ setAutoFormatting(QTextEdit::AutoNone);
+ setUndoRedoEnabled(0);
+ setLinkUnderline(false);
+ setVScrollBarMode(AlwaysOn);
+ setHScrollBarMode(AlwaysOff);
+ setWrapPolicy(QTextEdit::AtWordOrDocumentBoundary);
+ setNotifyClick(true);
+ setFocusPolicy(QWidget::ClickFocus);
+
+ // set basic style sheet for <p> to make paragraph spacing possible
+ QStyleSheet* sheet=new QStyleSheet(this,"ircview_style_sheet");
+ new QStyleSheetItem(sheet,"p");
+ setStyleSheet(sheet);
+
+ m_popup = new QPopupMenu(this,"ircview_context_menu");
+ toggleMenuBarSeparator = m_popup->insertSeparator();
+ m_popup->setItemVisible(toggleMenuBarSeparator, false);
+ copyUrlMenuSeparator = m_popup->insertSeparator();
+ m_popup->setItemVisible(copyUrlMenuSeparator, false);
+ m_popup->insertItem(SmallIconSet("editcopy"),i18n("&Copy"),Copy);
+ m_popup->insertItem(i18n("Select All"),SelectAll);
+ m_popup->insertItem(SmallIcon("find"),i18n("Find Text..."),Search);
+
+ setServer(newServer);
+
+ setViewBackground(Preferences::color(Preferences::TextViewBackground),QString());
+
+ if (Preferences::customTextFont())
+ setFont(Preferences::textFont());
+ else
+ setFont(KGlobalSettings::generalFont());
+
+ if (Preferences::useParagraphSpacing()) enableParagraphSpacing();
+
+ connect(this, SIGNAL(highlighted(const QString&)), this, SLOT(highlightedSlot(const QString&)));
+}
+
+IRCView::~IRCView()
+{
+ delete m_popup;
+}
+
+void IRCView::enableParagraphSpacing()
+{
+ // Set style sheet for <p> to define paragraph spacing.
+ QStyleSheet* sheet = styleSheet();
+
+ if (!sheet) return;
+
+ QStyleSheetItem* style = sheet->item("p");
+
+ if (!style)
+ {
+ kdDebug() << "IRCView::updateStyleSheet(): style == 0!" << endl;
+
+ return;
+ }
+
+ style->setDisplayMode(QStyleSheetItem::DisplayBlock);
+ style->setMargin(QStyleSheetItem::MarginVertical, Preferences::paragraphSpacing());
+ style->setSelfNesting(false);
+}
+
+void IRCView::setViewBackground(const QColor& backgroundColor, const QString& pixmapName)
+{
+ QPixmap backgroundPixmap;
+ backgroundPixmap.load(pixmapName);
+
+ if(backgroundPixmap.isNull())
+ {
+ setPaper(backgroundColor);
+ }
+ else
+ {
+ QBrush backgroundBrush;
+ backgroundBrush.setColor(backgroundColor);
+ backgroundBrush.setPixmap(backgroundPixmap);
+ setPaper(backgroundBrush);
+ }
+}
+
+void IRCView::setServer(Server* newServer)
+{
+ m_server = newServer;
+
+ if (newServer)
+ {
+ KAction *action = newServer->getViewContainer()->actionCollection()->action("open_logfile");
+ Q_ASSERT(action);
+ if(!action) return;
+ m_popup->insertSeparator();
+ action->plug(m_popup);
+ }
+
+}
+
+const QString& IRCView::getContextNick() const
+{
+ return m_currentNick;
+}
+
+void IRCView::clearContextNick()
+{
+ m_currentNick = QString();
+}
+
+void IRCView::clear()
+{
+ m_buffer = QString();
+ KTextBrowser::setText("");
+ wipeLineParagraphs();
+}
+
+void IRCView::highlightedSlot(const QString& _link)
+{
+ QString link = _link;
+ // HACK Replace % with \x03 in the url to keep Qt from doing stupid things
+ link = link.replace ('\x03', "%");
+ //Hack to handle the fact that we get a decoded url
+ link = KURL::fromPathOrURL(link).url();
+
+ // HACK:Use space as a placeholder for \ as Qt tries to be clever and does a replace to / in urls in QTextEdit
+ if(link.startsWith("#"))
+ {
+ link = link.replace(' ', "\\");
+ }
+
+ //we just saw this a second ago. no need to reemit.
+ if (link == m_lastStatusText && !link.isEmpty())
+ return;
+
+ // remember current URL to overcome link clicking problems in QTextBrowser
+ m_highlightedURL = link;
+
+ if (link.isEmpty())
+ {
+ if (!m_lastStatusText.isEmpty())
+ {
+ emit clearStatusBarTempText();
+ m_lastStatusText = QString();
+ }
+ } else
+ {
+ m_lastStatusText = link;
+ }
+
+ if(!link.startsWith("#"))
+ {
+ m_isOnNick = false;
+ m_isOnChannel = false;
+
+ if (!link.isEmpty()) {
+ //link therefore != m_lastStatusText so emit with this new text
+ emit setStatusBarTempText(link);
+ }
+ if (link.isEmpty() && m_copyUrlMenu)
+ {
+ m_popup->removeItem(CopyUrl);
+ m_popup->removeItem(Bookmark);
+ m_popup->removeItem(SaveAs);
+ m_popup->setItemVisible(copyUrlMenuSeparator, false);
+ m_copyUrlMenu = false;
+
+ }
+ else if (!link.isEmpty() && !m_copyUrlMenu)
+ {
+ m_popup->setItemVisible(copyUrlMenuSeparator, true);
+ m_popup->insertItem(SmallIcon("editcopy"), i18n("Copy URL to Clipboard"), CopyUrl, 1);
+ m_popup->insertItem(SmallIcon("bookmark"), i18n("Add to Bookmarks"), Bookmark, 2);
+ m_popup->insertItem(SmallIcon("filesaveas"), i18n("Save Link As..."), SaveAs, 3);
+ m_copyUrlMenu = true;
+ m_urlToCopy = link;
+ }
+ }
+ else if (link.startsWith("#") && !link.startsWith("##"))
+ {
+ m_currentNick = link.mid(1);
+ m_nickPopup->changeTitle(m_nickPopupId,m_currentNick);
+ m_isOnNick = true;
+ emit setStatusBarTempText(i18n("Open a query with %1").arg(m_currentNick));
+ }
+ else
+ {
+ // link.startsWith("##")
+ m_currentChannel = link.mid(1);
+
+ QString prettyId = m_currentChannel;
+
+ if (prettyId.length()>15)
+ {
+ prettyId.truncate(15);
+ prettyId.append("...");
+ }
+
+ m_channelPopup->changeTitle(m_channelPopupId,prettyId);
+ m_isOnChannel = true;
+ emit setStatusBarTempText(i18n("Join the channel %1").arg(m_currentChannel));
+ }
+}
+
+void IRCView::openLink(const QString& url, bool newTab)
+{
+ if (!url.isEmpty() && !url.startsWith("#"))
+ {
+ if (url.startsWith("irc://"))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->getConnectionManager()->connectTo(Konversation::SilentlyReuseConnection, url);
+ }
+ else if (!Preferences::useCustomBrowser() || url.startsWith("mailto:"))
+ {
+ if(newTab && !url.startsWith("mailto:"))
+ {
+ QCString foundApp, foundObj;
+ QByteArray data;
+ QDataStream str(data, IO_WriteOnly);
+ if( KApplication::dcopClient()->findObject("konqueror*", "konqueror-mainwindow*",
+ "windowCanBeUsedForTab()", data, foundApp, foundObj, false, 3000))
+ {
+ DCOPRef ref(foundApp, foundObj);
+ ref.call("newTab", url);
+ } else
+ new KRun(KURL::fromPathOrURL(url));
+ } else
+ new KRun(KURL::fromPathOrURL(url));
+ }
+ else
+ {
+ QString cmd = Preferences::webBrowserCmd();
+ cmd.replace("%u", url);
+ KProcess *proc = new KProcess;
+ QStringList cmdAndArgs = KShell::splitArgs(cmd);
+ *proc << cmdAndArgs;
+ // This code will also work, but starts an extra shell process.
+ // kdDebug() << "IRCView::urlClickSlot(): cmd = " << cmd << endl;
+ // *proc << cmd;
+ // proc->setUseShell(true);
+ proc->start(KProcess::DontCare);
+ delete proc;
+ }
+ }
+ //FIXME: Don't do channel links in DCC Chats to begin with since they don't have a server.
+ else if (url.startsWith("##") && m_server && m_server->isConnected())
+ {
+ QString channel(url);
+ channel.replace("##", "#");
+ m_server->sendJoinCommand(channel);
+ }
+ //FIXME: Don't do user links in DCC Chats to begin with since they don't have a server.
+ else if (url.startsWith("#") && m_server && m_server->isConnected())
+ {
+ QString recipient(url);
+ recipient.remove("#");
+ NickInfoPtr nickInfo = m_server->obtainNickInfo(recipient);
+ m_server->addQuery(nickInfo, true /*we initiated*/);
+ }
+}
+
+void IRCView::replaceDecoration(QString& line, char decoration, char replacement)
+{
+ int pos;
+ bool decorated = false;
+
+ while((pos=line.find(decoration))!=-1)
+ {
+ line.replace(pos,1,(decorated) ? QString("</%1>").arg(replacement) : QString("<%1>").arg(replacement));
+ decorated = !decorated;
+ }
+}
+
+QString IRCView::filter(const QString& line, const QString& defaultColor, const QString& whoSent,
+bool doHighlight, bool parseURL, bool self)
+{
+ QString filteredLine(line);
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ //Since we can't turn off whitespace simplification withouteliminating text wrapping,
+ // if the line starts with a space turn it into a non-breaking space.
+ // (which magically turns back into a space on copy)
+
+ if (filteredLine[0]==' ')
+ filteredLine[0]='\xA0';
+
+ // TODO: Use QStyleSheet::escape() here
+ // Replace all < with &lt;
+ filteredLine.replace("<","\x0blt;");
+ // Replace all > with &gt;
+ filteredLine.replace(">", "\x0bgt;");
+
+ #if 0
+ if(!Preferences::disableExpansion())
+ {
+ QRegExp boldRe("\\*\\*([a-zA-Z0-9]+)\\*\\*");
+ QRegExp underRe("\\_\\_([a-zA-Z0-9]+)\\_\\_");
+ int position = 0;
+ QString replacement;
+
+ while( position >= 0)
+ {
+ position = boldRe.search(filteredLine, position);
+ if( position > -1)
+ {
+ replacement = boldRe.cap(1);
+ replacement = "\x02"+replacement+"\x02";
+ filteredLine.replace(position,replacement.length()+2,replacement);
+ }
+ position += boldRe.matchedLength();
+ }
+
+ position = 0;
+ while( position >= 0)
+ {
+ position = underRe.search(filteredLine, position);
+ if( position > -1)
+ {
+ replacement = underRe.cap(1);
+ replacement = "\x1f"+replacement+"\x1f";
+ filteredLine.replace(position,replacement.length()+2,replacement);
+ }
+ position += underRe.matchedLength();
+ }
+ }
+ #endif
+
+ if(filteredLine.find("\x07") != -1)
+ {
+ if(Preferences::beep())
+ {
+ kapp->beep();
+ }
+ }
+
+ // replace \003 and \017 codes with rich text color codes
+ // captures 1 2 23 4 4 3 1
+ QRegExp colorRegExp("(\003([0-9]|0[0-9]|1[0-5]|)(,([0-9]|0[0-9]|1[0-5])|,|)|\017)");
+
+ int pos;
+ bool allowColors = Preferences::allowColorCodes();
+ bool firstColor = true;
+ QString colorString;
+
+ while((pos=colorRegExp.search(filteredLine))!=-1)
+ {
+ if(!allowColors)
+ {
+ colorString = QString();
+ }
+ else
+ {
+ colorString = (firstColor) ? QString::null : QString("</font>");
+
+ // reset colors on \017 to default value
+ if(colorRegExp.cap(1) == "\017")
+ colorString += "<font color=\""+defaultColor+"\">";
+ else
+ {
+ if(!colorRegExp.cap(2).isEmpty())
+ {
+ int foregroundColor = colorRegExp.cap(2).toInt();
+ colorString += "<font color=\"" + Preferences::ircColorCode(foregroundColor).name() + "\">";
+ }
+ else
+ {
+ colorString += "<font color=\""+defaultColor+"\">";
+ }
+ }
+
+ firstColor = false;
+ }
+
+ filteredLine.replace(pos, colorRegExp.cap(0).length(), colorString);
+ }
+
+ if(!firstColor)
+ filteredLine+="</font>";
+
+ // Replace all text decorations
+ // TODO: \017 should reset all textt decorations to plain text
+ replaceDecoration(filteredLine,'\x02','b');
+ replaceDecoration(filteredLine,'\x09','i');
+ replaceDecoration(filteredLine,'\x13','s');
+ replaceDecoration(filteredLine,'\x15','u');
+ replaceDecoration(filteredLine,'\x16','b'); // should be inverse
+ replaceDecoration(filteredLine,'\x1f','u');
+
+ if(parseURL)
+ {
+ filteredLine = Konversation::tagURLs(filteredLine, whoSent);
+ }
+ else
+ {
+ // Change & to &amp; to prevent html entities to do strange things to the text
+ filteredLine.replace('&', "&amp;");
+ filteredLine.replace("\x0b", "&");
+ }
+
+ filteredLine = Konversation::EmotIcon::filter(filteredLine, fontMetrics());
+
+ // Highlight
+ QString ownNick;
+
+ if (m_server)
+ {
+ ownNick = m_server->getNickname();
+ }
+ else if (m_chatWin->getType() == ChatWindow::DccChat)
+ {
+ ownNick = static_cast<DccChat*>(m_chatWin)->getOwnNick();
+ }
+
+ if(doHighlight && (whoSent != ownNick) && !self)
+ {
+ QString highlightColor;
+
+ if(Preferences::highlightNick() &&
+ filteredLine.lower().find(QRegExp("(^|[^\\d\\w])" +
+ QRegExp::escape(ownNick.lower()) +
+ "([^\\d\\w]|$)")) != -1)
+ {
+ // highlight current nickname
+ highlightColor = Preferences::highlightNickColor().name();
+ m_tabNotification = Konversation::tnfNick;
+ }
+ else
+ {
+ QPtrList<Highlight> highlightList = Preferences::highlightList();
+ QPtrListIterator<Highlight> it(highlightList);
+ Highlight* highlight = it.current();
+ bool patternFound = false;
+ int index = 0;
+
+ QStringList captures;
+ while(highlight)
+ {
+ if(highlight->getRegExp())
+ {
+ QRegExp needleReg=highlight->getPattern();
+ needleReg.setCaseSensitive(false);
+ // highlight regexp in text
+ patternFound = ((filteredLine.find(needleReg) != -1) ||
+ // highlight regexp in nickname
+ (whoSent.find(needleReg) != -1));
+
+ // remember captured patterns for later
+ captures=needleReg.capturedTexts();
+
+ }
+ else
+ {
+ QString needle=highlight->getPattern();
+ // highlight patterns in text
+ patternFound = ((filteredLine.find(needle, 0, false) != -1) ||
+ // highlight patterns in nickname
+ (whoSent.find(needle, 0, false) != -1));
+ }
+
+ if(!patternFound)
+ {
+ ++it;
+ highlight = it.current();
+ ++index;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ if(patternFound)
+ {
+ highlightColor = highlight->getColor().name();
+ m_highlightColor = highlightColor;
+ m_tabNotification = Konversation::tnfHighlight;
+
+ if(Preferences::highlightSoundsEnabled() && m_chatWin->notificationsEnabled())
+ {
+ konvApp->sound()->play(highlight->getSoundURL());
+ }
+
+ konvApp->notificationHandler()->highlight(m_chatWin, whoSent, line);
+ m_autoTextToSend = highlight->getAutoText();
+
+ // replace %0 - %9 in regex groups
+ for(unsigned int capture=0;capture<captures.count();capture++)
+ {
+ m_autoTextToSend.replace(QString("%%1").arg(capture),captures[capture]);
+ }
+ m_autoTextToSend.replace(QRegExp("%[0-9]"),QString());
+ }
+ }
+
+ // apply found highlight color to line
+ if(!highlightColor.isEmpty())
+ {
+ filteredLine = "<font color=\"" + highlightColor + "\">" + filteredLine + "</font>";
+ }
+ }
+ else if(doHighlight && (whoSent == ownNick) && Preferences::highlightOwnLines())
+ {
+ // highlight own lines
+ filteredLine = "<font color=\"" + Preferences::highlightOwnLinesColor().name() +
+ "\">" + filteredLine + "</font>";
+ }
+
+ // Replace pairs of spaces with "<space>&nbsp;" to preserve some semblance of text wrapping
+ filteredLine.replace(" "," \xA0");
+ return filteredLine;
+}
+
+QString IRCView::createNickLine(const QString& nick, bool encapsulateNick, bool privMsg)
+{
+ QString nickLine = "%2";
+
+ if(Preferences::useClickableNicks())
+ {
+ // HACK:Use space as a placeholder for \ as Qt tries to be clever and does a replace to / in urls in QTextEdit
+ nickLine = "<a href=\"#" + QString(nick).replace('\\', " ") + "\">%2</a>";
+ }
+
+ if(privMsg)
+ {
+ nickLine.prepend ("-&gt; ");
+ }
+
+ if(encapsulateNick)
+ nickLine = "&lt;" + nickLine + "&gt;";
+
+ if(Preferences::useColoredNicks() && m_server)
+ {
+ QString nickColor;
+
+ if (nick != m_server->getNickname())
+ nickColor = Preferences::nickColor(m_server->obtainNickInfo(nick)->getNickColor()).name();
+ else
+ nickColor = Preferences::nickColor(8).name();
+
+ if(nickColor == "#000000")
+ {
+ nickColor = "#000001"; // HACK Working around QTextBrowser's auto link coloring
+ }
+
+ nickLine = "<font color=\"" + nickColor + "\">"+nickLine+"</font>";
+ }
+ //FIXME: Another last-minute hack to get DCC Chat colored nicknames
+ // working. We can't use NickInfo::getNickColor() because we don't
+ // have a server.
+ else if (Preferences::useColoredNicks() && m_chatWin->getType() == ChatWindow::DccChat)
+ {
+ QString ownNick = static_cast<DccChat*>(m_chatWin)->getOwnNick();
+ QString nickColor;
+
+ if (nick != ownNick)
+ {
+ int nickvalue = 0;
+
+ for (uint index = 0; index < nick.length(); index++)
+ {
+ nickvalue += nick[index].unicode();
+ }
+
+ nickColor = Preferences::nickColor((nickvalue % 8)).name();
+ }
+ else
+ nickColor = Preferences::nickColor(8).name();
+
+ if(nickColor == "#000000")
+ {
+ nickColor = "#000001"; // HACK Working around QTextBrowser's auto link coloring
+ }
+
+ nickLine = "<font color=\"" + nickColor + "\">"+nickLine+"</font>";
+ }
+
+ if(Preferences::useBoldNicks())
+ nickLine = "<b>" + nickLine + "</b>";
+
+ return nickLine;
+}
+
+void IRCView::append(const QString& nick,const QString& message)
+{
+ QString channelColor = Preferences::color(Preferences::ChannelMessage).name();
+
+ if(channelColor == "#000000")
+ {
+ channelColor = "#000001"; // HACK Working around QTextBrowser's auto link coloring
+ }
+
+ QString line;
+ m_tabNotification = Konversation::tnfNormal;
+
+ QString nickLine = createNickLine(nick);
+
+ if(basicDirection(message) == QChar::DirR)
+ {
+ line = RLE;
+ line += LRE;
+ line += "<p><font color=\"" + channelColor + "\">" + nickLine + " %1" + PDF + RLM + " %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + channelColor + "\">%1" + nickLine + " %3</font></p>\n";
+ }
+
+ line = line.arg(timeStamp(), nick, filter(message, channelColor, nick, true));
+
+ emit textToLog(QString("<%1>\t%2").arg(nick).arg(message));
+
+ doAppend(line);
+}
+
+void IRCView::insertRememberLine()
+{
+ m_rememberLineDirtyBit = true;
+
+ if (!Preferences::automaticRememberLineOnlyOnTextChange())
+ appendRememberLine();
+}
+
+void IRCView::cancelRememberLine()
+{
+ m_rememberLineDirtyBit = false;
+}
+
+void IRCView::appendRememberLine()
+{
+ m_rememberLineDirtyBit = false;
+
+ if (m_rememberLineParagraph == paragraphs() - 1)
+ return;
+
+ if (m_rememberLineParagraph > -1)
+ {
+ removeParagraph(m_rememberLineParagraph);
+
+ QValueList<int> newList;
+ QValueList<int>::ConstIterator it;
+
+ for (it = m_markerLineParagraphs.begin(); it != m_markerLineParagraphs.end(); ++it)
+ {
+ if ((*it) < m_rememberLineParagraph)
+ newList << (*it);
+ else if ((*it) > m_rememberLineParagraph)
+ newList << (*it) - 1;
+ }
+
+ m_markerLineParagraphs = newList;
+ }
+
+ repaintChanged();
+
+ appendLine(Preferences::color(Preferences::CommandMessage).name());
+
+ m_rememberLineParagraph = paragraphs() - 1;
+}
+
+void IRCView::insertMarkerLine()
+{
+ qHeapSort(m_markerLineParagraphs);
+
+ if (m_markerLineParagraphs.last() == paragraphs() - 1)
+ return;
+
+ bool rememberLineDirtyBit = m_rememberLineDirtyBit;
+ m_rememberLineDirtyBit = false;
+
+ appendLine(Preferences::color(Preferences::ActionMessage).name());
+
+ m_rememberLineDirtyBit = rememberLineDirtyBit;
+
+ m_markerLineParagraphs.append(paragraphs() - 1);
+}
+
+void IRCView::appendLine(const QString& color)
+{
+ QColor channelColor = Preferences::color(Preferences::ChannelMessage);
+
+ QString line = "<p><font style=\"font-size:1pt;\"><br><br><hr color=\""+color+"\" noshade></font></p>\n";
+
+ doAppend(line, true);
+}
+
+void IRCView::clearLines()
+{
+ if (m_rememberLineParagraph > -1)
+ m_markerLineParagraphs.append(m_rememberLineParagraph);
+
+ if (m_markerLineParagraphs.count() > 0)
+ {
+ qHeapSort(m_markerLineParagraphs);
+
+ QValueList<int>::ConstIterator it;
+ int removeCounter = 0;
+
+ for (it = m_markerLineParagraphs.begin(); it != m_markerLineParagraphs.end(); ++it)
+ {
+ removeParagraph((*it) - removeCounter);
+ removeCounter++;
+ }
+
+ wipeLineParagraphs();
+
+ repaintChanged();
+ }
+}
+
+bool IRCView::hasLines()
+{
+ if (m_rememberLineParagraph > -1 || m_markerLineParagraphs.count() > 0)
+ return true;
+
+ return false;
+}
+
+void IRCView::updateLineParagraphs(int numRemoved)
+{
+ if (m_rememberLineParagraph - numRemoved < 0)
+ m_rememberLineParagraph = -1;
+ else
+ m_rememberLineParagraph -= numRemoved;
+
+ if (!m_markerLineParagraphs.isEmpty())
+ {
+ QValueList<int> newMarkerLineParagraphs;
+
+ QValueList<int>::const_iterator it;
+
+ for (it = m_markerLineParagraphs.begin(); it != m_markerLineParagraphs.end(); ++it)
+ {
+ if ((*it) - numRemoved >= 0)
+ newMarkerLineParagraphs << ((*it) - numRemoved);
+ }
+
+ m_markerLineParagraphs = newMarkerLineParagraphs;
+ }
+}
+
+void IRCView::wipeLineParagraphs()
+{
+ m_markerLineParagraphs.clear();
+ m_rememberLineParagraph = -1;
+}
+
+void IRCView::appendRaw(const QString& message, bool suppressTimestamps, bool self)
+{
+ QColor channelColor=Preferences::color(Preferences::ChannelMessage);
+ QString line;
+ m_tabNotification = Konversation::tnfNone;
+
+ if(suppressTimestamps)
+ {
+ line = QString("<p><font color=\"" + channelColor.name() + "\">" + message + "</font></p>\n");
+ }
+ else
+ {
+ line = QString("<p>" + timeStamp() + " <font color=\"" + channelColor.name() + "\">" + message + "</font></p>\n");
+ }
+
+ doAppend(line, self);
+}
+
+void IRCView::appendQuery(const QString& nick, const QString& message, bool inChannel)
+{
+ QString queryColor=Preferences::color(Preferences::QueryMessage).name();
+
+ if(queryColor == "#000000")
+ {
+ queryColor = "#000001"; // HACK Working around QTextBrowser's auto link coloring
+ }
+
+ QString line;
+ m_tabNotification = Konversation::tnfPrivate;
+
+ QString nickLine = createNickLine(nick, true, inChannel);
+
+ if(basicDirection(message) == QChar::DirR)
+ {
+ line = RLE;
+ line += LRE;
+ line += "<p><font color=\"" + queryColor + "\">" + nickLine + " %1" + PDF + " %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + queryColor + "\">%1 " + nickLine + " %3</font></p>\n";
+ }
+
+ line = line.arg(timeStamp(), nick, filter(message, queryColor, nick, true));
+
+ emit textToLog(QString("<%1>\t%2").arg(nick).arg(message));
+
+ doAppend(line);
+}
+
+void IRCView::appendChannelAction(const QString& nick,const QString& message)
+{
+ m_tabNotification = Konversation::tnfNormal;
+
+ appendAction(nick, message);
+}
+
+
+void IRCView::appendQueryAction(const QString& nick,const QString& message)
+{
+ m_tabNotification = Konversation::tnfPrivate;
+
+ appendAction(nick, message);
+}
+
+void IRCView::appendAction(const QString& nick,const QString& message)
+{
+ QString actionColor=Preferences::color(Preferences::ActionMessage).name();
+
+ // HACK Working around QTextBrowser's auto link coloring
+ if (actionColor == "#000000") actionColor = "#000001";
+
+ QString line;
+ QString nickLine = createNickLine(nick, false);
+
+ if (basicDirection(message) == QChar::DirR)
+ {
+ line = RLE;
+ line += LRE;
+ line += "<p><font color=\"" + actionColor + "\">" + nickLine + " * %1" + PDF + " %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + actionColor + "\">%1 * " + nickLine + " %3</font></p>\n";
+ }
+
+ line = line.arg(timeStamp(), nick, filter(message, actionColor, nick, true));
+
+ emit textToLog(QString("\t * %1 %2").arg(nick).arg(message));
+
+ doAppend(line);
+}
+
+void IRCView::appendServerMessage(const QString& type, const QString& message, bool parseURL)
+{
+ QString serverColor = Preferences::color(Preferences::ServerMessage).name();
+ m_tabNotification = Konversation::tnfControl;
+
+ // Fixed width font option for MOTD
+ QString fixed;
+ if(Preferences::fixedMOTD() && !m_fontDataBase.isFixedPitch(font().family()))
+ {
+ if(type == i18n("MOTD"))
+ fixed=" face=\"" + KGlobalSettings::fixedFont().family() + "\"";
+ }
+
+ QString line;
+
+ if(basicDirection(message) == QChar::DirR)
+ {
+ line = RLE;
+ line += LRE;
+ line += "<p><font color=\"" + serverColor + "\"" + fixed + "><b>[</b>%2<b>]</b> %1" + PDF + " %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + serverColor + "\"" + fixed + ">%1 <b>[</b>%2<b>]</b> %3</font></p>\n";
+ }
+
+ if(type != i18n("Notify"))
+ line = line.arg(timeStamp(), type, filter(message, serverColor, 0 , true, parseURL));
+ else
+ line = "<font color=\"" + serverColor + "\">"+line.arg(timeStamp(), type, message)+"</font>";
+
+ emit textToLog(QString("%1\t%2").arg(type).arg(message));
+
+ doAppend(line);
+}
+
+void IRCView::appendCommandMessage(const QString& type,const QString& message, bool important, bool parseURL, bool self)
+{
+ if (Preferences::hideUnimportantEvents() && !important)
+ return;
+
+ QString commandColor = Preferences::color(Preferences::CommandMessage).name();
+ QString line;
+ QString prefix="***";
+ m_tabNotification = Konversation::tnfControl;
+
+ if(type == i18n("Join"))
+ {
+ prefix="-->";
+ parseURL=false;
+ }
+ else if(type == i18n("Part") || type == i18n("Quit"))
+ {
+ prefix="<--";
+ }
+
+ prefix=QStyleSheet::escape(prefix);
+
+ if(basicDirection(message) == QChar::DirR)
+ {
+ line = RLE;
+ line += LRE;
+ line += "<p><font color=\"" + commandColor + "\">%2 %1" + PDF + " %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + commandColor + "\">%1 %2 %3</font></p>\n";
+ }
+
+ line = line.arg(timeStamp(), prefix, filter(message, commandColor, 0, true, parseURL, self));
+
+ emit textToLog(QString("%1\t%2").arg(type).arg(message));
+
+ doAppend(line, self);
+}
+
+void IRCView::appendBacklogMessage(const QString& firstColumn,const QString& rawMessage)
+{
+ QString time;
+ QString message = rawMessage;
+ QString nick = firstColumn;
+ QString backlogColor = Preferences::color(Preferences::BacklogMessage).name();
+ m_tabNotification = Konversation::tnfNone;
+
+ time = nick.section(' ', 0, 4);
+ nick = nick.section(' ', 5);
+
+ if(!nick.isEmpty() && !nick.startsWith("<") && !nick.startsWith("*"))
+ {
+ nick = '|' + nick + '|';
+ }
+
+ // Nicks are in "<nick>" format so replace the "<>"
+ nick.replace("<","&lt;");
+ nick.replace(">","&gt;");
+
+ QString line;
+
+ if(basicDirection(message) == QChar::DirR)
+ {
+ line = "<p><font color=\"" + backlogColor + "\">%2 %1 %3</font></p>\n";
+ }
+ else
+ {
+ line = "<p><font color=\"" + backlogColor + "\">%1 %2 %3</font></p>\n";
+ }
+
+ line = line.arg(time, nick, filter(message, backlogColor, NULL, false, false));
+
+ doAppend(line);
+}
+
+//without any display update stuff that freaks out the scrollview
+void IRCView::removeSelectedText( int selNum )
+{
+ QTextDocument* doc=document();
+
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ {
+ if ( i == selNum )
+ continue;
+ doc->removeSelection( i );
+ }
+ // ...snip...
+
+ doc->removeSelectedText( selNum, QTextEdit::textCursor() );
+
+ // ...snip...
+}
+
+void IRCView::scrollToBottom()
+{
+ // QTextEdit::scrollToBottom does sync() too, but we don't want it because its slow
+ setContentsPos( contentsX(), contentsHeight() - visibleHeight() );
+}
+
+void IRCView::ensureCursorVisible()
+{
+ if (!m_disableEnsureCursorVisible)
+ QTextEdit::ensureCursorVisible();
+}
+
+void IRCView::doAppend(const QString& newLine, bool self)
+{
+ if (m_rememberLineDirtyBit) appendRememberLine();
+
+ // Add line to buffer
+ QString line(newLine);
+
+ if (!self && m_chatWin) m_chatWin->activateTabNotification(m_tabNotification);
+
+ // scroll view only if the scroll bar is already at the bottom
+ bool doScroll = ( KTextBrowser::verticalScrollBar()->value() == KTextBrowser::verticalScrollBar()->maxValue());
+
+ line.remove('\n'); // TODO why have newlines? we get <p>, so the \n are unnecessary...
+
+ bool up = KTextBrowser::viewport()->isUpdatesEnabled();
+
+ KTextBrowser::viewport()->setUpdatesEnabled(false);
+ int paraFrom, indexFrom, paraTo, indexTo;
+ bool textselected = hasSelectedText();
+
+ // Remember the selection so we don't loose it when adding the new line
+ if(textselected)
+ getSelection(&paraFrom, &indexFrom, &paraTo, &indexTo);
+
+ document()->lastParagraph()->format();
+
+ KTextBrowser::append(line);
+
+ document()->lastParagraph()->format();
+
+ // get maximum number of lines we want to have in the scollback buffer
+ int sbm = Preferences::scrollbackMax();
+
+ // Explanation: the scrolling mechanism cannot handle the buffer changing when the scrollbar is not
+ // at an end, so the scrollbar wets its pants and forgets who it is for ten minutes
+ // Also make sure not to delete any lines if maximum lines of scrollback is set to 0 (unlimited)
+ if (sbm && doScroll)
+ {
+ int numRemoved = paragraphs() - sbm;
+
+ if (numRemoved > 0)
+ {
+ for (int index = numRemoved; index > 0; --index)
+ {
+ removeParagraph(0);
+ }
+
+ updateLineParagraphs(numRemoved);
+
+ if (textselected)
+ {
+ paraFrom -= numRemoved;
+ paraTo -= numRemoved;
+ }
+ }
+ }
+
+ resizeContents(contentsWidth(), document()->height());
+ KTextBrowser::viewport()->setUpdatesEnabled(up);
+
+ // Restore selection
+ if(textselected && paraFrom >= 0 && paraTo >= 0) {
+ // HACK: do not change scrollback position: setSelection() calls
+ // ensureCursorVisible()
+ m_disableEnsureCursorVisible = true;
+ setSelection(paraFrom, indexFrom, paraTo, indexTo);
+ m_disableEnsureCursorVisible = false;
+ }
+
+ if (doScroll) updateScrollBarPos();
+
+ //FIXME: Disable auto-text for DCC Chats since we don't have a server
+ // to parse wildcards.
+ if (!m_autoTextToSend.isEmpty() && m_server)
+ {
+ // replace placeholders in autoText
+ QString sendText = m_server->parseWildcards(m_autoTextToSend,m_server->getNickname(),
+ QString(), QString(), QString(), QString());
+ // avoid recursion due to signalling
+ m_autoTextToSend = QString();
+ // send signal only now
+ emit autoText(sendText);
+ }
+ else
+ {
+ m_autoTextToSend = QString();
+ }
+
+ if (!m_lastStatusText.isEmpty()) emit clearStatusBarTempText();
+}
+
+// remember if scrollbar was positioned at the end of the text or not
+void IRCView::hideEvent(QHideEvent* /* event */) {
+ m_resetScrollbar = ((contentsHeight()-visibleHeight()) == contentsY());
+}
+
+// Workaround to scroll to the end of the TextView when it's shown
+void IRCView::showEvent(QShowEvent* event) {
+ Q_UNUSED(event);
+ // did the user scroll the view to the end of the text before hiding?
+ if (m_resetScrollbar)
+ {
+ // NOTE: when the view has not been painted yet, contentsHeight() might
+ // not return accurate information and hence this code won't reset
+ // scrollback properly in such a case. See paintEvent() hack below.
+ moveCursor(MoveEnd,false);
+ ensureVisible(0,contentsHeight());
+ }
+}
+
+void IRCView::paintEvent(QPaintEvent* event)
+{
+ // HACK: if the widget is being painted for the first time, call
+ // showEvent() which will reset scrollback position as needed. It seems
+ // that at the time this event is triggered, QTextEdit provides more
+ // accurate information than when showEvent() is triggered.
+ if (!m_wasPainted)
+ {
+ m_wasPainted = true;
+ showEvent(0);
+ }
+ KTextBrowser::paintEvent(event);
+}
+
+void IRCView::contentsMouseReleaseEvent(QMouseEvent *ev)
+{
+ if (ev->button() == Qt::MidButton)
+ {
+ if(m_copyUrlMenu)
+ {
+ openLink(m_urlToCopy,true);
+ return;
+ }
+ else
+ {
+ emit textPasted(true);
+ return;
+ }
+ }
+
+ if (ev->button() == QMouseEvent::LeftButton)
+ {
+ if (m_mousePressed)
+ {
+ if (ev->state() == (Qt::LeftButton|Qt::ShiftButton))
+ saveLinkAs(m_highlightedURL);
+ else
+ openLink(m_highlightedURL);
+
+ m_mousePressed = false;
+ return;
+ }
+ }
+
+ KTextBrowser::contentsMouseReleaseEvent(ev);
+}
+
+void IRCView::contentsMousePressEvent(QMouseEvent* ev)
+{
+ if (ev->button() == QMouseEvent::LeftButton)
+ {
+ m_urlToDrag = m_highlightedURL;
+
+ if (!m_urlToDrag.isNull())
+ {
+ m_mousePressed = true;
+ m_pressPosition = ev->pos();
+ return;
+ }
+ }
+
+ KTextBrowser::contentsMousePressEvent(ev);
+}
+
+void IRCView::contentsMouseMoveEvent(QMouseEvent* ev)
+{
+ if (m_mousePressed && (m_pressPosition - ev->pos()).manhattanLength() > QApplication::startDragDistance())
+ {
+ m_mousePressed = false;
+ removeSelection();
+ KURL ux = KURL::fromPathOrURL(m_urlToDrag);
+
+ if (m_server && m_urlToDrag.startsWith("##"))
+ {
+ //FIXME consistent IRC URL serialization
+ ux = QString("irc://%1:%2/%3").arg(m_server->getServerName()).arg(m_server->getPort()).arg(m_urlToDrag.mid(2));
+ }
+ else if (m_urlToDrag.startsWith("#"))
+ {
+ ux = m_urlToDrag.mid(1);
+ }
+
+ KURLDrag* u = new KURLDrag(ux, viewport());
+ u->drag();
+ return;
+ }
+
+ KTextBrowser::contentsMouseMoveEvent(ev);
+}
+
+void IRCView::contentsContextMenuEvent(QContextMenuEvent* ev)
+{
+ bool block = contextMenu(ev);
+
+ // HACK Replace % with \x03 in the url to keep Qt from doing stupid things
+ m_highlightedURL = anchorAt(viewportToContents(mapFromGlobal(QCursor::pos())));
+ m_highlightedURL = m_highlightedURL.replace('\x03', "%");
+ // Hack to counter the fact that we're given an decoded url
+ m_highlightedURL = KURL::fromPathOrURL(m_highlightedURL).url();
+
+ if (m_highlightedURL.isEmpty()) viewport()->setCursor(Qt::ArrowCursor);
+
+ if(m_highlightedURL.startsWith("#"))
+ {
+ // HACK:Use space as a placeholder for \ as Qt tries to be clever and does a replace to / in urls in QTextEdit
+ m_highlightedURL = m_highlightedURL.replace(' ', "\\");
+ }
+
+ if (!block)
+ KTextBrowser::contentsContextMenuEvent(ev);
+}
+
+bool IRCView::contextMenu(QContextMenuEvent* ce)
+{
+ if (m_server && m_isOnNick && m_nickPopup->isEnabled())
+ {
+ updateNickMenuEntries(m_nickPopup, getContextNick());
+
+ if(m_nickPopup->exec(ce->globalPos()) == -1)
+ clearContextNick();
+
+ m_isOnNick = false;
+ }
+ else if (m_server && m_isOnChannel && m_channelPopup->isEnabled())
+ {
+ m_channelPopup->exec(ce->globalPos());
+ m_isOnChannel = false;
+ }
+ else
+ {
+ KActionCollection* actionCollection = KonversationApplication::instance()->getMainWindow()->actionCollection();
+ KToggleAction* toggleMenuBarAction = static_cast<KToggleAction*>(actionCollection->action("options_show_menubar"));
+
+ if (toggleMenuBarAction && !toggleMenuBarAction->isChecked())
+ {
+ toggleMenuBarAction->plug(m_popup, 0);
+ m_popup->setItemVisible(toggleMenuBarSeparator, true);
+ }
+
+ m_popup->setItemEnabled(Copy,(hasSelectedText()));
+
+ KAction* channelSettingsAction = 0;
+
+ if (m_chatWin->getType() == ChatWindow::Channel)
+ {
+ channelSettingsAction = KonversationApplication::instance()->getMainWindow()->actionCollection()->action("channel_settings");
+ if (channelSettingsAction) channelSettingsAction->plug(m_popup);
+ }
+
+ if (m_chatWin->getType() == ChatWindow::Query)
+ {
+ updateNickMenuEntries(m_popup, m_chatWin->getName());
+ clearContextNick();
+ }
+
+ int r = m_popup->exec(ce->globalPos());
+
+ switch (r)
+ {
+ case -1:
+ // dummy. -1 means, no entry selected. we don't want -1to go in default, so
+ // we catch it here
+ break;
+ case Copy:
+ copy();
+ break;
+ case CopyUrl:
+ {
+ QClipboard *cb = KApplication::kApplication()->clipboard();
+ cb->setText(m_urlToCopy,QClipboard::Selection);
+ cb->setText(m_urlToCopy,QClipboard::Clipboard);
+ break;
+ }
+ case SelectAll:
+ selectAll();
+ break;
+ case Search:
+ search();
+ break;
+ case SendFile:
+ emit sendFile();
+ break;
+ case Bookmark:
+ {
+ KBookmarkManager* bm = KBookmarkManager::userBookmarksManager();
+ KBookmarkGroup bg = bm->addBookmarkDialog(m_urlToCopy, QString());
+ bm->save();
+ bm->emitChanged(bg);
+ break;
+ }
+ case SaveAs:
+ saveLinkAs(m_urlToCopy);
+ break;
+ default:
+ emit extendedPopup(r);
+ }
+
+ if (toggleMenuBarAction)
+ {
+ toggleMenuBarAction->unplug(m_popup);
+ m_popup->setItemVisible(toggleMenuBarSeparator, false);
+ }
+
+ if (channelSettingsAction) channelSettingsAction->unplug(m_popup);
+ }
+ return true;
+}
+
+void IRCView::setupNickPopupMenu()
+{
+ m_nickPopup = new KPopupMenu(this,"nicklist_context_menu");
+ m_modes = new KPopupMenu(this,"nicklist_modes_context_submenu");
+ m_kickban = new KPopupMenu(this,"nicklist_kick_ban_context_submenu");
+ m_nickPopupId= m_nickPopup->insertTitle(m_currentNick);
+
+ m_nickPopup->insertItem(i18n("&Whois"),Konversation::Whois);
+ m_nickPopup->insertItem(i18n("&Version"),Konversation::Version);
+ m_nickPopup->insertItem(i18n("&Ping"),Konversation::Ping);
+
+ m_nickPopup->insertSeparator();
+
+ m_modes->insertItem(i18n("Give Op"),Konversation::GiveOp);
+ m_modes->insertItem(i18n("Take Op"),Konversation::TakeOp);
+ m_modes->insertItem(i18n("Give Voice"),Konversation::GiveVoice);
+ m_modes->insertItem(i18n("Take Voice"),Konversation::TakeVoice);
+ m_nickPopup->insertItem(i18n("Modes"),m_modes,Konversation::ModesSub);
+
+ m_kickban->insertItem(i18n("Kick"),Konversation::Kick);
+ m_kickban->insertItem(i18n("Kickban"),Konversation::KickBan);
+ m_kickban->insertItem(i18n("Ban Nickname"),Konversation::BanNick);
+ m_kickban->insertSeparator();
+ m_kickban->insertItem(i18n("Ban *!*@*.host"),Konversation::BanHost);
+ m_kickban->insertItem(i18n("Ban *!*@domain"),Konversation::BanDomain);
+ m_kickban->insertItem(i18n("Ban *!user@*.host"),Konversation::BanUserHost);
+ m_kickban->insertItem(i18n("Ban *!user@domain"),Konversation::BanUserDomain);
+ m_kickban->insertSeparator();
+ m_kickban->insertItem(i18n("Kickban *!*@*.host"),Konversation::KickBanHost);
+ m_kickban->insertItem(i18n("Kickban *!*@domain"),Konversation::KickBanDomain);
+ m_kickban->insertItem(i18n("Kickban *!user@*.host"),Konversation::KickBanUserHost);
+ m_kickban->insertItem(i18n("Kickban *!user@domain"),Konversation::KickBanUserDomain);
+ m_nickPopup->insertItem(i18n("Kick / Ban"),m_kickban,Konversation::KickBanSub);
+
+ m_nickPopup->insertItem(i18n("Ignore"), Konversation::IgnoreNick);
+ m_nickPopup->insertItem(i18n("Unignore"), Konversation::UnignoreNick);
+ m_nickPopup->setItemVisible(Konversation::IgnoreNick, false);
+ m_nickPopup->setItemVisible(Konversation::UnignoreNick, false);
+
+ m_nickPopup->insertSeparator();
+
+ m_nickPopup->insertItem(i18n("Open Query"),Konversation::OpenQuery);
+ if (kapp->authorize("allow_downloading"))
+ {
+ m_nickPopup->insertItem(SmallIcon("2rightarrow"),i18n("Send &File..."),Konversation::DccSend);
+ }
+ m_nickPopup->insertSeparator();
+
+ m_nickPopup->insertItem(i18n("Add to Watched Nicks"), Konversation::AddNotify);
+
+ connect(m_nickPopup, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ connect(m_modes, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ connect(m_kickban, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+}
+
+void IRCView::updateNickMenuEntries(QPopupMenu* popup, const QString& nickname)
+{
+ if (popup)
+ {
+ if (Preferences::isIgnored(nickname))
+ {
+ popup->setItemVisible(Konversation::UnignoreNick, true);
+ popup->setItemVisible(Konversation::IgnoreNick, false);
+ }
+ else
+ {
+ popup->setItemVisible(Konversation::IgnoreNick, true);
+ popup->setItemVisible(Konversation::UnignoreNick, false);
+ }
+
+ if (!m_server || !m_server->getServerGroup())
+ popup->setItemEnabled(Konversation::AddNotify, false);
+ else if (!m_server->isConnected())
+ popup->setItemEnabled(Konversation::AddNotify, false);
+ else if (!Preferences::hasNotifyList(m_server->getServerGroup()->id()))
+ popup->setItemEnabled(Konversation::AddNotify, false);
+ else if (Preferences::isNotify(m_server->getServerGroup()->id(), nickname))
+ popup->setItemEnabled(Konversation::AddNotify, false);
+ else
+ popup->setItemEnabled(Konversation::AddNotify, true);
+ }
+}
+
+void IRCView::setupQueryPopupMenu()
+{
+ m_nickPopup = new KPopupMenu(this,"query_context_menu");
+ m_nickPopupId = m_nickPopup->insertTitle(m_currentNick);
+ m_nickPopup->insertItem(i18n("&Whois"),Konversation::Whois);
+ m_nickPopup->insertItem(i18n("&Version"),Konversation::Version);
+ m_nickPopup->insertItem(i18n("&Ping"),Konversation::Ping);
+ m_nickPopup->insertSeparator();
+
+ m_nickPopup->insertItem(i18n("Ignore"), Konversation::IgnoreNick);
+ m_nickPopup->insertItem(i18n("Unignore"), Konversation::UnignoreNick);
+ m_nickPopup->setItemVisible(Konversation::IgnoreNick, false);
+ m_nickPopup->setItemVisible(Konversation::UnignoreNick, false);
+
+ if (kapp->authorize("allow_downloading"))
+ m_nickPopup->insertItem(SmallIcon("2rightarrow"),i18n("Send &File..."),Konversation::DccSend);
+
+ m_nickPopup->insertItem(i18n("Add to Watched Nicks"), Konversation::AddNotify);
+
+ connect(m_nickPopup, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+}
+
+void IRCView::setupChannelPopupMenu()
+{
+ m_channelPopup = new KPopupMenu(this,"channel_context_menu");
+ m_channelPopupId = m_channelPopup->insertTitle(m_currentChannel);
+ m_channelPopup->insertItem(i18n("&Join"),Konversation::Join);
+ m_channelPopup->insertItem(i18n("Get &user list"),Konversation::Names);
+ m_channelPopup->insertItem(i18n("Get &topic"),Konversation::Topic);
+
+ connect(m_channelPopup, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+}
+
+void IRCView::setNickAndChannelContextMenusEnabled(bool enable)
+{
+ if (m_nickPopup) m_nickPopup->setEnabled(enable);
+ if (m_channelPopup) m_channelPopup->setEnabled(enable);
+}
+
+void IRCView::search()
+{
+ emit doSearch();
+}
+
+void IRCView::searchAgain()
+{
+ if (m_pattern.isEmpty())
+ {
+ emit doSearch();
+ }
+ else
+ {
+ // next search must begin one index before / after the last search
+ // depending on the search direction.
+ if(m_forward)
+ {
+ ++m_findIndex;
+ if(m_findIndex == paragraphLength(m_findParagraph))
+ {
+ m_findIndex = 0;
+ ++m_findParagraph;
+ }
+ }
+ else
+ {
+ if(m_findIndex)
+ {
+ --m_findIndex;
+ }
+ else
+ {
+ --m_findParagraph;
+ m_findIndex = paragraphLength(m_findParagraph);
+ }
+ }
+
+ if(!find(m_pattern, m_caseSensitive, m_wholeWords, m_forward, &m_findParagraph, &m_findIndex))
+ {
+ KMessageBox::information(this,i18n("No matches found for \"%1\".").arg(m_pattern),i18n("Information"));
+ }
+
+ }
+}
+
+bool IRCView::search(const QString& pattern, bool caseSensitive,
+bool wholeWords, bool forward, bool fromCursor)
+{
+ m_pattern = pattern;
+ m_caseSensitive = caseSensitive;
+ m_wholeWords = wholeWords;
+ m_forward = forward;
+ m_fromCursor = fromCursor;
+
+ if (m_pattern.isEmpty())
+ return true;
+
+ if (!m_fromCursor)
+ {
+ if(m_forward)
+ {
+ m_findParagraph = 1;
+ m_findIndex = 1;
+ }
+ else
+ {
+ m_findParagraph = paragraphs();
+ m_findIndex = paragraphLength(paragraphs());
+ }
+ }
+
+ return searchNext();
+}
+
+bool IRCView::searchNext(bool reversed)
+{
+ if (m_pattern.isEmpty())
+ return true;
+
+ bool fwd = (reversed ? !m_forward : m_forward);
+ // next search must begin one index before / after the last search
+ // depending on the search direction.
+ if (fwd)
+ {
+ ++m_findIndex;
+ if(m_findIndex == paragraphLength(m_findParagraph))
+ {
+ m_findIndex = 0;
+ ++m_findParagraph;
+ }
+ }
+ else
+ {
+ if (m_findIndex)
+ {
+ --m_findIndex;
+ }
+ else
+ {
+ --m_findParagraph;
+ m_findIndex = paragraphLength(m_findParagraph);
+ }
+ }
+
+ return find(m_pattern, m_caseSensitive, m_wholeWords, fwd,
+ &m_findParagraph, &m_findIndex);
+}
+
+// other windows can link own menu entries here
+QPopupMenu* IRCView::getPopup() const
+{
+ return m_popup;
+}
+
+// for more information about these RTFM
+// http://www.unicode.org/reports/tr9/
+// http://www.w3.org/TR/unicode-xml/
+QChar IRCView::LRM = (ushort)0x200e; // Right-to-Left Mark
+QChar IRCView::RLM = (ushort)0x200f; // Left-to-Right Mark
+QChar IRCView::LRE = (ushort)0x202a; // Left-to-Right Embedding
+QChar IRCView::RLE = (ushort)0x202b; // Right-to-Left Embedding
+QChar IRCView::RLO = (ushort)0x202e; // Right-to-Left Override
+QChar IRCView::LRO = (ushort)0x202d; // Left-to-Right Override
+QChar IRCView::PDF = (ushort)0x202c; // Previously Defined Format
+
+QChar::Direction IRCView::basicDirection(const QString &string)
+{
+ // The following code decides between LTR or RTL direction for
+ // a line based on the amount of each type of characters pre-
+ // sent. It does so by counting, but stops when one of the two
+ // counters becomes higher than half of the string length to
+ // avoid unnecessary work.
+
+ unsigned int pos = 0;
+ unsigned int rtl_chars = 0;
+ unsigned int ltr_chars = 0;
+ unsigned int str_len = string.length();
+ unsigned int str_half_len = str_len/2;
+
+ for(pos=0; pos < str_len; pos++)
+ {
+ if (!(string[pos].isNumber() || string[pos].isSymbol() ||
+ string[pos].isSpace() || string[pos].isPunct() ||
+ string[pos].isMark()))
+ {
+ switch(string[pos].direction())
+ {
+ case QChar::DirL:
+ case QChar::DirLRO:
+ case QChar::DirLRE:
+ ltr_chars++;
+ break;
+ case QChar::DirR:
+ case QChar::DirAL:
+ case QChar::DirRLO:
+ case QChar::DirRLE:
+ rtl_chars++;
+ break;
+ default:
+ break;
+ }
+ }
+
+ if (ltr_chars > str_half_len)
+ return QChar::DirL;
+ else if (rtl_chars > str_half_len)
+ return QChar::DirR;
+ }
+
+ if (rtl_chars > ltr_chars)
+ return QChar::DirR;
+ else
+ return QChar::DirL;
+}
+
+void IRCView::contentsDragMoveEvent(QDragMoveEvent *e)
+{
+ if(acceptDrops() && QUriDrag::canDecode(e))
+ e->accept();
+}
+
+void IRCView::contentsDropEvent(QDropEvent *e)
+{
+ QStrList s;
+ if(QUriDrag::decode(e,s))
+ emit filesDropped(s);
+}
+
+QString IRCView::timeStamp()
+{
+ if(Preferences::timestamping())
+ {
+ QTime time = QTime::currentTime();
+ QString timeColor = Preferences::color(Preferences::Time).name();
+ QString timeFormat = Preferences::timestampFormat();
+ QString timeString;
+
+ if(!Preferences::showDate())
+ {
+ timeString = QString("<font color=\"" + timeColor + "\">[%1]</font> ").arg(time.toString(timeFormat));
+ }
+ else
+ {
+ QDate date = QDate::currentDate();
+ timeString = QString("<font color=\"" +
+ timeColor + "\">[%1 %2]</font> ")
+ .arg(KGlobal::locale()->formatDate(date, true /*short format*/),
+ time.toString(timeFormat));
+ }
+
+ return timeString;
+ }
+
+ return QString();
+}
+
+void IRCView::setChatWin(ChatWindow* chatWin)
+{
+ m_chatWin = chatWin;
+
+ if(m_chatWin->getType()==ChatWindow::Channel)
+ setupNickPopupMenu();
+ else
+ setupQueryPopupMenu();
+
+ setupChannelPopupMenu();
+}
+
+void IRCView::keyPressEvent(QKeyEvent* e)
+{
+ KKey key(e);
+
+ if (KStdAccel::copy().contains(key))
+ {
+ copy();
+ e->accept();
+ return;
+ }
+ else if (KStdAccel::paste().contains(key))
+ {
+ emit textPasted(false);
+ e->accept();
+ return;
+ }
+
+ KTextBrowser::keyPressEvent(e);
+}
+
+void IRCView::resizeEvent(QResizeEvent* e)
+{
+ bool doScroll = ( KTextBrowser::verticalScrollBar()->value() == KTextBrowser::verticalScrollBar()->maxValue());
+ KTextBrowser::resizeEvent(e);
+
+ if(doScroll)
+ {
+ QTimer::singleShot(0, this, SLOT(updateScrollBarPos()));
+ }
+}
+
+void IRCView::updateScrollBarPos()
+{
+ ensureVisible(contentsX(), contentsHeight());
+ repaintContents(false);
+}
+
+void IRCView::saveLinkAs(const QString& url)
+{
+ KURL source(url);
+ KFileDialog dialog(":SaveLinkAs", QString (), this, "savelinkdia", true);
+ dialog.setCaption(i18n("Save Link As"));
+ dialog.setSelection(source.fileName());
+
+ if(dialog.exec() == QDialog::Rejected)
+ return;
+
+ KURL destination = dialog.selectedURL();
+ KIO::copyAs(source, destination);
+}
+
+#include "ircview.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/ircview.h b/konversation/src/ircview.h
new file mode 100644
index 0000000..39e3ff0
--- /dev/null
+++ b/konversation/src/ircview.h
@@ -0,0 +1,242 @@
+#ifndef IRCVIEW_H
+#define IRCVIEW_H
+
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2006 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "common.h"
+
+#include <qmap.h>
+#include <qfontdatabase.h>
+
+#include <ktextbrowser.h>
+
+
+class QPixmap;
+class QStrList;
+class QDropEvent;
+class QDragEnterEvent;
+class QEvent;
+
+class KPopupMenu;
+
+class Server;
+class ChatWindow;
+class SearchBar;
+
+class IRCView : public KTextBrowser
+{
+ Q_OBJECT
+
+ public:
+ IRCView(QWidget* parent,Server* newServer);
+ ~IRCView();
+
+ void clear();
+ void setViewBackground(const QColor& backgroundColor, const QString& pixmapName);
+ void setServer(Server* server);
+
+ // Returns the current nick under context menu.
+ const QString& getContextNick() const;
+
+ void enableParagraphSpacing();
+
+ QPopupMenu* getPopup() const;
+
+ enum PopupIDs
+ {
+ Copy,CopyUrl,SelectAll,
+ Search,
+ SendFile,
+ Bookmark,
+ SaveAs
+ };
+
+ void setChatWin(ChatWindow* chatWin);
+
+ bool search(const QString& pattern, bool caseSensitive,
+ bool wholeWords, bool forward, bool fromCursor);
+ bool searchNext(bool reversed = false);
+
+ QColor highlightColor() { return m_highlightColor; }
+ QString currentChannel() { return m_currentChannel; }
+
+ void setNickAndChannelContextMenusEnabled(bool enable);
+
+ bool hasLines();
+
+
+ signals:
+ // Notify container of new text and highlight state
+ void gotFocus(); // So we can set focus to input line
+ void textToLog(const QString& text);
+ void sendFile();
+ void extendedPopup(int id);
+ void autoText(const QString& text);
+ void textPasted(bool useSelection);
+ void popupCommand(int);
+ void filesDropped(const QStrList&);
+ void doSearch();
+
+ void setStatusBarTempText(const QString&);
+ void clearStatusBarTempText();
+
+ public slots:
+ void insertRememberLine();
+ void cancelRememberLine();
+ void insertMarkerLine();
+ void clearLines();
+
+ void append(const QString& nick, const QString& message);
+ void appendRaw(const QString& message, bool suppressTimestamps=false, bool self = false);
+ void appendQuery(const QString& nick, const QString& message, bool inChannel = false);
+ void appendQueryAction(const QString& nick, const QString& message);
+ void appendChannelAction(const QString& nick, const QString& message);
+ void appendServerMessage(const QString& type, const QString& message, bool parseURL = true);
+ void appendCommandMessage(const QString& command, const QString& message, bool important,
+ bool parseURL=true, bool self=false);
+ void appendBacklogMessage(const QString& firstColumn, const QString& message);
+ void search();
+ void searchAgain();
+
+ void setCurrentChannel(const QString& channel) { m_currentChannel = channel; }
+
+ virtual void removeSelectedText(int selNum=0);
+
+ virtual void scrollToBottom(); // Overwritten for internal reasons
+
+ // Clears context nick
+ void clearContextNick();
+
+ // Updates the scrollbar position
+ void updateScrollBarPos();
+
+ // Override ensureCursorVisible() to have an ability to disable this call
+ virtual void ensureCursorVisible();
+
+ protected slots:
+ void highlightedSlot(const QString& link);
+ void saveLinkAs(const QString& url);
+
+ protected:
+ void openLink(const QString &url, bool newTab=false);
+ QString filter(const QString& line, const QString& defaultColor, const QString& who=NULL,
+ bool doHighlight=true, bool parseURL=true, bool self=false);
+ void appendAction(const QString& nick, const QString& message);
+ void doAppend(const QString& line, bool self=false);
+ void replaceDecoration(QString& line,char decoration,char replacement);
+ virtual void contentsDragMoveEvent(QDragMoveEvent* e);
+ virtual void contentsDropEvent(QDropEvent* e);
+ virtual void contentsMouseReleaseEvent(QMouseEvent* ev);
+ virtual void contentsMousePressEvent(QMouseEvent* ev);
+ virtual void contentsMouseMoveEvent(QMouseEvent* ev);
+ virtual void contentsContextMenuEvent(QContextMenuEvent* ev);
+
+ virtual void keyPressEvent(QKeyEvent* e);
+ virtual void resizeEvent(QResizeEvent* e);
+
+ void hideEvent(QHideEvent* event);
+ void showEvent(QShowEvent* event);
+ void paintEvent(QPaintEvent* event);
+
+ bool contextMenu(QContextMenuEvent* ce);
+
+ void setupNickPopupMenu();
+ void updateNickMenuEntries(QPopupMenu* popup, const QString& nickname);
+ void setupQueryPopupMenu();
+ void setupChannelPopupMenu();
+
+ QChar::Direction basicDirection(const QString &string);
+
+ /// Returns a formated timestamp if timestamps are enabled else it returns QString::null
+ QString timeStamp();
+
+ /// Returns a formated nick string
+ QString createNickLine(const QString& nick, bool encapsulateNick = true, bool privMsg = false);
+
+ // used by search function
+ int m_findParagraph;
+ int m_findIndex;
+
+ void appendLine(const QString& color);
+ void appendRememberLine();
+
+ void updateLineParagraphs(int numRemoved);
+ void wipeLineParagraphs();
+
+ int m_rememberLineParagraph;
+ bool m_rememberLineDirtyBit;
+
+ QValueList<int> m_markerLineParagraphs;
+
+ // This is set to what we last sent status text to the statusbar. Empty if we have sent clearStatusBarTempText() string
+ QString m_lastStatusText;
+ // decide if we should place the scrollbar at the bottom on show()
+ bool m_resetScrollbar;
+
+ QString m_autoTextToSend;
+ Konversation::TabNotifyType m_tabNotification;
+ bool m_copyUrlMenu;
+ QString m_urlToCopy;
+
+ QString m_buffer;
+ Server* m_server;
+ QPopupMenu* m_popup;
+ int toggleMenuBarSeparator;
+ int copyUrlMenuSeparator;
+ KPopupMenu* m_nickPopup;
+ KPopupMenu* m_channelPopup;
+ KPopupMenu* m_modes;
+ KPopupMenu* m_kickban;
+
+ static QChar LRM;
+ static QChar RLM;
+ static QChar LRE;
+ static QChar RLE;
+ static QChar RLO;
+ static QChar LRO;
+ static QChar PDF;
+
+ bool m_caseSensitive;
+ bool m_wholeWords;
+ bool m_forward;
+ bool m_fromCursor;
+ QString m_pattern;
+ QColor m_highlightColor;
+
+ uint m_offset;
+ QStringList m_colorList;
+
+ QString m_highlightedURL; // the URL we're currently hovering on with the mouse
+ QString m_currentNick;
+ QString m_currentChannel;
+ bool m_isOnNick;
+ bool m_isOnChannel;
+ bool m_mousePressed;
+ QString m_urlToDrag;
+ QPoint m_pressPosition;
+ int m_nickPopupId;
+ int m_channelPopupId;
+
+ QFontDatabase m_fontDataBase;
+
+ // Provide ability to disable parent ensureCursorVisible() call
+ bool m_disableEnsureCursorVisible;
+ // If this widget was painted at least once. Needed for scrollbar
+ // reset HACK as a precaution.
+ bool m_wasPainted;
+
+ ChatWindow* m_chatWin;
+ friend class IRCStyleSheet;
+};
+#endif
diff --git a/konversation/src/ircviewbox.cpp b/konversation/src/ircviewbox.cpp
new file mode 100644
index 0000000..817f7d9
--- /dev/null
+++ b/konversation/src/ircviewbox.cpp
@@ -0,0 +1,141 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Renchi Raju <renchi@pooh.tam.uiuc.edu>
+*/
+
+#include "ircviewbox.h"
+#include "ircview.h"
+#include "searchbar.h"
+
+#include <klocale.h>
+#include <kapplication.h>
+#include <kiconloader.h>
+#include <qpixmap.h>
+
+
+static QPixmap getIcon(const QString& name)
+{
+ KIconLoader* iconLoader = kapp->iconLoader();
+ return iconLoader->loadIcon(name, KIcon::Toolbar, 16);
+}
+
+IRCViewBox::IRCViewBox(QWidget* parent, Server* newServer)
+: QVBox(parent)
+{
+ m_ircView = new IRCView(this, newServer);
+ m_searchBar = new SearchBar(this);
+ m_searchBar->hide();
+ m_matchedOnce = false;
+
+ connect(m_searchBar, SIGNAL(signalSearchChanged(const QString&)),
+ this, SLOT(slotSearchChanged(const QString&)));
+ connect(m_searchBar, SIGNAL(signalSearchNext()),
+ this, SLOT(slotSearchNext()));
+ connect(m_searchBar, SIGNAL(signalSearchPrevious()),
+ this, SLOT(slotSearchPrevious()));
+ connect(m_ircView, SIGNAL(doSearch()),
+ SLOT(slotSearch()));
+ connect(m_searchBar, SIGNAL(hidden()), m_ircView, SIGNAL(gotFocus()));
+}
+
+IRCViewBox::~IRCViewBox()
+{
+ delete m_ircView;
+ delete m_searchBar;
+}
+
+IRCView* IRCViewBox::ircView() const
+{
+ return m_ircView;
+}
+
+void IRCViewBox::slotSearch()
+{
+ if (m_searchBar->isVisible())
+ {
+ m_searchBar->hide();
+ return;
+ }
+
+ m_searchBar->show();
+ m_searchBar->setFocus();
+}
+
+void IRCViewBox::slotSearchNext()
+{
+ searchNext(false);
+}
+
+void IRCViewBox::slotSearchPrevious()
+{
+ searchNext(true);
+}
+
+void IRCViewBox::searchNext(bool reversed)
+{
+ bool match = m_ircView->searchNext(reversed);
+
+ if (match)
+ {
+ m_searchBar->setHasMatch(true);
+ m_searchBar->setStatus(QPixmap(), "");
+ return;
+ }
+
+ if (!m_matchedOnce)
+ {
+ m_searchBar->setHasMatch(false);
+ m_searchBar->setStatus(getIcon("messagebox_warning"),
+ i18n("Phrase not found"));
+ return;
+ }
+
+ match = m_ircView->search(m_searchBar->pattern(),
+ m_searchBar->caseSensitive(),
+ m_searchBar->wholeWords(),
+ m_searchBar->searchForward(),
+ false);
+
+ if (!match)
+ {
+ m_searchBar->setHasMatch(false);
+ m_searchBar->setStatus(getIcon("messagebox_warning"),
+ i18n("Phrase not found"));
+ return;
+ }
+
+ m_searchBar->setHasMatch(true);
+ m_searchBar->setStatus(getIcon("messagebox_info"),
+ i18n("Wrapped search"));
+}
+
+void IRCViewBox::slotSearchChanged(const QString& pattern)
+{
+ bool match = m_ircView->search(pattern,
+ m_searchBar->caseSensitive(),
+ m_searchBar->wholeWords(),
+ m_searchBar->searchForward(),
+ m_searchBar->fromCursor());
+
+ if (match)
+ {
+ m_searchBar->setHasMatch(true);
+ m_searchBar->setStatus(QPixmap(), "");
+ }
+ else
+ {
+ m_searchBar->setHasMatch(false);
+ m_searchBar->setStatus(getIcon("messagebox_warning"),
+ i18n("Phrase not found"));
+ }
+
+ m_matchedOnce = match;
+}
+
+#include "ircviewbox.moc"
diff --git a/konversation/src/ircviewbox.h b/konversation/src/ircviewbox.h
new file mode 100644
index 0000000..321e293
--- /dev/null
+++ b/konversation/src/ircviewbox.h
@@ -0,0 +1,49 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Renchi Raju <renchi@pooh.tam.uiuc.edu>
+*/
+
+#ifndef IRCVIEWBOX_H
+#define IRCVIEWBOX_H
+
+#include <qvbox.h>
+
+
+class IRCView;
+class SearchBar;
+class Server;
+
+class IRCViewBox : public QVBox
+{
+ Q_OBJECT
+
+ public:
+
+ IRCViewBox(QWidget* parent, Server* newServer);
+ ~IRCViewBox();
+
+ IRCView* ircView() const;
+
+ public slots:
+
+ void slotSearch();
+ void slotSearchNext();
+ void slotSearchPrevious();
+ void slotSearchChanged(const QString& pattern);
+
+ protected:
+ void searchNext(bool reversed = false);
+
+ private:
+
+ IRCView* m_ircView;
+ SearchBar* m_searchBar;
+ bool m_matchedOnce;
+};
+#endif /* IRCVIEWBOX_H */
diff --git a/konversation/src/joinchanneldialog.cpp b/konversation/src/joinchanneldialog.cpp
new file mode 100644
index 0000000..4799da2
--- /dev/null
+++ b/konversation/src/joinchanneldialog.cpp
@@ -0,0 +1,104 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 by Peter Simonsson <psn@linux.se>
+*/
+
+#include "joinchanneldialog.h"
+#include "joinchannelui.h"
+#include "server.h"
+#include "channel.h"
+#include "servergroupsettings.h"
+
+#include <qlabel.h>
+
+#include <klocale.h>
+#include <kcombobox.h>
+#include <klineedit.h>
+
+
+namespace Konversation
+{
+
+ JoinChannelDialog::JoinChannelDialog(Server* server, QWidget *parent, const char *name)
+ : KDialogBase(parent, name, true, i18n("Join Channel on %1").arg(server->getDisplayName()), Ok|Cancel, Ok)
+ {
+ m_server = server;
+ m_widget = new JoinChannelUI(this);
+ setMainWidget(m_widget);
+
+ m_widget->serverLbl->setText(server->getDisplayName());
+
+ if (m_server->getServerGroup())
+ {
+ ChannelList history = server->getServerGroup()->channelHistory();
+ ChannelList::iterator endIt = history.end();
+ const QPtrList<Channel> &channels = server->getChannelList();
+ QPtrListIterator<Channel> chanIt(channels);
+ Channel* chan = 0;
+ bool joined = false;
+
+ for(ChannelList::iterator it = history.begin(); it != endIt; ++it)
+ {
+ chan = chanIt.toFirst();
+ joined = false;
+
+ while(chan)
+ {
+ if(chan->getName() == (*it).name())
+ {
+ joined = true;
+ }
+
+ ++chanIt;
+ chan = chanIt.current();
+ }
+
+ if(!joined)
+ {
+ m_widget->channelCombo->addToHistory((*it).name());
+ }
+ }
+ }
+
+ m_widget->channelCombo->setCurrentText("");
+ }
+
+ JoinChannelDialog::~JoinChannelDialog()
+ {
+ }
+
+ QString JoinChannelDialog::channel() const
+ {
+ QString channel = m_widget->channelCombo->currentText();
+
+ if(!m_server->isAChannel(channel))
+ {
+ channel = '#' + channel;
+ }
+
+ return channel;
+ }
+
+ QString JoinChannelDialog::password() const
+ {
+ return m_widget->passwordEdit->text();
+ }
+
+ void JoinChannelDialog::slotOk()
+ {
+ // If the channel already exist in the history only the password will be updated.
+ if (m_server->getServerGroup())
+ m_server->getServerGroup()->appendChannelHistory(ChannelSettings(channel(), password()));
+
+ accept();
+ }
+
+}
+
+#include "joinchanneldialog.moc"
diff --git a/konversation/src/joinchanneldialog.h b/konversation/src/joinchanneldialog.h
new file mode 100644
index 0000000..7cad840
--- /dev/null
+++ b/konversation/src/joinchanneldialog.h
@@ -0,0 +1,44 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+*/
+
+#ifndef KONVERSATIONJOINCHANNELDIALOG_H
+#define KONVERSATIONJOINCHANNELDIALOG_H
+
+#include <kdialogbase.h>
+
+
+class Server;
+
+namespace Konversation
+{
+
+ class JoinChannelUI;
+
+ class JoinChannelDialog : public KDialogBase
+ {
+ Q_OBJECT
+ public:
+ explicit JoinChannelDialog(Server* server, QWidget *parent = 0, const char *name = 0);
+ ~JoinChannelDialog();
+
+ QString channel() const;
+ QString password() const;
+
+ protected slots:
+ virtual void slotOk();
+
+ private:
+ JoinChannelUI* m_widget;
+ Server* m_server;
+ };
+
+}
+#endif
diff --git a/konversation/src/joinchannelui.ui b/konversation/src/joinchannelui.ui
new file mode 100644
index 0000000..7863331
--- /dev/null
+++ b/konversation/src/joinchannelui.ui
@@ -0,0 +1,110 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Konversation::JoinChannelUI</class>
+<comment>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.
+</comment>
+<author>(C) 2004 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Konversation::JoinChannelUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>507</width>
+ <height>209</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>channelLabel</cstring>
+ </property>
+ <property name="text">
+ <string>C&amp;hannel:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>channelCombo</cstring>
+ </property>
+ </widget>
+ <widget class="KHistoryCombo" row="1" column="1">
+ <property name="name">
+ <cstring>channelCombo</cstring>
+ </property>
+ <property name="autoCompletion">
+ <bool>true</bool>
+ </property>
+ <property name="contextMenuEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="2" column="1">
+ <property name="name">
+ <cstring>passwordEdit</cstring>
+ </property>
+ <property name="echoMode">
+ <enum>Password</enum>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>passwordLabel</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Password:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>passwordEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel8</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Server:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>serverLbl</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcombobox.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/konsolepanel.cpp b/konversation/src/konsolepanel.cpp
new file mode 100644
index 0000000..2fe5b99
--- /dev/null
+++ b/konversation/src/konsolepanel.cpp
@@ -0,0 +1,75 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Mickael Marchand <marchand@kde.org>
+*/
+
+#include "konsolepanel.h"
+#include "common.h"
+#include "viewcontainer.h"
+
+#include <kdebug.h>
+#include <klibloader.h>
+#include <klocale.h>
+
+
+KonsolePanel::KonsolePanel(QWidget *p) : ChatWindow( p ), k_part (0)
+{
+ setName(i18n("Konsole"));
+ setType(ChatWindow::Konsole);
+ KLibFactory *fact = KLibLoader::self()->factory("libkonsolepart");
+ if (!fact) return;
+
+ k_part = (KParts::ReadOnlyPart *) fact->create(this);
+ if (!k_part) return;
+
+ k_part->widget()->setFocusPolicy(QWidget::WheelFocus);
+ setFocusProxy(k_part->widget());
+ k_part->widget()->setFocus();
+
+ connect(k_part, SIGNAL(destroyed()), this, SLOT(partDestroyed()));
+ connect(k_part, SIGNAL(receivedData(const QString&)), this, SLOT(konsoleChanged(const QString&)));
+}
+
+KonsolePanel::~KonsolePanel()
+{
+ kdDebug() << "KonsolePanel::~KonsolePanel()" << endl;
+ if ( k_part )
+ {
+ // make sure to prevent partDestroyed() signals from being sent
+ disconnect(k_part, SIGNAL(destroyed()), this, SLOT(partDestroyed()));
+ delete k_part;
+ }
+}
+
+QWidget* KonsolePanel::getWidget()
+{
+ if (k_part)
+ return k_part->widget();
+ else
+ return 0;
+}
+
+void KonsolePanel::childAdjustFocus()
+{
+ if (k_part) k_part->widget()->setFocus();
+}
+
+void KonsolePanel::partDestroyed()
+{
+ k_part = 0;
+
+ emit closeView(this);
+}
+
+void KonsolePanel::konsoleChanged(const QString& /* data */)
+{
+ activateTabNotification(Konversation::tnfSystem);
+}
+
+#include "konsolepanel.moc"
diff --git a/konversation/src/konsolepanel.h b/konversation/src/konsolepanel.h
new file mode 100644
index 0000000..ad9d1c0
--- /dev/null
+++ b/konversation/src/konsolepanel.h
@@ -0,0 +1,47 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Mickael Marchand <marchand@kde.org>
+*/
+
+#ifndef KONSOLE_PANEL_H
+#define KONSOLE_PANEL_H
+
+#include "chatwindow.h"
+
+#include <kparts/part.h>
+
+
+class KonsolePanel : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit KonsolePanel(QWidget *p);
+ ~KonsolePanel();
+
+ virtual void setName(const QString& newName) { ChatWindow::setName(newName); }
+
+ QWidget* getWidget();
+
+ signals:
+ void closeView(ChatWindow* view);
+
+ public slots:
+ void partDestroyed();
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ protected slots:
+ void konsoleChanged(const QString& data);
+
+ private:
+ KParts::ReadOnlyPart *k_part;
+};
+#endif /* KONSOLE_PANEL_H */
diff --git a/konversation/src/konvdcop.cpp b/konversation/src/konvdcop.cpp
new file mode 100644
index 0000000..e7abda9
--- /dev/null
+++ b/konversation/src/konvdcop.cpp
@@ -0,0 +1,359 @@
+/*
+ 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.
+*/
+
+/*
+ The konversation DCOP interface class
+ begin: Mar 7 2003
+ copyright: (C) 2003 by Alex Zepeda
+ email: zipzippy@sonic.net
+*/
+
+#include "konvdcop.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "awaymanager.h"
+#include "channel.h"
+#include "identity.h"
+#include "server.h"
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <dcopclient.h>
+#include <klocale.h>
+
+
+KonvDCOP::KonvDCOP() : DCOPObject("irc"), QObject(0, "irc")
+{
+ connectDCOPSignal("kdesktop", "KScreensaverIface", "KDE_start_screensaver()", "setScreenSaverStarted()", false);
+ connectDCOPSignal("kdesktop", "KScreensaverIface", "KDE_stop_screensaver()", "setScreenSaverStopped()", false);
+}
+
+void KonvDCOP::raw(const QString& server,const QString& command)
+{
+ kdDebug() << "KonvDCOP::raw()" << endl;
+ // send raw IRC protocol data
+ emit dcopRaw(server,command);
+}
+
+QStringList KonvDCOP::listServers()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ QStringList hosts;
+ QPtrList<Server> serverList = konvApp->getConnectionManager()->getServerList();
+ Server* server;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ if (server) hosts << server->getServerName();
+
+ return hosts;
+}
+
+QStringList KonvDCOP::listConnectedServers()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ QStringList connectedHosts;
+ QPtrList<Server> serverList = konvApp->getConnectionManager()->getServerList();
+ Server* server;
+
+ for (server = serverList.first(); server; server = serverList.next())
+ if (server && server->isConnected()) connectedHosts << server->getServerName();
+
+ return connectedHosts;
+}
+
+void KonvDCOP::setAway(const QString& awaymessage)
+{
+ static_cast<KonversationApplication*>(kapp)->getAwayManager()->requestAllAway(awaymessage);
+}
+
+void KonvDCOP::setBack()
+{
+ static_cast<KonversationApplication*>(kapp)->getAwayManager()->requestAllUnaway();
+}
+
+void KonvDCOP::setScreenSaverStarted()
+{
+ static_cast<KonversationApplication*>(kapp)->getAwayManager()->setManagedIdentitiesAway();
+}
+
+void KonvDCOP::setScreenSaverStopped()
+{
+ static_cast<KonversationApplication*>(kapp)->getAwayManager()->setManagedIdentitiesUnaway();
+}
+
+void KonvDCOP::sayToAll(const QString &message)
+{
+ emit dcopMultiServerRaw("msg " + message);
+}
+
+void KonvDCOP::actionToAll(const QString &message)
+{
+ emit dcopMultiServerRaw("me " + message);
+}
+
+void KonvDCOP::say(const QString& _server,const QString& _target,const QString& _command)
+{
+ //Sadly, copy on write doesn't exist with QString::replace
+ QString server(_server), target(_target), command(_command);
+
+ // TODO: this just masks a greater problem - Server::addQuery will return a query for '' --argonel
+ // TODO: other DCOP calls need argument checking too --argonel
+ if (server.isEmpty() || target.isEmpty() || command.isEmpty())
+ kdDebug() << "KonvDCOP::say() requires 3 arguments." << endl;
+ else
+ {
+ command.replace('\n',"\\n");
+ command.replace('\r',"\\r");
+ target.remove('\n');
+ target.remove('\r');
+ server.remove('\n');
+ server.remove('\r');
+ // Act as if the user typed it
+ emit dcopSay(server,target,command);
+ }
+}
+
+void KonvDCOP::info(const QString& string)
+{
+ kdDebug() << "KonvDCOP::info()" << endl;
+ emit dcopInfo(string);
+}
+
+void KonvDCOP::debug(const QString& string)
+{
+ kdDebug() << "KonvDCOP::debug()" << endl;
+ emit dcopInfo(QString("Debug: %1").arg(string));
+}
+
+void KonvDCOP::error(const QString& string)
+{
+ kdDebug() << "KonvDCOP::error()" << endl;
+ emit dcopInfo(QString("Error: %1").arg(string));
+}
+
+void KonvDCOP::insertMarkerLine()
+{
+ emit dcopInsertMarkerLine();
+}
+
+void KonvDCOP::connectToServer(const QString& address, int port, const QString& channel, const QString& password)
+{
+ emit connectTo(Konversation::SilentlyReuseConnection, address, QString::number(port), password, "", channel);
+}
+
+QString KonvDCOP::getNickname(const QString& serverName)
+{
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+
+ if (!server)
+ {
+ error( i18n( "getNickname: Server %1 is not found." ).arg( serverName ) );
+ return QString();
+ }
+
+ return server->getNickname();
+}
+
+QString KonvDCOP::getAnyNickname()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ Server* server = konvApp->getConnectionManager()->getAnyServer();
+
+ if (server) return server->getNickname();
+
+ return QString();
+}
+
+QString KonvDCOP::getChannelEncoding(const QString& server, const QString& channel)
+{
+ return Preferences::channelEncoding(server,channel);
+}
+
+// Identity stuff
+KonvIdentDCOP::KonvIdentDCOP()
+: DCOPObject("identity"),
+QObject(0, "identity")
+{
+}
+
+QStringList KonvIdentDCOP::listIdentities()
+{
+ QStringList identities;
+ IdentityList ids = Preferences::identityList();
+ for(IdentityList::ConstIterator it = ids.begin(); it != ids.end(); ++it)
+ {
+ identities.append((*it)->getName());
+ }
+ return identities;
+}
+
+void KonvIdentDCOP::setrealName(const QString &id_name, const QString& name)
+{
+ IdentityList ids = Preferences::identityList();
+
+ for(IdentityList::iterator it = ids.begin(); it != ids.end(); ++it)
+ {
+ if ((*it)->getName() == id_name)
+ {
+ (*it)->setRealName(name);
+ return;
+ }
+ }
+
+}
+
+QString KonvIdentDCOP::getrealName(const QString &id_name)
+{
+ IdentityList ids = Preferences::identityList();
+
+ for(IdentityList::ConstIterator it = ids.begin(); it != ids.end(); ++it)
+ {
+ if ((*it)->getName() == id_name)
+ {
+ return (*it)->getRealName();
+ }
+ }
+
+ return QString();
+}
+
+void KonvIdentDCOP::setIdent(const QString &/*identity*/, const QString& /*ident*/)
+{
+ //Preferences::identityByName(identity)->.setIdent(;
+}
+
+QString KonvIdentDCOP::getIdent(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getIdent();
+}
+
+void KonvIdentDCOP::setNickname(const QString &identity, int index,const QString& nick)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setNickname(index, nick);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getNickname(const QString &identity, int index)
+{
+ return Preferences::identityByName(identity)->getNickname(index);
+}
+
+void KonvIdentDCOP::setBot(const QString &identity, const QString& bot)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setBot(bot);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getBot(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getBot();
+}
+
+void KonvIdentDCOP::setPassword(const QString &identity, const QString& password)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setPassword(password);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getPassword(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getPassword();
+}
+
+void KonvIdentDCOP::setNicknameList(const QString &identity, const QStringList& newList)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setNicknameList(newList);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QStringList KonvIdentDCOP::getNicknameList(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getNicknameList();
+}
+
+void KonvIdentDCOP::setQuitReason(const QString &identity, const QString& reason)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setQuitReason(reason);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getQuitReason(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getQuitReason();
+}
+
+
+void KonvIdentDCOP::setPartReason(const QString &identity, const QString& reason)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setPartReason(reason);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getPartReason(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getPartReason();
+}
+
+void KonvIdentDCOP::setKickReason(const QString &identity, const QString& reason)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setKickReason(reason);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getKickReason(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getKickReason();
+}
+
+void KonvIdentDCOP::setShowAwayMessage(const QString &identity, bool state)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setShowAwayMessage(state);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+bool KonvIdentDCOP::getShowAwayMessage(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getShowAwayMessage();
+}
+
+void KonvIdentDCOP::setAwayMessage(const QString &identity, const QString& message)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setAwayMessage(message);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getAwayMessage(const QString &identity)
+{
+ const QString f = Preferences::identityByName(identity)->getAwayMessage();
+ return f;
+}
+
+void KonvIdentDCOP::setReturnMessage(const QString &identity, const QString& message)
+{
+ const Identity *i = Preferences::identityByName(identity);
+ const_cast<Identity *>(i)->setReturnMessage(message);
+ static_cast<KonversationApplication *>(kapp)->saveOptions(true);
+}
+
+QString KonvIdentDCOP::getReturnMessage(const QString &identity)
+{
+ return Preferences::identityByName(identity)->getReturnMessage();
+}
+
+#include "konvdcop.moc"
diff --git a/konversation/src/konvdcop.h b/konversation/src/konvdcop.h
new file mode 100644
index 0000000..3f513fb
--- /dev/null
+++ b/konversation/src/konvdcop.h
@@ -0,0 +1,110 @@
+/*
+ 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.
+*/
+
+/*
+ The konversation DCOP interface class
+ begin: Mar 7 2003
+ copyright: (C) 2003 by Alex Zepeda
+ email: zipzippy@sonic.net
+*/
+
+#ifndef KONV_DCOP_H
+#define KONV_DCOP_H
+
+#include "konviface.h"
+#include "common.h"
+
+#include <qobject.h>
+#include <dcopobject.h>
+
+
+class KonvDCOP : public QObject, virtual public KonvIface
+{
+ Q_OBJECT
+
+ public:
+ KonvDCOP();
+
+ QString getNickname (const QString &server);
+ QString getAnyNickname ();
+ QString getChannelEncoding(const QString& server, const QString& channel);
+
+ signals:
+ void dcopSay(const QString& server,const QString& target,const QString& command);
+ void dcopInfo(const QString& string);
+ void dcopInsertMarkerLine();
+ void dcopRaw(const QString& server, const QString& command);
+ void dcopMultiServerRaw(const QString& command);
+
+ void connectTo(Konversation::ConnectionFlag flag,
+ const QString& hostName,
+ const QString& port = "",
+ const QString& password = "",
+ const QString& nick = "",
+ const QString& channel = "",
+ bool useSSL = false);
+
+ public slots:
+ void setAway(const QString &awaymessage);
+ void setBack();
+ void sayToAll(const QString &message);
+ void actionToAll(const QString &message);
+ void raw(const QString& server,const QString& command);
+ void say(const QString& server,const QString& target,const QString& command);
+ void info(const QString& string);
+ void debug(const QString& string);
+ void error(const QString& string);
+ void insertMarkerLine();
+ void connectToServer(const QString& adress, int port, const QString& channel, const QString& password);
+ QStringList listServers();
+ QStringList listConnectedServers();
+
+ void setScreenSaverStarted();
+ void setScreenSaverStopped();
+};
+
+class KonvIdentDCOP : public QObject, virtual public KonvIdentityIface
+{
+ Q_OBJECT
+
+ public:
+ KonvIdentDCOP();
+
+ void setrealName(const QString &identity, const QString& name);
+ QString getrealName(const QString &identity);
+ void setIdent(const QString &identity, const QString& ident);
+ QString getIdent(const QString &identity);
+
+ void setNickname(const QString &identity, int index,const QString& nick);
+ QString getNickname(const QString &identity, int index);
+
+ void setBot(const QString &identity, const QString& bot);
+ QString getBot(const QString &identity);
+ void setPassword(const QString &identity, const QString& password);
+ QString getPassword(const QString &identity);
+
+ void setNicknameList(const QString &identity, const QStringList& newList);
+ QStringList getNicknameList(const QString &identity);
+
+ void setQuitReason(const QString &identity, const QString& reason);
+ QString getQuitReason(const QString &identity);
+ void setPartReason(const QString &identity, const QString& reason);
+ QString getPartReason(const QString &identity);
+ void setKickReason(const QString &identity, const QString& reason);
+ QString getKickReason(const QString &identity);
+
+ void setShowAwayMessage(const QString &identity, bool state);
+ bool getShowAwayMessage(const QString &identity);
+
+ void setAwayMessage(const QString &identity, const QString& message);
+ QString getAwayMessage(const QString &identity);
+ void setReturnMessage(const QString &identity, const QString& message);
+ QString getReturnMessage(const QString &identity);
+
+ QStringList listIdentities();
+};
+#endif
diff --git a/konversation/src/konversation-0.19-appearance.pl b/konversation/src/konversation-0.19-appearance.pl
new file mode 100755
index 0000000..ba440ac
--- /dev/null
+++ b/konversation/src/konversation-0.19-appearance.pl
@@ -0,0 +1,52 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $key;
+my $value;
+my $i;
+my $out;
+my @irccolors;
+my @nickcolors;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ ($key, $value) = ($_ =~ /([^=]+)=[ \t]*([^\n]+)/);
+ if ($_ =~ /IRCColors/)
+ {
+ print("# DELETE $currentGroup$key\n");
+ if ($value ne "#ffffff,#000000,#000080,#008000,#ff0000,#a52a2a,#800080,#ff8000,#808000,#00ff00,#008080,#00ffff,#0000ff,#ffc0cb,#a0a0a0,#c0c0c0")
+ {
+ $i = 0;
+ @irccolors = split(/,/, $value);
+ foreach $out (@irccolors)
+ {
+ $out =~ /([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/;
+ printf("IrcColorCode$i=%d,%d,%d\n",hex($1),hex($2),hex($3));
+ $i++;
+ }
+ }
+ }
+ elsif ($_ =~ /NickColors/)
+ {
+ print("# DELETE $currentGroup$key\n");
+ if ($value ne "#E90E7F,#8E55E9,#B30E0E,#18B33C,#58ADB3,#9E54B3,#0FB39A,#3176B3,#000000")
+ {
+ $i = 0;
+ @nickcolors = split(/,/, $value);
+ foreach $out (@nickcolors)
+ {
+ $out =~ /([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/;
+ printf("NickColor$i=%d,%d,%d\n",hex($1),hex($2),hex($3));
+ $i++;
+ }
+ }
+ }
+}
diff --git a/konversation/src/konversation-0.19-colorcodes.pl b/konversation/src/konversation-0.19-colorcodes.pl
new file mode 100644
index 0000000..5016c79
--- /dev/null
+++ b/konversation/src/konversation-0.19-colorcodes.pl
@@ -0,0 +1,26 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $key;
+my $value;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ ($key, $value) = ($_ =~ /([^=]+)=[ \t]*([^\n]+)/);
+ if ($_ =~ /FilterColorCodes/)
+ {
+ print("# DELETE $currentGroup$key\n");
+ if ($value eq "true")
+ {
+ print("AllowColorCodes=false\n");
+ }
+ }
+}
diff --git a/konversation/src/konversation-0.19-colors.pl b/konversation/src/konversation-0.19-colors.pl
new file mode 100755
index 0000000..34a4918
--- /dev/null
+++ b/konversation/src/konversation-0.19-colors.pl
@@ -0,0 +1,23 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $key;
+my $value;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ ($key, $value) = ($_ =~ /([^=]+)=[ \t]*([^\n]+)/);
+ if ($value =~ /([\da-fA-F]{2})([\da-fA-F]{2})([\da-fA-F]{2})$/)
+ {
+ print("# DELETE $currentGroup$key\n");
+ printf("$key=%d,%d,%d\n",hex($1),hex($2),hex($3));
+ }
+}
diff --git a/konversation/src/konversation-0.19-custombrowser.pl b/konversation/src/konversation-0.19-custombrowser.pl
new file mode 100644
index 0000000..f63d0f2
--- /dev/null
+++ b/konversation/src/konversation-0.19-custombrowser.pl
@@ -0,0 +1,26 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $key;
+my $value;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ ($key, $value) = ($_ =~ /([^=]+)=[ \t]*([^\n]+)/);
+ if ($_ =~ /UseKdeDefault/)
+ {
+ print("# DELETE $currentGroup$key\n");
+ if ($value eq "false")
+ {
+ print("UseCustomBrowser=true\n");
+ }
+ }
+}
diff --git a/konversation/src/konversation-0.19-notifylists.pl b/konversation/src/konversation-0.19-notifylists.pl
new file mode 100644
index 0000000..42bfe9d
--- /dev/null
+++ b/konversation/src/konversation-0.19-notifylists.pl
@@ -0,0 +1,43 @@
+#! /usr/bin/perl
+
+use strict;
+
+my($out);
+my($group);
+my($gotgroup);
+my(%group2groupno);
+my(%key2value);
+my(@split);
+my(%saw);
+
+while (<>)
+{
+ if ($_ =~ /^\[ServerGroup ([0-9]+)\]/)
+ {
+ $group = $1;
+ $gotgroup = 1;
+ }
+ elsif ($_ =~ /^Name=(.+)/ && $gotgroup)
+ {
+ $group2groupno{$group} = $1;
+ $gotgroup = 0;
+ }
+ elsif ($_ =~ /^(.+)=(.+)/)
+ {
+ $key2value{$1} = $2;
+ }
+}
+
+foreach $out (keys %group2groupno)
+{
+ @split = split(" ",$key2value{$group2groupno{$out}});
+
+ if (@split)
+ {
+ undef %saw;
+ @saw{@split} = ();
+ @split = keys %saw;
+
+ print "[ServerGroup $out]\nNotifyList=@split\n";
+ }
+}
diff --git a/konversation/src/konversation-0.19-sortorder.pl b/konversation/src/konversation-0.19-sortorder.pl
new file mode 100755
index 0000000..6777a91
--- /dev/null
+++ b/konversation/src/konversation-0.19-sortorder.pl
@@ -0,0 +1,69 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $name;
+my $value;
+my $out;
+my %list;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ elsif ($_ =~ /AdminValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "p";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /HalfopValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "h";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /NoRightsValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "-";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /OperatorValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "o";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /OwnerValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "q";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /VoiceValue/)
+ {
+ ($name,$value) = split("=",$_);
+ $list{"$value"} = "v";
+ print("# DELETE $currentGroup$name\n");
+ }
+ elsif ($_ =~ /AwayValue/)
+ {
+ ($name,$value) = split("=",$_);
+ print("# DELETE $currentGroup$name\n");
+ }
+}
+
+print "SortOrder=";
+
+foreach $out (reverse sort { $a <=> $b } keys %list)
+{
+ print $list{$out};
+}
+
+print "\n"; \ No newline at end of file
diff --git a/konversation/src/konversation-0.19-tabplacement.pl b/konversation/src/konversation-0.19-tabplacement.pl
new file mode 100755
index 0000000..91d9570
--- /dev/null
+++ b/konversation/src/konversation-0.19-tabplacement.pl
@@ -0,0 +1,26 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $currentGroup = "";
+my $key;
+my $value;
+
+while (<>)
+{
+ chomp;
+ if ( /^\[/ )
+ {
+ $currentGroup = $_;
+ next;
+ }
+ ($key, $value) = ($_ =~ /([^=]+)=[ \t]*([^\n]+)/);
+ if ($_ =~ /TabPlacement/)
+ {
+ if ($value eq "0")
+ {
+ print("# DELETE $currentGroup$key\n");
+ print("$key=Top\n");
+ }
+ }
+}
diff --git a/konversation/src/konversation-0.20-customfonts.pl b/konversation/src/konversation-0.20-customfonts.pl
new file mode 100644
index 0000000..21f3ae0
--- /dev/null
+++ b/konversation/src/konversation-0.20-customfonts.pl
@@ -0,0 +1,21 @@
+#! /usr/bin/perl
+
+use strict;
+
+
+while (<>)
+{
+ chomp;
+ if ($_ =~ /^TextFont/)
+ {
+ print("CustomTextFont=true\n");
+ }
+ if ($_ =~ /^ListFont/)
+ {
+ print("CustomListFont=true\n");
+ }
+ if ($_ =~ /^TabFont/)
+ {
+ print("CustomTabFont=true\n");
+ }
+}
diff --git a/konversation/src/konversation-0.20-quickbuttons.pl b/konversation/src/konversation-0.20-quickbuttons.pl
new file mode 100644
index 0000000..c5b49bc
--- /dev/null
+++ b/konversation/src/konversation-0.20-quickbuttons.pl
@@ -0,0 +1,137 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $button0 = "";
+my $button1 = "";
+my $button2 = "";
+my $button3 = "";
+my $button4 = "";
+my $button5 = "";
+my $button6 = "";
+my $button7 = "";
+
+while (<>)
+{
+ chomp;
+ if ($_ =~ /^Button0/)
+ {
+ $button0 = $_;
+ }
+ if ($_ =~ /^Button1/)
+ {
+ $button1 = $_;
+ }
+ if ($_ =~ /^Button2/)
+ {
+ $button2 = $_;
+ }
+ if ($_ =~ /^Button3/)
+ {
+ $button3 = $_;
+ }
+ if ($_ =~ /^Button4/)
+ {
+ $button4 = $_;
+ }
+ if ($_ =~ /^Button5/)
+ {
+ $button5 = $_;
+ }
+ if ($_ =~ /^Button6/)
+ {
+ $button6 = $_;
+ }
+ if ($_ =~ /^Button7/)
+ {
+ $button7 = $_;
+ }
+}
+
+if ($button0 ne "")
+{
+ print("# DELETE [Button List]Button0\n");
+ print("$button0\n");
+}
+else
+{
+ print("# DELETE [Button List]Button0\n");
+ print("Button0=Op,/OP %u%n\n");
+}
+
+if ($button1 ne "")
+{
+ print("# DELETE [Button List]Button1\n");
+ print("$button1\n");
+}
+else
+{
+ print("# DELETE [Button List]Button1\n");
+ print("Button1=DeOp,/DEOP %u%n\n");
+}
+
+if ($button2 ne "")
+{
+ print("# DELETE [Button List]Button2\n");
+ print("$button2\n");
+}
+else
+{
+ print("# DELETE [Button List]Button2\n");
+ print("Button2=WhoIs,/WHOIS %s,%%u%n\n");
+}
+
+if ($button3 ne "")
+{
+ print("# DELETE [Button List]Button3\n");
+ print("$button3\n");
+}
+else
+{
+ print("# DELETE [Button List]Button3\n");
+ print("Button3=Version,/CTCP %s,%%u VERSION%n\n");
+}
+
+if ($button4 ne "")
+{
+ print("# DELETE [Button List]Button4\n");
+ print("$button4\n");
+}
+else
+{
+ print("# DELETE [Button List]Button4\n");
+ print("Button4=Kick,/KICK %u%n\n");
+}
+
+if ($button5 ne "")
+{
+ print("# DELETE [Button List]Button5\n");
+ print("$button5\n");
+}
+else
+{
+ print("# DELETE [Button List]Button5\n");
+ print("Button5=Ban,/BAN %u%n\n");
+}
+
+if ($button6 ne "")
+{
+ print("# DELETE [Button List]Button6\n");
+ print("$button6\n");
+}
+else
+{
+ print("# DELETE [Button List]Button6\n");
+ print("Button6=Part,/PART %c Leaving...%n\n");
+}
+
+if ($button7 ne "")
+{
+ print("# DELETE [Button List]Button7\n");
+ print("$button7\n");
+}
+else
+{
+ print("# DELETE [Button List]Button7\n");
+ print("Button7=Quit,/QUIT Leaving...%n\n");
+} \ No newline at end of file
diff --git a/konversation/src/konversation.desktop b/konversation/src/konversation.desktop
new file mode 100644
index 0000000..110292b
--- /dev/null
+++ b/konversation/src/konversation.desktop
@@ -0,0 +1,47 @@
+[Desktop Entry]
+Type=Application
+Exec=konversation -caption "%c" %i
+Icon=konversation
+X-DocPath=konversation/index.html
+GenericName=IRC Client
+GenericName[ar]=زبون IRC
+GenericName[bg]=IRC клиент
+GenericName[br]=Kliant IRC
+GenericName[ca]=Client IRC
+GenericName[cs]=IRC klient
+GenericName[cy]=Dibynnydd IRC
+GenericName[da]=IRC-klient
+GenericName[de]=IRC-Programm
+GenericName[el]=Πελάτης IRC
+GenericName[es]=Cliente de IRC
+GenericName[et]=IRC klient
+GenericName[ga]=Cliant IRC
+GenericName[gl]=Cliente IRC
+GenericName[he]=לקוח IRC
+GenericName[it]=Client IRC
+GenericName[ja]=IRC クライアント
+GenericName[ka]=IRC საუბარი
+GenericName[lt]=IRC klientas
+GenericName[ms]=Klien IRC
+GenericName[nl]=IRC-client
+GenericName[pa]=IRC ਕਲਾਂਇਟ
+GenericName[pt]=Cliente de IRC
+GenericName[pt_BR]=Cliente IRC
+GenericName[sr]=IRC клијент
+GenericName[sr@Latn]=IRC klijent
+GenericName[sv]=IRC-klient
+GenericName[tr]=IRC İstemcisi
+GenericName[uk]=Клієнт IRC
+GenericName[xx]=xxIRC Clientxx
+GenericName[zh_CN]=IRC 客户端
+GenericName[zh_TW]=IRC 客戶端程式
+Terminal=false
+Name=Konversation
+Name[hi]=कनवर्सेसन
+Name[pa]=ਗੱਲਬਾਤ
+Name[ta]=உரையாடல்
+Name[xx]=xxKonversationxx
+Categories=Qt;KDE;Network;IRCClient;
+ServiceTypes=DCOP/InstantMessenger;DCOP/Unique
+X-DCOP-ServiceName=konversation
+X-DCOP-ServiceType=Unique
diff --git a/konversation/src/konversation.upd b/konversation/src/konversation.upd
new file mode 100644
index 0000000..0909314
--- /dev/null
+++ b/konversation/src/konversation.upd
@@ -0,0 +1,144 @@
+Id=1.1-rememberline
+File=konversationrc
+Group=General Options
+Key=ShowRememberLineInAllWindows,MarkerLineInAllViews
+RemoveKey=ShowRememberLineInAllWindows
+
+Id=1.1-markerlines
+File=konversationrc
+Group=Appearance,General Options
+Key=AutoInsertRememberLineAfterMinimizing,AutomaticRememberLine
+RemoveKey=AutoInsertRememberLineAfterMinimizing
+
+Id=0.20-customfonts
+File=konversationrc
+Group=Appearance
+Script=konversation-0.20-customfonts.pl,perl
+
+Id=0.20-quickbuttons
+File=konversationrc
+Group=Button List
+Script=konversation-0.20-quickbuttons.pl,perl
+
+Id=0.19-notifylists
+File=konversationrc
+Script=konversation-0.19-notifylists.pl,perl
+RemoveGroup=Notify Group Lists
+
+Id=0.19-appearance
+File=konversationrc
+Group=Appearance
+Key=CloseButtonsOnTabs,CloseButtons
+RemoveKey=CloseButtonsOnTabs
+RemoveKey=QuickButtons
+RemoveKey=Codec
+RemoveKey=FilterColorCodes
+Script=konversation-0.19-appearance.pl,perl
+Script=konversation-0.19-colorcodes.pl,perl
+
+Id=0.19-browser
+File=konversationrc
+Group=Web Browser Settings
+Script=konversation-0.19-custombrowser.pl,perl
+
+Id=0.19-flags
+File=konversationrc
+Group=Flags
+RemoveKey=BlinkingTabs
+Script=konversation-0.19-tabplacement.pl,perl
+
+Id=0.19-highlightcolors
+File=konversationrc
+Group=Highlight List
+Script=konversation-0.19-colors.pl,perl
+
+# Convert OSD color storage format
+Id=0.19-osdcolors
+File=konversationrc
+Group=OSD
+Script=konversation-0.19-colors.pl,perl
+
+# Convert nick list sort order storage format
+Id=0.19-sortorder
+File=konversationrc
+Group=Sort Nicknames
+Script=konversation-0.19-sortorder.pl,perl
+
+# Convert color storage format
+Id=0.19-colors
+File=konversationrc
+Group=Message Text Colors
+Script=konversation-0.19-colors.pl,perl
+
+Id=0.19-generaloptions
+File=konversationrc
+Group=General Options
+Key=RedirectServerAndAppMsgToStatusPane,AndAppMsgToStatusPane
+Key=ClickableNicks,UseClickableNicks
+RemoveKey=RedirectServerAndAppMsgToStatusPane
+RemoveKey=ClickableNicks
+RemoveKey=ColorConfigurationGeometry
+RemoveKey=ButtonGeometry
+RemoveKey=Geometry
+RemoveKey=HilightGeometry
+RemoveKey=IgnoreGeometry
+RemoveKey=KickReason
+RemoveKey=LogfileGeometry
+RemoveKey=PartReason
+RemoveKey=ServerWindowStatusBarStatus
+RemoveKey=ServerWindowToolBarIconSize
+RemoveKey=ServerWindowToolBarIconText
+RemoveKey=ServerWindowToolBarPos
+RemoveKey=ServerWindowToolBarStatus
+RemoveKey=ToolBarPos
+RemoveKey=VersionReply
+RemoveKey=MaximumLag
+
+Id=0.19-cleanup-themes
+File=konversationrc
+Group=Themes
+RemoveKey=IconThemeIndex
+RemoveKey=IconThemeName
+
+Id=0.19-cleanup-notifylist
+File=konversationrc
+Group=Notify List
+RemoveKey=NotifyList
+
+Id=0.19-cleanup-dcc
+File=konversationrc
+Group=DCC Settings
+RemoveKey=GetIpFromServer
+RemoveKey=Rollback
+
+Id=0.19-cleanup-colors
+File=konversationrc
+Group=Colors
+RemoveGroup=Colors
+
+Id=0.19-cleanup-hilightlist
+File=konversationrc
+Group=Hilight List
+RemoveGroup=Hilight List
+
+Id=0.19-cleanup-notificationmessages
+File=konversationrc
+Group=Notification Messages
+RemoveGroup=Notification Messages
+
+Id=0.19-cleanup-ledcolors
+File=konversationrc
+Group=Led Colors
+RemoveGroup=Led Colors
+
+Id=0.19-cleanup-kmditaskbar
+File=konversationrc
+Group=MainWindow Toolbar KMdiTaskBar
+RemoveGroup=MainWindow Toolbar KMdiTaskBar
+
+# Rename ChannelSplitter
+Id=0.19-channelsplitter
+File=konversationrc
+Group=Appearance
+Key=ChannelSplitter,ChannelSplitterSizes
+RemoveKey=ChannelSplitter
diff --git a/konversation/src/konversationapplication.cpp b/konversation/src/konversationapplication.cpp
new file mode 100644
index 0000000..fd0afa7
--- /dev/null
+++ b/konversation/src/konversationapplication.cpp
@@ -0,0 +1,888 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "connectionmanager.h"
+#include "awaymanager.h"
+#include "dcctransfermanager.h"
+#include "viewcontainer.h"
+#include "highlight.h"
+#include "server.h"
+#include "konversationsound.h"
+#include "quickconnectdialog.h"
+#include "servergroupsettings.h"
+#include "serversettings.h"
+#include "channel.h"
+#include "images.h"
+#include "notificationhandler.h"
+#include "commit.h"
+#include "version.h"
+
+#include <qtextcodec.h>
+#include <qregexp.h>
+#include <qfileinfo.h>
+
+#include <kdebug.h>
+#include <kcmdlineargs.h>
+#include <kconfig.h>
+#include <dcopclient.h>
+#include <kdeversion.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kiconloader.h>
+
+
+KonversationApplication::KonversationApplication()
+: KUniqueApplication(true, true, true)
+{
+ mainWindow = 0;
+ m_connectionManager = 0;
+ m_awayManager = 0;
+ quickConnectDialog = 0;
+ osd = 0;
+}
+
+KonversationApplication::~KonversationApplication()
+{
+ kdDebug() << k_funcinfo << endl;
+ Server::_stashRates();
+ Preferences::writeConfig();
+ saveOptions(false);
+
+ delete m_images;
+ delete dcopObject;
+ //delete prefsDCOP;
+ delete identDCOP;
+ delete osd;
+ osd = 0;
+}
+
+int KonversationApplication::newInstance()
+{
+ KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
+ QCString url;
+ if (args->count() > 0) url = args->arg(0);
+
+ if (!mainWindow)
+ {
+ connect(this, SIGNAL(shutDown()), this, SLOT(prepareShutdown()));
+
+ m_connectionManager = new ConnectionManager(this);
+
+ m_awayManager = new AwayManager(this);
+
+ connect(m_connectionManager, SIGNAL(identityOnline(int)), m_awayManager, SLOT(identityOnline(int)));
+ connect(m_connectionManager, SIGNAL(identityOffline(int)), m_awayManager, SLOT(identityOffline(int)));
+ connect(m_connectionManager, SIGNAL(identityOffline(int)), m_awayManager, SLOT(identityOffline(int)));
+ connect(m_connectionManager, SIGNAL(connectionChangedAwayState(bool)), m_awayManager, SLOT(updateGlobalAwayAction(bool)));
+
+ // an instance of DccTransferManager needs to be created before GUI class instances' creation.
+ m_dccTransferManager = new DccTransferManager(this);
+
+ // make sure all vars are initialized properly
+ quickConnectDialog = 0;
+
+ // Sound object used to play sound...
+ m_sound = new Konversation::Sound(this);
+
+ // initialize OSD display here, so we can read the Preferences::properly
+ osd = new OSDWidget( "Konversation" );
+
+ Preferences::self();
+ readOptions();
+
+ // Images object providing LEDs, NickIcons
+ m_images = new Images();
+ connect(this, SIGNAL(iconChanged(int)), m_images, SLOT(updateIcons()));
+
+ // Auto-alias scripts. This adds any missing aliases
+ QStringList aliasList(Preferences::aliasList());
+ QStringList scripts(Preferences::defaultAliasList());
+ bool changed = false;
+ for ( QStringList::ConstIterator it = scripts.begin(); it != scripts.end(); ++it )
+ {
+ if(!aliasList.contains(*it)) {
+ changed = true;
+ aliasList.append(*it);
+ }
+ }
+ if(changed)
+ Preferences::setAliasList(aliasList);
+
+ // Setup system codec
+ // TODO: check if this works now as intended
+ // QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
+
+ // open main window
+ mainWindow = new KonversationMainWindow();
+ setMainWidget(mainWindow);
+
+ connect(mainWindow, SIGNAL(showQuickConnectDialog()), this, SLOT(openQuickConnectDialog()) );
+ connect(Preferences::self(), SIGNAL(updateTrayIcon()), mainWindow, SLOT(updateTrayIcon()) );
+ connect(osd, SIGNAL(hidden()), mainWindow, SIGNAL(endNotification()));
+ // take care of user style changes, setting back colors and stuff
+
+ // apply GUI settings
+ emit appearanceChanged();
+
+ if (Preferences::showTrayIcon() && (Preferences::hiddenToTray() || Preferences::hideToTrayOnStartup()))
+ mainWindow->hide();
+ else
+ mainWindow->show();
+
+ bool openServerList = Preferences::showServerList();
+
+ // handle autoconnect on startup
+ Konversation::ServerGroupList serverGroups = Preferences::serverGroupList();
+
+ if (url.isEmpty() && !args->isSet("server"))
+ {
+ for (Konversation::ServerGroupList::iterator it = serverGroups.begin(); it != serverGroups.end(); ++it)
+ {
+ if ((*it)->autoConnectEnabled())
+ {
+ openServerList = false;
+ m_connectionManager->connectTo(Konversation::CreateNewConnection, (*it)->id());
+ }
+ }
+ }
+
+ if (openServerList) mainWindow->openServerList();
+
+ connect(this, SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)), this, SLOT(saveOptions()));
+
+ // prepare dcop interface
+ dcopObject = new KonvDCOP;
+ kapp->dcopClient()->setDefaultObject(dcopObject->objId());
+ identDCOP = new KonvIdentDCOP;
+
+ if (dcopObject)
+ {
+ connect(dcopObject,SIGNAL (dcopMultiServerRaw(const QString&)),
+ this,SLOT (dcopMultiServerRaw(const QString&)) );
+ connect(dcopObject,SIGNAL (dcopRaw(const QString&,const QString&)),
+ this,SLOT (dcopRaw(const QString&,const QString&)) );
+ connect(dcopObject,SIGNAL (dcopSay(const QString&,const QString&,const QString&)),
+ this,SLOT (dcopSay(const QString&,const QString&,const QString&)) );
+ connect(dcopObject,SIGNAL (dcopInfo(const QString&)),
+ this,SLOT (dcopInfo(const QString&)) );
+ connect(dcopObject,SIGNAL (dcopInsertMarkerLine()),
+ mainWindow,SIGNAL(insertMarkerLine()));
+ connect(dcopObject, SIGNAL(connectTo(Konversation::ConnectionFlag, const QString&, const QString&, const QString&, const QString&, const QString&, bool)),
+ m_connectionManager, SLOT(connectTo(Konversation::ConnectionFlag, const QString&, const QString&, const QString&, const QString&, const QString&, bool)));
+ }
+
+ m_notificationHandler = new Konversation::NotificationHandler(this);
+ }
+
+ if (!url.isEmpty())
+ getConnectionManager()->connectTo(Konversation::SilentlyReuseConnection, url);
+ else if (args->isSet("server"))
+ {
+ getConnectionManager()->connectTo(Konversation::SilentlyReuseConnection,
+ args->getOption("server"),
+ args->getOption("port"),
+ args->getOption("password"),
+ args->getOption("nick"),
+ args->getOption("channel"),
+ args->isSet("ssl"));
+ }
+
+ return KUniqueApplication::newInstance();
+}
+
+KonversationApplication* KonversationApplication::instance()
+{
+ return static_cast<KonversationApplication*>(KApplication::kApplication());
+}
+
+void KonversationApplication::prepareShutdown()
+{
+ if (mainWindow->isHidden() && Preferences::showTrayIcon())
+ Preferences::setHiddenToTray(true);
+ else
+ Preferences::setHiddenToTray(false);
+
+ mainWindow->getViewContainer()->prepareShutdown();
+
+ m_awayManager->blockSignals(true);
+ delete m_awayManager;
+
+ m_connectionManager->quitServers();
+ m_connectionManager->blockSignals(true);
+ delete m_connectionManager;
+}
+
+void KonversationApplication::showQueueTuner(bool p)
+{
+ getMainWindow()->getViewContainer()->showQueueTuner(p);
+}
+
+void KonversationApplication::dcopMultiServerRaw(const QString &command)
+{
+ sendMultiServerCommand(command.section(' ', 0,0), command.section(' ', 1));
+}
+
+void KonversationApplication::dcopRaw(const QString& connection, const QString &command)
+{
+ Server* server = 0;
+
+ bool conversion = false;
+ int connectionId = connection.toInt(&conversion);
+
+ if (conversion) server = getConnectionManager()->getServerByConnectionId(connectionId);
+
+ if (!server) server = getConnectionManager()->getServerByName(connection);
+
+ if (server) server->dcopRaw(command);
+}
+
+
+void KonversationApplication::dcopSay(const QString& connection, const QString& target, const QString& command)
+{
+ Server* server = 0;
+
+ bool conversion = false;
+ int connectionId = connection.toInt(&conversion);
+
+ if (conversion) server = getConnectionManager()->getServerByConnectionId(connectionId);
+
+ if (!server) server = getConnectionManager()->getServerByName(connection);
+
+ if (server) server->dcopSay(target, command);
+}
+
+void KonversationApplication::dcopInfo(const QString& string)
+{
+ mainWindow->getViewContainer()->appendToFrontmost(i18n("DCOP"), string, 0);
+}
+
+void KonversationApplication::readOptions()
+{
+ // get standard config file
+ KConfig* config=kapp->config();
+
+ // read nickname sorting order for channel nick lists
+ config->setGroup("Sort Nicknames");
+ QString sortOrder=config->readEntry("SortOrder");
+ QStringList sortOrderList=QStringList::split("",sortOrder);
+ sortOrderList.sort();
+ if (sortOrderList.join("")!="-hopqv")
+ {
+ sortOrder=Preferences::defaultNicknameSortingOrder();
+ Preferences::setSortOrder(sortOrder);
+ }
+
+ // Identity list
+ QStringList identityList=config->groupList().grep(QRegExp("Identity [0-9]+"));
+ if(!identityList.isEmpty())
+ {
+ Preferences::clearIdentityList();
+
+ for(unsigned int index=0;index<identityList.count();index++)
+ {
+ IdentityPtr newIdentity=new Identity();
+
+ config->setGroup(identityList[index]);
+
+ newIdentity->setName(config->readEntry("Name"));
+
+ newIdentity->setIdent(config->readEntry("Ident"));
+ newIdentity->setRealName(config->readEntry("Realname"));
+
+ newIdentity->setNicknameList(config->readListEntry("Nicknames"));
+
+ newIdentity->setBot(config->readEntry("Bot"));
+ newIdentity->setPassword(config->readEntry("Password"));
+
+ newIdentity->setInsertRememberLineOnAway(config->readBoolEntry("InsertRememberLineOnAway"));
+ newIdentity->setShowAwayMessage(config->readBoolEntry("ShowAwayMessage"));
+ newIdentity->setAwayMessage(config->readEntry("AwayMessage"));
+ newIdentity->setReturnMessage(config->readEntry("ReturnMessage"));
+ newIdentity->setAutomaticAway(config->readBoolEntry("AutomaticAway", false));
+ newIdentity->setAwayInactivity(config->readNumEntry("AwayInactivity", 10));
+ newIdentity->setAutomaticUnaway(config->readBoolEntry("AutomaticUnaway", false));
+
+ newIdentity->setQuitReason(config->readEntry("QuitReason"));
+ newIdentity->setPartReason(config->readEntry("PartReason"));
+ newIdentity->setKickReason(config->readEntry("KickReason"));
+
+ newIdentity->setShellCommand(config->readEntry("PreShellCommand"));
+
+ newIdentity->setCodecName(config->readEntry("Codec"));
+
+ newIdentity->setAwayNick(config->readEntry("AwayNick"));
+
+ Preferences::addIdentity(newIdentity);
+
+ }
+
+ }
+
+ osd->setEnabled(Preferences::useOSD());
+
+ //How to load the font from the text?
+ osd->setFont(Preferences::oSDFont());
+
+ osd->setDuration(Preferences::oSDDuration());
+ osd->setScreen(Preferences::oSDScreen());
+ osd->setShadow(Preferences::oSDDrawShadow());
+
+ osd->setOffset(Preferences::oSDOffsetX(), Preferences::oSDOffsetY());
+ osd->setAlignment((OSDWidget::Alignment)Preferences::oSDAlignment());
+
+ if(Preferences::oSDUseCustomColors())
+ {
+ osd->setTextColor(Preferences::oSDTextColor());
+ osd->setBackgroundColor(Preferences::oSDBackgroundColor());
+ }
+
+ // Check if there is old server list config
+ config->setGroup("Server List");
+
+ // Read the new server settings
+ QStringList groups = config->groupList().grep(QRegExp("ServerGroup [0-9]+"));
+ QMap<int,QStringList> notifyList;
+
+ if(!groups.isEmpty())
+ {
+ Konversation::ServerGroupList serverGroups;
+ QStringList::iterator it;
+ QStringList tmp1;
+ QStringList::iterator it2;
+ Konversation::ChannelList channelHistory;
+ Konversation::ServerSettings server;
+ Konversation::ChannelSettings channel;
+
+ for(it = groups.begin(); it != groups.end(); ++it)
+ {
+ config->setGroup((*it));
+ Konversation::ServerGroupSettingsPtr serverGroup = new Konversation::ServerGroupSettings;
+ serverGroup->setName(config->readEntry("Name"));
+ serverGroup->setIdentityId(Preferences::identityByName(config->readEntry("Identity"))->id());
+ serverGroup->setConnectCommands(config->readEntry("ConnectCommands"));
+ serverGroup->setAutoConnectEnabled(config->readBoolEntry("AutoConnect"));
+ serverGroup->setNotificationsEnabled(config->readBoolEntry("EnableNotifications", true));
+ serverGroup->setExpanded(config->readBoolEntry("Expanded", false));
+
+ notifyList.insert((*serverGroup).id(),QStringList::split(' ',config->readEntry("NotifyList")));
+
+ tmp1 = config->readListEntry("ServerList");
+ for(it2 = tmp1.begin(); it2 != tmp1.end(); ++it2)
+ {
+ config->setGroup((*it2));
+ server.setHost(config->readEntry("Server"));
+ server.setPort(config->readNumEntry("Port"));
+ server.setPassword(config->readEntry("Password"));
+ server.setSSLEnabled(config->readBoolEntry("SSLEnabled"));
+ serverGroup->addServer(server);
+ }
+
+ config->setGroup((*it));
+ tmp1 = config->readListEntry("AutoJoinChannels");
+
+ for(it2 = tmp1.begin(); it2 != tmp1.end(); ++it2)
+ {
+ config->setGroup((*it2));
+
+ if(!config->readEntry("Name").isEmpty())
+ {
+ channel.setName(config->readEntry("Name"));
+ channel.setPassword(config->readEntry("Password"));
+ serverGroup->addChannel(channel);
+ }
+ }
+
+ config->setGroup((*it));
+ tmp1 = config->readListEntry("ChannelHistory");
+ channelHistory.clear();
+
+ for(it2 = tmp1.begin(); it2 != tmp1.end(); ++it2)
+ {
+ config->setGroup((*it2));
+
+ if(!config->readEntry("Name").isEmpty())
+ {
+ channel.setName(config->readEntry("Name"));
+ channel.setPassword(config->readEntry("Password"));
+ channel.setNotificationsEnabled(config->readBoolEntry("EnableNotifications", true));
+ channelHistory.append(channel);
+ }
+ }
+
+ serverGroup->setChannelHistory(channelHistory);
+
+ serverGroups.append(serverGroup);
+ }
+
+ Preferences::setServerGroupList(serverGroups);
+ }
+
+ // Notify Settings and lists. Must follow Server List.
+ Preferences::setNotifyList(notifyList);
+ Preferences::setNotifyDelay(Preferences::notifyDelay());
+ Preferences::setUseNotify(Preferences::useNotify());
+
+ // Quick Buttons List
+
+ // if there are button definitions in the config file, remove default buttons
+ if(config->hasGroup("Button List")) Preferences::clearQuickButtonList();
+ config->setGroup("Button List");
+ // Read all default buttons
+ QStringList buttonList(Preferences::quickButtonList());
+ // Read all quick buttons
+ int index=0;
+ while(config->hasKey(QString("Button%1").arg(index)))
+ {
+ buttonList.append(config->readEntry(QString("Button%1").arg(index++)));
+ } // while
+ // Put back the changed button list
+ Preferences::setQuickButtonList(buttonList);
+
+ // Autoreplace List
+
+ // if there are autoreplace definitions in the config file, remove default entries
+ if(config->hasGroup("Autoreplace List")) Preferences::clearAutoreplaceList();
+ config->setGroup("Autoreplace List");
+ // Read all default entries
+ QStringList autoreplaceList(Preferences::autoreplaceList());
+ // Read all entries
+ index=0;
+ while(config->hasKey(QString("Autoreplace%1").arg(index)))
+ {
+ // read entry and get length of the string
+ QString entry=config->readEntry(QString("Autoreplace%1").arg(index++));
+ unsigned int length=entry.length()-1;
+ // if there's a "#" in the end, strip it (used to preserve blanks at the end of the replacement text)
+ // there should always be one, but older versions did not do it, so we check first
+ if(entry.at(length)=='#') entry=entry.left(length);
+ // add entry to internal list
+ autoreplaceList.append(entry);
+ } // while
+ // Put back the changed autoreplace list
+ Preferences::setAutoreplaceList(autoreplaceList);
+
+ // Highlight List
+ if(config->hasKey("Highlight")) // Stay compatible with versions < 0.14
+ {
+ QString highlight=config->readEntry("Highlight");
+ QStringList hiList=QStringList::split(' ',highlight);
+
+ unsigned int hiIndex;
+ for(hiIndex=0;hiIndex<hiList.count();hiIndex+=2)
+ {
+ Preferences::addHighlight(hiList[hiIndex],false,'#'+hiList[hiIndex+1],QString(),QString());
+ }
+
+ config->deleteEntry("Highlight");
+ }
+ else
+ {
+ int i = 0;
+
+ while(config->hasGroup(QString("Highlight%1").arg(i)))
+ {
+ config->setGroup(QString("Highlight%1").arg(i));
+ Preferences::addHighlight(config->readEntry("Pattern"),
+ config->readBoolEntry("RegExp"),
+ config->readColorEntry("Color"),
+ config->readPathEntry("Sound"),
+ config->readEntry("AutoText"));
+ i++;
+ }
+ }
+
+ // Ignore List
+ config->setGroup("Ignore List");
+ // Remove all default entries if there is at least one Ignore in the Preferences::file
+ if(config->hasKey("Ignore0")) Preferences::clearIgnoreList();
+ // Read all ignores
+ index=0;
+ while(config->hasKey(QString("Ignore%1").arg(index)))
+ {
+ Preferences::addIgnore(config->readEntry(QString("Ignore%1").arg(index++)));
+ }
+
+ // Aliases
+ config->setGroup("Aliases");
+ QStringList newList=config->readListEntry("AliasList");
+ if(!newList.isEmpty()) Preferences::setAliasList(newList);
+
+ // Channel Encodings
+ QMap<QString,QString> channelEncodingEntries=config->entryMap("Channel Encodings");
+ QRegExp re("^(.+) ([^\\s]+)$");
+ QStringList channelEncodingEntryKeys=channelEncodingEntries.keys();
+ QStringList::iterator itStr=channelEncodingEntryKeys.begin();
+ for(; itStr != channelEncodingEntryKeys.end(); ++itStr)
+ {
+ if(re.search(*itStr) > -1)
+ {
+ int serverGroupId = Preferences::serverGroupIdByName(re.cap(1));
+ if(serverGroupId != -1)
+ Preferences::setChannelEncoding(serverGroupId,re.cap(2),channelEncodingEntries[*itStr]);
+ }
+ }
+
+ // O, what a tangled web
+ Server::_fetchRates();
+}
+
+void KonversationApplication::saveOptions(bool updateGUI)
+{
+ KConfig* config=kapp->config();
+
+// Should be handled in NicklistBehaviorConfigController now
+// config->setGroup("Sort Nicknames");
+
+ // Clean up identity list
+ QStringList identities=config->groupList().grep(QRegExp("Identity [0-9]+"));
+ if(identities.count())
+ {
+ // remove old identity list from Preferences::file to keep numbering under control
+ for(unsigned int index=0;index<identities.count();index++)
+ config->deleteGroup(identities[index]);
+ }
+
+ IdentityList identityList = Preferences::identityList();
+ int index = 0;
+
+ for(IdentityList::ConstIterator it = identityList.begin(); it != identityList.end(); ++it)
+ {
+ IdentityPtr identity = (*it);
+ config->setGroup(QString("Identity %1").arg(index));
+
+ config->writeEntry("Name",identity->getName());
+ config->writeEntry("Ident",identity->getIdent());
+ config->writeEntry("Realname",identity->getRealName());
+ config->writeEntry("Nicknames",identity->getNicknameList());
+ config->writeEntry("Bot",identity->getBot());
+ config->writeEntry("Password",identity->getPassword());
+ config->writeEntry("InsertRememberLineOnAway", identity->getInsertRememberLineOnAway());
+ config->writeEntry("ShowAwayMessage",identity->getShowAwayMessage());
+ config->writeEntry("AwayMessage",identity->getAwayMessage());
+ config->writeEntry("ReturnMessage",identity->getReturnMessage());
+ config->writeEntry("AutomaticAway", identity->getAutomaticAway());
+ config->writeEntry("AwayInactivity", identity->getAwayInactivity());
+ config->writeEntry("AutomaticUnaway", identity->getAutomaticUnaway());
+ config->writeEntry("QuitReason",identity->getQuitReason());
+ config->writeEntry("PartReason",identity->getPartReason());
+ config->writeEntry("KickReason",identity->getKickReason());
+ config->writeEntry("PreShellCommand",identity->getShellCommand());
+ config->writeEntry("Codec",identity->getCodecName());
+ config->writeEntry("AwayNick", identity->getAwayNick());
+ index++;
+ } // endfor
+
+ // Remove the old servergroups from the config
+ QStringList groups = config->groupList().grep(QRegExp("ServerGroup [0-9]+"));
+ if(groups.count())
+ {
+ QStringList::iterator it;
+ for(it = groups.begin(); it != groups.end(); ++it)
+ {
+ config->deleteGroup((*it));
+ }
+ }
+
+ // Remove the old servers from the config
+ groups = config->groupList().grep(QRegExp("Server [0-9]+"));
+ if(groups.count())
+ {
+ QStringList::iterator it;
+ for(it = groups.begin(); it != groups.end(); ++it)
+ {
+ config->deleteGroup((*it));
+ }
+ }
+
+ // Remove the old channels from the config
+ groups = config->groupList().grep(QRegExp("Channel [0-9]+"));
+ if(groups.count())
+ {
+ QStringList::iterator it;
+ for(it = groups.begin(); it != groups.end(); ++it)
+ {
+ config->deleteGroup((*it));
+ }
+ }
+
+ // Add the new servergroups to the config
+ Konversation::ServerGroupList serverGroupList = Preferences::serverGroupList();
+ Konversation::ServerGroupList::iterator it;
+ index = 0;
+ int index2 = 0;
+ int index3 = 0;
+ int width = QString::number(serverGroupList.count()).length();
+ QString groupName;
+ QStringList servers;
+ Konversation::ServerList::iterator it2;
+ Konversation::ServerList serverlist;
+ Konversation::ChannelList channelList;
+ Konversation::ChannelList::iterator it3;
+ QStringList channels;
+ QStringList channelHistory;
+
+ for(it = serverGroupList.begin(); it != serverGroupList.end(); ++it)
+ {
+ serverlist = (*it)->serverList();
+ servers.clear();
+
+ for(it2 = serverlist.begin(); it2 != serverlist.end(); ++it2)
+ {
+ groupName = QString("Server %1").arg(index2);
+ servers.append(groupName);
+ config->setGroup(groupName);
+ config->writeEntry("Server", (*it2).host());
+ config->writeEntry("Port", (*it2).port());
+ config->writeEntry("Password", (*it2).password());
+ config->writeEntry("SSLEnabled", (*it2).SSLEnabled());
+ index2++;
+ }
+
+ channelList = (*it)->channelList();
+ channels.clear();
+
+ for(it3 = channelList.begin(); it3 != channelList.end(); ++it3)
+ {
+ groupName = QString("Channel %1").arg(index3);
+ channels.append(groupName);
+ config->setGroup(groupName);
+ config->writeEntry("Name", (*it3).name());
+ config->writeEntry("Password", (*it3).password());
+ index3++;
+ }
+
+ channelList = (*it)->channelHistory();
+ channelHistory.clear();
+
+ for(it3 = channelList.begin(); it3 != channelList.end(); ++it3)
+ {
+ groupName = QString("Channel %1").arg(index3);
+ channelHistory.append(groupName);
+ config->setGroup(groupName);
+ config->writeEntry("Name", (*it3).name());
+ config->writeEntry("Password", (*it3).password());
+ config->writeEntry("EnableNotifications", (*it3).enableNotifications());
+ index3++;
+ }
+
+ config->setGroup(QString("ServerGroup %1").arg(QString::number(index).rightJustify(width,'0')));
+ config->writeEntry("Name", (*it)->name());
+ config->writeEntry("Identity", (*it)->identity()->getName());
+ config->writeEntry("ServerList", servers);
+ config->writeEntry("AutoJoinChannels", channels);
+ config->writeEntry("ConnectCommands", (*it)->connectCommands());
+ config->writeEntry("AutoConnect", (*it)->autoConnectEnabled());
+ config->writeEntry("ChannelHistory", channelHistory);
+ config->writeEntry("EnableNotifications", (*it)->enableNotifications());
+ config->writeEntry("Expanded", (*it)->expanded());
+ config->writeEntry("NotifyList",Preferences::notifyStringByGroupName((*it)->name()));
+ index++;
+ }
+
+ config->deleteGroup("Server List");
+
+ // Ignore List
+ config->deleteGroup("Ignore List");
+ config->setGroup("Ignore List");
+ QPtrList<Ignore> ignoreList=Preferences::ignoreList();
+ Ignore* item=ignoreList.first();
+ index=0;
+ while(item)
+ {
+ config->writeEntry(QString("Ignore%1").arg(index),QString("%1,%2").arg(item->getName()).arg(item->getFlags()));
+ item=ignoreList.next();
+ index++;
+ }
+
+ // Channel Encodings
+ // remove all entries once
+ config->deleteGroup("Channel Encodings");
+ config->setGroup("Channel Encodings");
+ QValueList<int> encServers=Preferences::channelEncodingsServerGroupIdList();
+ //i have no idea these would need to be sorted //encServers.sort();
+ QValueList<int>::iterator encServer;
+ for ( encServer = encServers.begin(); encServer != encServers.end(); ++encServer )
+ {
+ Konversation::ServerGroupSettingsPtr sgsp = Preferences::serverGroupById(*encServer);
+ if ( sgsp ) // sgsp == 0 when the entry is of QuickConnect or something?
+ {
+ QStringList encChannels=Preferences::channelEncodingsChannelList(*encServer);
+ //ditto //encChannels.sort();
+ QStringList::iterator encChannel;
+ for ( encChannel = encChannels.begin(); encChannel != encChannels.end(); ++encChannel )
+ {
+ QString enc = Preferences::channelEncoding(*encServer, *encChannel);
+ QString key = sgsp->name() + ' ' + (*encChannel);
+ config->writeEntry(key, enc);
+ }
+ }
+ }
+
+ config->sync();
+
+ if(updateGUI)
+ emit appearanceChanged();
+}
+
+// FIXME: use KURL maybe?
+void KonversationApplication::storeUrl(const QString& who,const QString& newUrl)
+{
+ QString url(newUrl);
+ // clean up URL to help KRun() in URL catcher interface
+ if(url.startsWith("www.")) url="http://"+url;
+ else if(url.startsWith("ftp.")) url="ftp://"+url;
+
+ url=url.replace("&amp;","&");
+
+ // check that we don't add the same URL twice
+ deleteUrl(who,url);
+ urlList.append(who+' '+url);
+ emit catchUrl(who,url);
+}
+
+const QStringList& KonversationApplication::getUrlList()
+{
+ return urlList;
+}
+
+void KonversationApplication::deleteUrl(const QString& who,const QString& url)
+{
+ urlList.remove(who+' '+url);
+}
+
+void KonversationApplication::clearUrlList()
+{
+ urlList.clear();
+}
+
+void KonversationApplication::openQuickConnectDialog()
+{
+ quickConnectDialog = new QuickConnectDialog(mainWindow);
+ connect(quickConnectDialog, SIGNAL(connectClicked(Konversation::ConnectionFlag, const QString&, const QString&,
+ const QString&, const QString&, const QString&, bool)),
+ m_connectionManager, SLOT(connectTo(Konversation::ConnectionFlag, const QString&, const QString&,
+ const QString&, const QString&, const QString&, bool)));
+ quickConnectDialog->show();
+}
+
+void KonversationApplication::sendMultiServerCommand(const QString& command, const QString& parameter)
+{
+ QPtrList<Server> serverList = getConnectionManager()->getServerList();
+
+ for (Server* server = serverList.first(); server; server = serverList.next())
+ server->executeMultiServerCommand(command, parameter);
+}
+
+void KonversationApplication::splitNick_Server(const QString& nick_server, QString &ircnick, QString &serverOrGroup)
+{
+ //kaddresbook uses the utf separator 0xE120, so treat that as a separator as well
+ QString nickServer = nick_server;
+ nickServer.replace(QChar(0xE120), "@");
+ ircnick = nickServer.section("@",0,0);
+ serverOrGroup = nickServer.section("@",1);
+}
+
+NickInfoPtr KonversationApplication::getNickInfo(const QString &ircnick, const QString &serverOrGroup)
+{
+ QPtrList<Server> serverList = getConnectionManager()->getServerList();
+ NickInfoPtr nickInfo;
+ QString lserverOrGroup = serverOrGroup.lower();
+ for(Server* lookServer = serverList.first(); lookServer; lookServer = serverList.next())
+ {
+ if(lserverOrGroup.isEmpty()
+ || lookServer->getServerName().lower()==lserverOrGroup
+ || lookServer->getDisplayName().lower()==lserverOrGroup)
+ {
+ nickInfo = lookServer->getNickInfo(ircnick);
+ if(nickInfo) return nickInfo; //If we found one
+ }
+ }
+ return 0;
+}
+
+// auto replace on input/output
+QString KonversationApplication::doAutoreplace(const QString& text,bool output)
+{
+ // get autoreplace list
+ QStringList autoreplaceList=Preferences::autoreplaceList();
+ // working copy
+ QString line=text;
+
+ // loop through the list of replacement patterns
+ for(unsigned int index=0;index<autoreplaceList.count();index++)
+ {
+ // get autoreplace definition
+ QString definition=autoreplaceList[index];
+ // split definition in parts
+ QString regex=definition.section(',',0,0);
+ QString direction=definition.section(',',1,1);
+ QString pattern=definition.section(',',2,2);
+ QString replacement=definition.section(',',3);
+
+ QString isDirection=output ? "o" : "i";
+
+ // only replace if this pattern is for the specific direction or both directions
+ if(direction==isDirection || direction=="io")
+ {
+ // regular expression pattern?
+ if(regex=="1")
+ {
+ // create regex from pattern
+ QRegExp needleReg=pattern;
+ // set pattern case insensitive
+ needleReg.setCaseSensitive(true);
+ int index = 0;
+
+ do {
+ replacement = definition.section(',',3);
+ // find matches
+ index = line.find(needleReg, index);
+
+ if(index != -1)
+ {
+ // remember captured patterns
+ QStringList captures = needleReg.capturedTexts();
+
+ // replace %0 - %9 in regex groups
+ for(unsigned int capture=0;capture<captures.count();capture++)
+ {
+ replacement.replace(QString("%%1").arg(capture),captures[capture]);
+ }
+ replacement.replace(QRegExp("%[0-9]"),QString());
+ // replace input with replacement
+ line.replace(index, captures[0].length(), replacement);
+ index += replacement.length();
+ }
+ } while(index >= 0 && index < (int)line.length());
+ }
+ else
+ {
+ QRegExp needleReg("\\b" + QRegExp::escape(pattern) + "\\b");
+ needleReg.setCaseSensitive(false);
+ line.replace(needleReg,replacement);
+ }
+ }
+ }
+
+ return line;
+}
+
+#include "konversationapplication.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/konversationapplication.h b/konversation/src/konversationapplication.h
new file mode 100644
index 0000000..3464406
--- /dev/null
+++ b/konversation/src/konversationapplication.h
@@ -0,0 +1,169 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONAPPLICATION_H
+#define KONVERSATIONAPPLICATION_H
+
+#include "preferences.h"
+#include "osd.h"
+#include "konvdcop.h"
+#include "identity.h"
+#include "nickinfo.h"
+
+#include <kuniqueapplication.h>
+
+
+class QCString;
+
+class ConnectionManager;
+class AwayManager;
+class DccTransferManager;
+class KonversationMainWindow;
+class KonvDCOP;
+class Server;
+class QuickConnectDialog;
+class Images;
+class ServerGroupSettings;
+
+namespace Konversation
+{
+ class Sound;
+ class NotificationHandler;
+
+ // Shared between NickListView and IRCView
+ enum PopupIDs
+ {
+ ModesSub,GiveOp,TakeOp,GiveHalfOp,TakeHalfOp,GiveVoice,TakeVoice,
+ KickBanSub,IgnoreNick,UnignoreNick,
+ Kick,KickBan,BanNick,BanHost,BanDomain,BanUserHost,BanUserDomain,
+ KickBanHost,KickBanDomain,KickBanUserHost,KickBanUserDomain,
+ Whois,Version,Ping,OpenQuery,DccSend,Join,Names,Topic,
+ CustomID, AddressbookSub, AddressbookChange, AddressbookNew, AddressbookDelete,
+ AddressbookEdit, SendEmail, StartDccChat, AddNotify
+ };
+
+}
+
+class KonversationApplication : public KUniqueApplication
+{
+ Q_OBJECT
+
+ public:
+ /** This function in general shouldn't be called, because in the future there
+ * may be multiple windows.
+ * However, in some situations we have messageboxes that aren't targeted for
+ * any particular main window, such as general errors from dcop calls.
+ *
+ * Note to any MDI developer - get this to return any of the windows, or some
+ * 'main' one.
+ */
+ KonversationMainWindow* getMainWindow() { return mainWindow; }
+
+ ConnectionManager* getConnectionManager() { return m_connectionManager; }
+ AwayManager* getAwayManager() { return m_awayManager; }
+ DccTransferManager* getDccTransferManager() { return m_dccTransferManager; }
+
+ // HACK
+ void showQueueTuner(bool);
+
+ // URL-Catcher
+ void storeUrl(const QString& who,const QString& url);
+ const QStringList& getUrlList();
+
+ KonversationApplication();
+ ~KonversationApplication();
+
+ static KonversationApplication* instance();
+
+ /** For dcop and addressbook, a user can be specified as user@irc.server.net
+ * or user\@servergroup or using the unicode separator symbol 0xE120 instead
+ * of the "@". This function takes a string like the above examples, and
+ * modifies ircnick and serverOrGroup to contain the split up string. If
+ * the string doesn't have an @ or 0xE120, ircnick is set to the
+ * nick_server, and serverOrGroup is set to empty.
+ * Behaviour is undefined for serverOrGroup if multiple @ or 0xE120 are found.
+ * @param nick_server A string containting ircnick and possibly servername or server group
+ * @param ircnick This is modified to contain the ircnick
+ * @param serverOrGroup This is modified to contain the servername, servergroup or an empty string.
+ */
+ static void splitNick_Server(const QString& nick_server, QString &ircnick, QString &serverOrGroup);
+
+ /** Tries to find a nickinfo for a given ircnick on a given ircserver.
+ * @param ircnick The case-insensitive ircnick of the person you want to find. e.g. "johnflux"
+ * @param serverOrGroup The case-insensitive server name (e.g. "irc.kde.org") or server group name (e.g. "freenode"), or null to search all servers
+ * @return A nickinfo for this user and server if one is found.
+ */
+ NickInfoPtr getNickInfo(const QString &ircnick, const QString &serverOrGroup);
+
+ OSDWidget* osd;
+
+ Konversation::Sound* sound() { return m_sound; }
+
+ Images* images() { return m_images; }
+
+ Konversation::NotificationHandler* notificationHandler() const { return m_notificationHandler; }
+
+ // auto replacement for input or output lines
+ QString doAutoreplace(const QString& text,bool output);
+
+ int newInstance();
+
+
+ signals:
+ void catchUrl(const QString& who,const QString& url);
+ void serverGroupsChanged(const Konversation::ServerGroupSettings* serverGroup);
+
+
+ public slots:
+ void readOptions();
+ void saveOptions(bool updateGUI=true);
+
+ void deleteUrl(const QString& who,const QString& url);
+ void clearUrlList();
+
+
+ protected slots:
+ void prepareShutdown();
+
+ void openQuickConnectDialog();
+
+ void dcopMultiServerRaw(const QString &command);
+ void dcopRaw(const QString& connection, const QString &command);
+ void dcopSay(const QString& connection, const QString& target, const QString& command);
+ void dcopInfo(const QString& string);
+ void sendMultiServerCommand(const QString& command, const QString& parameter);
+
+
+ private:
+ ConnectionManager* m_connectionManager;
+ AwayManager* m_awayManager;
+ DccTransferManager* m_dccTransferManager;
+ QStringList urlList;
+ KonvDCOP* dcopObject;
+ KonvIdentDCOP* identDCOP;
+ KonversationMainWindow* mainWindow;
+ Konversation::Sound* m_sound;
+ QuickConnectDialog* quickConnectDialog;
+ Images* m_images;
+
+ Konversation::NotificationHandler* m_notificationHandler;
+
+ QStringList colorList;
+};
+
+#endif
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/konversationmainwindow.cpp b/konversation/src/konversationmainwindow.cpp
new file mode 100644
index 0000000..a85c5fd
--- /dev/null
+++ b/konversation/src/konversationmainwindow.cpp
@@ -0,0 +1,654 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "konversationmainwindow.h"
+#include "konversationapplication.h"
+#include "linkaddressbook/addressbook.h"
+#include "konvisettingsdialog.h"
+#include "viewcontainer.h"
+#include "konversationstatusbar.h"
+#include "konvibookmarkhandler.h"
+#include "trayicon.h"
+#include "serverlistdialog.h"
+#include "identitydialog.h"
+#include "notificationhandler.h"
+#include "irccharsets.h"
+#include "connectionmanager.h"
+#include "awaymanager.h"
+#include "dcctransfermanager.h"
+
+#include <qnamespace.h>
+#include <qwhatsthis.h>
+#include <qsignalmapper.h>
+#include <qobjectlist.h>
+
+#include <kaccel.h>
+#include <kaccelmanager.h>
+#include <kstdaction.h>
+#include <kaction.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kmenubar.h>
+#include <kkeydialog.h>
+#include <kdeversion.h>
+#include <kedittoolbar.h>
+#include <kpopupmenu.h>
+#include <kwin.h>
+#include <kglobal.h>
+#include <kstandarddirs.h>
+#include <dcopclient.h>
+#include <scriptmanager.h>
+#include <kabc/addressbook.h>
+#include <kabc/errorhandler.h>
+
+#include <config.h>
+#ifdef USE_KNOTIFY
+#include <knotifydialog.h>
+#endif
+
+
+KonversationMainWindow::KonversationMainWindow() : KMainWindow(0,"main_window", WStyle_ContextHelp | WType_TopLevel | WDestructiveClose)
+{
+ m_hasDirtySettings = false;
+ m_closeApp = false;
+ m_serverListDialog = 0;
+ m_settingsDialog = NULL;
+
+ m_viewContainer = new ViewContainer(this);
+ setCentralWidget(m_viewContainer->getWidget());
+
+ //used for event compression. See header file for resetHasDirtySettings()
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), this, SLOT(resetHasDirtySettings()));
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), this, SLOT(updateTrayIcon()));
+
+
+ // Set up view container
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), m_viewContainer, SLOT(updateAppearance()));
+ connect(KonversationApplication::instance(), SIGNAL(iconChanged(int)), m_viewContainer, SLOT(updateViewIcons()));
+ connect(KonversationApplication::instance(), SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)),
+ m_viewContainer, SLOT(updateViews(const Konversation::ServerGroupSettings*)));
+ connect(m_viewContainer, SIGNAL(autoJoinToggled(const Konversation::ServerGroupSettings*)),
+ KonversationApplication::instance(), SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)));
+ connect(m_viewContainer, SIGNAL(setWindowCaption(const QString&)), this, SLOT(setCaption(const QString&)));
+ connect(KonversationApplication::instance()->getConnectionManager(),
+ SIGNAL(connectionChangedState(Server*, Konversation::ConnectionState)),
+ m_viewContainer, SLOT(connectionStateChanged(Server*, Konversation::ConnectionState)));
+ connect(this, SIGNAL(triggerRememberLine()), m_viewContainer, SLOT(insertRememberLine()));
+ connect(this, SIGNAL(triggerRememberLines(Server*)), m_viewContainer, SLOT(insertRememberLines(Server*)));
+ connect(this, SIGNAL(cancelRememberLine()), m_viewContainer, SLOT(cancelRememberLine()));
+ connect(this, SIGNAL(insertMarkerLine()), m_viewContainer, SLOT(insertMarkerLine()));
+
+ // Set up status bar
+ m_statusBar = new KonversationStatusBar(this);
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), m_statusBar, SLOT(updateAppearance()));
+
+ createStandardStatusBarAction();
+
+ connect(actionCollection(), SIGNAL(actionStatusText(const QString&)), m_statusBar, SLOT(setMainLabelTempText(const QString&)));
+ connect(actionCollection(), SIGNAL(clearStatusText()), m_statusBar, SLOT(clearMainLabelTempText()));
+ actionCollection()->setHighlightingEnabled(true);
+
+ connect(m_viewContainer, SIGNAL(resetStatusBar()), m_statusBar, SLOT(resetStatusBar()));
+ connect(m_viewContainer, SIGNAL(setStatusBarTempText(const QString&)), m_statusBar, SLOT(setMainLabelTempText(const QString&)));
+ connect(m_viewContainer, SIGNAL(clearStatusBarTempText()), m_statusBar, SLOT(clearMainLabelTempText()));
+ connect(m_viewContainer, SIGNAL(setStatusBarInfoLabel(const QString&)), m_statusBar, SLOT(updateInfoLabel(const QString&)));
+ connect(m_viewContainer, SIGNAL(clearStatusBarInfoLabel()), m_statusBar, SLOT(clearInfoLabel()));
+ connect(m_viewContainer, SIGNAL(setStatusBarLagLabelShown(bool)), m_statusBar, SLOT(setLagLabelShown(bool)));
+ connect(m_viewContainer, SIGNAL(updateStatusBarLagLabel(Server*, int)), m_statusBar, SLOT(updateLagLabel(Server*, int)));
+ connect(m_viewContainer, SIGNAL(resetStatusBarLagLabel()), m_statusBar, SLOT(resetLagLabel()));
+ connect(m_viewContainer, SIGNAL(setStatusBarLagLabelTooLongLag(Server*, int)), m_statusBar, SLOT(setTooLongLag(Server*, int)));
+ connect(m_viewContainer, SIGNAL(updateStatusBarSSLLabel(Server*)), m_statusBar, SLOT(updateSSLLabel(Server*)));
+ connect(m_viewContainer, SIGNAL(removeStatusBarSSLLabel()), m_statusBar, SLOT(removeSSLLabel()));
+
+
+ // Actions
+ KStdAction::quit(this,SLOT(quitProgram()),actionCollection());
+
+ hideMenuBarAction = KStdAction::showMenubar(this, SLOT(toggleMenubar()), actionCollection());
+
+ setStandardToolBarMenuEnabled(true);
+ KStdAction::configureToolbars(this, SLOT(configureToolbar()), actionCollection());
+
+ KStdAction::keyBindings(this, SLOT(openKeyBindings()), actionCollection());
+ KAction *preferencesAction = KStdAction::preferences(this, SLOT(openPrefsDialog()), actionCollection());
+
+#ifdef USE_KNOTIFY // options_configure_notifications
+ KAction *configureNotificationsAction = KStdAction::configureNotifications(this,SLOT(openNotifications()), actionCollection());
+#endif
+
+ KAction* action;
+
+ (new KAction(i18n("&Server List..."), "server", KShortcut("F2"), this, SLOT(openServerList()),
+ actionCollection(), "open_server_list"))->setToolTip(i18n("Manage networks and servers"));
+ (new KAction(i18n("Quick &Connect..."), "connect_creating", KShortcut("F7"), this, SLOT(openQuickConnectDialog()),
+ actionCollection(), "quick_connect_dialog"))->setToolTip(i18n("Type in the address of a new IRC server to connect to"));
+
+ action = new KAction(i18n("&Reconnect"), "connect_creating", 0, m_viewContainer, SLOT(reconnectFrontServer()), actionCollection(), "reconnect_server");
+ action->setEnabled(false);
+ action->setToolTip(i18n("Reconnect to the current server."));
+
+ action = new KAction(i18n("&Disconnect"), "connect_no", 0, m_viewContainer, SLOT(disconnectFrontServer()), actionCollection(), "disconnect_server");
+ action->setEnabled(false);
+ action->setToolTip(i18n("Disconnect from the current server."));
+
+ (new KAction(i18n("&Identities..."), "identity", KShortcut("F8"), this, SLOT(openIdentitiesDialog()),
+ actionCollection(), "identities_dialog"))->setToolTip(i18n("Manage your nick, away and other identity settings"));
+
+ new KToggleAction(i18n("&Watched Nicks Online"), "kontact_contacts", KShortcut("F4"), m_viewContainer, SLOT(openNicksOnlinePanel()), actionCollection(), "open_nicksonline_window");
+ new KToggleAction(i18n("&DCC Status"), "2rightarrow", KShortcut("F9"), m_viewContainer, SLOT(toggleDccPanel()), actionCollection(), "open_dccstatus_window");
+ action = new KAction(i18n("&Open Logfile"), "history", KShortcut("Ctrl+O"), m_viewContainer, SLOT(openLogFile()), actionCollection(), "open_logfile");
+ action->setEnabled(false);
+ action->setToolTip(i18n("Open the known history for this channel in a new tab"));
+
+ action = new KAction(i18n("&Channel Settings..."), "edit", m_viewContainer, SLOT(openChannelSettings()), actionCollection(), "channel_settings");
+ action->setEnabled(false);
+ action->setToolTip(i18n("Open the channel settings dialog for this tab"));
+
+ KToggleAction* channelListAction = new KToggleAction(i18n("Channel &List"), "view_text", KShortcut("F5"), m_viewContainer, SLOT(openChannelList()), actionCollection(), "open_channel_list");
+ channelListAction->setEnabled(false);
+ channelListAction->setToolTip(i18n("Show a list of all the known channels on this server"));
+
+ action = new KToggleAction(i18n("&URL Catcher"), "enhanced_browsing", KShortcut("F6"), m_viewContainer, SLOT(addUrlCatcher()), actionCollection(), "open_url_catcher");
+ action->setToolTip(i18n("List all URLs that have been mentioned recently in a new tab"));
+
+ if (kapp->authorize("shell_access"))
+ {
+ action = new KAction(i18n("New &Konsole"), "openterm", 0, m_viewContainer, SLOT(addKonsolePanel()), actionCollection(), "open_konsole");
+ action->setToolTip(i18n("Open a terminal in a new tab"));
+ }
+
+ // Actions to navigate through the different pages
+ KShortcut nextShortcut = KStdAccel::tabNext();
+ nextShortcut.setSeq(1, KKeySequence("Alt+Right"));
+ KShortcut prevShortcut = KStdAccel::tabPrev();
+ prevShortcut.setSeq(1, KKeySequence("Alt+Left"));
+ action = new KAction(i18n("&Next Tab"), QApplication::reverseLayout() ? "previous" : "next",
+ QApplication::reverseLayout() ? prevShortcut : nextShortcut,
+ m_viewContainer, SLOT(showNextView()), actionCollection(), "next_tab");
+ action->setEnabled(false);
+ action = new KAction(i18n("&Previous Tab"), QApplication::reverseLayout() ? "next" : "previous",
+ QApplication::reverseLayout() ? nextShortcut : prevShortcut,
+ m_viewContainer, SLOT(showPreviousView()),actionCollection(),"previous_tab");
+ action->setEnabled(false);
+ action = new KAction(i18n("Close &Tab"),"tab_remove",KShortcut("Ctrl+w"), m_viewContainer, SLOT(closeCurrentView()),actionCollection(),"close_tab");
+ action->setEnabled(false);
+ action = new KAction(i18n("Next Active Tab"), 0, KShortcut("Ctrl+Alt+Space"), m_viewContainer, SLOT(showNextActiveView()),
+ actionCollection(), "next_active_tab");
+ action->setEnabled(false);
+
+ if (Preferences::tabPlacement()==Preferences::Left)
+ {
+ action = new KAction(i18n("Move Tab Up"), "1uparrow", KShortcut("Alt+Shift+Left"),
+ m_viewContainer, SLOT(moveViewLeft()), actionCollection(), "move_tab_left");
+ action->setEnabled(false);
+ action->setToolTip("Move this tab");
+ action = new KAction(i18n("Move Tab Down"), "1downarrow", KShortcut("Alt+Shift+Right"),
+ m_viewContainer, SLOT(moveViewRight()), actionCollection(), "move_tab_right");
+ action->setEnabled(false);
+ action->setToolTip("Move this tab");
+ }
+ else
+ {
+ KAction* action2;
+ if (QApplication::reverseLayout())
+ {
+ action2 = new KAction(i18n("Move Tab Right"), "1rightarrow", KShortcut("Alt+Shift+Right"),
+ m_viewContainer, SLOT(moveViewLeft()), actionCollection(), "move_tab_left");
+ action = new KAction(i18n("Move Tab Left"), "1leftarrow", KShortcut("Alt+Shift+Left"),
+ m_viewContainer, SLOT(moveViewRight()), actionCollection(), "move_tab_right");
+ }
+ else
+ {
+ action = new KAction(i18n("Move Tab Left"), "1leftarrow", KShortcut("Alt+Shift+Left"),
+ m_viewContainer, SLOT(moveViewLeft()), actionCollection(), "move_tab_left");
+ action2 = new KAction(i18n("Move Tab Right"), "1rightarrow", KShortcut("Alt+Shift+Right"),
+ m_viewContainer, SLOT(moveViewRight()), actionCollection(), "move_tab_right");
+ }
+
+ action->setEnabled(false);
+ action->setToolTip("Move this tab");
+ action2->setEnabled(false);
+ action2->setToolTip("Move this tab");
+ }
+
+ action = new KAction(i18n("Rejoin Channel"), 0, m_viewContainer, SLOT(rejoinChannel()), actionCollection(), "rejoin_channel");
+ action->setEnabled(false);
+
+ action = new KToggleAction(i18n("Enable Notifications"), 0, 0, m_viewContainer, SLOT(toggleViewNotifications()), actionCollection(), "tab_notifications");
+ action->setEnabled(false);
+
+ action = new KToggleAction(i18n("Join on Connect"), 0, 0, m_viewContainer, SLOT(toggleAutoJoin()), actionCollection(), "tab_autojoin");
+ action->setEnabled(false);
+
+ KSelectAction* selectAction = new KSelectAction(i18n("Set Encoding"), "charset", 0, actionCollection(), "tab_encoding");
+ selectAction->setEditable(false);
+ QStringList encodingDescs = Konversation::IRCCharsets::self()->availableEncodingDescriptiveNames();
+ encodingDescs.prepend(i18n("Default"));
+ selectAction->setItems(encodingDescs);
+ selectAction->setEnabled(false);
+ connect(selectAction, SIGNAL(activated(int)), m_viewContainer, SLOT(changeViewCharset(int)));
+
+ QSignalMapper* tabSelectionMapper = new QSignalMapper(this);
+ connect(tabSelectionMapper, SIGNAL(mapped(int)), m_viewContainer, SLOT(goToView(int)));
+
+ for (uint i = 1; i <= 10; ++i)
+ {
+ KAction* tabSelectionAction = new KAction(i18n("Go to Tab %1").arg(i), 0, KShortcut(QString("Alt+%1").arg(i%10)),
+ tabSelectionMapper, SLOT(map()), actionCollection(), QString("go_to_tab_%1").arg(i).local8Bit());
+ tabSelectionMapper->setMapping( tabSelectionAction, i-1);
+ }
+
+ action = new KAction(i18n("Clear &Marker Lines"), 0, KShortcut("CTRL+SHIFT+R"), m_viewContainer, SLOT(clearViewLines()),actionCollection(),"clear_lines");
+ action->setToolTip(i18n("Clear marker lines in the current tab"));
+ action->setEnabled(false);
+ action = new KAction(i18n("&Clear Window"), 0, KShortcut("Ctrl+L"), m_viewContainer, SLOT(clearView()),actionCollection(),"clear_window");
+ action->setToolTip(i18n("Clear the contents of the current tab"));
+ action->setEnabled(false);
+ action = new KAction(i18n("Clear &All Windows"),0,KShortcut("CTRL+SHIFT+L"), m_viewContainer, SLOT(clearAllViews()),actionCollection(),"clear_tabs");
+ action->setToolTip(i18n("Clear the contents of all open tabs"));
+ action->setEnabled(false);
+
+ KToggleAction* awayAction = new KToggleAction(i18n("Global Away"), KShortcut("Ctrl+Shift+A"), actionCollection(), "toggle_away");
+ connect(awayAction, SIGNAL(toggled(bool)), static_cast<KonversationApplication*>(kapp)->getAwayManager(), SLOT(toggleGlobalAway(bool)));
+ awayAction->setEnabled(false);
+
+ action = new KAction(i18n("&Join Channel..."), "add", KShortcut("Ctrl+J"), m_viewContainer, SLOT(showJoinChannelDialog()), actionCollection(), "join_channel");
+ action->setEnabled(false);
+ action->setToolTip("Join a new channel on this server");
+
+ action = KStdAction::find(m_viewContainer, SLOT(findText()), actionCollection());
+ action->setEnabled(false);
+ action = KStdAction::findNext(m_viewContainer, SLOT(findNextText()), actionCollection());
+ action->setEnabled(false);
+ action = KStdAction::findPrev(m_viewContainer, SLOT(findPrevText()), actionCollection());
+ action->setEnabled(false);
+
+ action = new KAction(i18n("&IRC Color..."), "colorize", CTRL+Key_K, m_viewContainer, SLOT(insertIRCColor()), actionCollection(), "irc_colors");
+ action->setToolTip(i18n("Set the color of your current IRC message"));
+ action->setEnabled(false);
+ action = new KAction(i18n("&Marker Line"), 0, KShortcut("Ctrl+R") , m_viewContainer, SLOT(insertMarkerLine()), actionCollection(), "insert_marker_line");
+ action->setToolTip(i18n("Insert a horizontal line into the current tab that only you can see"));
+ action->setEnabled(false);
+ action = new KAction(i18n("Special &Character..."), "char", KShortcut("Alt+Shift+C"), m_viewContainer, SLOT(insertCharacter()), actionCollection(), "insert_character");
+ action->setToolTip(i18n("Insert any character into your current IRC message"));
+ action->setEnabled(false);
+
+ action = new KAction(i18n("Close &All Open Queries"), 0, KShortcut("F11"), m_viewContainer, SLOT(closeQueries()), actionCollection(), "close_queries");
+ action->setEnabled(false);
+
+ KToggleAction* toggleChannelNickListsAction = new KToggleAction(i18n("Hide Nicklist"), 0,
+ KShortcut("Ctrl+H"), m_viewContainer, SLOT(toggleChannelNicklists()), actionCollection(), "hide_nicknamelist");
+ if (!Preferences::showNickList())
+ toggleChannelNickListsAction->setChecked(true);
+
+ // set up system tray
+ m_trayIcon = new Konversation::TrayIcon(this);
+ connect(this, SIGNAL(endNotification()), m_trayIcon, SLOT(endNotification()));
+ connect(KonversationApplication::instance(), SIGNAL(iconChanged(int)), m_trayIcon, SLOT(updateAppearance()));
+ connect(m_trayIcon, SIGNAL(quitSelected()), this, SLOT(quitProgram()));
+ KPopupMenu *trayMenu = m_trayIcon->contextMenu();
+ #ifdef USE_KNOTIFY
+ configureNotificationsAction->plug(trayMenu);
+ #endif
+ preferencesAction->plug(trayMenu);
+ awayAction->plug(trayMenu);
+
+ // decide whether to show the tray icon or not
+ updateTrayIcon();
+
+ createGUI(NULL, false);
+
+ resize(700, 500); // Give the app a sane default size
+ setAutoSaveSettings();
+
+ // Apply menubar show/hide pref
+ hideMenuBarAction->setChecked(Preferences::showMenuBar());
+ toggleMenubar(true);
+
+ // Bookmarks
+ m_bookmarkHandler = new KonviBookmarkHandler(this);
+
+ // set up KABC with a nice gui error dialog
+ KABC::GuiErrorHandler *m_guiErrorHandler = new KABC::GuiErrorHandler(this);
+ kapp->dcopClient()->setAcceptCalls( false );
+ Konversation::Addressbook::self()->getAddressBook()->setErrorHandler(m_guiErrorHandler);
+ kapp->dcopClient()->setAcceptCalls( true );
+
+ if (Preferences::useNotify() && Preferences::openWatchedNicksAtStartup())
+ m_viewContainer->openNicksOnlinePanel();
+
+}
+
+KonversationMainWindow::~KonversationMainWindow()
+{
+ delete m_viewContainer;
+}
+
+int KonversationMainWindow::confirmQuit()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ if (konvApp->getConnectionManager()->connectionCount() == 0)
+ return KMessageBox::Continue;
+
+ int result = KMessageBox::Cancel;
+
+ if (!KMessageBox::shouldBeShownContinue("systemtrayquitKonversation")
+ && konvApp->getDccTransferManager()->hasActiveTransfers())
+ {
+ result = KMessageBox::warningContinueCancel(
+ this,
+ i18n("<qt>You have active DCC file transfers. Are you sure you want to quit <b>Konversation</b>?</qt>"),
+ i18n("Confirm Quit"),
+ i18n("Quit"),
+ "QuitWithActiveDccTransfers");
+ }
+ else
+ {
+ result = KMessageBox::warningContinueCancel(
+ this,
+ i18n("<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"),
+ i18n("Confirm Quit"),
+ i18n("Quit"),
+ "systemtrayquitKonversation");
+ }
+
+ return result;
+}
+
+void KonversationMainWindow::quitProgram()
+{
+ if (Preferences::showTrayIcon() &&
+ sender() != m_trayIcon &&
+ confirmQuit() == KMessageBox::Cancel) return;
+
+ // will call queryClose()
+ m_closeApp = true;
+ close();
+}
+
+bool KonversationMainWindow::queryClose()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ if (!konvApp->sessionSaving())
+ {
+ if (sender() == m_trayIcon)
+ m_closeApp = true;
+
+ if (Preferences::showTrayIcon() && !m_closeApp)
+ {
+ KMessageBox::information( this,
+ i18n("<p>Closing the main window will keep Konversation running in the system tray. "
+ "Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"),
+ i18n( "Docking in System Tray" ), "HideOnCloseInfo" );
+ hide();
+
+ return false;
+ }
+
+ if (!Preferences::showTrayIcon() && confirmQuit() == KMessageBox::Cancel)
+ return false;
+ }
+
+ return true;
+}
+
+void KonversationMainWindow::hideEvent(QHideEvent *e)
+{
+ emit triggerRememberLine();
+
+ m_statusBar->clearMainLabelTempText();
+
+ KMainWindow::hideEvent(e);
+}
+
+void KonversationMainWindow::showEvent(QShowEvent *e)
+{
+ emit cancelRememberLine();
+
+ KMainWindow::showEvent(e);
+}
+
+void KonversationMainWindow::leaveEvent(QEvent* e)
+{
+ m_statusBar->clearMainLabelTempText();
+
+ KMainWindow::leaveEvent(e);
+}
+
+bool KonversationMainWindow::event(QEvent* e)
+{
+ if (e->type() == QEvent::WindowActivate)
+ {
+ emit endNotification();
+ emit cancelRememberLine();
+ }
+ else if(e->type() == QEvent::WindowDeactivate)
+ {
+ m_statusBar->clearMainLabelTempText();
+
+ if (kapp->activeModalWidget() == 0)
+ emit triggerRememberLine();
+ }
+
+ return KMainWindow::event(e);
+}
+
+void KonversationMainWindow::settingsChangedSlot()
+{
+ // This is for compressing the events. m_hasDirtySettings is set to true
+ // when the settings have changed, then set to false when the app reacts to it
+ // via the appearanceChanged signal. This prevents a series of settingsChanged signals
+ // causing the app expensively rereading its settings many times.
+ // The appearanceChanged signal is connected to resetHasDirtySettings to reset this bool
+ if (!m_hasDirtySettings)
+ {
+ QTimer::singleShot(0, KonversationApplication::instance(), SIGNAL(appearanceChanged()));
+ m_hasDirtySettings = true;
+ }
+}
+
+void KonversationMainWindow::resetHasDirtySettings()
+{
+ m_hasDirtySettings = false;
+}
+
+void KonversationMainWindow::updateTrayIcon()
+{
+ m_trayIcon->setNotificationEnabled(Preferences::trayNotify());
+
+ if (Preferences::showTrayIcon())
+ m_trayIcon->show();
+ else
+ m_trayIcon->hide();
+}
+
+void KonversationMainWindow::toggleMenubar(bool dontShowWarning)
+{
+ if (hideMenuBarAction->isChecked())
+ menuBar()->show();
+ else
+ {
+ if (!dontShowWarning)
+ {
+ QString accel = hideMenuBarAction->shortcut().toString();
+ KMessageBox::information(this,
+ i18n("<qt>This will hide the menu bar completely. You can show it again by typing %1.</qt>").arg(accel),
+ "Hide menu bar","HideMenuBarWarning");
+ }
+ menuBar()->hide();
+ }
+
+ Preferences::setShowMenuBar(hideMenuBarAction->isChecked());
+}
+
+int KonversationMainWindow::configureToolbar()
+{
+ saveMainWindowSettings(KGlobal::config());
+ KEditToolbar dlg(actionCollection(), xmlFile(), true, this);
+ connect(&dlg, SIGNAL(newToolbarConfig()), SLOT(saveToolbarConfig()));
+ return dlg.exec();
+}
+
+void KonversationMainWindow::saveToolbarConfig()
+{
+ createGUI(xmlFile(), false);
+ applyMainWindowSettings(KGlobal::config());
+}
+
+void KonversationMainWindow::focusAndShowErrorMessage(const QString &errorMsg)
+{
+ show();
+ KWin::demandAttention(winId());
+ KWin::activateWindow(winId());
+ KMessageBox::error(this, errorMsg);
+}
+
+void KonversationMainWindow::openPrefsDialog()
+{
+ //An instance of your dialog could be already created and could be cached,
+ //in which case you want to display the cached dialog instead of creating
+ //another one
+ if (!m_settingsDialog)
+ {
+ m_settingsDialog = new KonviSettingsDialog(this);
+ //User edited the configuration - update your local copies of the
+ //configuration data
+ connect(m_settingsDialog, SIGNAL(settingsChanged()), this, SLOT(settingsChangedSlot()));
+ }
+ m_settingsDialog->show();
+}
+
+void KonversationMainWindow::openKeyBindings()
+{
+ // Change a number of action names to make them friendlier for the shortcut list.
+ actionCollection()->action("tab_notifications")->setText(i18n("Toggle Notifications"));
+ actionCollection()->action("toggle_away")->setText(i18n("Toggle Away Globally"));
+ actionCollection()->action("irc_colors")->setText(i18n("Insert &IRC Color..."));
+ actionCollection()->action("insert_character")->setText(i18n("Insert Special &Character..."));
+ actionCollection()->action("insert_marker_line")->setText(i18n("Insert &Marker Line"));
+ QString openChannelListString = actionCollection()->action("open_channel_list")->text();
+ actionCollection()->action("open_channel_list")->setText(i18n("&Channel List"));
+ QString openLogFileString = actionCollection()->action("open_logfile")->text();
+ actionCollection()->action("open_logfile")->setText(i18n("&Open Logfile"));
+
+ // Open shortcut configuration dialog.
+ KKeyDialog::configure(actionCollection());
+
+ // Reset action names.
+ actionCollection()->action("tab_notifications")->setText(i18n("Enable Notifications"));
+ actionCollection()->action("toggle_away")->setText(i18n("Set &Away Globally"));
+ actionCollection()->action("irc_colors")->setText(i18n("&IRC Color..."));
+ actionCollection()->action("insert_character")->setText(i18n("Special &Character..."));
+ actionCollection()->action("insert_marker_line")->setText(i18n("&Marker Line"));
+ actionCollection()->action("open_channel_list")->setText(openChannelListString);
+ actionCollection()->action("open_logfile")->setText(openLogFileString);
+}
+
+void KonversationMainWindow::openServerList()
+{
+ if (!m_serverListDialog)
+ {
+ m_serverListDialog = new Konversation::ServerListDialog(this);
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ connect(m_serverListDialog, SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)),
+ konvApp, SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)));
+ connect(konvApp, SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)),
+ m_serverListDialog, SLOT(updateServerList()));
+ connect(m_serverListDialog, SIGNAL(connectTo(Konversation::ConnectionFlag, int)),
+ konvApp->getConnectionManager(), SLOT(connectTo(Konversation::ConnectionFlag, int)));
+ connect(m_serverListDialog, SIGNAL(connectTo(Konversation::ConnectionFlag, ConnectionSettings&)),
+ konvApp->getConnectionManager(), SLOT(connectTo(Konversation::ConnectionFlag, ConnectionSettings&)));
+ connect(konvApp->getConnectionManager(), SIGNAL(closeServerList()), m_serverListDialog, SLOT(slotClose()));
+ }
+
+ m_serverListDialog->show();
+}
+
+void KonversationMainWindow::openQuickConnectDialog()
+{
+ emit showQuickConnectDialog();
+}
+
+// open the preferences dialog and show the watched nicknames page
+void KonversationMainWindow::openNotify()
+{
+ openPrefsDialog();
+ if (m_settingsDialog) m_settingsDialog->openWatchedNicknamesPage();
+}
+
+void KonversationMainWindow::openIdentitiesDialog()
+{
+ Konversation::IdentityDialog dlg(this);
+
+ if (dlg.exec() == KDialog::Accepted)
+ {
+ if (m_serverListDialog)
+ m_serverListDialog->updateServerList();
+ m_viewContainer->updateViewEncoding(m_viewContainer->getFrontView());
+ }
+}
+
+IdentityPtr KonversationMainWindow::editIdentity(IdentityPtr identity)
+{
+ IdentityPtr newIdentity;
+
+ Konversation::IdentityDialog dlg(this);
+ newIdentity = dlg.setCurrentIdentity(identity);
+
+ if ((dlg.exec() == KDialog::Accepted) && m_serverListDialog)
+ {
+ m_serverListDialog->updateServerList();
+ return newIdentity;
+ }
+ else
+ return 0;
+}
+
+void KonversationMainWindow::openNotifications()
+{
+ #ifdef USE_KNOTIFY
+ (void) KNotifyDialog::configure(this);
+ #endif
+}
+
+void KonversationMainWindow::notifyAction(const QString& serverName, const QString& nick)
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ Server* server = konvApp->getConnectionManager()->getServerByName(serverName);
+ if (server) server->notifyAction(nick);
+}
+
+// TODO: Let an own class handle notify things
+void KonversationMainWindow::setOnlineList(Server* notifyServer,const QStringList& /*list*/, bool /*changed*/)
+{
+ emit nicksNowOnline(notifyServer);
+ // FIXME if (changed && nicksOnlinePanel) newText(nicksOnlinePanel, QString::null, true);
+}
+
+QString KonversationMainWindow::currentURL(bool passNetwork)
+{
+ return m_viewContainer->currentViewURL(passNetwork);
+}
+
+QString KonversationMainWindow::currentTitle()
+{
+ return m_viewContainer->currentViewTitle();
+}
+
+#include "konversationmainwindow.moc"
diff --git a/konversation/src/konversationmainwindow.h b/konversation/src/konversationmainwindow.h
new file mode 100644
index 0000000..5781e9f
--- /dev/null
+++ b/konversation/src/konversationmainwindow.h
@@ -0,0 +1,148 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef _KONVERSATIONMAINWINDOW_H_
+#define _KONVERSATIONMAINWINDOW_H_
+
+#include "channel.h"
+#include "preferences.h"
+#include "ssllabel.h"
+#include "nickinfo.h"
+#include "server.h"
+
+#include <qstringlist.h>
+
+#include <kmainwindow.h>
+#include <kaction.h>
+
+
+class KToggleAction;
+class KScriptManager;
+
+class KonviBookmarkHandler;
+class Ignore;
+class NicksOnline;
+class QuickButtonsDialog;
+class KonviSettingsDialog;
+class ViewContainer;
+class KonversationStatusBar;
+
+namespace Konversation
+{
+ class ServerListDialog;
+ class TrayIcon;
+}
+
+class KonversationMainWindow : public KMainWindow
+{
+ Q_OBJECT
+
+ public:
+ KonversationMainWindow();
+ ~KonversationMainWindow();
+
+ ViewContainer* getViewContainer() { return m_viewContainer; }
+ Konversation::TrayIcon* systemTrayIcon() const { return m_trayIcon; }
+
+ /** Some errors need to be shown, even when konversation is minimized.
+ * For example, when a kimiface call is received to query a person,
+ * (e.g. the user choses "Chat with X" in kmail) but that person isn't
+ * recognised, we need to give immediate feedback to the user.
+ */
+ void focusAndShowErrorMessage(const QString &errorMsg);
+
+ QString currentURL(bool passNetwork);
+ QString currentTitle();
+
+ signals:
+ void startNotifyTimer(int msec);
+ void showQuickConnectDialog();
+ void nicksNowOnline(Server*);
+ void endNotification();
+ void serverStateChanged(Server* server, Konversation::ConnectionState state);
+ void triggerRememberLine();
+ void triggerRememberLines(Server*);
+ void cancelRememberLine();
+ void insertMarkerLine();
+
+ public slots:
+ void updateTrayIcon();
+
+ void openServerList();
+
+ void openIdentitiesDialog();
+ IdentityPtr editIdentity(IdentityPtr identity);
+
+ void setOnlineList(Server* notifyServer,const QStringList& list, bool changed);
+
+ protected slots:
+ /** This is connected to the preferences settingsChanged signal and acts to compress
+ * multiple successively settingsChanged() signals into a single output
+ * appearanceChanged() signal.
+ *
+ * Do not connect to the settingsChanged signal elsewhere. If you want to know when
+ * the settings have changed, connect to:
+ * KonversationApplication::instance(), SIGNAL(appearanceChanged())
+ */
+ void settingsChangedSlot();
+
+ /** This is connected to the appearanceChanged signal.
+ * @see settingsChangedSlot()
+ */
+ void resetHasDirtySettings();
+
+ void toggleMenubar(bool dontShowWarning = false);
+
+ int configureToolbar();
+ void saveToolbarConfig();
+
+ void openPrefsDialog();
+ void openKeyBindings();
+ void openQuickConnectDialog();
+
+ void openNotify();
+ // it seems that moc does not honor #ifs in compile so we create an
+ // empty slot in our .cpp file rather than #if this slot out
+ void openNotifications();
+ void notifyAction(const QString& serverName,const QString& nick);
+
+ void quitProgram();
+ void showEvent(QShowEvent* e);
+ void hideEvent(QHideEvent* e);
+ void leaveEvent(QEvent* e);
+
+
+ protected:
+ int confirmQuit();
+ bool queryClose();
+ virtual bool event(QEvent* e);
+
+ ViewContainer* m_viewContainer;
+ KonversationStatusBar* m_statusBar;
+ Konversation::TrayIcon* m_trayIcon;
+
+ KToggleAction* hideMenuBarAction;
+
+ KPopupMenu* m_bookmarks;
+ KonviBookmarkHandler* m_bookmarkHandler;
+ KonviSettingsDialog *m_settingsDialog;
+ Konversation::ServerListDialog* m_serverListDialog;
+
+ /** @see settingsChangedSlot() */
+ bool m_hasDirtySettings;
+ bool m_closeApp;
+};
+
+#endif
diff --git a/konversation/src/konversationsound.cpp b/konversation/src/konversationsound.cpp
new file mode 100644
index 0000000..7eb6466
--- /dev/null
+++ b/konversation/src/konversationsound.cpp
@@ -0,0 +1,41 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Thu Jan 29 2004
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "konversationsound.h"
+
+#include <config.h>
+#include <kurl.h>
+
+#ifdef USE_KNOTIFY
+#include <knotifyclient.h>
+#endif
+
+
+namespace Konversation
+{
+ Sound::Sound(QObject* parent, const char* name)
+ : QObject(parent, name)
+ {}
+
+ Sound::~Sound()
+ {}
+
+ void Sound::play(const KURL& url)
+ {
+ #ifdef USE_KNOTIFY
+ KNotifyClient::userEvent(0,QString(),1,1,url.path());
+ #endif
+ }
+}
+
+#include "konversationsound.moc"
diff --git a/konversation/src/konversationsound.h b/konversation/src/konversationsound.h
new file mode 100644
index 0000000..145b75b
--- /dev/null
+++ b/konversation/src/konversationsound.h
@@ -0,0 +1,41 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Thu Jan 29 2004
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#ifndef KONVERSATIONKONVERSATIONSOUND_H
+#define KONVERSATIONKONVERSATIONSOUND_H
+
+#include <qobject.h>
+
+
+class KURL;
+
+namespace Konversation
+{
+
+ /**
+ Class that handles sounds
+ */
+ class Sound : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ explicit Sound(QObject *parent = 0, const char *name = 0);
+ ~Sound();
+
+ public slots:
+ void play(const KURL& url);
+
+ };
+}
+#endif
diff --git a/konversation/src/konversationstatusbar.cpp b/konversation/src/konversationstatusbar.cpp
new file mode 100644
index 0000000..db29a06
--- /dev/null
+++ b/konversation/src/konversationstatusbar.cpp
@@ -0,0 +1,242 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "konversationstatusbar.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "ssllabel.h"
+
+#include <qwhatsthis.h>
+#include <qlabel.h>
+#include <qtooltip.h>
+
+#include <kstatusbar.h>
+#include <klocale.h>
+#include <kiconloader.h>
+#include <ksqueezedtextlabel.h>
+
+
+KonversationStatusBar::KonversationStatusBar(KonversationMainWindow* window)
+{
+ m_window = window;
+
+ // Initialize status bar.
+ m_window->statusBar();
+
+ m_mainLabel = new KSqueezedTextLabel(m_window->statusBar(),"mainLabel");
+ setMainLabelText(i18n("Ready."));
+ m_mainLabel->setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed));
+ m_mainLabel->setMinimumWidth(0);
+
+ // KSqueezedLabel calculates the wrong height. Popular workaround.
+ int height = m_window->fontMetrics().height()+2;
+ m_mainLabel->setFixedHeight(height);
+
+ m_infoLabel = new QLabel(m_window->statusBar(), "infoLabel");
+ m_infoLabel->hide();
+ QWhatsThis::add(m_infoLabel, i18n("<qt>This shows the number of users in the channel, and the number of those that are operators (ops).<p>A channel operator is a user that has special privileges, such as the ability to kick and ban users, change the channel modes, make other users operators</qt>"));
+
+ m_lagLabel = new QLabel(i18n("Lag: Unknown"), m_window->statusBar(), "lagLabel");
+ m_lagLabel->hide();
+
+ m_sslLabel = new SSLLabel(m_window->statusBar(),"sslLabel");
+ m_sslLabel->setPixmap(SmallIcon("encrypted"));
+ m_sslLabel->hide();
+ QWhatsThis::add(m_sslLabel, i18n("All communication with the server is encrypted. This makes it harder for someone to listen in on your communications."));
+
+ m_window->statusBar()->addWidget(m_mainLabel, 1, false);
+ m_window->statusBar()->addWidget(m_infoLabel, 0, true);
+ m_window->statusBar()->addWidget(m_lagLabel, 0, true);
+ m_window->statusBar()->addWidget(m_sslLabel, 0, true);
+
+ QWhatsThis::add(m_window->statusBar(), i18n("<qt>The status bar shows various messages, including any problems connecting to the server. On the far right the current delay to the server is shown. The delay is the time it takes for messages from you to reach the server, and from the server back to you.</qt>"));
+}
+
+KonversationStatusBar::~KonversationStatusBar()
+{
+}
+
+void KonversationStatusBar::updateAppearance()
+{
+ // KSqueezedLabel calculates the wrong height. Popular workaround.
+ int height = m_window->fontMetrics().height()+2;
+ m_mainLabel->setFixedHeight(height);
+}
+
+void KonversationStatusBar::resetStatusBar()
+{
+ setMainLabelText(i18n("Ready."));
+ setInfoLabelShown(false);
+ setLagLabelShown(false);
+ clearInfoLabel();
+ resetLagLabel();
+}
+
+void KonversationStatusBar::setMainLabelText(const QString& text)
+{
+ m_oldMainLabelText = text;
+
+ // Don't overwrite the temp text if there is any.
+ if (m_tempMainLabelText.isEmpty())
+ m_mainLabel->setText(text);
+}
+
+void KonversationStatusBar::setMainLabelTempText(const QString& text)
+{
+ if (!text.isEmpty())
+ {
+ m_tempMainLabelText = text;
+ m_mainLabel->setText(text);
+ }
+ else
+ clearMainLabelTempText();
+}
+
+void KonversationStatusBar::clearMainLabelTempText()
+{
+ // Unset the temp text so the next setMainLabelText won't fail.
+ m_tempMainLabelText = QString();
+
+ m_mainLabel->setText(m_oldMainLabelText);
+}
+
+void KonversationStatusBar::setInfoLabelShown(bool shown)
+{
+ if (shown)
+ m_infoLabel->show();
+ else
+ m_infoLabel->hide();
+}
+
+void KonversationStatusBar::updateInfoLabel(const QString& text)
+{
+ QString formatted = Konversation::removeIrcMarkup(text);
+ m_infoLabel->setText(formatted);
+
+ if (m_infoLabel->isHidden()) m_infoLabel->show();
+}
+
+void KonversationStatusBar::clearInfoLabel()
+{
+ m_infoLabel->setText(QString());
+}
+
+void KonversationStatusBar::setLagLabelShown(bool shown)
+{
+ if (shown)
+ m_lagLabel->show();
+ else
+ m_lagLabel->hide();
+}
+
+void KonversationStatusBar::updateLagLabel(Server* lagServer, int msec)
+{
+ if (lagServer==m_window->getViewContainer()->getFrontServer())
+ {
+ setMainLabelText(i18n("Ready."));
+
+ QString lagString = lagServer->getServerName() + " - ";
+
+ if (msec == -1)
+ lagString += i18n("Lag: Unknown");
+ else if (msec < 1000)
+ lagString += i18n("Lag: %1 ms").arg(msec);
+ else
+ lagString += i18n("Lag: %1 s").arg(msec / 1000);
+
+ m_lagLabel->setText(lagString);
+
+ if (m_lagLabel->isHidden()) m_lagLabel->show();
+ }
+}
+
+void KonversationStatusBar::resetLagLabel()
+{
+ m_lagLabel->setText(i18n("Lag: Unknown"));
+}
+
+void KonversationStatusBar::setTooLongLag(Server* lagServer, int msec)
+{
+ if ((msec % 5000)==0)
+ {
+ int seconds = msec/1000;
+ int minutes = seconds/60;
+ int hours = minutes/60;
+ int days = hours/24;
+ QString lagString;
+
+ if (days)
+ {
+ const QString daysString = i18n("1 day", "%n days", days);
+ const QString hoursString = i18n("1 hour", "%n hours", (hours % 24));
+ const QString minutesString = i18n("1 minute", "%n minutes", (minutes % 60));
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+ lagString = i18n("%1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = (x seconds)", "No answer from server %1 for more than %2, %3, %4, and %5.").arg(lagServer->getServerName())
+ .arg(daysString).arg(hoursString).arg(minutesString).arg(secondsString);
+ // or longer than an hour
+ }
+ else if (hours)
+ {
+ const QString hoursString = i18n("1 hour", "%n hours", hours);
+ const QString minutesString = i18n("1 minute", "%n minutes", (minutes % 60));
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+ lagString = i18n("%1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)", "No answer from server %1 for more than %2, %3, and %4.").arg(lagServer->getServerName())
+ .arg(hoursString).arg(minutesString).arg(secondsString);
+ // or longer than a minute
+ }
+ else if (minutes)
+ {
+ const QString minutesString = i18n("1 minute", "%n minutes", minutes);
+ const QString secondsString = i18n("1 second", "%n seconds", (seconds % 60));
+ lagString = i18n("%1 = name of server, %2 = (x minutes), %3 = (x seconds)", "No answer from server %1 for more than %2 and %3.").arg(lagServer->getServerName())
+ .arg(minutesString).arg(secondsString);
+ // or just some seconds
+ }
+ else
+ {
+ lagString = i18n("No answer from server %1 for more than 1 second.", "No answer from server %1 for more than %n seconds.", seconds).arg(lagServer->getServerName());
+ }
+
+ setMainLabelText(lagString);
+ }
+
+ if (lagServer==m_window->getViewContainer()->getFrontServer())
+ {
+ QString lagString = lagServer->getServerName() + " - ";
+ lagString.append(i18n("Lag: %1 s").arg(msec/1000));
+
+ if (m_lagLabel->isHidden()) m_lagLabel->show();
+ m_lagLabel->setText(lagString);
+ }
+}
+
+void KonversationStatusBar::updateSSLLabel(Server* server)
+{
+ if (server == m_window->getViewContainer()->getFrontServer()
+ && server->getUseSSL() && server->isConnected())
+ {
+ disconnect(m_sslLabel,0,0,0);
+ connect(m_sslLabel,SIGNAL(clicked()),server,SLOT(showSSLDialog()));
+ QToolTip::remove(m_sslLabel);
+ QToolTip::add(m_sslLabel,server->getSSLInfo());
+ m_sslLabel->show();
+ }
+ else
+ m_sslLabel->hide();
+}
+
+void KonversationStatusBar::removeSSLLabel()
+{
+ disconnect(m_sslLabel,0,0,0);
+ m_sslLabel->hide();
+}
+
+#include "konversationstatusbar.moc"
diff --git a/konversation/src/konversationstatusbar.h b/konversation/src/konversationstatusbar.h
new file mode 100644
index 0000000..931f7d6
--- /dev/null
+++ b/konversation/src/konversationstatusbar.h
@@ -0,0 +1,67 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONSTATUSBAR_H
+#define KONVERSATIONSTATUSBAR_H
+
+#include <qobject.h>
+
+
+class QLabel;
+
+class KonversationMainWindow;
+class KSqueezedTextLabel;
+class SSLLabel;
+class Server;
+
+class KonversationStatusBar : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit KonversationStatusBar(KonversationMainWindow* parent);
+ ~KonversationStatusBar();
+
+ public slots:
+ void updateAppearance();
+
+ void resetStatusBar();
+
+ void setMainLabelText(const QString& text);
+
+ void setMainLabelTempText(const QString& text);
+ void clearMainLabelTempText();
+
+ void setInfoLabelShown(bool shown);
+ void updateInfoLabel(const QString& text);
+ void clearInfoLabel();
+
+ void setLagLabelShown(bool shown);
+ void updateLagLabel(Server* lagServer, int msec);
+ void resetLagLabel();
+ void setTooLongLag(Server* lagServer, int msec);
+
+ void updateSSLLabel(Server* server);
+ void removeSSLLabel();
+
+ private:
+ KonversationMainWindow* m_window;
+
+ KSqueezedTextLabel* m_mainLabel;
+ QLabel* m_infoLabel;
+ QLabel* m_lagLabel;
+ SSLLabel* m_sslLabel;
+
+ QString m_oldMainLabelText;
+ QString m_tempMainLabelText;
+};
+
+#endif
diff --git a/konversation/src/konversationui.rc b/konversation/src/konversationui.rc
new file mode 100644
index 0000000..66d3945
--- /dev/null
+++ b/konversation/src/konversationui.rc
@@ -0,0 +1,82 @@
+<!DOCTYPE kpartgui>
+<kpartgui name="konversation" version="51">
+
+ <MenuBar>
+ <Menu name="file">
+ <Action name="open_server_list" />
+ <Action name="quick_connect_dialog" />
+ <Separator />
+ <Action name="disconnect_server" />
+ <Action name="reconnect_server" />
+ <Separator />
+ <Action name="join_channel" />
+ <Separator />
+ <Action name="toggle_away" />
+ </Menu>
+ <Menu name="edit">
+ <Action name="clear_lines" />
+ <Separator />
+ <Action name="clear_window" />
+ <Action name="clear_tabs" />
+ </Menu>
+ <Menu name="insert">
+ <Text>&amp;Insert</Text>
+ <Action name="irc_colors" />
+ <Action name="insert_marker_line" />
+ <Action name="insert_character" />
+ </Menu>
+ <Menu name="bookmarks">
+ <Text>&amp;Bookmarks</Text>
+ </Menu>
+ <Menu name="settings">
+ <Action name="hide_nicknamelist" />
+ <Separator />
+ <Action name="identities_dialog" append="save_merge" />
+ </Menu>
+ <Menu name="windows" append="settings_merge">
+ <Text>&amp;Window</Text>
+ <Action name="previous_tab" />
+ <Action name="next_tab" />
+ <Action name="next_active_tab" />
+ <Separator />
+ <Action name="move_tab_left" />
+ <Action name="move_tab_right" />
+ <Action name="close_tab" />
+ <Action name="close_queries" />
+ <Separator />
+ <Action name="tab_notifications" />
+ <Action name="tab_encoding" />
+ <Separator />
+ <Action name="open_nicksonline_window" />
+ <Action name="open_url_catcher" />
+ <Action name="open_dccstatus_window" />
+ <Action name="open_konsole" />
+ <Separator />
+ <Action name="open_channel_list" />
+ <Action name="open_logfile" />
+ <Action name="channel_settings" />
+ </Menu>
+ </MenuBar>
+
+ <ToolBar fullWidth="true" hidden="true" name="mainToolBar">
+ <Action name="open_server_list" />
+ <Action name="quick_connect_dialog" />
+ <Separator />
+ <Action name="toggle_away" />
+ <Separator />
+ <Action name="irc_colors" />
+ </ToolBar>
+
+ <Menu name="tabContextMenu">
+ <Action name="tab_notifications" />
+ <Action name="tab_encoding" />
+ <Separator />
+ <ActionList name="server_actions" />
+ <Separator />
+ <Action name="move_tab_left" />
+ <Action name="move_tab_right" />
+ <Action name="close_tab" />
+</Menu>
+
+</kpartgui>
+
diff --git a/konversation/src/konvibookmarkhandler.cpp b/konversation/src/konvibookmarkhandler.cpp
new file mode 100644
index 0000000..3258cba
--- /dev/null
+++ b/konversation/src/konvibookmarkhandler.cpp
@@ -0,0 +1,96 @@
+/*
+ Copyright (c) 2005 by İsmail Dönmez <ismail@kde.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. *
+ * *
+ *************************************************************************
+
+Based on the code by:
+Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
+
+*/
+
+#include "konvibookmarkhandler.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "connectionmanager.h"
+#include "konvibookmarkmenu.h"
+
+#include <qstring.h>
+
+#include <kpopupmenu.h>
+#include <kstandarddirs.h>
+
+
+KonviBookmarkHandler::KonviBookmarkHandler(KonversationMainWindow* mainWindow)
+: QObject( mainWindow, "KonviBookmarkHandler" ),
+KBookmarkOwner(),
+m_mainWindow(mainWindow)
+{
+ m_menu = static_cast<KPopupMenu*>(mainWindow->factory()->container("bookmarks", mainWindow));
+
+ m_file = locate( "data", "konversation/bookmarks.xml" );
+
+ if ( m_file.isEmpty() )
+ m_file = locateLocal( "data", "konversation/bookmarks.xml" );
+
+ if(!m_menu)
+ {
+ m_bookmarkMenu = 0;
+ return;
+ }
+
+ KBookmarkManager *manager = KBookmarkManager::managerForFile( m_file, false);
+ manager->setEditorOptions(kapp->caption(), false);
+ manager->setUpdate( true );
+ manager->setShowNSBookmarks( false );
+
+ connect( manager, SIGNAL(changed(const QString &,const QString &)), SLOT(slotBookmarksChanged(const QString &,const QString &)));
+
+ m_bookmarkMenu = new KonviBookmarkMenu( manager, this, m_menu, NULL, true );
+}
+
+KonviBookmarkHandler::~KonviBookmarkHandler()
+{
+ delete m_bookmarkMenu;
+}
+
+void KonviBookmarkHandler::slotEditBookmarks()
+{
+ KProcess proc;
+ proc << QString::fromLatin1("keditbookmarks");
+ proc << "--nobrowser";
+ proc << "--caption" << i18n("Konversation Bookmarks Editor");
+ proc << m_file;
+ proc.start(KProcess::DontCare);
+}
+
+void KonviBookmarkHandler::slotBookmarksChanged( const QString &,
+const QString &)
+{
+ // This is called when someone changes bookmarks in konversation
+ m_bookmarkMenu->slotBookmarksChanged("");
+}
+
+void KonviBookmarkHandler::openBookmarkURL(const QString& url, const QString& /* title */)
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->getConnectionManager()->connectTo(Konversation::SilentlyReuseConnection, url);
+}
+
+QString KonviBookmarkHandler::currentURL() const
+{
+ return m_mainWindow->currentURL(true);
+}
+
+QString KonviBookmarkHandler::currentTitle() const
+{
+ return m_mainWindow->currentTitle();
+}
+
+#include "konvibookmarkhandler.moc"
diff --git a/konversation/src/konvibookmarkhandler.h b/konversation/src/konvibookmarkhandler.h
new file mode 100644
index 0000000..0071195
--- /dev/null
+++ b/konversation/src/konvibookmarkhandler.h
@@ -0,0 +1,55 @@
+#ifndef KONVIBOOKMARKHANDLER_H
+#define KONVIBOOKMARKHANDLER_H
+
+/*
+ Copyright (c) 2005 by İsmail Dönmez <ismail@kde.org.tr>
+
+ *************************************************************************
+ * *
+ * 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. *
+ * *
+ *************************************************************************
+
+Based on the code by :
+Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
+
+*/
+
+#include <kbookmarkmanager.h>
+
+
+class QString;
+class KPopupMenu;
+class KonversationMainWindow;
+class KonviBookmarkMenu;
+
+class KonviBookmarkHandler : public QObject, public KBookmarkOwner
+{
+ Q_OBJECT
+
+ public:
+ explicit KonviBookmarkHandler(KonversationMainWindow *mainWindow);
+ ~KonviBookmarkHandler();
+
+ KPopupMenu* popupMenu();
+
+ // KBookmarkOwner interface:
+ virtual void openBookmarkURL(const QString& url, const QString& title);
+ virtual QString currentURL() const;
+ virtual QString currentTitle() const;
+
+ private slots:
+ void slotBookmarksChanged(const QString &, const QString & caller);
+ void slotEditBookmarks();
+
+
+ private:
+ KonversationMainWindow* m_mainWindow;
+ KPopupMenu *m_menu;
+ KonviBookmarkMenu *m_bookmarkMenu;
+ QString m_file;
+};
+#endif // KONVIBOOKMARKHANDLER_H
diff --git a/konversation/src/konvibookmarkmenu.cpp b/konversation/src/konvibookmarkmenu.cpp
new file mode 100644
index 0000000..4474f6a
--- /dev/null
+++ b/konversation/src/konvibookmarkmenu.cpp
@@ -0,0 +1,154 @@
+/*
+ Copyright (c) 2005 by İsmail Dönmez <ismail@kde.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. *
+ * *
+ *************************************************************************
+
+Based on the code by:
+Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
+
+*/
+
+#include "konvibookmarkmenu.h"
+#include "konvibookmarkhandler.h"
+
+#include <qregexp.h>
+
+#include <kpopupmenu.h>
+#include <kaction.h>
+
+
+KonviBookmarkMenu::KonviBookmarkMenu( KBookmarkManager* mgr,
+KonviBookmarkHandler * _owner, KPopupMenu * _parentMenu,
+KActionCollection *collec, bool _isRoot, bool _add,
+const QString & parentAddress )
+: KBookmarkMenu( mgr, _owner, _parentMenu, collec, _isRoot, _add, parentAddress),
+m_kOwner(_owner)
+{
+ /*
+ * First, we disconnect KBookmarkMenu::slotAboutToShow()
+ * Then, we connect KonviBookmarkMenu::slotAboutToShow().
+ * They are named differently because the SLOT() macro thinks we want
+ * KonviBookmarkMenu::KBookmarkMenu::slotAboutToShow()
+ * Could this be solved if slotAboutToShow() is virtual in KBookmarMenu?
+ */
+ disconnect(_parentMenu, SIGNAL(aboutToShow()), this, SLOT(slotAboutToShow()));
+ connect(_parentMenu, SIGNAL(aboutToShow()), SLOT(slotAboutToShow2()));
+}
+
+/*
+ * Duplicate this exactly because KBookmarkMenu::slotBookmarkSelected can't
+ * be overrided. I would have preferred to NOT have to do this.
+ *
+ * Why did I do this?
+ * - when KBookmarkMenu::fillbBookmarkMenu() creates sub-KBookmarkMenus.
+ * - when ... adds KActions, it uses KBookmarkMenu::slotBookmarkSelected()
+ * instead of KonviBookmarkMenu::slotBookmarkSelected().
+ */
+void KonviBookmarkMenu::slotAboutToShow2()
+{
+ // Did the bookmarks change since the last time we showed them ?
+ if ( m_bDirty )
+ {
+ m_bDirty = false;
+ refill();
+ }
+}
+
+void KonviBookmarkMenu::refill()
+{
+ m_lstSubMenus.clear();
+ QPtrListIterator<KAction> it( m_actions );
+ for (; it.current(); ++it )
+ it.current()->unplug( m_parentMenu );
+ m_parentMenu->clear();
+ m_actions.clear();
+ fillBookmarkMenu();
+ m_parentMenu->adjustSize();
+}
+
+void KonviBookmarkMenu::fillBookmarkMenu()
+{
+ if ( m_bIsRoot )
+ {
+ if ( m_bAddBookmark )
+ addAddBookmark();
+
+ addEditBookmarks();
+
+ if ( m_bAddBookmark )
+ addNewFolder();
+ }
+
+ KBookmarkGroup parentBookmark = m_pManager->findByAddress( m_parentAddress ).toGroup();
+ Q_ASSERT(!parentBookmark.isNull());
+ bool separatorInserted = false;
+ for ( KBookmark bm = parentBookmark.first(); !bm.isNull();
+ bm = parentBookmark.next(bm) )
+ {
+ QString text = bm.text();
+ text.replace( '&', "&&" );
+ if ( !separatorInserted && m_bIsRoot) // inserted before the first konq bookmark, to avoid the separator if no konq bookmark
+ {
+ m_parentMenu->insertSeparator();
+ separatorInserted = true;
+ }
+ if ( !bm.isGroup() )
+ {
+ if ( bm.isSeparator() )
+ {
+ m_parentMenu->insertSeparator();
+ }
+ else
+ {
+ // kdDebug(1203) << "Creating URL bookmark menu item for " << bm.text() << endl;
+ // create a normal URL item, with ID as a name
+ KAction * action = new KAction( text, bm.icon(), 0,
+ this, SLOT( slotBookmarkSelected() ),
+ m_actionCollection, bm.url().url().utf8() );
+
+ action->setStatusText( bm.url().prettyURL() );
+
+ action->plug( m_parentMenu );
+ m_actions.append( action );
+ }
+ }
+ else
+ {
+ // kdDebug(1203) << "Creating bookmark submenu named " << bm.text() << endl;
+ KActionMenu * actionMenu = new KActionMenu( text, bm.icon(),
+ m_actionCollection, 0L );
+ actionMenu->plug( m_parentMenu );
+ m_actions.append( actionMenu );
+ KonviBookmarkMenu *subMenu = new KonviBookmarkMenu( m_pManager,
+ m_kOwner, actionMenu->popupMenu(),
+ m_actionCollection, false,
+ m_bAddBookmark, bm.address() );
+ m_lstSubMenus.append( subMenu );
+ }
+ }
+
+ if ( !m_bIsRoot && m_bAddBookmark )
+ {
+ if ( m_parentMenu->count() > 0 )
+ m_parentMenu->insertSeparator();
+ addAddBookmark();
+ addNewFolder();
+ }
+}
+
+void KonviBookmarkMenu::slotBookmarkSelected()
+{
+ if ( !m_pOwner ) return; // this view doesn't handle bookmarks...
+ /* URL */
+ m_kOwner->openBookmarkURL( QString::fromUtf8(sender()->name()),
+ ( (KAction *)sender() )->text() /* Title */ );
+}
+
+#include "konvibookmarkmenu.moc"
diff --git a/konversation/src/konvibookmarkmenu.h b/konversation/src/konvibookmarkmenu.h
new file mode 100644
index 0000000..f7921c2
--- /dev/null
+++ b/konversation/src/konvibookmarkmenu.h
@@ -0,0 +1,65 @@
+#ifndef KONVIBOOKMARKMENU_H
+#define KONVIBOOKMARKMENU_H
+
+/*
+ Copyright (c) 2005 by İsmail Dönmez <ismail@kde.org.tr>
+
+ *************************************************************************
+ * *
+ * 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. *
+ * *
+ *************************************************************************
+
+Based on the code by:
+Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
+
+*/
+
+#include <qobject.h>
+
+#include <kbookmarkmenu.h>
+
+
+class QString;
+class KBookmark;
+class KAction;
+class KActionMenu;
+class KActionCollection;
+class KBookmarkOwner;
+class KBookmarkMenu;
+class KPopupMenu;
+class KonviBookmarkHandler;
+class KonviBookmarkMenu;
+class KonviBookmarkMenuPrivate;
+
+class KonviBookmarkMenu : public KBookmarkMenu
+{
+ Q_OBJECT
+
+ public:
+ KonviBookmarkMenu( KBookmarkManager* mgr,
+ KonviBookmarkHandler * _owner, KPopupMenu * _parentMenu,
+ KActionCollection *collec, bool _isRoot,
+ bool _add = true, const QString & parentAddress = "");
+
+ void fillBookmarkMenu();
+
+ public slots:
+
+ private:
+
+ protected slots:
+ void slotAboutToShow2();
+ void slotBookmarkSelected();
+
+ protected:
+ void refill();
+
+ private:
+ KonviBookmarkHandler * m_kOwner;
+ KonviBookmarkMenuPrivate *d;
+};
+#endif // KONVIBOOKMARKMENU_H
diff --git a/konversation/src/konviconfigdialog.cpp b/konversation/src/konviconfigdialog.cpp
new file mode 100644
index 0000000..386236d
--- /dev/null
+++ b/konversation/src/konviconfigdialog.cpp
@@ -0,0 +1,284 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (C) 2003 Benjamin C Meyer (ben+kdelibs at meyerhome dot net)
+ * Copyright (C) 2003 Waldo Bastian <bastian@kde.org>
+ * Copyright (C) 2004 Michael Brade <brade@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/*
+ * KConfigDialog derivative allowing for a multi-level hierarchical TreeList.
+ * Differences from KConfigDialog:
+ * - Use QStringList instead of QString for the item name(s) in addPage and
+ * addPageInternal, thus calling the respective KDialogBase methods which
+ * allow specifying a path from which the TreeList hierarchy is constructed.
+ * - Use 16x16 icons in the TreeList.
+ * - Fill a new int m_lastAddedIndex with the pageIndex() of a new page added
+ * with addPageInternal, and offer a public interface int lastAddedIndex().
+ * See the KConfigDialog reference for detailed documentation.
+ *
+ * begin: Nov 22 2005
+ * copyright: (C) 2005-2006 by Eike Hein, KConfigDialog developers
+ * email: hein@kde.org
+ */
+
+#include "konviconfigdialog.h"
+
+#include <kconfigskeleton.h>
+#include <kconfigdialogmanager.h>
+#include <klocale.h>
+#include <kiconloader.h>
+#include <kdebug.h>
+
+#include <qlayout.h>
+#include <qvbox.h>
+#include <qmap.h>
+
+
+QAsciiDict<KonviConfigDialog> KonviConfigDialog::openDialogs;
+
+// This class is here purly so we don't break binary compatibility down the road.
+class KonviConfigDialog::KConfigDialogPrivate
+{
+ public:
+ KConfigDialogPrivate(KDialogBase::DialogType t) : shown(false), type(t), manager(0) { }
+
+ bool shown;
+ KDialogBase::DialogType type;
+ KConfigDialogManager *manager;
+ QMap<QWidget *, KConfigDialogManager *> managerForPage;
+};
+
+KonviConfigDialog::KonviConfigDialog( QWidget *parent, const char *name,
+ KConfigSkeleton *config,
+ DialogType dialogType,
+ int dialogButtons,
+ ButtonCode defaultButton,
+ bool modal ) :
+ KDialogBase( dialogType, Qt::WStyle_DialogBorder,
+ parent, name, modal, i18n("Configure"), dialogButtons, defaultButton ),
+ d(new KConfigDialogPrivate(dialogType))
+{
+ if ( name )
+ {
+ openDialogs.insert(name, this);
+ }
+ else
+ {
+ QCString genericName;
+ genericName.sprintf("SettingsDialog-%p", this);
+ openDialogs.insert(genericName, this);
+ setName(genericName);
+ }
+
+ connect(this, SIGNAL(okClicked()), this, SLOT(updateSettings()));
+ connect(this, SIGNAL(applyClicked()), this, SLOT(updateSettings()));
+ connect(this, SIGNAL(applyClicked()), this, SLOT(updateButtons()));
+ connect(this, SIGNAL(defaultClicked()), this, SLOT(updateWidgetsDefault()));
+ connect(this, SIGNAL(defaultClicked()), this, SLOT(updateButtons()));
+
+ d->manager = new KConfigDialogManager(this, config);
+ setupManagerConnections(d->manager);
+
+ enableButton(Apply, false);
+}
+
+KonviConfigDialog::~KonviConfigDialog()
+{
+ openDialogs.remove(name());
+ delete d;
+}
+
+void KonviConfigDialog::addPage(QWidget *page,
+ const QStringList &items,
+ const QString &pixmapName,
+ const QString &header,
+ bool manage)
+{
+ addPageInternal(page, items, pixmapName, header);
+ if(manage)
+ d->manager->addWidget(page);
+}
+
+void KonviConfigDialog::addPage(QWidget *page,
+ KConfigSkeleton *config,
+ const QStringList &items,
+ const QString &pixmapName,
+ const QString &header)
+{
+ addPageInternal(page, items, pixmapName, header);
+ d->managerForPage[page] = new KConfigDialogManager(page, config);
+ setupManagerConnections(d->managerForPage[page]);
+}
+
+void KonviConfigDialog::addPageInternal(QWidget *page,
+ const QStringList &items,
+ const QString &pixmapName,
+ const QString &header)
+{
+ if(d->shown)
+ {
+ kdDebug(240) << "KonviConfigDialog::addPage: can not add a page after the dialog has been shown.";
+ return;
+ }
+ switch(d->type)
+ {
+ case TreeList:
+ case IconList:
+ case Tabbed:
+ {
+ QVBox *frame = addVBoxPage(items, header, SmallIcon(pixmapName, 16));
+ frame->setSpacing( 0 );
+ frame->setMargin( 0 );
+ page->reparent(((QWidget*)frame), 0, QPoint());
+ m_lastAddedIndex = pageIndex(frame);
+ }
+ break;
+
+ case Swallow:
+ {
+ page->reparent(this, 0, QPoint());
+ setMainWidget(page);
+ }
+ break;
+
+ case Plain:
+ {
+ QFrame *main = plainPage();
+ QVBoxLayout *topLayout = new QVBoxLayout( main, 0, 0 );
+ page->reparent(((QWidget*)main), 0, QPoint());
+ topLayout->addWidget( page );
+ }
+ break;
+
+ default:
+ kdDebug(240) << "KonviConfigDialog::addpage: unknown type.";
+ }
+}
+
+void KonviConfigDialog::setupManagerConnections(KConfigDialogManager *manager)
+{
+ connect(manager, SIGNAL(settingsChanged()), this, SLOT(settingsChangedSlot()));
+ connect(manager, SIGNAL(widgetModified()), this, SLOT(updateButtons()));
+
+ connect(this, SIGNAL(okClicked()), manager, SLOT(updateSettings()));
+ connect(this, SIGNAL(applyClicked()), manager, SLOT(updateSettings()));
+ connect(this, SIGNAL(defaultClicked()), manager, SLOT(updateWidgetsDefault()));
+}
+
+KonviConfigDialog* KonviConfigDialog::exists(const char* name)
+{
+ return openDialogs.find(name);
+}
+
+bool KonviConfigDialog::showDialog(const char* name)
+{
+ KonviConfigDialog *dialog = exists(name);
+ if(dialog)
+ dialog->show();
+ return (dialog != NULL);
+}
+
+void KonviConfigDialog::updateButtons()
+{
+ static bool only_once = false;
+ if (only_once) return;
+ only_once = true;
+
+ QMap<QWidget *, KConfigDialogManager *>::iterator it;
+
+ bool has_changed = d->manager->hasChanged() || hasChanged();
+ for (it = d->managerForPage.begin();
+ it != d->managerForPage.end() && !has_changed;
+ ++it)
+ {
+ has_changed |= (*it)->hasChanged();
+ }
+
+ enableButton(Apply, has_changed);
+
+ bool is_default = d->manager->isDefault() && isDefault();
+ for (it = d->managerForPage.begin();
+ it != d->managerForPage.end() && is_default;
+ ++it)
+ {
+ is_default &= (*it)->isDefault();
+ }
+
+ enableButton(Default, !is_default);
+
+ emit widgetModified();
+ only_once = false;
+}
+
+void KonviConfigDialog::settingsChangedSlot()
+{
+ // Update the buttons
+ updateButtons();
+ emit settingsChanged();
+ emit settingsChanged(name());
+}
+
+void KonviConfigDialog::show()
+{
+ QMap<QWidget *, KConfigDialogManager *>::iterator it;
+
+ updateWidgets();
+ d->manager->updateWidgets();
+ for (it = d->managerForPage.begin(); it != d->managerForPage.end(); ++it)
+ (*it)->updateWidgets();
+
+ bool has_changed = d->manager->hasChanged() || hasChanged();
+ for (it = d->managerForPage.begin();
+ it != d->managerForPage.end() && !has_changed;
+ ++it)
+ {
+ has_changed |= (*it)->hasChanged();
+ }
+
+ enableButton(Apply, has_changed);
+
+ bool is_default = d->manager->isDefault() && isDefault();
+ for (it = d->managerForPage.begin();
+ it != d->managerForPage.end() && is_default;
+ ++it)
+ {
+ is_default &= (*it)->isDefault();
+ }
+
+ enableButton(Default, !is_default);
+ d->shown = true;
+ KDialogBase::show();
+}
+
+int KonviConfigDialog::lastAddedIndex()
+{
+ return m_lastAddedIndex;
+}
+
+void KonviConfigDialog::updateSettings()
+{
+}
+
+void KonviConfigDialog::updateWidgets()
+{
+}
+
+void KonviConfigDialog::updateWidgetsDefault()
+{
+}
+
diff --git a/konversation/src/konviconfigdialog.h b/konversation/src/konviconfigdialog.h
new file mode 100644
index 0000000..b53262b
--- /dev/null
+++ b/konversation/src/konviconfigdialog.h
@@ -0,0 +1,124 @@
+/*
+ * This file is part of the KDE libraries
+ * Copyright (C) 2003 Benjamin C Meyer (ben+kdelibs at meyerhome dot net)
+ * Copyright (C) 2003 Waldo Bastian <bastian@kde.org>
+ * Copyright (C) 2004 Michael Brade <brade@kde.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/*
+ * KConfigDialog derivative allowing for a multi-level hierarchical TreeList.
+ * Differences from KConfigDialog:
+ * - Use QStringList instead of QString for the item name(s) in addPage and
+ * addPageInternal, thus calling the respective KDialogBase methods which
+ * allow specifying a path from which the TreeList hierarchy is constructed.
+ * - Use 16x16 icons in the TreeList.
+ * - Fill a new int m_lastAddedIndex with the pageIndex() of a new page added
+ * with addPageInternal, and offer a public interface int lastAddedIndex().
+ * See the KConfigDialog reference for detailed documentation.
+ *
+ * begin: Nov 22 2005
+ * copyright: (C) 2005-2006 by Eike Hein, KConfigDialog developers
+ * email: hein@kde.org
+ */
+
+#ifndef KONVICONFIGDIALOG_H
+#define KONVICONFIGDIALOG_H
+
+#include <qasciidict.h>
+
+#include <kdialogbase.h>
+
+
+class KConfig;
+class KConfigSkeleton;
+class KConfigDialogManager;
+
+class KonviConfigDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ signals:
+ void widgetModified();
+
+ void settingsChanged();
+
+ void settingsChanged(const char *dialogName);
+
+ void sigUpdateWidgets();
+
+ public:
+ KonviConfigDialog( QWidget *parent, const char *name,
+ KConfigSkeleton *config,
+ DialogType dialogType = IconList,
+ int dialogButtons = Default|Ok|Apply|Cancel|Help,
+ ButtonCode defaultButton = Ok,
+ bool modal=false );
+
+ ~KonviConfigDialog();
+
+ void addPage( QWidget *page, const QStringList &items,
+ const QString &pixmapName,
+ const QString &header=QString(),
+ bool manage=true );
+
+ void addPage( QWidget *page, KConfigSkeleton *config,
+ const QStringList &items,
+ const QString &pixmapName,
+ const QString &header=QString() );
+
+ static KonviConfigDialog* exists( const char* name );
+
+ static bool showDialog( const char* name );
+
+ virtual void show();
+
+ int lastAddedIndex();
+
+ protected slots:
+ virtual void updateSettings();
+
+ virtual void updateWidgets();
+
+ virtual void updateWidgetsDefault();
+
+ protected:
+ virtual bool hasChanged() { return false; }
+
+ virtual bool isDefault() { return true; }
+
+ protected slots:
+ void updateButtons();
+
+ void settingsChangedSlot();
+
+ private:
+ void addPageInternal(QWidget *page, const QStringList &items,
+ const QString &pixmapName, const QString &header);
+
+ void setupManagerConnections(KConfigDialogManager *manager);
+
+ private:
+ static QAsciiDict<KonviConfigDialog> openDialogs;
+
+ class KConfigDialogPrivate;
+
+ KConfigDialogPrivate *d;
+
+ int m_lastAddedIndex;
+};
+#endif //KONVICONFIGDIALOG_H
diff --git a/konversation/src/konviface.h b/konversation/src/konviface.h
new file mode 100644
index 0000000..945bd33
--- /dev/null
+++ b/konversation/src/konviface.h
@@ -0,0 +1,89 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2007-2007 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONV_IFACE_H
+#define KONV_IFACE_H
+
+#include "ignore.h"
+
+#include <qobject.h>
+#include <qstringlist.h>
+
+#include <dcopobject.h>
+
+
+class KonvIface : virtual public DCOPObject
+{
+ K_DCOP
+
+ k_dcop:
+ virtual void setAway(const QString &awaymessage) = 0;
+ virtual void setBack() = 0;
+ virtual void sayToAll(const QString &message) = 0;
+ virtual void actionToAll(const QString &message) = 0;
+
+ virtual void raw(const QString& server,const QString& command) = 0;
+ virtual void say(const QString& server,const QString& target,const QString& command) = 0;
+ virtual void info(const QString& string) = 0;
+ virtual void debug(const QString& string) = 0;
+ virtual void error(const QString& string) = 0;
+ virtual void insertMarkerLine() = 0;
+ virtual void connectToServer(const QString& address, int port, const QString& channel, const QString& password) = 0;
+ virtual QString getNickname (const QString &serverid) = 0;
+ virtual QString getAnyNickname () = 0;
+ virtual QStringList listServers() = 0;
+ virtual QStringList listConnectedServers() = 0;
+ virtual QString getChannelEncoding(const QString& server, const QString& channel) = 0;
+
+ virtual void setScreenSaverStarted() = 0;
+ virtual void setScreenSaverStopped() = 0;
+};
+
+class KonvIdentityIface : virtual public DCOPObject
+{
+ K_DCOP
+ k_dcop:
+
+ virtual void setrealName(const QString &identity, const QString& name) = 0;
+ virtual QString getrealName(const QString &identity) = 0;
+ virtual void setIdent(const QString &identity, const QString& ident) = 0;
+ virtual QString getIdent(const QString &identity) = 0;
+
+ virtual void setNickname(const QString &identity, int index,const QString& nick) = 0;
+ virtual QString getNickname(const QString &identity, int index) = 0;
+
+ virtual void setBot(const QString &identity, const QString& bot) = 0;
+ virtual QString getBot(const QString &identity) = 0;
+ virtual void setPassword(const QString &identity, const QString& password) = 0;
+ virtual QString getPassword(const QString &identity) = 0;
+
+ virtual void setNicknameList(const QString &identity, const QStringList& newList) = 0;
+ virtual QStringList getNicknameList(const QString &identity) = 0;
+
+ virtual void setQuitReason(const QString &identity, const QString& reason) = 0;
+ virtual QString getQuitReason(const QString &identity) = 0;
+ virtual void setPartReason(const QString &identity, const QString& reason) = 0;
+ virtual QString getPartReason(const QString &identity) = 0;
+ virtual void setKickReason(const QString &identity, const QString& reason) = 0;
+ virtual QString getKickReason(const QString &identity) = 0;
+
+ virtual void setShowAwayMessage(const QString &identity, bool state) = 0;
+ virtual bool getShowAwayMessage(const QString &identity) = 0;
+
+ virtual void setAwayMessage(const QString &identity, const QString& message) = 0;
+ virtual QString getAwayMessage(const QString &identity) = 0;
+ virtual void setReturnMessage(const QString &identity, const QString& message) = 0;
+ virtual QString getReturnMessage(const QString &identity) = 0;
+
+ virtual QStringList listIdentities() = 0;
+};
+#endif
diff --git a/konversation/src/konvirc.protocol b/konversation/src/konvirc.protocol
new file mode 100644
index 0000000..78c00b8
--- /dev/null
+++ b/konversation/src/konvirc.protocol
@@ -0,0 +1,11 @@
+[Protocol]
+exec=konversation %u
+protocol=irc
+input=none
+output=none
+helper=true
+listing=false
+reading=false
+writing=false
+makedir=false
+deleting=false
diff --git a/konversation/src/konvirc6.protocol b/konversation/src/konvirc6.protocol
new file mode 100644
index 0000000..6d885cb
--- /dev/null
+++ b/konversation/src/konvirc6.protocol
@@ -0,0 +1,11 @@
+[Protocol]
+exec=konversation %u
+protocol=irc6
+input=none
+output=none
+helper=true
+listing=false
+reading=false
+writing=false
+makedir=false
+deleting=false
diff --git a/konversation/src/konvisettingsdialog.cpp b/konversation/src/konvisettingsdialog.cpp
new file mode 100644
index 0000000..0e00a35
--- /dev/null
+++ b/konversation/src/konvisettingsdialog.cpp
@@ -0,0 +1,316 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "konvisettingsdialog.h"
+#include "konviconfigdialog.h"
+#include "config/preferences.h"
+#include "chatwindowappearance_preferences.h"
+#include "connectionbehavior_preferences.h"
+#include "highlight_preferences.h"
+#include "warnings_preferences.h"
+#include "log_preferences.h"
+#include "quickbuttons_preferences.h"
+#include "autoreplace_preferences.h"
+#include "chatwindowbehaviour_preferences.h"
+#include "fontappearance_preferences.h"
+#include "nicklistbehavior_preferences.h"
+#include "tabs_preferences.h"
+#include "colorsappearance_preferences.h"
+#include "generalbehavior_preferences.h"
+#include "dcc_preferences.h"
+#include "osd_preferences.h"
+#include "theme_preferences.h"
+#include "alias_preferences.h"
+#include "ignore_preferences.h"
+#include "watchednicknames_preferences.h"
+#include "tabnotifications_preferences.h"
+
+#include <qsplitter.h>
+#include <qcombobox.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+#include <kiconloader.h>
+#include <klistview.h>
+
+
+KonviSettingsDialog::KonviSettingsDialog( QWidget *parent) :
+ KonviConfigDialog( parent, "settings", Preferences::self(), KDialogBase::TreeList)
+{
+ m_modified = false;
+ setShowIconsInTreeList(true);
+
+ QStringList iconPath;
+
+ iconPath << i18n("Interface");
+ setFolderIcon( iconPath, SmallIcon("looknfeel") );
+
+ iconPath.clear();
+ iconPath << i18n("Behavior");
+ setFolderIcon( iconPath, SmallIcon("configure") );
+
+ iconPath.clear();
+ iconPath<< i18n("Behavior");
+ setFolderIcon( iconPath, SmallIcon("configure") );
+
+ iconPath.clear();
+ iconPath<< i18n("Notifications");
+ setFolderIcon( iconPath, SmallIcon("playsound") );
+
+ QStringList pagePath;
+
+ //Interface/Chat Window
+ m_confChatWindowAppearanceWdg = new ChatWindowAppearance_Config( 0, "ChatWindowAppearance" );
+ m_confChatWindowAppearanceWdg->kcfg_TimestampFormat->insertItem("hh:mm");
+ m_confChatWindowAppearanceWdg->kcfg_TimestampFormat->insertItem("hh:mm:ss");
+ m_confChatWindowAppearanceWdg->kcfg_TimestampFormat->insertItem("h:m ap");
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Chat Window");
+ addPage ( m_confChatWindowAppearanceWdg, pagePath, "view_text", i18n("Chat Window") );
+
+ //Interface/Themes
+ m_confThemeWdg = new Theme_Config( this, "Theme" );
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Nicklist Themes");
+ addPage ( m_confThemeWdg, pagePath, "iconthemes", i18n("Nicklist Themes") );
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confThemeWdg);
+ connect(m_confThemeWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+
+ //Interface/Colors
+ m_confColorsAppearanceWdg = new ColorsAppearance_Config( this, "ColorsAppearance" );
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Colors");
+ addPage ( m_confColorsAppearanceWdg, pagePath, "colorize", i18n("Colors") );
+
+ //Interface/Fonts
+ m_confFontAppearanceWdg = new FontAppearance_Config( this, "FontAppearance" );
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Fonts");
+ addPage ( m_confFontAppearanceWdg, pagePath, "fonts", i18n("Fonts") );
+
+ //Interface/Quick Buttons
+ m_confQuickButtonsWdg = new QuickButtons_Config( this, "QuickButtons" );
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Quick Buttons");
+ addPage ( m_confQuickButtonsWdg, pagePath, "keyboard", i18n("Quick Buttons") );
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confQuickButtonsWdg);
+ connect(m_confQuickButtonsWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+
+ //Interface/Tabs
+ m_confTabBarWdg = new Tabs_Config( this, "TabBar" );
+ pagePath.clear();
+ pagePath << i18n("Interface") << i18n("Tabs");
+ addPage ( m_confTabBarWdg, pagePath, "tab_new", i18n("Tabs") );
+
+ //Behavior/General
+ m_confGeneralBehaviorWdg = new GeneralBehavior_Config( this, "GeneralBehavior" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("General");
+ addPage ( m_confGeneralBehaviorWdg, pagePath, "exec", i18n("General") );
+
+ //Behavior/Connection
+ m_confConnectionBehaviorWdg = new ConnectionBehavior_Config( this, "ConnectionBehavior" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Connection");
+ addPage ( m_confConnectionBehaviorWdg, pagePath, "connect_creating", i18n("Connection") );
+
+ //Behaviour/Chat Window
+ m_confChatwindowBehaviourWdg = new ChatwindowBehaviour_Config( this, "ChatwindowBehaviour" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Chat Window");
+ addPage ( m_confChatwindowBehaviourWdg, pagePath, "view_text", i18n("Chat Window") );
+
+ //Behaviour/Nickname List
+ m_confNicklistBehaviorWdg = new NicklistBehavior_Config( this, "NicklistBehavior" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Nickname List");
+ addPage ( m_confNicklistBehaviorWdg, pagePath, "player_playlist", i18n("Nickname List") );
+ connect(m_confNicklistBehaviorWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confNicklistBehaviorWdg);
+
+ //Behaviour/Command Aliases
+ m_confAliasWdg = new Alias_Config( this, "Alias" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Command Aliases");
+ addPage ( m_confAliasWdg, pagePath, "editcopy", i18n("Command Aliases") );
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confAliasWdg);
+ connect(m_confAliasWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+
+ //Behaviour/Auto Replace
+ m_confAutoreplaceWdg = new Autoreplace_Config( this, "Autoreplace" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Auto Replace");
+ addPage ( m_confAutoreplaceWdg, pagePath, "kview", i18n("Auto Replace") );
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confAutoreplaceWdg);
+ connect(m_confAutoreplaceWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+
+ //Behaviour/Ignore
+ m_confIgnoreWdg = new Ignore_Config(this, "Ignore");
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Ignore");
+ addPage ( m_confIgnoreWdg, pagePath, "stop", i18n("Ignore") );
+ connect(m_confIgnoreWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confIgnoreWdg);
+
+ //Behaviour/Logging
+ m_confLogWdg = new Log_Config( this, "Log" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("Logging");
+ addPage ( m_confLogWdg, pagePath, "log", i18n("Logging") );
+
+ m_confDCCWdg = new DCC_Config( this, "DCC" );
+ pagePath.clear();
+ pagePath << i18n("Behavior") << i18n("DCC");
+ addPage ( m_confDCCWdg, pagePath, "2rightarrow", i18n("DCC") );
+
+ //Notifications/Tab Bar
+ m_confTabNotificationsWdg = new TabNotifications_Config( this, "TabBar" );
+ pagePath.clear();
+ pagePath << i18n("Notifications") << i18n("Tabs");
+ addPage ( m_confTabNotificationsWdg, pagePath, "tab_new", i18n("Tabs") );
+
+ //Notification/Highlighting
+ m_confHighlightWdg = new Highlight_Config( this, "Highlight" );
+ pagePath.clear();
+ pagePath << i18n("Notifications") << i18n("Highlight");
+ addPage ( m_confHighlightWdg, pagePath, "paintbrush", i18n("Highlight") );
+ connect(m_confHighlightWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confHighlightWdg);
+
+ //Notification/Watched Nicknames
+ m_confWatchedNicknamesWdg = new WatchedNicknames_Config( this, "WatchedNicknames" );
+ pagePath.clear();
+ pagePath << i18n("Notifications") << i18n("Watched Nicknames");
+ addPage ( m_confWatchedNicknamesWdg, pagePath, "kfind", i18n("Watched Nicknames") );
+ // remember index so we can open this page later from outside
+ m_watchedNicknamesIndex=lastAddedIndex();
+ connect(m_confWatchedNicknamesWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confWatchedNicknamesWdg);
+
+ //Notification/On Screen Display
+ m_confOSDWdg = new OSD_Config( this, "OSD" );
+ pagePath.clear();
+ pagePath << i18n("Notifications") << i18n("On Screen Display");
+ addPage ( m_confOSDWdg, pagePath, "tv", i18n("On Screen Display") );
+ //no modified connection needed - it's all kcfg widgets
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confOSDWdg);
+
+ //Notification/Warning Dialogs
+ m_confWarningsWdg = new Warnings_Config( this, "Warnings" );
+ pagePath.clear();
+ pagePath << i18n("Notifications") << i18n("Warning Dialogs");
+ addPage ( m_confWarningsWdg, pagePath, "messagebox_warning", i18n("Warning Dialogs") );
+ m_indexToPageMapping.insert(lastAddedIndex(), m_confWarningsWdg);
+ connect(m_confWarningsWdg, SIGNAL(modified()), this, SLOT(modifiedSlot()));
+
+ unfoldTreeList();
+}
+
+void KonviSettingsDialog::showEvent(QShowEvent* e)
+{
+ KonviConfigDialog::showEvent(e);
+
+ QSplitter* splitter = ((QSplitter*)child(0, "QSplitter", true));
+ KListView* listView = ((KListView*)child(0, "KListView", true));
+
+ if (splitter && listView)
+ {
+ int visible = listView->visibleWidth();
+ int content = listView->contentsWidth();
+
+ if (visible < content)
+ {
+ int shiftSplitterBy = content - visible;
+ resize(width()+shiftSplitterBy, height());
+ QValueList<int> oldSizes = splitter->sizes();
+ QValueList<int> newSizes;
+ newSizes << oldSizes[0] + shiftSplitterBy << oldSizes[1] - shiftSplitterBy;
+ splitter->setSizes(newSizes);
+ }
+ }
+}
+
+void KonviSettingsDialog::modifiedSlot()
+{
+ // this is for the non KConfigXT parts to tell us, if the user actually changed
+ // something or went back to the old settings
+// kdDebug() << "KonviSettingsDialog::modifiedSlot()" << endl;
+ m_modified = false;
+ QIntDictIterator<KonviSettingsPage> it( m_indexToPageMapping );
+ for ( ; it.current(); ++it )
+ {
+ if ( (*it).hasChanged() )
+ {
+ m_modified = true;
+// kdDebug() << "KonviSettingsDialog::modifiedSlot(): modified!" << endl;
+ break;
+ }
+ }
+ updateButtons();
+}
+
+KonviSettingsDialog::~KonviSettingsDialog()
+{
+}
+
+void KonviSettingsDialog::updateSettings()
+{
+ QIntDictIterator<KonviSettingsPage> it( m_indexToPageMapping );
+ for ( ; it.current(); ++it )
+ {
+ // this is for the non KConfigXT parts to update the UI (like quick buttons)
+ (*it).saveSettings();
+ }
+ m_modified = false;
+ emit settingsChanged();
+}
+
+void KonviSettingsDialog::updateWidgets()
+{
+ QIntDictIterator<KonviSettingsPage> it( m_indexToPageMapping );
+ for ( ; it.current(); ++it )
+ {
+ (*it).loadSettings();
+ }
+ m_modified = false;
+}
+
+void KonviSettingsDialog::updateWidgetsDefault()
+{
+ QIntDictIterator<KonviSettingsPage> it( m_indexToPageMapping );
+ for ( ; it.current(); ++it )
+ {
+ (*it).restorePageToDefaults();
+ }
+ m_modified = true;
+}
+
+void KonviSettingsDialog::openWatchedNicknamesPage()
+{
+ // page index has been calculated in the constructor
+ showPage(m_watchedNicknamesIndex);
+}
+
+// accessor method - will be used by KonviConfigDialog::updateButtons()
+bool KonviSettingsDialog::hasChanged()
+{
+ return m_modified;
+}
+
+// accessor method - will be used by KonviConfigDialog::updateButtons()
+bool KonviSettingsDialog::isDefault()
+{
+ return true;
+}
+
+#include "konvisettingsdialog.moc"
+
diff --git a/konversation/src/konvisettingsdialog.h b/konversation/src/konvisettingsdialog.h
new file mode 100644
index 0000000..b9b0878
--- /dev/null
+++ b/konversation/src/konvisettingsdialog.h
@@ -0,0 +1,95 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVISETTINGSDIALOG_H
+#define KONVISETTINGSDIALOG_H
+
+#include "konviconfigdialog.h"
+#include "konvisettingspage.h"
+
+#include <kdialogbase.h>
+#include <qasciidict.h>
+#include <qintdict.h>
+
+
+class Warnings_Config;
+class ChatWindowAppearance_Config;
+class FontAppearance_Config;
+class Theme_Config;
+class ColorsAppearance_Config;
+class GeneralBehavior_Config;
+class ConnectionBehavior_Config;
+class ChatwindowBehaviour_Config;
+class NicklistBehavior_Config;
+class Tabs_Config;
+class Alias_Config;
+class QuickButtons_Config;
+class Autoreplace_Config;
+class Log_Config;
+class DCC_Config;
+class WatchedNicknames_Config;
+class Highlight_Config;
+class OSD_Config;
+class Ignore_Config;
+class TabNotifications_Config;
+
+class KDEUI_EXPORT KonviSettingsDialog : public KonviConfigDialog
+{
+ Q_OBJECT
+
+ protected:
+ Warnings_Config* m_confWarningsWdg;
+ ChatWindowAppearance_Config* m_confChatWindowAppearanceWdg;
+ FontAppearance_Config* m_confFontAppearanceWdg;
+ Theme_Config* m_confThemeWdg;
+ ColorsAppearance_Config* m_confColorsAppearanceWdg;
+ GeneralBehavior_Config* m_confGeneralBehaviorWdg;
+ ConnectionBehavior_Config* m_confConnectionBehaviorWdg;
+ ChatwindowBehaviour_Config* m_confChatwindowBehaviourWdg;
+ NicklistBehavior_Config* m_confNicklistBehaviorWdg;
+ Tabs_Config* m_confTabBarWdg;
+ Alias_Config* m_confAliasWdg;
+ QuickButtons_Config* m_confQuickButtonsWdg;
+ Autoreplace_Config* m_confAutoreplaceWdg;
+ Log_Config* m_confLogWdg;
+ DCC_Config* m_confDCCWdg;
+ WatchedNicknames_Config* m_confWatchedNicknamesWdg;
+ Highlight_Config* m_confHighlightWdg;
+ OSD_Config* m_confOSDWdg;
+ Ignore_Config* m_confIgnoreWdg;
+ TabNotifications_Config* m_confTabNotificationsWdg;
+
+ bool m_modified;
+
+ public:
+ explicit KonviSettingsDialog(QWidget *parent);
+ ~KonviSettingsDialog();
+
+ void openWatchedNicknamesPage();
+
+ protected slots:
+ virtual void updateSettings();
+ virtual void updateWidgets();
+ virtual void updateWidgetsDefault();
+ void modifiedSlot();
+
+ protected:
+ virtual bool hasChanged();
+ virtual bool isDefault();
+ virtual void showEvent(QShowEvent* e);
+
+ // remember page index
+ unsigned int m_watchedNicknamesIndex;
+ QIntDict<KonviSettingsPage> m_indexToPageMapping;
+};
+
+#endif //KONVISETTINGSDIALOG_H
diff --git a/konversation/src/konvisettingspage.h b/konversation/src/konvisettingspage.h
new file mode 100644
index 0000000..e7c6aad
--- /dev/null
+++ b/konversation/src/konvisettingspage.h
@@ -0,0 +1,27 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef KONVISETTINGSPAGE_H
+#define KONVISETTINGSPAGE_H
+
+class KonviSettingsPage
+{
+ public:
+ virtual void restorePageToDefaults() = 0; // function called when the user klicks "Default"
+ virtual void saveSettings() = 0; // function called when the user klicks "Ok" or "Apply"
+ virtual void loadSettings() = 0; // function called when the user opens the page
+
+ virtual bool hasChanged() = 0; // is to return if any non-KConfigXT settings have changed
+};
+
+#endif
+
+
diff --git a/konversation/src/linkaddressbook/Makefile.am b/konversation/src/linkaddressbook/Makefile.am
new file mode 100644
index 0000000..266c2c6
--- /dev/null
+++ b/konversation/src/linkaddressbook/Makefile.am
@@ -0,0 +1,13 @@
+METASOURCES = AUTO
+
+INCLUDES = -I$(srcdir)/.. -I.. -I$(srcdir)/../config -I../config
+AM_CPPFLAGS = $(all_includes) -I$(top_builddir)/konversation/src
+
+noinst_LTLIBRARIES = liblinkaddressbookui.la
+noinst_HEADERS = linkaddressbookui.h kimiface.h
+
+liblinkaddressbookui_la_SOURCES = linkaddressbookui_base.ui linkaddressbookui.cpp addressbook_base.cpp addressbook.cpp nicklisttooltip.cpp nicksonlinetooltip.cpp kimiface.skel addresseeitem.cpp
+kimiface_DIR = $(kde_includes)
+liblinkaddressbookui_la_LDFLAGS = $(all_libraries) -no-undefined
+
+# vim: set noet:
diff --git a/konversation/src/linkaddressbook/addressbook.cpp b/konversation/src/linkaddressbook/addressbook.cpp
new file mode 100644
index 0000000..c5608e6
--- /dev/null
+++ b/konversation/src/linkaddressbook/addressbook.cpp
@@ -0,0 +1,339 @@
+/*
+ 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 class gives function that interact with kaddressbook.
+ begin: Fri 2004-07-23
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#include "addressbook.h"
+#include "../viewcontainer.h"
+#include "../konversationmainwindow.h"
+#include "../server.h"
+#include "../channel.h"
+#include "../konversationapplication.h"
+
+#include <qstringlist.h>
+#include "qwidget.h"
+
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kapplication.h>
+#include <dcopclient.h>
+#include <kwin.h>
+
+
+namespace Konversation
+{
+
+ Addressbook *Addressbook::m_instance=0L;
+
+ Addressbook::Addressbook() : DCOPObject( "KIMIface")
+ {
+ addressBook = KABC::StdAddressBook::self(true);
+ m_ticket=NULL;
+ }
+ Addressbook::~Addressbook()
+ {
+ if (m_instance == this)
+ sd.setObject(m_instance, 0, false);
+ }
+
+ Addressbook *Addressbook::self()
+ {
+ if (!m_instance) { sd.setObject(m_instance, new Addressbook()); }
+ return m_instance;
+ }
+
+ QStringList Addressbook::allContacts()
+ {
+ QStringList contactUIDS;
+ for( KABC::AddressBook::Iterator it = addressBook->begin(); it != addressBook->end(); ++it )
+ if(hasAnyNicks(*it)) contactUIDS.append((*it).uid());
+ return contactUIDS;
+ }
+ //Produces a string list of all the irc nicks that are known.
+ QStringList Addressbook::allContactsNicks()
+ {
+ QStringList contacts;
+ for( KABC::AddressBook::Iterator it = addressBook->begin(); it != addressBook->end(); ++it )
+ contacts += QStringList::split( QChar( 0xE000 ), (*it).custom("messaging/irc", "All") );
+ return contacts;
+ }
+
+ QStringList Addressbook::onlineContacts()
+ {
+ QStringList contactUIDS;
+ for( KABC::AddressBook::Iterator it = addressBook->begin(); it != addressBook->end(); ++it )
+ if(isOnline(*it)) contactUIDS.append((*it).uid());
+
+ return contactUIDS;
+ }
+ QStringList Addressbook::reachableContacts()
+ {
+ return onlineContacts();
+ }
+ QStringList Addressbook::fileTransferContacts()
+ {
+ return onlineContacts();
+ }
+ bool Addressbook::isPresent(const QString &uid)
+ {
+ return hasAnyNicks(addressBook->findByUid(uid));
+ }
+ QString Addressbook::displayName(const QString &uid)
+ {
+ return getBestNick(addressBook->findByUid(uid));
+ }
+ QString Addressbook::presenceString(const QString &uid)
+ {
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::presenceString() called with an empty uid" << endl;
+ return QString("Error");
+ }
+ switch( presenceStatus(uid))
+ {
+ case 0:
+ return "";
+ case 1:
+ return i18n("Offline");
+ case 2:
+ return i18n("Connecting"); //Shouldn't happen - not supported.
+ case 3:
+ return i18n("Away");
+ case 4:
+ return i18n("Online");
+ }
+ return QString("Error");
+ }
+ int Addressbook::presenceStatus(const QString &uid)
+ {
+ return presenceStatusByAddressee(addressBook->findByUid(uid));
+ }
+
+ bool Addressbook::canReceiveFiles(const QString &uid)
+ {
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::canReceiveFiles() called with empty uid" << endl;
+ return false;
+ }
+ int presence = presenceStatus(uid);
+
+ return (presence == 4) || (presence == 3);
+ }
+ bool Addressbook::canRespond(const QString &uid)
+ {
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::canRespond called with empty uid" << endl;
+ return false;
+ }
+ //this should return false if they are offline.
+ int result = presenceStatus(uid);
+ if(result == 3 || result == 4) return true;
+ return false;
+ }
+ QString Addressbook::locate(const QString &contactId, const QString &protocol)
+ {
+ if(contactId.isEmpty())
+ {
+ kdDebug() << "Addressbook::locate called with empty contactId" << endl;
+ return QString();
+ }
+ if(protocol != "messaging/irc")
+ return QString();
+
+ return getKABCAddresseeFromNick(contactId).uid();
+ }
+ QPixmap Addressbook::icon(const QString &uid)
+ {
+
+ Images* icons = KonversationApplication::instance()->images();
+ QIconSet currentIcon;
+ if(!isPresent(uid))
+ return QPixmap();
+
+ switch(presenceStatus(uid))
+ {
+ case 0: //Unknown
+ case 1: //Offline
+ case 2: //connecting - invalid for us?
+ currentIcon = icons->getKimproxyOffline();
+ break;
+ case 3: //Away
+ currentIcon = icons->getKimproxyAway();
+ break;
+ case 4: //Online
+ currentIcon = icons->getKimproxyOnline();
+ break;
+ default:
+ //error
+ kdDebug() << "Unknown status " << uid << endl;
+ return QPixmap();
+ }
+
+ QPixmap joinedIcon = currentIcon.pixmap(QIconSet::Automatic, QIconSet::Active, QIconSet::On);
+ return joinedIcon;
+ }
+ QString Addressbook::context(const QString &uid)
+ {
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::contact called with empty uid" << endl;
+ return QString();
+ }
+ QString context;
+ return context;
+ }
+ QStringList Addressbook::protocols()
+ {
+ QStringList protocols;
+ protocols.append("messaging/irc");
+ return protocols;
+ }
+
+ // ACTORS
+ /**
+ * Send a single message to the specified addressee
+ * Any response will be handled by the IM client as a normal
+ * conversation.
+ * @param uid the KABC uid you want to chat with.
+ * @param message the message to send them.
+ */
+ void Addressbook::messageContact( const QString &uid, const QString& message )
+ {
+ if(uid.isEmpty())
+ {
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation for instant messaging, but did not specify any contact to send the message to. This is probably a bug in the other application."));
+ return;
+ }
+ KABC::Addressee addressee = addressBook->findByUid(uid);
+ if(addressee.isEmpty())
+ {
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation for instant messaging, but Konversation could not find the specified contact in the KDE address book."));
+ return;
+ }
+ NickInfoPtr nickInfo = getNickInfo(addressee);
+ if(!nickInfo)
+ {
+ QString user = addressee.fullEmail();
+ if(!user.isEmpty()) user = " (" + user + ')';
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation for instant messaging, but the requested user%1 is not online.").arg(user));
+ return;
+ }
+
+ nickInfo->getServer()->dcopSay(nickInfo->getNickname(), message);
+ }
+
+ /**
+ * Open a chat to a contact, and optionally set some initial text
+ */
+ void Addressbook::messageNewContact( const QString &contactId, const QString &/*protocol*/ ) {
+ if(contactId.isEmpty() )
+ {
+ kdDebug() << "Addressbook::messageNewContact called with empty contactid" << endl;
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation for instant messaging, but did not specify any contact to send the message to. This is probably a bug in the other application."));
+ return;
+ }
+ messageContact(contactId, QString());
+}
+
+/**
+ * Start a chat session with the specified addressee
+ * @param uid the KABC uid you want to chat with.
+ */
+void Addressbook::chatWithContact( const QString &uid )
+{
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::chatWithContact called with empty uid" << endl;
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation for instant messaging, but did not specify any contact to send the message to. This is probably a bug in the other application."));
+ return;
+ }
+ messageContact(uid, QString());
+}
+
+/**
+ * Send the file to the contact
+ * @param uid the KABC uid you are sending to.
+ * @param sourceURL a KURL to send.
+ * @param altFileName an alternate filename describing the file
+ * @param fileSize file size in bytes
+ */
+void Addressbook::sendFile(const QString &uid, const KURL &sourceURL, const QString &altFileName, uint fileSize)
+{
+ if(uid.isEmpty())
+ {
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation to send a file to a contact, but did not specify any contact to send the file to. This is probably a bug in the other application."));
+ return;
+ }
+ KABC::Addressee addressee = addressBook->findByUid(uid);
+ if(addressee.isEmpty())
+ {
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation to send a file to a contact, but Konversation could not find the specified contact in the KDE address book."));
+ return;
+ }
+ NickInfoPtr nickInfo = getNickInfo(addressee);
+ if(!nickInfo)
+ {
+ QString user = addressee.fullEmail();
+ if(!user.isEmpty()) user = " (" + user + ')';
+ focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation to send a file to a contact, but the requested user%1 is not currently online.").arg(user));
+ return;
+ }
+ nickInfo->getServer()->addDccSend(nickInfo->getNickname(), sourceURL, altFileName, fileSize);
+ QWidget *widget = nickInfo->getServer()->getViewContainer()->getWindow();
+ KWin::demandAttention(widget->winId()); //If activeWindow request is denied, at least demand attention!
+ KWin::activateWindow(widget->winId()); //May or may not work, depending on focus stealing prevention.
+
+}
+
+// MUTATORS
+// Contact list
+/**
+ * Add a contact to the contact list
+ * @param contactId the protocol specific identifier for the contact, eg UIN for ICQ, screenname for AIM, nick for IRC.
+ * @param protocolId the protocol, eg one of "AIMProtocol", "MSNProtocol", "ICQProtocol", ...
+ * @return whether the add succeeded. False may signal already present, protocol not supported, or add operation not supported.
+ */
+bool Addressbook::addContact( const QString &/*contactId*/, const QString &/*protocolId*/ ) {
+focusAndShowErrorMessage(i18n("Another KDE application tried to use Konversation to add a contact. Konversation does support this."));
+return false;
+//Nicks are auto added if they are put in the addressbook - I don' think there is anything useful I can do.
+}
+
+void Addressbook::emitContactPresenceChanged(const QString &uid, int presence)
+{
+ if(uid.isEmpty())
+ {
+ //This warning below is annoying. FIXME - disabled because it's too verbose
+ // kdDebug() << "Addressbook::emitContactPresenceChanged was called with empty uid" << endl;
+ return;
+ }
+ Q_ASSERT(kapp->dcopClient());
+ emit contactPresenceChanged(uid, kapp->dcopClient()->appId(), presence);
+ // kdDebug() << "Presence changed for uid " << uid << " to " << presence << endl;
+}
+
+void Addressbook::emitContactPresenceChanged(const QString &uid)
+{
+ if(uid.isEmpty())
+ {
+ kdDebug() << "Addressbook::emitContactPresenceChanged was called with empty uid" << endl;
+ return;
+ };
+
+ emitContactPresenceChanged(uid, presenceStatus(uid));
+}
+
+} //NAMESPACE
+
+#include "addressbook.moc"
diff --git a/konversation/src/linkaddressbook/addressbook.h b/konversation/src/linkaddressbook/addressbook.h
new file mode 100644
index 0000000..9b906f5
--- /dev/null
+++ b/konversation/src/linkaddressbook/addressbook.h
@@ -0,0 +1,99 @@
+/*
+ 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 class contains functions that interact with kaddressbook.
+ begin: Fri 2004-07-23
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#ifndef ADDRESSBOOK_H
+#define ADDRESSBOOK_H
+
+#include <kabc/addressbook.h>
+#include <kabc/stdaddressbook.h>
+
+#include <kstaticdeleter.h>
+#include <qobject.h>
+#include <qregexp.h>
+#include <config.h>
+#include "kimiface.h"
+
+#include "../images.h"
+#include "../nickinfo.h"
+#include "addressbook_base.h"
+
+namespace Konversation
+{
+ class Addressbook : public AddressbookBase
+ {
+ Q_OBJECT
+ public:
+
+ virtual ~Addressbook(); // This needs to be public so it can be deleted by our static pointer
+ static Addressbook *self();
+ QStringList allContactsNicks();
+ QStringList allContacts();
+ QStringList reachableContacts();
+ QStringList onlineContacts();
+ QStringList fileTransferContacts();
+ bool isPresent( const QString &uid );
+ QString displayName( const QString &uid );
+ QString presenceString( const QString &uid );
+ bool canReceiveFiles( const QString &uid );
+ bool canRespond( const QString &uid );
+ QString locate( const QString &contactId, const QString &protocol );
+ // metadata
+ QPixmap icon( const QString &uid );
+ QString context( const QString &uid );
+ virtual int presenceStatus(const QString &uid);
+ // App capabilities
+ QStringList protocols();
+
+ /**
+ * Message a contact by their metaContactId, aka their uid in KABC.
+ */
+ void messageContact( const QString &uid, const QString& message );
+
+ /**
+ * Open a chat to a contact, and optionally set some initial text
+ */
+ void messageNewContact( const QString &contactId, const QString &protocolId );
+
+ /**
+ * Message a contact by their metaContactId, aka their uid in KABC.
+ */
+ void chatWithContact( const QString &uid );
+
+ /**
+ * Send the file to the contact
+ */
+ void sendFile(const QString &uid, const KURL &sourceURL,
+ const QString &altFileName = QString(), uint fileSize = 0);
+
+ /**
+ * Lets outsiders tell us to emit presenceChanged signal.
+ */
+ void emitContactPresenceChanged( const QString &uid, int presence);
+ /**
+ * Lets outsiders tell us to emit presenceChanged signal.
+ */
+ void emitContactPresenceChanged(const QString &uid);
+
+ bool addContact( const QString &contactId, const QString &protocolId );
+
+ protected:
+ Addressbook();
+
+ static Addressbook *m_instance;
+ };
+
+ static KStaticDeleter<Addressbook> sd;
+
+}
+#endif
diff --git a/konversation/src/linkaddressbook/addressbook_base.cpp b/konversation/src/linkaddressbook/addressbook_base.cpp
new file mode 100644
index 0000000..b8f7243
--- /dev/null
+++ b/konversation/src/linkaddressbook/addressbook_base.cpp
@@ -0,0 +1,516 @@
+/*
+ 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.
+*/
+
+/*
+ addressbook.cpp - This class gives function that interact with kaddressbook.
+ begin: Fri 2004-07-23
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#include "addressbook.h"
+#include "../server.h"
+#include "../konversationapplication.h"
+#include "../konversationmainwindow.h"
+#include "../channel.h"
+
+#include <qstringlist.h>
+
+#include <klocale.h>
+#include <kstringhandler.h>
+#include <krun.h>
+#include <kapplication.h>
+#include <dcopclient.h>
+#include <kmessagebox.h>
+
+namespace Konversation
+{
+
+ AddressbookBase::AddressbookBase()
+ {
+ KABC::StdAddressBook::setAutomaticSave( false );
+ m_ticket=NULL;
+ }
+
+ AddressbookBase::~AddressbookBase()
+ {
+ }
+
+ KABC::AddressBook *AddressbookBase::getAddressBook() { return addressBook; }
+
+ KABC::Addressee AddressbookBase::getKABCAddresseeFromNick(const QString &ircnick, const QString &servername, const QString &servergroup)
+ {
+ KABC::AddressBook::Iterator it;
+
+ for( it = addressBook->begin(); it != addressBook->end(); ++it )
+ {
+ if(hasNick(*it, ircnick, servername, servergroup))
+ return (*it);
+ }
+ return KABC::Addressee();
+ }
+ KABC::Addressee AddressbookBase::getKABCAddresseeFromNick(const QString &nick_server)
+ {
+ KABC::AddressBook::Iterator it;
+
+ for( it = addressBook->begin(); it != addressBook->end(); ++it )
+ {
+ if(hasNick(*it, nick_server))
+ return (*it);
+ }
+ return KABC::Addressee();
+ }
+
+ bool AddressbookBase::hasNick(const KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup)
+ {
+
+ QString lnick = ircnick.lower();
+ QString lnick_servername;
+ QString lnick_servergroup;
+ if(!servername.isEmpty())
+ lnick_servername = lnick + QChar(0xE120) + servername.lower();
+ if(!servergroup.isEmpty())
+ lnick_servergroup = lnick + QChar(0xE120) + servergroup.lower();
+
+ QString lit;
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ QStringList::iterator end = addresses.end();
+ for ( QStringList::iterator it = addresses.begin(); it != end; ++it )
+ {
+ lit = (*it).lower();
+ if(lit == lnick || lit == lnick_servername || lit == lnick_servergroup)
+ return true;
+ }
+ return false;
+
+ }
+
+ QStringList AddressbookBase::allContactsNicksForServer(const QString &servername, const QString &servergroup)
+ {
+ QStringList contacts;
+ for( KABC::AddressBook::Iterator it = addressBook->begin(); it != addressBook->end(); ++it )
+ contacts += getNicks(*it, servername, servergroup);
+ return contacts;
+
+ }
+
+ QStringList AddressbookBase::getNicks(const KABC::Addressee &addressee, const QString &servername, const QString &servergroup)
+ {
+ QStringList nicks;
+
+ QString lservername = servername.lower();
+ QString lservergroup = servergroup.lower();
+
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ QStringList::iterator end = addresses.end();
+ for ( QStringList::iterator it = addresses.begin(); it != end; ++it )
+ {
+ if(!(*it).contains(QChar( 0xE120)))
+ nicks.append(*it);
+ else
+ {
+ QString it_server = (*it).section(QChar( 0xE120), 0,0).lower();
+ if(it_server == lservername || it_server == lservergroup)
+ nicks.append((*it).section(QChar( 0xE120 ), 1,1));
+ }
+ }
+ return nicks;
+ }
+
+ bool AddressbookBase::hasNick(const KABC::Addressee &addressee, const QString &nick_server)
+ {
+ QString lnick_server = nick_server.lower();
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ QStringList::iterator end = addresses.end();
+ for ( QStringList::iterator it = addresses.begin(); it != end; ++it )
+ {
+ QString it_server = (*it).section(QChar( 0xE120), 0,0).lower();
+ if(it_server ==lnick_server)
+ return true;
+ }
+ return false;
+
+ }
+
+ QString AddressbookBase::getBestNick(const KABC::Addressee &addressee)
+ {
+ //Look for a nickinfo for this nick, and use that. That way we turn a nick that is online.
+ NickInfoPtr nickInfo = getNickInfo(addressee);
+ if(nickInfo)
+ return nickInfo->getNickname();
+ //No online nickinfo - not connected to server maybe. just return the first nick.
+
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ if(!addresses.empty())
+ return addresses.first();
+ //No irc nicks- nothing left to try - return null
+ return QString();
+ }
+
+ NickInfoPtr AddressbookBase::getNickInfo(const KABC::Addressee &addressee)
+ {
+ NickInfoPtr lastNickInfo;
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ QStringList::iterator end = addresses.end();
+ for ( QStringList::iterator it = addresses.begin(); it != end; ++it )
+ {
+ QString ircnick;
+ QString serverOrGroup;
+ KonversationApplication::splitNick_Server(*it, ircnick, serverOrGroup);
+ NickInfoPtr nickInfo =
+ dynamic_cast<KonversationApplication*>(kapp)->getNickInfo(ircnick, serverOrGroup);
+ if(nickInfo)
+ {
+ if(!nickInfo->isAway())
+ return nickInfo;
+ //This nick is away. Keep looking, but use it if we can't find one that's on
+ lastNickInfo = nickInfo;
+ }
+ }
+ //Use a nick that's either away, or non-existant.
+ return lastNickInfo;
+ }
+
+ bool AddressbookBase::hasAnyNicks(const KABC::Addressee &addressee)
+ {
+ return !addressee.custom("messaging/irc", "All").isEmpty();
+ }
+ void AddressbookBase::unassociateNick(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup)
+ {
+
+ kdDebug() << "in unassociatenick for '" << ircnick << endl;
+ if(ircnick.isEmpty()) return;
+
+ QString lnick = ircnick.lower();
+ QString lnick_servername;
+ QString lnick_servergroup;
+ if(!servername.isEmpty())
+ lnick_servername = lnick + QChar(0xE120) + servername.lower();
+ if(!servergroup.isEmpty())
+ lnick_servergroup = lnick + QChar(0xE120) + servergroup.lower();
+
+ //We should now have lnick = ircnick, and versions with servername and servergroup -
+ // like johnflux, johnflux@freenode, or johnflux@irc.kde.org except with the unicode
+ // separator char 0xe120 instead of the @
+
+ kdDebug() << "nick" << ircnick<< endl;
+ bool changed = false;
+ if(addressee.isEmpty())
+ {
+ kdDebug() << "Ignoring unassociation command for empty addressee for nick " << ircnick << endl;
+ }
+ QString lit;
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ QStringList::iterator it = addresses.begin();
+ while(it != addresses.end())
+ {
+ lit = (*it).lower();
+ if(lit == lnick || lit == lnick_servername || lit == lnick_servergroup)
+ {
+ changed = true;
+ it = addresses.remove(it);
+ }
+ else
+ {
+ it++;
+ }
+ }
+ if(!changed)
+ return;
+
+ //if(!getAndCheckTicket())
+ // return;
+ QString new_custom = addresses.join( QChar( 0xE000 ));
+ if(new_custom.isEmpty())
+ addressee.removeCustom("messaging/irc", "All");
+ else
+ addressee.insertCustom("messaging/irc", "All", new_custom);
+
+ addressBook->insertAddressee(addressee);
+ //saveTicket();
+ }
+ void AddressbookBase::focusAndShowErrorMessage(const QString &errorMsg)
+ {
+ static_cast<KonversationApplication *>(kapp)->getMainWindow()->focusAndShowErrorMessage(errorMsg);
+ }
+ /**For a given contact, adds the ircnick if they don't already have it. If you pass an addressBook, the contact is inserted
+ * if it has changed. */
+ void AddressbookBase::associateNick(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup)
+ {
+ //It's easiest to just remove it from the list if it's there already
+ unassociateNick(addressee, ircnick, servername, servergroup);
+ QString nick_server = ircnick;
+ if(!servergroup.isEmpty())
+ nick_server += QChar(0xE120) + servergroup;
+ else if(!servername.isEmpty())
+ nick_server += QChar(0xE120) + servername;
+ QStringList addresses = QStringList::split( QChar( 0xE000 ), addressee.custom("messaging/irc", "All") );
+ //For sanity reasons, don't let the number of irc nicks go above 10.
+ //To do this, just remove the irc nick at the end of the list.
+ if(addresses.count() >= 10)
+ addresses.pop_back();
+ addresses.append(nick_server);
+ addressee.insertCustom("messaging/irc", "All", addresses.join( QChar( 0xE000 )));
+
+ addressBook->insertAddressee(addressee);
+ }
+ /** This function associates the nick for a person, then iterates over all the contacts unassociating the nick from everyone else. It saves the addressses that have changed.*/
+ bool AddressbookBase::associateNickAndUnassociateFromEveryoneElse(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup)
+ {
+ for( KABC::AddressBook::Iterator it = addressBook->begin(); it != addressBook->end(); ++it )
+ if((*it).uid() != addressee.uid())
+ unassociateNick(*it, ircnick, servername, servergroup);
+ associateNick(addressee, ircnick, servername, servergroup);
+ return true;;
+ }
+
+ bool AddressbookBase::getAndCheckTicket()
+ {
+ if(m_ticket)
+ {
+ kdError() << "Internal error - getting new ticket without saving old" << endl;
+ return false;
+ }
+ m_ticket = addressBook->requestSaveTicket();
+ if ( !m_ticket )
+ {
+ kdError() << "Resource is locked by other application!" << endl;
+ //emit error
+ return false;
+ }
+ kdDebug() << "gotTicketSuccessfully" << endl;
+ return true;
+ }
+ void AddressbookBase::releaseTicket()
+ {
+ addressBook->releaseSaveTicket(m_ticket);
+ m_ticket = NULL;
+ }
+
+ bool AddressbookBase::saveTicket()
+ {
+ if(!addressBook->save( m_ticket) )
+ {
+ kdError() << "Saving failed!" << endl;
+ addressBook->releaseSaveTicket(m_ticket);
+ m_ticket = NULL;
+ return false;
+ }
+ kdDebug() << "saveTicket() was successful" << endl;
+ m_ticket= NULL;
+ emit addresseesChanged();
+ return true;
+ }
+
+ bool AddressbookBase::saveAddressbook()
+ {
+ if(m_ticket)
+ {
+ kdError() << "Internal error - getting new ticket without saving old" << endl;
+ return false;
+ }
+ m_ticket = addressBook->requestSaveTicket();
+ if ( !m_ticket )
+ {
+ kdError() << "Resource is locked by other application!" << endl;
+ return false;
+ }
+ else
+ {
+ if ( !addressBook->save( m_ticket ) )
+ {
+ kdError() << "Saving failed!" << endl;
+ addressBook->releaseSaveTicket(m_ticket);
+ m_ticket = NULL;
+ return false;
+ }
+ }
+ kdDebug() << "Save was successful" << endl;
+ m_ticket = NULL;
+ emit addresseesChanged();
+ return true;
+ }
+
+ bool AddressbookBase::saveAddressee(KABC::Addressee &addressee)
+ {
+ Q_ASSERT(&addressee);
+ addressBook->insertAddressee(addressee);
+ bool success = saveAddressbook();
+ if(success)
+ emitContactPresenceChanged(addressee.uid(), presenceStatusByAddressee(addressee));
+ return success;
+ }
+
+ /**
+ * Indicate the presence as a number. Checks all the nicks that that person has.
+ * If we find them, return 4 (online).
+ * If we are connected to any of the servers that they are on, and we don't find them, return 1 (offline)
+ * If we find them, but they are set to away then return 3 (away)
+ * If we are connected to none of the servers that they are on, return 0 (unknown)
+ * @param addressee Addressbook contact you want to know of the presence of
+ * @return 0 (unknown), 1 (offline), 3 (away), 4 (online)
+ */
+ int AddressbookBase::presenceStatusByAddressee(const KABC::Addressee &addressee)
+ {
+ Q_ASSERT(&addressee);
+ NickInfoPtr nickInfo = getNickInfo(addressee);
+
+ if(!nickInfo)
+ {
+ if(hasAnyNicks(addressee))
+ return 1; //either offline, or we aren't on the same server.
+ else
+ return 0; //Not known to us
+ }
+ if(nickInfo->isAway()) return 3;
+ return 4;
+
+ }
+ bool AddressbookBase::isOnline(KABC::Addressee &addressee)
+ {
+ return !!getNickInfo(addressee);
+ }
+
+ bool AddressbookBase::editAddressee(const QString &uid)
+ {
+ Q_ASSERT(!uid.isEmpty());
+ //FIXME: This hack can be removed. I fixed the below mentioned bug in kde 3.4 cvs - 2005-01-02
+ //
+ //Because of stupid bugs in kaddressbook, first load kaddressbook using startServiceByDesktopPath
+ // then call it on the command line to actually put it in edit mode. This is stupid :(
+ kapp->startServiceByDesktopName( "kaddressbook" );
+
+ KProcess *proc = new KProcess;
+ *proc << "kaddressbook";
+ *proc << "--editor-only" << "--uid" << uid;
+ kdDebug() << "running kaddressbook --editor-only --uid " << uid << endl;
+ if(!proc->start())
+ {
+ KMessageBox::error(0, i18n("Could not run your addressbook program (kaddressbook). This is most likely because it is not installed. Please install the 'kdepim' packages."));
+ return false;
+ }
+ return true;
+ }
+
+ bool AddressbookBase::sendEmail(const KABC::Addressee &addressee)
+ {
+ if(addressee.preferredEmail().isEmpty())
+ {
+ KMessageBox::sorry(0, i18n("The contact that you have selected does not have an email address associated with them. "), i18n("Cannot Send Email"));
+ return false;
+ }
+ return runEmailProgram(addressee.fullEmail());
+ }
+
+ bool AddressbookBase::runEmailProgram(const QString &mailtoaddress)
+ {
+ KRun *proc = new KRun(KURL(QString("mailto:") + KStringHandler::from8Bit(mailtoaddress.ascii())));
+ kdDebug() << "Sending email to " << mailtoaddress << endl;
+ if(proc->hasError())
+ {
+ KMessageBox::error(0, i18n("Could not run your email program. This is possibly because one is not installed. To install the KDE email program (kmail) please install the 'kdepim' packages."));
+ return false;
+ }
+ return true;
+
+ }
+ bool AddressbookBase::sendEmail(const ChannelNickList &nickList)
+ {
+ if(nickList.isEmpty()) return false;
+ QString mailto;
+
+ QStringList nicksWithoutAddressee;
+ QStringList nicksWithoutEmails;
+ QStringList nicksWithEmails;
+ for(ChannelNickList::ConstIterator it=nickList.begin();it!=nickList.end();++it)
+ {
+ NickInfoPtr nickInfo = (*it)->getNickInfo();
+ Q_ASSERT(nickInfo); if(!nickInfo) return false;
+ KABC::Addressee addr = nickInfo->getAddressee();
+ if(addr.isEmpty())
+ {
+ nicksWithoutAddressee.append(nickInfo->getNickname());
+ }
+ else if(addr.preferredEmail().isEmpty())
+ {
+ nicksWithoutEmails.append(nickInfo->getNickname());
+ }
+ else
+ {
+ nicksWithEmails.append(nickInfo->getNickname());
+ if(!mailto.isEmpty())
+ mailto += ", ";
+ mailto += addr.fullEmail();
+
+ }
+ }
+ if(!nicksWithoutAddressee.isEmpty() || !nicksWithoutEmails.isEmpty())
+ {
+ QString message;
+ if(nicksWithoutEmails.isEmpty())
+ {
+ if(nicksWithEmails.isEmpty())
+ {
+ if(nicksWithoutAddressee.count() > 1)
+ message = i18n("None of the contacts that you have selected were associated with an addressbook contacts. ");
+ else
+ message = i18n("The contact that you have selected is not associated with an addressbook contact. ");
+ }
+ else
+ {
+ if(nicksWithoutAddressee.count() > 1)
+ message = i18n("Some of the contacts (%1) that you have selected are not associated with addressbook contacts. ").arg(nicksWithoutAddressee.join(", "));
+ else
+ message = i18n("One of the contacts (%1) that you have selected is not associated with an addressbook contact. ").arg(nicksWithoutAddressee.join(", "));
+ }
+ message += i18n("You can right click on a contact, and choose to edit the Addressbook Associations to link them to a contact in your addressbook.");
+ }
+ else if(nicksWithoutAddressee.isEmpty())
+ {
+ if(nicksWithEmails.isEmpty())
+ {
+ if(nicksWithoutEmails.count() > 1)
+ message = i18n("None of the contacts that you have selected have an email address associated with them. ");
+ else
+ message = i18n("The contact that you have selected does not have an email address associated with them. ");
+ }
+ else
+ {
+ if(nicksWithoutEmails.count() > 1)
+ message = i18n("Some of the contacts (%1) that you have selected do not have an email address associated with them. ").arg(nicksWithoutEmails.join(", "));
+ else
+ message = i18n("One of the contacts (%1) that you have selected does not have an email address associated with them. ").arg(nicksWithoutEmails.join(", "));
+ }
+ message += i18n("You can right click on a contact, and choose to edit the addressbook contact, adding an email for them.");
+ }
+ else
+ {
+ message = i18n("Some of the contacts (%1) that you have selected are not associated with addressbook contacts, and some of the contacts (%2) do not have an email address associated with them. ").arg(nicksWithoutAddressee.join(", ").arg(nicksWithoutEmails.join(", ")));
+ message += i18n("You can right click on a contact, and choose to edit the Addressbook Associations to link them to a contact in your addressbook, and choose to edit the addressbook contact, adding an email for them.");
+ }
+ if(nicksWithEmails.isEmpty())
+ {
+ KMessageBox::sorry(0, message, i18n("Cannot Send Email"));
+ return false;
+ }
+ else
+ {
+ message += i18n("\nDo you want to send an email anyway to the nicks that do have an email address?");
+ int result = KMessageBox::questionYesNo(0, message, i18n("Send Email"), KGuiItem(i18n("&Send Email...")), KGuiItem(i18n("&Cancel")));
+ if(result == KMessageBox::No)
+ {
+ return false;
+ }
+ }
+ }
+
+ return runEmailProgram(mailto);
+ }
+
+} // NAMESPACE
+
+#include "addressbook_base.moc"
diff --git a/konversation/src/linkaddressbook/addressbook_base.h b/konversation/src/linkaddressbook/addressbook_base.h
new file mode 100644
index 0000000..d7db6c8
--- /dev/null
+++ b/konversation/src/linkaddressbook/addressbook_base.h
@@ -0,0 +1,128 @@
+/*
+ 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.
+*/
+
+/*
+ addressbook.cpp - This class contains functions that interact with kaddressbook.
+ begin: Fri 2004-07-23
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#ifndef ADDRESSBOOKBASE_H
+#define ADDRESSBOOKBASE_H
+
+#include "../images.h"
+#include "../nickinfo.h"
+#include "../channelnick.h"
+
+#include <kstaticdeleter.h>
+#include <qobject.h>
+#include <qregexp.h>
+#include <config.h>
+
+
+#include <kabc/addressbook.h>
+#include <kabc/stdaddressbook.h>
+
+
+namespace Konversation
+{
+ class AddressbookBase : public QObject, public KIMIface
+ {
+ Q_OBJECT
+ public:
+ virtual ~AddressbookBase(); // This needs to be public so it can be deleted by our static pointer
+ KABC::Addressee getKABCAddresseeFromNick(const QString &ircnick, const QString &servername, const QString &servergroup);
+ KABC::Addressee getKABCAddresseeFromNick(const QString &nick_server);
+ bool hasNick(const KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup);
+ bool hasNick(const KABC::Addressee &addressee, const QString &nick_server);
+
+ /** For a given contact, remove the ircnick if they have it. If you
+ * pass an addressBook, the contact is inserted if it has changed.
+ */
+ void unassociateNick(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup);
+ void associateNick(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup);
+ bool associateNickAndUnassociateFromEveryoneElse(KABC::Addressee &addressee, const QString &ircnick, const QString &servername, const QString &servergroup);
+ /** If this user is online, return one of the nicks that they are
+ * using. Otherwise return the first nick listed.
+ * If there are multiple matches, it will prefer ones that are not set to away.
+ * @return online nick, first nick, or QString::null if they aren't known at all.
+ */
+ QString getBestNick(const KABC::Addressee &addressee);
+ bool hasAnyNicks(const KABC::Addressee &addresse);
+ int presenceStatusByAddressee(const KABC::Addressee &addressee);
+ bool isOnline(KABC::Addressee &addressee);
+ bool getAndCheckTicket();
+ bool saveTicket();
+ void releaseTicket();
+ bool saveAddressee(KABC::Addressee &addressee);
+ bool saveAddressbook();
+
+ QStringList allContactsNicksForServer(const QString &servername, const QString &servergroup);
+ QStringList getNicks(const KABC::Addressee &addressee, const QString &servername, const QString &servergroup);
+
+ KABC::AddressBook *getAddressBook();
+
+ /** Return an online NickInfo for this addressee.
+ * If there are multiple matches, it tries to pick one that is not away.
+ * Note: No NickInfo is returned if the addressee is offline.
+ * NickInfo's are for online and away nicks only.
+ * @param addressee The addressee to get a nickInfo for
+ * @return A nickInfo. It tries hard to return a nickInfo that is not away if one exists.
+ */
+ static NickInfoPtr getNickInfo(const KABC::Addressee &addressee);
+ /**
+ * Lets outsiders tell us to emit presenceChanged signal.
+ */
+ virtual void emitContactPresenceChanged(const QString &uid, int presence) = 0;
+ /**
+ * Lets outsiders tell us to emit presenceChanged signal.
+ */
+ virtual void emitContactPresenceChanged(const QString &uid) = 0;
+
+ /**
+ * Run kmail (or whatever the users email client is)
+ * to create a single email addressed to all of the nicks passed in.
+ * Gives an error dialog to the user if any of the contacts don't have an
+ * email address associated, and gives the user the option to continue
+ * with the contacts that did have email addresses.
+ */
+ bool sendEmail(const ChannelNickList &nicklist);
+ /**
+ * Run kmail (or whatever the users email client is)
+ * to create a single email addressed to the addressee passed in.
+ * Gives an error dialog to the user if the addressee doesn't have an email address associated.
+ */
+ bool sendEmail(const KABC::Addressee &addressee);
+ /**
+ * Run kaddressbook to edit the addressee passed in.
+ */
+ bool editAddressee(const QString &uid);
+ /**
+ * Run the users email program (e.g. kmail) passing "mailto:" + mailtoaddress.
+ * Note that mailto: will be prepended for you.
+ * @param mailtoaddress A comma delimited set of email address topass as "mailto:"
+ * @return True if there were no problems running the email program. An error will be shown to the user if there was.
+ */
+ bool runEmailProgram(const QString &mailtoaddress);
+
+ /** Just calls KonversationMainWindow::focusAndShowErrorMessage(const QString *errorMsg)
+ *
+ * @see KonversationMainWindow::focusAndShowErrorMessage(const QString *errorMsg)
+ */
+ void focusAndShowErrorMessage(const QString &errorMsg);
+ signals:
+ void addresseesChanged();
+
+ protected:
+ AddressbookBase();
+ KABC::AddressBook* addressBook;
+ KABC::Ticket *m_ticket;
+ };
+
+} //NAMESPACE
+#endif
diff --git a/konversation/src/linkaddressbook/addresseeitem.cpp b/konversation/src/linkaddressbook/addresseeitem.cpp
new file mode 100644
index 0000000..9c9c6b4
--- /dev/null
+++ b/konversation/src/linkaddressbook/addresseeitem.cpp
@@ -0,0 +1,63 @@
+/*
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library 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
+Library 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#include "addresseeitem.h"
+
+#include <qlayout.h>
+#include <qpushbutton.h>
+#include <qgroupbox.h>
+#include <qregexp.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+
+
+AddresseeItem::AddresseeItem( QListView *parent, const KABC::Addressee &addressee) :
+KListViewItem( parent ),
+mAddressee( addressee )
+{
+ //We can't save showphoto because we don't have a d pointer
+ KABC::Picture pic = mAddressee.photo();
+ if(!pic.isIntern())
+ pic = mAddressee.logo();
+ if(pic.isIntern())
+ {
+ //60 pixels seems okay.. kmail uses 60 btw
+ QPixmap qpixmap( pic.data().scaleWidth(60) );
+ setPixmap( Photo,qpixmap );
+ }
+
+ setText( Name, addressee.realName() );
+ setText( Email, addressee.preferredEmail() );
+}
+
+QString AddresseeItem::key( int column, bool ) const
+{
+ if (column == Email)
+ {
+ QString value = text(Email);
+ QRegExp emailRe("<\\S*>");
+ int match = emailRe.search(value);
+ if (match > -1)
+ value = value.mid(match + 1, emailRe.matchedLength() - 2);
+
+ return value.lower();
+ }
+
+ return text(column).lower();
+}
diff --git a/konversation/src/linkaddressbook/addresseeitem.h b/konversation/src/linkaddressbook/addresseeitem.h
new file mode 100644
index 0000000..2e2aec3
--- /dev/null
+++ b/konversation/src/linkaddressbook/addresseeitem.h
@@ -0,0 +1,66 @@
+/*
+ This file is part of libkabc.
+ Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library 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
+Library 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef KABC_ADDRESSEEDIALOG_H
+#define KABC_ADDRESSEEDIALOG_H
+
+#include <qdict.h>
+
+#include <kdialogbase.h>
+#include <klineedit.h>
+#include <klistview.h>
+
+#include <kabc/addressbook.h>
+
+/**
+ @short Special ListViewItem
+*/
+class AddresseeItem : public KListViewItem
+{
+ public:
+
+ /**
+ Type of column
+ @li @p Name - Name in Addressee
+ @li @p Email - Email in Addressee
+ */
+ enum columns { Photo =0, Name = 1, Email = 2 };
+
+ /**
+ Constructor.
+
+ @param parent The parent listview.
+ @param addressee The associated addressee.
+ */
+ AddresseeItem( QListView *parent, const KABC::Addressee &addressee );
+
+ /**
+ Returns the addressee.
+ */
+ KABC::Addressee addressee() const { return mAddressee; }
+
+ /**
+ Method used by QListView to sort the items.
+ */
+ virtual QString key( int column, bool ascending ) const;
+
+ private:
+ KABC::Addressee mAddressee;
+};
+#endif
diff --git a/konversation/src/linkaddressbook/kimiface.h b/konversation/src/linkaddressbook/kimiface.h
new file mode 100644
index 0000000..990f980
--- /dev/null
+++ b/konversation/src/linkaddressbook/kimiface.h
@@ -0,0 +1,191 @@
+/*
+ kimiface.h - KDE Instant Messenger DCOP Interface
+
+ Copyright (c) 2004 Will Stephenson <lists@stevello.free-online.co.uk>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library 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
+Library 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef KIMIFACE_H
+#define KIMIFACE_H
+
+#include <qpixmap.h>
+#include <dcopobject.h>
+#include <qstringlist.h>
+#include <kurl.h>
+
+/**
+ * Generic DCOP interface for KDE instant messenger applications
+ * Note one omission of this interface is the lack of control over the range of values used for protocols' names.
+ * @author Will Stephenson <lists@stevello.free-online.co.uk>
+ */
+class KIMIface : virtual public DCOPObject
+{
+ K_DCOP
+
+ k_dcop:
+ // ACCESSORS
+ // contact list
+ /**
+ * Obtain a list of IM-contactable entries in the KDE
+ * address book.
+ * @return a list of KABC uids.
+ */
+ virtual QStringList allContacts() = 0;
+ /**
+ * Obtain a list of KDE address book entries who are
+ * currently reachable.
+ * @return a list of KABC uids who can receive a message, even if online.
+ */
+ virtual QStringList reachableContacts() = 0;
+ /**
+ * Obtain a list of KDE address book entries who are
+ * currently online.
+ * @return a list of KABC uids who are online with unspecified presence.
+ */
+ virtual QStringList onlineContacts() = 0;
+ /**
+ * Obtain a list of KDE address book entries who may
+ * receive file transfers.
+ * @return a list of KABC uids capable of file transfer.
+ */
+ virtual QStringList fileTransferContacts() = 0;
+
+ // individual
+ /**
+ * Confirm if a given KABC uid is known to KIMProxy
+ * @param uid the KABC uid you are interested in.
+ * @return whether one of the chat programs KIMProxy talks to knows of this KABC uid.
+ */
+ virtual bool isPresent( const QString & uid ) = 0;
+ /**
+ * Obtain the IM app's idea of the contact's display name
+ * Useful if KABC lookups may be too slow
+ * @param uid KABC uid.
+ * @return The corresponding display name.
+ */
+ virtual QString displayName( const QString & uid ) = 0;
+ /**
+ * Obtain the IM presence as a i18ned string for the specified addressee
+ * @param uid the KABC uid you want the presence for.
+ * @return the i18ned string describing presence.
+ */
+ virtual QString presenceString( const QString & uid ) = 0;
+ /**
+ * Obtain the IM presence as a number (see KIMIface) for the specified addressee
+ * @param uid the KABC uid you want the presence for.
+ * @return a numeric representation of presence - currently one of 0 (Unknown), 1 (Offline), 2 (Connecting), 3 (Away), 4 (Online)
+ */
+ virtual int presenceStatus( const QString & uid ) = 0;
+ /**
+ * Indicate if a given uid can receive files
+ * @param uid the KABC uid you are interested in.
+ * @return Whether the specified addressee can receive files.
+ */
+ virtual bool canReceiveFiles( const QString & uid ) = 0;
+ /**
+ * Some media are unidirectional (eg, sending SMS via a web interface).
+ * @param uid the KABC uid you are interested in.
+ * @return Whether the specified addressee can respond.
+ */
+ virtual bool canRespond( const QString & uid ) = 0;
+ /**
+ * Get the KABC uid corresponding to the supplied IM address
+ * Protocols should be
+ * @param contactId the protocol specific identifier for the contact, eg UIN for ICQ, screenname for AIM, nick for IRC.
+ * @param protocol the protocol, eg one of "AIMProtocol", "MSNProtocol", "ICQProtocol",
+ * @return a KABC uid or null if none found/
+ */
+ virtual QString locate( const QString & contactId, const QString & protocol ) = 0;
+ // metadata
+ /**
+ * Obtain the icon representing IM presence for the specified addressee
+ * @param uid the KABC uid you want the presence for.
+ * @return a pixmap representing the uid's presence.
+ */
+ virtual QPixmap icon( const QString & uid ) = 0;
+ /**
+ * Get the supplied addressee's current context (home, work, or any).
+ * @param uid the KABC uid you want the context for.
+ * @return A QString describing the context, or null if not supported.
+ */
+ virtual QString context( const QString & uid ) = 0;
+ // App capabilities
+ /**
+ * Discover what protocols the application supports
+ * @return the set of protocols that the application supports
+ */
+ virtual QStringList protocols() = 0;
+
+ // ACTORS
+ /**
+ * Send a single message to the specified addressee
+ * Any response will be handled by the IM client as a normal
+ * conversation.
+ * @param uid the KABC uid you want to chat with.
+ * @param message the message to send them.
+ */
+ virtual void messageContact( const QString &uid, const QString& message ) = 0;
+
+ /**
+ * Open a chat to a contact, and optionally set some initial text
+ */
+ virtual void messageNewContact( const QString &contactId, const QString &protocol ) = 0;
+
+ /**
+ * Start a chat session with the specified addressee
+ * @param uid the KABC uid you want to chat with.
+ */
+ virtual void chatWithContact( const QString &uid ) = 0;
+
+ /**
+ * Send the file to the contact
+ * @param uid the KABC uid you are sending to.
+ * @param sourceURL a KURL to send.
+ * @param altFileName an alternate filename describing the file
+ * @param fileSize file size in bytes
+ */
+ virtual void sendFile(const QString &uid, const KURL &sourceURL,
+ const QString &altFileName = QString(), uint fileSize = 0) = 0;
+
+ // MUTATORS
+ // Contact list
+ /**
+ * Add a contact to the contact list
+ * @param contactId the protocol specific identifier for the contact, eg UIN for ICQ, screenname for AIM, nick for IRC.
+ * @param protocol the protocol, eg one of "AIMProtocol", "MSNProtocol", "ICQProtocol", ...
+ * @return whether the add succeeded. False may signal already present, protocol not supported, or add operation not supported.
+ */
+ virtual bool addContact( const QString &contactId, const QString &protocol ) = 0;
+ // SIGNALS
+ k_dcop_signals:
+ /**
+ * Indicates that a contact's presence has changed
+ * @param uid the contact whose presence changed.
+ * @param appId the dcop application id of the program the signal originates from.
+ * @param presence the new numeric presence @ref presenceStatus
+ */
+ void contactPresenceChanged( QString uid, QCString appId, int presence );
+};
+#endif
+
+/*
+ * Local variables:
+ * c-indentation-style: k&r
+ * c-basic-offset: 8
+ * indent-tabs-mode: t
+ * End:
+ */
+// vim: set noet ts=4 sts=4 sw=4:
diff --git a/konversation/src/linkaddressbook/linkaddressbookui.cpp b/konversation/src/linkaddressbook/linkaddressbookui.cpp
new file mode 100644
index 0000000..9347075
--- /dev/null
+++ b/konversation/src/linkaddressbook/linkaddressbookui.cpp
@@ -0,0 +1,191 @@
+/*
+ Kontact's Link IRC Nick to Addressbook contact Wizard
+
+ This code was shamelessly stolen from kopete's add new contact wizard.
+
+ Copyright (c) 2004 by John Tapsell <john@geola.co.uk>
+
+ Copyright (c) 2003 by Will Stephenson <will@stevello.free-online.co.uk>
+ Copyright (c) 2002 by Nick Betcher <nbetcher@kde.org>
+ Copyright (c) 2002 by Duncan Mac-Vicar Prett <duncan@kde.org>
+
+Kopete (c) 2002-2004 by the Kopete developers <kopete-devel@kde.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. *
+* *
+*************************************************************************
+*/
+
+#include "linkaddressbookui.h"
+#include "addressbook.h"
+#include "linkaddressbookui_base.h"
+#include "addresseeitem.h"
+
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <kiconloader.h>
+#include <kdeversion.h>
+#include <kinputdialog.h>
+#include <kpushbutton.h>
+#include <kactivelabel.h>
+#include <kdebug.h>
+#include <klistview.h>
+#include <klistviewsearchline.h>
+#include <kabc/addressbook.h>
+#include <kabc/stdaddressbook.h>
+
+
+LinkAddressbookUI::LinkAddressbookUI( QWidget *parent, const char *name, const QString &ircnick, const QString &servername, const QString &servergroup, const QString &suggested_realname )
+: KDialogBase(Plain, i18n("Link IRC Nick to Addressbook Contact"), Ok|Cancel|Help, Ok, parent, name)
+{
+ QFrame* page = plainPage();
+ QGridLayout* pageLayout = new QGridLayout(page, 1, 1, 0, 0);
+ m_mainWidget = new LinkAddressbookUI_Base(page);
+ pageLayout->addWidget(m_mainWidget, 0, 0);
+
+ enableButtonOK(false);
+ setHelp("linkaddressbook");
+ m_addressBook = Konversation::Addressbook::self()->getAddressBook();
+
+ // Addressee validation connections
+ connect( m_mainWidget->addAddresseeButton, SIGNAL( clicked() ), SLOT( slotAddAddresseeClicked() ) );
+ connect( m_mainWidget->addresseeListView, SIGNAL( clicked(QListViewItem * ) ),
+ SLOT( slotAddresseeListClicked( QListViewItem * ) ) );
+ connect( m_mainWidget->addresseeListView, SIGNAL( selectionChanged( QListViewItem * ) ),
+ SLOT( slotAddresseeListClicked( QListViewItem * ) ) );
+ connect( m_mainWidget->addresseeListView, SIGNAL( spacePressed( QListViewItem * ) ),
+ SLOT( slotAddresseeListClicked( QListViewItem * ) ) );
+
+ connect( m_addressBook, SIGNAL( addressBookChanged( AddressBook * ) ), this, SLOT( slotLoadAddressees() ) );
+ connect( Konversation::Addressbook::self(), SIGNAL(addresseesChanged()), this, SLOT(slotLoadAddressees()));
+
+ //We should add a clear KAction here. But we can't really do that with a designer file :\ this sucks
+
+ m_ircnick = ircnick;
+ m_lower_ircnick = m_ircnick.lower();
+ m_servername = servername;
+ m_servergroup = servergroup;
+ m_suggested_realname = suggested_realname;
+
+ m_mainWidget->addresseeListView->setColumnText(2, SmallIconSet("email"), i18n("Email") );
+
+ if(m_suggested_realname.isEmpty()) m_suggested_realname = suggested_realname;
+ Q_ASSERT(!ircnick.isEmpty());
+ m_mainWidget->kListViewSearchLine->setListView(m_mainWidget->addresseeListView);
+ slotLoadAddressees();
+
+ m_mainWidget->addresseeListView->setColumnWidthMode(0, QListView::Manual);
+ //Photo is 60, and it's nice to have a small gap, imho
+ m_mainWidget->addresseeListView->setColumnWidth(0, 63);
+
+}
+
+LinkAddressbookUI::~LinkAddressbookUI()
+{
+}
+
+/** Read in contacts from addressbook, and select the contact that is for our nick. */
+void LinkAddressbookUI::slotLoadAddressees()
+{
+ m_mainWidget->addresseeListView->clear();
+
+ QString realname;
+ int num_contacts_with_nick=0; //There shouldn't be more than 1 contact with this irc nick. Warn the user if there is.
+
+ KABC::AddressBook::Iterator it;
+ for( it = m_addressBook->begin(); it != m_addressBook->end(); ++it )
+ if(Konversation::Addressbook::self()->hasNick(*it, m_lower_ircnick, m_servername, m_servergroup))
+ {
+ realname = (*it).realName();
+ num_contacts_with_nick++;
+ (new AddresseeItem( m_mainWidget->addresseeListView, (*it) ))->setSelected(true);
+ } else
+ /*AddresseeItem *item =*/ new AddresseeItem( m_mainWidget->addresseeListView, (*it));
+
+ if(num_contacts_with_nick == 0)
+ m_mainWidget->lblHeader->setText(i18n("Choose the person who '%1' is.").arg(m_ircnick));
+ else if(num_contacts_with_nick == 1 && realname.isEmpty())
+ m_mainWidget->lblHeader->setText(i18n("Currently '%1' is associated with a contact.").arg(m_ircnick));
+ else if(num_contacts_with_nick == 1 && !realname.isEmpty())
+ m_mainWidget->lblHeader->setText(i18n("Currently '%1' is associated with contact '%2'.").arg(m_ircnick).arg(realname));
+ else
+ m_mainWidget->lblHeader->setText(i18n("<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple contacts. Please select the correct contact.</qt>").arg(m_ircnick));
+
+}
+
+void LinkAddressbookUI::slotAddAddresseeClicked()
+{
+ // Pop up add addressee dialog
+ if(!Konversation::Addressbook::self()->getAndCheckTicket()) return;
+ QString addresseeName = KInputDialog::getText( i18n( "New Address Book Entry" ),
+ i18n( "Name the new entry:" ),
+ m_suggested_realname, 0, this );
+
+ if ( !addresseeName.isEmpty() )
+ {
+ KABC::Addressee addr;
+ addr.setNameFromString( addresseeName );
+ m_addressBook->insertAddressee(addr);
+ Konversation::Addressbook::self()->saveTicket();
+ slotLoadAddressees();
+ }
+ else
+ {
+ Konversation::Addressbook::self()->releaseTicket();
+ }
+}
+
+void LinkAddressbookUI::slotAddresseeListClicked( QListViewItem *addressee )
+{
+ // enable ok if a valid addressee is selected
+ enableButtonOK(addressee ? addressee->isSelected() : false);
+}
+
+void LinkAddressbookUI::slotOk()
+{
+ //// set the KABC uid in the metacontact
+ AddresseeItem *item = 0L;
+ item = static_cast<AddresseeItem *>( m_mainWidget->addresseeListView->selectedItem() );
+
+ KABC::Addressee addr;
+ if ( item )
+ {
+
+ addr = item->addressee();
+ if(!Konversation::Addressbook::self()->getAndCheckTicket())
+ {
+ return;
+ }
+ Konversation::Addressbook::self()->associateNickAndUnassociateFromEveryoneElse(addr, m_ircnick, m_servername, m_servergroup);
+ if(!Konversation::Addressbook::self()->saveTicket())
+ {
+ return;
+ }
+ }
+ disconnect( m_addressBook, SIGNAL( addressBookChanged( AddressBook * ) ), this, SLOT( slotLoadAddressees() ) );
+ deleteLater();
+ accept();
+}
+
+void LinkAddressbookUI::slotCancel()
+{
+ disconnect( m_addressBook, SIGNAL( addressBookChanged( AddressBook * ) ), this, SLOT( slotLoadAddressees() ) );
+ deleteLater();
+ reject();
+}
+
+#include "linkaddressbookui.moc"
+
+// vim: set noet ts=4 sts=4 sw=4:
diff --git a/konversation/src/linkaddressbook/linkaddressbookui.h b/konversation/src/linkaddressbook/linkaddressbookui.h
new file mode 100644
index 0000000..87ebd52
--- /dev/null
+++ b/konversation/src/linkaddressbook/linkaddressbookui.h
@@ -0,0 +1,68 @@
+/*
+ linkaddressbookwizard.h - Kontact's Link IRC Nick to Addressbook contact Wizard
+
+ This code was shamelessly stolen from kopete's add new contact wizard.
+
+ Copyright (c) 2004 by John Tapsell <john@geola.co.uk>
+
+ Copyright (c) 2003 by Will Stephenson <will@stevello.free-online.co.uk>
+ Copyright (c) 2002 by Nick Betcher <nbetcher@kde.org>
+ Copyright (c) 2002 by Duncan Mac-Vicar Prett <duncan@kde.org>
+
+Kopete (c) 2002-2004 by the Kopete developers <kopete-devel@kde.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. *
+* *
+*************************************************************************
+*/
+
+#ifndef LINKADDRESSBOOKUI_H
+#define LINKADDRESSBOOKUI_H
+
+#include <qptrlist.h>
+#include <qvaluelist.h>
+#include <qmap.h>
+
+#include <kdialogbase.h>
+#include <kdebug.h>
+#include <kabc/addressbook.h>
+
+class QCheckListItem;
+class LinkAddressbookUI_Base;
+
+class LinkAddressbookUI : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ LinkAddressbookUI( QWidget *parent, const char *name, const QString &ircnick, const QString &servername, const QString &servergroup, const QString &suggested_realname);
+ ~LinkAddressbookUI();
+
+ private:
+ KABC::AddressBook* m_addressBook;
+ QString m_ircnick;
+ QString m_lower_ircnick; //Same as above, but in lower case, for comparisons.
+ QString m_servername;
+ QString m_servergroup;
+ QString m_suggested_realname;
+ LinkAddressbookUI_Base* m_mainWidget;
+
+ protected slots:
+ virtual void slotOk();
+ virtual void slotCancel();
+ void slotAddAddresseeClicked();
+ void slotAddresseeListClicked( QListViewItem *addressee );
+ /**
+ * Utility function, populates the addressee list
+ */
+ void slotLoadAddressees();
+
+};
+#endif
+
+// vim: set noet ts=4 sts=4 sw=4:
diff --git a/konversation/src/linkaddressbook/linkaddressbookui_base.ui b/konversation/src/linkaddressbook/linkaddressbookui_base.ui
new file mode 100644
index 0000000..6e82416
--- /dev/null
+++ b/konversation/src/linkaddressbook/linkaddressbookui_base.ui
@@ -0,0 +1,174 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>LinkAddressbookUI_Base</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>LinkAddressbookUI_Base</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>596</width>
+ <height>572</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <spacer row="3" column="1">
+ <property name="name">
+ <cstring>spacer11</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>405</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton" row="3" column="0">
+ <property name="name">
+ <cstring>addAddresseeButton</cstring>
+ </property>
+ <property name="text">
+ <string>Create New &amp;Entry...</string>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Create a new entry in your address book</string>
+ </property>
+ </widget>
+ <widget class="KActiveLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>lblHeader</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="KListView" row="2" column="0" rowspan="1" colspan="2">
+ <column>
+ <property name="text">
+ <string>Photo</string>
+ </property>
+ <property name="clickable">
+ <bool>false</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Name</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Email</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>addresseeListView</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>10</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>LastColumn</enum>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Select the contact you want to communicate with via Instant Messaging</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>lblSearch</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>S&amp;earch:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kListViewSearchLine</cstring>
+ </property>
+ </widget>
+ <widget class="KListViewSearchLine">
+ <property name="name">
+ <cstring>kListViewSearchLine</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kactivelabel.h</includehint>
+ <includehint>klistview.h</includehint>
+ <includehint>klistviewsearchline.h</includehint>
+</includehints>
+<includes>
+ <include>klistviewsearchline.h</include>
+</includes>
+</UI>
diff --git a/konversation/src/linkaddressbook/nicklisttooltip.cpp b/konversation/src/linkaddressbook/nicklisttooltip.cpp
new file mode 100644
index 0000000..c2fcde7
--- /dev/null
+++ b/konversation/src/linkaddressbook/nicklisttooltip.cpp
@@ -0,0 +1,68 @@
+/*
+ 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.
+*/
+
+/*
+ The class that controls what the tooltip looks like when you hover over a person in the nicklistview. This is used to show contact information about the person from the addressbook.
+ begin: Sun 25 July 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#include "nicklisttooltip.h"
+#include "../nick.h"
+#include "../nicklistview.h"
+#include "../nickinfo.h"
+#include "../common.h"
+
+#include <klocale.h>
+#include <qtooltip.h>
+#include <qlistview.h>
+
+
+class NickListView;
+
+namespace Konversation
+{
+ KonversationNickListViewToolTip::KonversationNickListViewToolTip(QWidget *parent, NickListView *lv) : QToolTip(parent)
+ {
+ m_listView = lv;
+ }
+
+ KonversationNickListViewToolTip::~KonversationNickListViewToolTip()
+ {
+ }
+
+ void KonversationNickListViewToolTip::maybeTip( const QPoint &pos )
+ {
+ if( !parentWidget() || !m_listView )
+ return;
+
+ QListViewItem *item = m_listView->itemAt( pos );
+
+ if( !item )
+ return;
+
+ Nick *nick = dynamic_cast<Nick*>( item );
+
+ if(! nick )
+ return;
+
+ QString toolTip;
+ QRect itemRect = m_listView->itemRect( item );
+
+ uint leftMargin = m_listView->treeStepSize() *
+ ( item->depth() + ( m_listView->rootIsDecorated() ? 1 : 0 ) ) +
+ m_listView->itemMargin();
+ uint xAdjust = itemRect.left() + leftMargin;
+ uint yAdjust = itemRect.top();
+ QPoint relativePos( pos.x() - xAdjust, pos.y() - yAdjust );
+ toolTip = Konversation::removeIrcMarkup(nick->getChannelNick()->tooltip());
+ if(!toolTip.isEmpty())
+ tip(itemRect, toolTip);
+ }
+
+} // namespace Konversation
diff --git a/konversation/src/linkaddressbook/nicklisttooltip.h b/konversation/src/linkaddressbook/nicklisttooltip.h
new file mode 100644
index 0000000..068850c
--- /dev/null
+++ b/konversation/src/linkaddressbook/nicklisttooltip.h
@@ -0,0 +1,45 @@
+/*
+ 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.
+*/
+
+/*
+ nicklisttooltip.h - The class that controls what the tooltip looks like when you hover over a person in the nicklistview. This is used to show contact information about the person from the addressbook.
+ begin: Sun 25 July 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#ifndef KONVERSATIONNICKLISTTOOLTIP_H
+#define KONVERSATIONNICKLISTTOOLTIP_H
+
+#include "addressbook.h"
+
+#include <qtooltip.h>
+#include <qwidget.h>
+#include <qpoint.h>
+#include <qstring.h>
+
+#include <klocale.h>
+
+
+class NickListView;
+
+namespace Konversation
+{
+
+ class KonversationNickListViewToolTip : public QToolTip
+ {
+ public:
+ KonversationNickListViewToolTip(QWidget *parent, NickListView *lv);
+ virtual ~KonversationNickListViewToolTip();
+
+ void maybeTip( const QPoint &pos );
+
+ private:
+ NickListView *m_listView;
+ };
+}
+#endif
diff --git a/konversation/src/linkaddressbook/nicksonlinetooltip.cpp b/konversation/src/linkaddressbook/nicksonlinetooltip.cpp
new file mode 100644
index 0000000..b89cab6
--- /dev/null
+++ b/konversation/src/linkaddressbook/nicksonlinetooltip.cpp
@@ -0,0 +1,67 @@
+/*
+ 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.
+*/
+
+/*
+ The class that controls what the tooltip looks like when you hover over a person in the nicklistview. This is used to show contact information about the person from the addressbook.
+ begin: Sun 25 July 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+
+#include "nicklisttooltip.h"
+#include "../nick.h"
+#include "../nicklistview.h"
+#include "../nickinfo.h"
+#include "../nicksonline.h"
+
+#include <klocale.h>
+#include <qtooltip.h>
+#include <qlistview.h>
+#include <klistview.h>
+
+
+class NickListView;
+
+namespace Konversation
+{
+ KonversationNicksOnlineToolTip::KonversationNicksOnlineToolTip(QWidget *parent, NicksOnline *nicksOnline) : QToolTip(parent)
+ {
+ m_nicksOnline = nicksOnline;
+ }
+
+ KonversationNicksOnlineToolTip::~KonversationNicksOnlineToolTip()
+ {
+ }
+
+ void KonversationNicksOnlineToolTip::maybeTip( const QPoint &pos )
+ {
+ if( !parentWidget() || !m_nicksOnline || !m_nicksOnline->getNickListView() )
+ return;
+ KListView *m_listView = m_nicksOnline->getNickListView();
+ QListViewItem *item = m_listView->itemAt( pos );
+ if( !item )
+ return;
+ NickInfoPtr nickInfo = m_nicksOnline->getNickInfo(item);
+
+ if(!nickInfo )
+ return;
+ QString toolTip;
+ QRect itemRect = m_listView->itemRect( item );
+
+ uint leftMargin = m_listView->treeStepSize() *
+ ( item->depth() + ( m_listView->rootIsDecorated() ? 1 : 0 ) ) +
+ m_listView->itemMargin();
+ uint xAdjust = itemRect.left() + leftMargin;
+ uint yAdjust = itemRect.top();
+ QPoint relativePos( pos.x() - xAdjust, pos.y() - yAdjust );
+ toolTip = nickInfo->tooltip();
+ if(!toolTip.isEmpty())
+ tip(itemRect, toolTip);
+ }
+
+} // namespace Konversation
diff --git a/konversation/src/linkaddressbook/nicksonlinetooltip.h b/konversation/src/linkaddressbook/nicksonlinetooltip.h
new file mode 100644
index 0000000..79f0888
--- /dev/null
+++ b/konversation/src/linkaddressbook/nicksonlinetooltip.h
@@ -0,0 +1,45 @@
+/*
+ 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.
+*/
+
+/*
+ nicklisttooltip.h - The class that controls what the tooltip looks like when you hover over a person in the nicklistview. This is used to show contact information about the person from the addressbook.
+ begin: Sun 25 July 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#ifndef KONVERSATIONNICKSONLINETOOLTIP_H
+#define KONVERSATIONNICKSONLINETOOLTIP_H
+
+#include "addressbook.h"
+
+#include <qtooltip.h>
+#include <qwidget.h>
+#include <qpoint.h>
+#include <qstring.h>
+
+#include <klocale.h>
+
+
+class NicksOnline;
+
+namespace Konversation
+{
+
+ class KonversationNicksOnlineToolTip : public QToolTip
+ {
+ public:
+ KonversationNicksOnlineToolTip(QWidget *parent, NicksOnline *nicksOnline);
+ virtual ~KonversationNicksOnlineToolTip();
+
+ void maybeTip( const QPoint &pos );
+
+ private:
+ NicksOnline *m_nicksOnline;
+ };
+}
+#endif
diff --git a/konversation/src/log_preferences.ui b/konversation/src/log_preferences.ui
new file mode 100644
index 0000000..3af0047
--- /dev/null
+++ b/konversation/src/log_preferences.ui
@@ -0,0 +1,116 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Log_Config</class>
+<comment>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.</comment>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Log_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>528</width>
+ <height>310</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_Log</cstring>
+ </property>
+ <property name="title">
+ <string>&amp;Enable Logging</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_LowerLog</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;lower case logfile names</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_AddHostnameToLog</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Append hostname to logfile names</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="text">
+ <string>Logfile &amp;path:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_LogfilePath</cstring>
+ </property>
+ </widget>
+ <widget class="KURLRequester" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_LogfilePath</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="mode">
+ <number>26</number>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+</widget>
+<tabstops>
+ <tabstop>kcfg_LowerLog</tabstop>
+ <tabstop>kcfg_AddHostnameToLog</tabstop>
+ <tabstop>kcfg_LogfilePath</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kurlrequester.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/logfilereader.cpp b/konversation/src/logfilereader.cpp
new file mode 100644
index 0000000..22357f4
--- /dev/null
+++ b/konversation/src/logfilereader.cpp
@@ -0,0 +1,187 @@
+/*
+ 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.
+*/
+
+/*
+ Shows the content of a log file
+ begin: Fri Dec 5 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "logfilereader.h"
+#include "konversationapplication.h"
+#include "ircview.h"
+#include "ircviewbox.h"
+
+#include <qlayout.h>
+#include <qfile.h>
+#include <qtextstream.h>
+#include <qdockarea.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qregexp.h>
+#include <qspinbox.h>
+#include <qstylesheet.h>
+#include <qwhatsthis.h>
+
+#include <kdialog.h>
+#include <ktoolbar.h>
+#include <kmessagebox.h>
+#include <kfiledialog.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <kio/jobclasses.h>
+
+
+LogfileReader::LogfileReader(QWidget* parent, const QString& log) : ChatWindow(parent)
+{
+ setType(ChatWindow::LogFileReader);
+
+ fileName = log;
+ QDockArea* toolBarDock = new QDockArea(Qt::Horizontal,QDockArea::Normal,this,"logfile_toolbar_dock");
+ toolBar = new KToolBar(toolBarDock,"logfile_toolbar",true,true);
+
+ toolBar->insertButton("filesaveas",0,SIGNAL(clicked()),this,SLOT(saveLog()),true,i18n("Save As..."));
+
+ new QLabel(i18n("Show last:"),toolBar,"logfile_size_label");
+ sizeSpin = new QSpinBox(10,1000,10,toolBar,"logfile_size_spinbox");
+ QWhatsThis::add(sizeSpin, i18n("Use this box to set the maximum size of the log file. This setting does not take effect until you restart Konversation. Each log file may have a separate setting."));
+ sizeSpin->setValue(Preferences::logfileBufferSize());
+ sizeSpin->setSuffix(i18n(" KB"));
+ sizeSpin->installEventFilter(this);
+
+ toolBar->insertButton("reload",0,SIGNAL(clicked()),this,SLOT(updateView()),true,i18n("Reload"));
+ toolBar->insertButton("editdelete",0,SIGNAL(clicked()),this,SLOT(clearLog()),true,i18n("Clear Logfile"));
+
+ IRCViewBox* ircBox = new IRCViewBox(this, 0);
+ setTextView(ircBox->ircView());
+ QWhatsThis::add(getTextView(), i18n("The messages in the log file are displayed here. The oldest messages are at the top and the most recent are at the bottom."));
+
+ updateView();
+ resize(Preferences::logfileReaderSize());
+ ircBox->ircView()->setFocusPolicy(QWidget::StrongFocus);
+ setFocusPolicy(QWidget::StrongFocus);
+ setFocusProxy(ircBox->ircView());
+
+ connect(getTextView(), SIGNAL(gotFocus()), getTextView(), SLOT(setFocus()));
+}
+
+LogfileReader::~LogfileReader()
+{
+ Preferences::setLogfileReaderSize(size());
+ Preferences::setLogfileBufferSize(sizeSpin->value());
+
+ delete toolBar;
+}
+
+bool LogfileReader::eventFilter(QObject* /* watched */, QEvent* e)
+{
+ if (e->type() == QEvent::KeyPress)
+ {
+ QKeyEvent* ke = static_cast<QKeyEvent*>(e);
+
+ if (ke->key() == Qt::Key_Return || ke->key() == Qt::Key_Enter)
+ {
+ updateView();
+
+ return true;
+ }
+ else
+ return false;
+ }
+
+ return false;
+}
+
+void LogfileReader::updateView()
+{
+ // get maximum size of logfile to display
+ unsigned long pos=sizeSpin->value()*1024;
+ getTextView()->clear();
+
+ QFile file(fileName);
+
+ if(file.open(IO_ReadOnly))
+ {
+ QTextStream stream(&file);
+ stream.setEncoding(QTextStream::UnicodeUTF8);
+
+ // Set file pointer to <pos> bytes from the end
+ if(stream.device()->size()>pos)
+ stream.device()->at(stream.device()->size()-pos);
+ // Skip first line, since it may be incomplete
+ stream.readLine();
+ QString str;
+
+ while(!stream.eof())
+ {
+ str = QStyleSheet::escape(stream.readLine());
+ getTextView()->appendRaw(str, true);
+ }
+
+ stream.unsetDevice();
+ file.close();
+ }
+}
+
+void LogfileReader::clearLog()
+{
+ if(KMessageBox::warningContinueCancel(this,
+ i18n("Do you really want to permanently discard all log information of this file?"),
+ i18n("Clear Logfile"),
+ KStdGuiItem::del(),
+ "ClearLogfileQuestion")==KMessageBox::Continue)
+ {
+ QFile::remove(fileName);
+ updateView();
+ }
+}
+
+void LogfileReader::saveLog()
+{
+ KMessageBox::information(this,
+ i18n("Note: By saving the logfile you will save all data in the file, not only the part you can see in this viewer."),
+ i18n("Save Logfile"),
+ "SaveLogfileNote");
+
+ QString destination=KFileDialog::getSaveFileName(fileName,
+ QString(),
+ this,
+ i18n("Choose Destination Folder"));
+ if(!destination.isEmpty())
+ {
+ // replace # with %25 to make it URL conforming
+ KIO::Job* job=KIO::copy(KURL(fileName.replace("#","%23")),
+ KURL(destination),
+ true);
+
+ connect(job,SIGNAL(result(KIO::Job*)),this,SLOT(copyResult(KIO::Job*)));
+ }
+}
+
+void LogfileReader::copyResult(KIO::Job* job)
+{
+ if(job->error()) job->showErrorDialog(this);
+
+ job->deleteLater();
+}
+
+void LogfileReader::closeLog()
+{
+ delete this;
+}
+
+void LogfileReader::childAdjustFocus()
+{
+ getTextView()->setFocus();
+}
+
+int LogfileReader::margin() { return KDialog::marginHint(); }
+int LogfileReader::spacing() { return KDialog::spacingHint(); }
+bool LogfileReader::searchView() { return true; }
+
+#include "logfilereader.moc"
diff --git a/konversation/src/logfilereader.h b/konversation/src/logfilereader.h
new file mode 100644
index 0000000..0327c74
--- /dev/null
+++ b/konversation/src/logfilereader.h
@@ -0,0 +1,59 @@
+/*
+ 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.
+*/
+
+/*
+ Shows the content of a log file
+ begin: Fri Dec 5 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef LOGFILEREADER_H
+#define LOGFILEREADER_H
+
+#include "chatwindow.h"
+
+#include <kio/job.h>
+
+
+class KToolBar;
+class QSpinBox;
+
+class LogfileReader : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ LogfileReader(QWidget* parent, const QString& log);
+ ~LogfileReader();
+
+ virtual bool closeYourself() { closeLog(); return true; }
+ virtual bool searchView();
+
+ virtual bool eventFilter(QObject* watched, QEvent* e);
+
+
+ protected slots:
+ void updateView();
+ void clearLog();
+ void saveLog();
+ void closeLog();
+ void copyResult(KIO::Job* job);
+
+
+ protected:
+ int margin();
+ int spacing();
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ KToolBar* toolBar;
+ QSpinBox* sizeSpin;
+ QString fileName;
+};
+#endif
diff --git a/konversation/src/main.cpp b/konversation/src/main.cpp
new file mode 100644
index 0000000..2deede7
--- /dev/null
+++ b/konversation/src/main.cpp
@@ -0,0 +1,103 @@
+/*
+ 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.
+*/
+
+/*
+ Where it all began ...
+ begin: Die Jan 15 05:59:05 CET 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include <kapplication.h>
+#include <kcmdlineargs.h>
+#include <kaboutdata.h>
+#include <klocale.h>
+#include <dcopclient.h>
+#include <dcopref.h>
+#include <kdebug.h>
+
+#include "konversationapplication.h"
+#include "version.h"
+#include "commit.h"
+
+/*
+ Don't use i18n() here, use I18N_NOOP() instead!
+ i18n() will only work as soon as a kapplication object was made.
+*/
+
+static const char* shortDescription=I18N_NOOP("A user friendly IRC client");
+
+static const KCmdLineOptions options[] =
+{
+ { "+[url]", I18N_NOOP("irc:// URL or server hostname"), 0 },
+ { "server <server>", I18N_NOOP("Server to connect"), 0 },
+ { "port <port>", I18N_NOOP("Port to use"), "6667"},
+ { "channel <channel>", I18N_NOOP("Channel to join after connection"), ""},
+ { "nick <nickname>", I18N_NOOP("Nickname to use"),""},
+ { "password <password>", I18N_NOOP("Password for connection"),""},
+ { "ssl", I18N_NOOP("Use SSL for connection"),"false"},
+ KCmdLineLastOption
+};
+
+int main(int argc, char* argv[])
+{
+ KAboutData aboutData("konversation",
+ I18N_NOOP("Konversation"),
+ KONVI_VERSION,
+ shortDescription,
+ KAboutData::License_GPL,
+ I18N_NOOP("(C) 2002-2008 by the Konversation team"),
+ I18N_NOOP("Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+ "Meet friends on the net, make new acquaintances and lose yourself in\n"
+ "talk about your favorite subject."),
+ "http://konversation.kde.org/");
+
+ aboutData.addAuthor("Dario Abatianni",I18N_NOOP("Original Author, Project Founder"),"eisfuchs@tigress.com");
+ aboutData.addAuthor("Peter Simonsson",I18N_NOOP("Maintainer"),"psn@linux.se");
+ aboutData.addAuthor("Eike Hein",I18N_NOOP("Maintainer, Release Manager, User interface, Protocol handling"),"hein@kde.org");
+ aboutData.addAuthor("Shintaro Matsuoka",I18N_NOOP("DCC, Encoding handling, OSD positioning"),"shin@shoegazed.org");
+ aboutData.addAuthor("Eli MacKenzie",I18N_NOOP("Protocol handling, Input line"),"argonel@gmail.com");
+ aboutData.addAuthor("İsmail Dönmez",I18N_NOOP("Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"),"ismail@kde.org");
+ aboutData.addAuthor("John Tapsell",I18N_NOOP("Refactoring, KAddressBook/Kontact integration"), "john@geola.co.uk");
+
+ aboutData.addCredit("Olivier Bédard",I18N_NOOP("Website hosting"));
+ aboutData.addCredit("Jędrzej Lisowski",I18N_NOOP("Website maintenance"),"yesoos@gmail.com");
+ aboutData.addCredit("Christian Muehlhaeuser",I18N_NOOP("Multiple modes extension, Close widget placement, OSD functionality"),"chris@chris.de");
+ aboutData.addCredit("Gary Cramblitt",I18N_NOOP("Documentation, Watched nicks online improvements, Custom web browser extension"),"garycramblitt@comcast.net");
+ aboutData.addCredit("Matthias Gierlings",I18N_NOOP("Color configurator, Highlight dialog"),"gismore@users.sourceforge.net");
+ aboutData.addCredit("Alex Zepeda",I18N_NOOP("DCOP interface"),"garbanzo@hooked.net");
+ aboutData.addCredit("Stanislav Karchebny",I18N_NOOP("Non-Latin1-Encodings"),"berkus@users.sourceforge.net");
+ aboutData.addCredit("Mickael Marchand",I18N_NOOP("Konsole part view"),"marchand@kde.org");
+ aboutData.addCredit("Michael Goettsche",I18N_NOOP("Quick connect, Ported new OSD, other features and bugfixes"),"michael.goettsche@kdemail.net");
+ aboutData.addCredit("Benjamin Meyer",I18N_NOOP("A Handful of fixes and code cleanup"),"ben+konversation@meyerhome.net");
+ aboutData.addCredit("Jakub Stachowski",I18N_NOOP("Drag&Drop improvements"),"qbast@go2.pl");
+ aboutData.addCredit("Sebastian Sariego",I18N_NOOP("Artwork"),"segfault@kde.cl");
+ aboutData.addCredit("Renchi Raju",I18N_NOOP("Firefox style searchbar"));
+ aboutData.addCredit("Michael Kreitzer",I18N_NOOP("Raw modes, Tab grouping per server, Ban list"),"mrgrim@gr1m.org");
+ aboutData.addCredit("Frauke Oster",I18N_NOOP("System tray patch"),"frauke@frsv.de");
+ aboutData.addCredit("Lucijan Busch",I18N_NOOP("Bug fixes"),"lucijan@kde.org");
+ aboutData.addCredit("Sascha Cunz",I18N_NOOP("Extended user modes patch"),"mail@sacu.de");
+ aboutData.addCredit("Steve Wollkind",I18N_NOOP("Close visible tab with shortcut patch"),"steve@njord.org");
+ aboutData.addCredit("Thomas Nagy",I18N_NOOP("Cycle tabs with mouse scroll wheel"),"thomas.nagy@eleve.emn.fr");
+ aboutData.addCredit("Tobias Olry",I18N_NOOP("Channel ownership mode patch"),"tobias.olry@web.de");
+ aboutData.addCredit("Ruud Nabben",I18N_NOOP("Option to enable IRC color filtering"),"r.nabben@gawab.com");
+ aboutData.addCredit("Lothar Braun",I18N_NOOP("Bug fixes"),"mail@lobraun.de");
+ aboutData.addCredit("Ivor Hewitt",I18N_NOOP("Bug fixes, OSD work, clearing topics"),"ivor@ivor.org");
+ aboutData.addCredit("Emil Obermayr",I18N_NOOP("Sysinfo script"),"nobs@tigress.com");
+ aboutData.addCredit("Stanislav Nikolov",I18N_NOOP("Bug fixes"),"valsinats@gmail.com");
+ aboutData.addCredit("Juan Carlos Torres",I18N_NOOP("Auto-join context menu"),"carlosdgtorres@gmail.com");
+
+ KCmdLineArgs::init(argc, argv, &aboutData);
+ KCmdLineArgs::addCmdLineOptions(options);
+ KApplication::addCmdLineOptions();
+
+ if (!KUniqueApplication::start()) return 0;
+
+ KonversationApplication app;
+
+ return app.exec();
+}
diff --git a/konversation/src/modebutton.cpp b/konversation/src/modebutton.cpp
new file mode 100644
index 0000000..445db55
--- /dev/null
+++ b/konversation/src/modebutton.cpp
@@ -0,0 +1,44 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Feb 6 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "modebutton.h"
+
+
+ModeButton::ModeButton(const QString& label,QWidget* parent,int newId) :
+QPushButton::QPushButton(label,parent)
+{
+ id=newId;
+ on=false;
+ setToggleButton(true);
+ connect(this,SIGNAL (clicked()),this,SLOT (wasClicked()) );
+}
+
+ModeButton::~ModeButton()
+{
+}
+
+void ModeButton::setOn(bool state)
+{
+ on=state;
+ QPushButton::setOn(state);
+}
+
+void ModeButton::wasClicked()
+{
+ emit clicked(id,!on);
+ // Keep button in old state, since we don't know if mode change will
+ // eventually work. If we aren't channel operator, it won't.
+ setOn(on);
+}
+
+#include "modebutton.moc"
diff --git a/konversation/src/modebutton.h b/konversation/src/modebutton.h
new file mode 100644
index 0000000..e8895d6
--- /dev/null
+++ b/konversation/src/modebutton.h
@@ -0,0 +1,40 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Feb 6 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef MODEBUTTON_H
+#define MODEBUTTON_H
+
+#include <qpushbutton.h>
+
+
+class ModeButton : public QPushButton
+{
+ Q_OBJECT
+
+ public:
+ ModeButton(const QString& label,QWidget* parent,int id);
+ ~ModeButton();
+
+ void setOn(bool state);
+
+ signals:
+ void clicked(int id,bool on);
+
+ public slots:
+ void wasClicked();
+
+ protected:
+ int id;
+ bool on;
+};
+#endif
diff --git a/konversation/src/multilineedit.cpp b/konversation/src/multilineedit.cpp
new file mode 100644
index 0000000..19e1eef
--- /dev/null
+++ b/konversation/src/multilineedit.cpp
@@ -0,0 +1,79 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#include "multilineedit.h"
+#include "multilinetextedit.h"
+#include "konversationapplication.h"
+
+#include <qlayout.h>
+
+#include <klocale.h>
+
+
+QString MultilineEdit::returnText; // static
+
+MultilineEdit::MultilineEdit(QWidget* parent, const QString& text) :
+KDialogBase(parent,"multiline_edit_dialog",true,i18n("Edit Multiline Paste"),
+KDialogBase::User1 | KDialogBase::Ok | KDialogBase::Cancel,KDialogBase::Ok,true,
+KGuiItem(i18n("Add &Quotation Indicators")))
+{
+ // Create the top level widget
+ QWidget* page=new QWidget(this);
+ setMainWidget(page);
+ // Add the layout to the widget
+ QVBoxLayout* dialogLayout=new QVBoxLayout(page);
+ dialogLayout->setSpacing(spacingHint());
+ // add the text editor
+ textEditor=new MultilineTextEdit(page,"multiline_text_editor");
+ textEditor->setTextFormat(PlainText);
+ textEditor->setText(text);
+ returnText=text;
+
+ dialogLayout->addWidget(textEditor);
+
+ setInitialSize(Preferences::multilineEditSize());
+ show();
+}
+
+MultilineEdit::~MultilineEdit()
+{
+ Preferences::setMultilineEditSize(size());
+}
+
+void MultilineEdit::slotCancel()
+{
+ returnText=QString();
+ KDialogBase::slotCancel();
+}
+
+void MultilineEdit::slotOk()
+{
+ returnText=textEditor->text();
+ KDialogBase::slotOk();
+}
+
+void MultilineEdit::slotUser1()
+{
+ QStringList lines=QStringList::split("\n",textEditor->text(),true);
+ for( QStringList::iterator it=lines.begin() ; it!=lines.end() ; ++it )
+ (*it) = "> " + (*it);
+ textEditor->setText(lines.join("\n"));
+}
+
+QString MultilineEdit::edit(QWidget* parent, const QString& text)
+{
+ MultilineEdit dlg(parent,text);
+ dlg.exec();
+
+ return returnText;
+}
+
+#include "multilineedit.moc"
diff --git a/konversation/src/multilineedit.h b/konversation/src/multilineedit.h
new file mode 100644
index 0000000..db86cc0
--- /dev/null
+++ b/konversation/src/multilineedit.h
@@ -0,0 +1,40 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#ifndef MULTILINEEDIT_H
+#define MULTILINEEDIT_H
+
+#include <kdialogbase.h>
+
+
+class QWidget;
+class MultilineTextEdit;
+
+class MultilineEdit : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ MultilineEdit(QWidget* parent, const QString& text);
+ ~MultilineEdit();
+
+ static QString edit(QWidget* parent, const QString& text);
+
+ protected slots:
+ void slotOk();
+ void slotCancel();
+ void slotUser1();
+
+ protected:
+ MultilineTextEdit* textEditor;
+ static QString returnText;
+};
+#endif
diff --git a/konversation/src/multilinetextedit.cpp b/konversation/src/multilinetextedit.cpp
new file mode 100644
index 0000000..d5f7869
--- /dev/null
+++ b/konversation/src/multilinetextedit.cpp
@@ -0,0 +1,175 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#include "multilinetextedit.h"
+
+#include <qpainter.h>
+#include <qregexp.h>
+
+#include <kdebug.h>
+
+
+MultilineTextEdit::MultilineTextEdit(QWidget* parent,const char* name) : QTextEdit(parent,name)
+{
+ // make sure, our whitespace highlighting gets called whenever needed
+ connect(this,SIGNAL(textChanged()),this,SLOT(drawWhitespaces()));
+ connect(this,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(cursorChanged(int,int)));
+}
+
+MultilineTextEdit::~MultilineTextEdit()
+{
+}
+
+void MultilineTextEdit::drawContents(QPainter* p,int clipx,int clipy,int clipw,int cliph)
+{
+ // redraw text
+ QTextEdit::drawContents(p,clipx,clipy,clipw,cliph);
+ // overlay whitespace markup
+ drawWhitespaces();
+}
+
+void MultilineTextEdit::drawWhitespaces()
+{
+ // prepare a rectangle to store the width of the whitespace found
+ QRect space;
+ // get the painter for the text area
+ QPainter pa(viewport());
+
+ // get a sane color
+ QColor col=colorGroup().link();
+ // and a brush of the same color
+ QBrush fillBrush(col);
+ // use it for line drawing
+ pa.setPen(col);
+ // and for filling
+ pa.setBrush(fillBrush);
+
+ // prepare the carriage return coordinates array
+ QPointArray cr(4);
+ // and the tabulator arrow coordinate array
+ QPointArray tab(7);
+
+ // whitespace expression
+ QRegExp regex("\\s");
+
+ // line buffer
+ QString line;
+
+ int x,y,pos,paragraph;
+ // start looking in every paragraph
+ for(paragraph=0;paragraph<paragraphs();paragraph++)
+ {
+ // get paragraph text
+ line=text(paragraph);
+ // start looking for whitespaces from the beginning
+ pos=0;
+ while((pos=line.find(regex,pos))!=-1)
+ {
+ // whitespace found is not the carriage return at the end of the line?
+ if(pos<((int)line.length()-1))
+ {
+ // get whitespace rectangle
+ space=mapToView(paragraph,pos);
+ // extract x/y coordinates
+ x=space.width()/2-1+space.x();
+ y=space.height()/2-1+space.y();
+
+ // if it was a regular blank ...
+ if(regex.cap(0)==" ")
+ {
+ // dras a simple small square
+ pa.drawRect(x-1,y,2,2);
+ }
+ // if it was a tabulator
+ else if(regex.cap(0)=="\t")
+ {
+ // calculate arrow points and draw them filled
+ tab.putPoints(0,7, x-5,y-1, x,y-1, x,y-3, x+3,y, x,y+3, x,y+1, x-5,y+1);
+ pa.drawPolygon(tab);
+ }
+ }
+ // go to next position and resume looking for more whitespaces
+ pos++;
+ } // while
+
+ // end of line, get carriage return position
+ space=mapToView(paragraph,line.length()-1);
+ // extract x/y positions
+ x=space.width()/2-1+space.x();
+ y=space.height()/2-1+space.y();
+ // calculate carriage return triangle coordinates and draw them filled
+ cr.putPoints(0,4, x,y, x,y+1, x+4, y+5, x+4, y-4);
+ pa.drawPolygon(cr);
+ } // for
+}
+
+void MultilineTextEdit::cursorChanged(int /* p */ ,int /* i */)
+{
+ // update markup, since cursor destroys it
+ drawWhitespaces();
+}
+
+// code below from kbabel and adapted by me (Eisfuchs). Thanks, Guys!
+
+QRect MultilineTextEdit::mapToView(int para,int index)
+{
+ if( para < 0 || para > paragraphs() ||
+ index < 0 || index > paragraphLength(para) )
+ return QRect(); //invalid rectangle
+
+ const QFontMetrics& fm = fontMetrics();
+ const QString& paratext = text(para);
+
+ // Find index of the first character on the same line as parameter
+ // 'index' using binary search. Very fast, even for long texts.
+ int linestart = 0;
+ int indexline = lineOfChar( para, index );
+ if ( indexline > 0 )
+ {
+ int min = 0, max = index;
+ int i = (min + max)/2;
+ int iline = lineOfChar( para, i );
+ while ( iline != indexline-1 ||
+ lineOfChar( para, i+1 ) != indexline )
+ {
+ Q_ASSERT( min != max && min != i && max != i );
+ if ( iline < indexline )
+ min = i;
+ else
+ max = i;
+ i = (min + max)/2;
+ iline = lineOfChar( para, i );
+ }
+ linestart = i+1;
+ }
+ Q_ASSERT( linestart >= 0 );
+
+ int linewidth = fm.size(ExpandTabs, paratext.mid( linestart, index-linestart )).width();
+ int linewidth2 = fm.size(ExpandTabs, paratext.mid( linestart, index-linestart+1 )).width();
+
+ // FIXME as soon as it's possible to ask real margins from QTextEdit:
+ const int left_margin = 4;
+ // const int top_margin = 4;
+
+ QPainter painter( viewport());
+ const QRect& linerect = paragraphRect(para);
+
+ return QRect(
+ contentsToViewport( QPoint(
+ left_margin + linerect.left() + linewidth ,
+ /*top_margin + */linerect.top() + indexline * fm.lineSpacing() + fm.leading())),
+ QSize(
+ linewidth2-linewidth,
+ fm.lineSpacing()
+ ));
+}
+
+#include "multilinetextedit.moc"
diff --git a/konversation/src/multilinetextedit.h b/konversation/src/multilinetextedit.h
new file mode 100644
index 0000000..e0f71aa
--- /dev/null
+++ b/konversation/src/multilinetextedit.h
@@ -0,0 +1,41 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#ifndef MULTILINETEXTEDIT_H
+#define MULTILINETEXTEDIT_H
+
+#include <qtextedit.h>
+
+
+class QPaintEvent;
+class QWheelEvent;
+
+class MultilineTextEdit : public QTextEdit
+{
+ Q_OBJECT
+
+ public:
+ explicit MultilineTextEdit(QWidget* parent=0,const char* name=0);
+ ~MultilineTextEdit();
+
+ protected slots:
+ void drawWhitespaces();
+ void cursorChanged(int,int);
+
+ protected:
+ // reimplemented
+ virtual void drawContents(QPainter* p,int clipx,int clipy,int clipw,int cliph);
+
+ // the stuff below is copied from kbabel. Thanks, guys!
+ QRect mapToView(int paragraph,int index);
+};
+
+#endif
diff --git a/konversation/src/nick.cpp b/konversation/src/nick.cpp
new file mode 100644
index 0000000..1ea7ffc
--- /dev/null
+++ b/konversation/src/nick.cpp
@@ -0,0 +1,262 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Fri Jan 25 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "nick.h"
+#include "addressbook.h"
+
+#include <qtextstream.h>
+
+#include <kdebug.h>
+#include <klistview.h>
+#include <klocale.h>
+#include <kabc/phonenumber.h>
+
+#include "konversationapplication.h"
+#include "preferences.h"
+
+Nick::Nick(KListView *listView,
+const ChannelNickPtr& channelnick)
+ : QObject (),
+ KListViewItem (listView, listView->lastItem(), QString::null,
+ channelnick->getNickname(), channelnick->getHostmask())
+{
+ m_channelnickptr = channelnick;
+
+ Q_ASSERT(channelnick);
+ if(!channelnick) return;
+
+ m_flags = 0;
+ m_height = height();
+
+ refresh();
+
+ connect(this, SIGNAL(refreshed()), listView, SLOT(startResortTimer()));
+ connect(getChannelNick(), SIGNAL(channelNickChanged()), SLOT(refresh()));
+ connect(getChannelNick()->getNickInfo(), SIGNAL(nickInfoChanged()), SLOT(refresh()));
+}
+
+Nick::~Nick()
+{
+}
+
+ChannelNickPtr Nick::getChannelNick() const
+{
+ Q_ASSERT(m_channelnickptr);
+ return m_channelnickptr;
+}
+
+void Nick::refresh()
+{
+ int flags = 0;
+ NickInfo* nickInfo = getChannelNick()->getNickInfo();
+ bool away = false;
+
+ if ( nickInfo )
+ away = nickInfo->isAway();
+
+ if(away)
+ flags=1;
+
+ Images* images = KonversationApplication::instance()->images();
+ QPixmap icon;
+
+ if ( getChannelNick()->isOwner() )
+ {
+ flags += 64;
+ icon = images->getNickIcon( Images::Owner, away );
+ }
+ else if ( getChannelNick()->isAdmin() )
+ {
+ flags += 128;
+ icon = images->getNickIcon( Images::Admin, away );
+ }
+ else if ( getChannelNick()->isOp() )
+ {
+ flags += 32;
+ icon = images->getNickIcon( Images::Op, away );
+ }
+ else if ( getChannelNick()->isHalfOp() )
+ {
+ flags += 16;
+ icon = images->getNickIcon( Images::HalfOp, away );
+ }
+ else if ( getChannelNick()->hasVoice() )
+ {
+ flags += 8;
+ icon = images->getNickIcon( Images::Voice, away );
+ }
+ else
+ {
+ flags += 4;
+ icon = images->getNickIcon( Images::Normal, away );
+ }
+
+ setPixmap( 0, icon );
+
+ KABC::Picture pic = nickInfo->getAddressee().photo();
+
+ if(!pic.isIntern())
+ {
+ pic = nickInfo->getAddressee().logo();
+ }
+
+ if(pic.isIntern())
+ {
+ QPixmap qpixmap(pic.data().scaleHeight(m_height));
+ setPixmap(1,qpixmap);
+ }
+
+ QString newtext1 = calculateLabel1();
+ if(newtext1 != text(1))
+ {
+ setText(1, newtext1);
+ flags += 2;
+ }
+
+ setText(2, calculateLabel2());
+ repaint();
+
+ if(m_flags != flags)
+ {
+ m_flags = flags;
+ emit refreshed(); // Resort nick list
+ }
+}
+
+QString Nick::calculateLabel1()
+{
+ NickInfoPtr nickinfo = getChannelNick()->getNickInfo();
+ KABC::Addressee addressee = nickinfo->getAddressee();
+
+ if(!addressee.realName().isEmpty()) //if no addressee, realName will be empty
+ {
+ return nickinfo->getNickname() + " (" + addressee.realName() + ')';
+ }
+ else if(Preferences::showRealNames() && !nickinfo->getRealName().isEmpty())
+ {
+ return nickinfo->getNickname() + " (" + nickinfo->getRealName() + ')';
+ }
+
+ return nickinfo->getNickname();
+}
+
+QString Nick::calculateLabel2()
+{
+ return getChannelNick()->getNickInfo()->getHostmask();
+}
+
+int Nick::compare(QListViewItem* item,int col,bool ascending) const
+{
+ Nick* otherItem = static_cast<Nick*>(item);
+
+ if(Preferences::sortByActivity())
+ {
+ uint thisRecentActivity = getChannelNick()->recentActivity();
+ uint otherRecentActivity = otherItem->getChannelNick()->recentActivity();
+ if(thisRecentActivity > otherRecentActivity)
+ {
+ return -1;
+ }
+ if(thisRecentActivity < otherRecentActivity)
+ {
+ return 1;
+ }
+ uint thisTimestamp = getChannelNick()->timeStamp();
+ uint otherTimestamp = otherItem->getChannelNick()->timeStamp();
+ if(thisTimestamp > otherTimestamp)
+ {
+ return -1;
+ }
+ if(thisTimestamp < otherTimestamp)
+ {
+ return 1;
+ }
+ }
+
+ if(Preferences::sortByStatus())
+ {
+ int thisFlags = getSortingValue();
+ int otherFlags = otherItem->getSortingValue();
+
+ if(thisFlags > otherFlags)
+ {
+ return 1;
+ }
+ if(thisFlags < otherFlags)
+ {
+ return -1;
+ }
+ }
+
+ QString thisKey;
+ QString otherKey;
+
+ if(col > 1) //the reason we need this: enabling hostnames adds another column
+ {
+ if(Preferences::sortCaseInsensitive())
+ {
+ thisKey = thisKey.lower();
+ otherKey = otherKey.lower();
+ }
+ else
+ {
+ thisKey = key(col, ascending);
+ otherKey = otherItem->key(col, ascending);
+ }
+ }
+ else if(col == 1)
+ {
+ if(Preferences::sortCaseInsensitive())
+ {
+ thisKey = getChannelNick()->loweredNickname();
+ otherKey = otherItem->getChannelNick()->loweredNickname();
+ }
+ else
+ {
+ thisKey = key(col, ascending);
+ otherKey = otherItem->key(col, ascending);
+ }
+ }
+
+ return thisKey.compare(otherKey);
+}
+
+void Nick::paintCell(QPainter * p, const QColorGroup & cg, int column, int width, int align )
+{
+ QColorGroup cg2 = cg;
+ NickInfo* nickInfo = getChannelNick()->getNickInfo();
+
+ if(nickInfo->isAway())
+ {
+ cg2.setColor(QColorGroup::Text, kapp->palette(listView()).disabled().text());
+ }
+
+ KListViewItem::paintCell(p,cg2,column,width,align);
+}
+
+int Nick::getSortingValue() const
+{
+ int flags;
+ QString sortingOrder = Preferences::sortOrder();
+
+ if(getChannelNick()->isOwner()) flags=sortingOrder.find('q');
+ else if(getChannelNick()->isAdmin()) flags=sortingOrder.find('p');
+ else if(getChannelNick()->isOp() ) flags=sortingOrder.find('o');
+ else if(getChannelNick()->isHalfOp()) flags=sortingOrder.find('h');
+ else if(getChannelNick()->hasVoice()) flags=sortingOrder.find('v');
+ else flags=sortingOrder.find('-');
+
+ return flags;
+}
+
+#include "nick.moc"
diff --git a/konversation/src/nick.h b/konversation/src/nick.h
new file mode 100644
index 0000000..1a5ae59
--- /dev/null
+++ b/konversation/src/nick.h
@@ -0,0 +1,55 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Fri Jan 25 2002
+ copyright: (C) 2002 by Dario Abatianni
+ (C) 2007 Peter Simonsson <peter.simonsson@gmail.com>
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef NICK_H
+#define NICK_H
+
+#include <qobject.h>
+#include <klistview.h>
+
+#include "channelnick.h"
+
+class Nick : public QObject, public KListViewItem
+{
+ Q_OBJECT
+ public:
+ Nick(KListView *listView,
+ const ChannelNickPtr& channelnick);
+ ~Nick();
+
+ ChannelNickPtr getChannelNick() const;
+ int getSortingValue() const;
+
+ virtual void paintCell(QPainter * p, const QColorGroup & cg, int column, int width, int align);
+ virtual int compare(QListViewItem* item,int col,bool ascending) const;
+
+ public slots:
+ void refresh();
+
+ signals:
+ void refreshed();
+
+ protected:
+ QString calculateLabel1();
+ QString calculateLabel2();
+
+ protected:
+ ChannelNickPtr m_channelnickptr;
+
+ QString label;
+ int m_height;
+ int m_flags;
+ bool m_away;
+};
+#endif
diff --git a/konversation/src/nickinfo.cpp b/konversation/src/nickinfo.cpp
new file mode 100644
index 0000000..72853aa
--- /dev/null
+++ b/konversation/src/nickinfo.cpp
@@ -0,0 +1,445 @@
+/*
+ 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.
+*/
+
+/*
+ Nick Information
+ begin: Sat Jan 17 2004
+ copyright: (C) 2004 by Gary Cramblitt
+ email: garycramblitt@comcast.net
+*/
+
+/*
+ The NickInfo object is a data container for information about a single nickname.
+ It is owned by the Server object and should NOT be deleted by anything other than Server.
+ Store a pointer to this with NickInfoPtr
+*/
+
+#include "nickinfo.h"
+#include "konversationapplication.h"
+#include "linkaddressbook/addressbook.h"
+#include "linkaddressbook/linkaddressbookui.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "server.h"
+
+#include <qtooltip.h>
+
+#include <klocale.h>
+
+
+NickInfo::NickInfo(const QString& nick, Server* server): KShared()
+{
+ m_addressee=Konversation::Addressbook::self()->getKABCAddresseeFromNick(nick, server->getServerName(), server->getDisplayName());
+ m_nickname = nick;
+ m_loweredNickname = nick.lower();
+ m_owningServer = server;
+ m_away = false;
+ m_notified = false;
+ m_identified = false;
+ m_printedOnline = true;
+
+ if(!m_addressee.isEmpty())
+ Konversation::Addressbook::self()->emitContactPresenceChanged(m_addressee.uid(), 4);
+
+ connect( Konversation::Addressbook::self()->getAddressBook(), SIGNAL( addressBookChanged( AddressBook * ) ), this, SLOT( refreshAddressee() ) );
+ connect( Konversation::Addressbook::self(), SIGNAL(addresseesChanged()), this, SLOT(refreshAddressee()));
+
+ m_changedTimer = new QTimer( this);
+ connect(m_changedTimer, SIGNAL( timeout()), SLOT(emitNickInfoChanged()));
+
+ // reset nick color
+ m_nickColor = 0;
+}
+
+NickInfo::~NickInfo()
+{
+ if(!m_addressee.isEmpty())
+ Konversation::Addressbook::self()->emitContactPresenceChanged(m_addressee.uid(), 1);
+}
+
+// Get properties of NickInfo object.
+QString NickInfo::getNickname() const { return m_nickname; }
+QString NickInfo::loweredNickname() const { return m_loweredNickname; }
+QString NickInfo::getHostmask() const { return m_hostmask; }
+
+bool NickInfo::isAway() const { return m_away; }
+QString NickInfo::getAwayMessage() const { return m_awayMessage; }
+QString NickInfo::getIdentdInfo() const { return m_identdInfo; }
+QString NickInfo::getVersionInfo() const { return m_versionInfo; }
+bool NickInfo::isNotified() const { return m_notified; }
+QString NickInfo::getRealName() const { return m_realName; }
+QString NickInfo::getNetServer() const { return m_netServer; }
+QString NickInfo::getNetServerInfo() const { return m_netServerInfo; }
+QDateTime NickInfo::getOnlineSince() const { return m_onlineSince; }
+
+uint NickInfo::getNickColor()
+{
+ // do we already have a color?
+ if(!m_nickColor)
+ {
+ int nickvalue = 0;
+
+ for (uint index = 0; index < m_nickname.length(); index++)
+ {
+ nickvalue += m_nickname[index].unicode();
+ }
+
+ m_nickColor = (nickvalue % 8) + 1;
+ }
+ // return color offset -1 (since we store it +1 for 0 checking)
+ return m_nickColor-1;
+}
+
+bool NickInfo::isIdentified() const { return m_identified; }
+
+QString NickInfo::getPrettyOnlineSince() const
+{
+ QString prettyOnlineSince;
+ int daysto = m_onlineSince.date().daysTo( QDate::currentDate());
+ if(daysto == 0) prettyOnlineSince = i18n("Today");
+ else if(daysto == 1) prettyOnlineSince = i18n("Yesterday");
+ else prettyOnlineSince = m_onlineSince.toString("ddd d MMMM yyyy");
+ //TODO - we should use KLocale for this
+ prettyOnlineSince += ", " + m_onlineSince.toString("h:mm ap");
+
+ return prettyOnlineSince;
+}
+
+// Return the Server object that owns this NickInfo object.
+Server* NickInfo::getServer() const { return m_owningServer; }
+
+// Set properties of NickInfo object.
+void NickInfo::setNickname(const QString& newNickname)
+{
+ Q_ASSERT(!newNickname.isEmpty());
+ if(newNickname == m_nickname) return;
+
+ KABC::Addressee newaddressee = Konversation::Addressbook::self()->getKABCAddresseeFromNick(newNickname, m_owningServer->getServerName(), m_owningServer->getDisplayName());
+ //We now know who this person is
+ if(m_addressee.isEmpty() && !newaddressee.isEmpty())
+ {
+ //Associate the old nickname with new contact
+ Konversation::Addressbook::self()->associateNick(newaddressee,m_nickname, m_owningServer->getServerName(), m_owningServer->getDisplayName());
+ Konversation::Addressbook::self()->saveAddressee(newaddressee);
+ }
+ else if(!m_addressee.isEmpty() && newaddressee.isEmpty())
+ {
+ Konversation::Addressbook::self()->associateNick(m_addressee, newNickname, m_owningServer->getServerName(), m_owningServer->getDisplayName());
+ Konversation::Addressbook::self()->saveAddressee(newaddressee);
+ newaddressee = m_addressee;
+ }
+
+ m_addressee = newaddressee;
+ m_nickname = newNickname;
+ m_loweredNickname = newNickname.lower();
+
+ QString realname = m_addressee.realName();
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::emitNickInfoChanged()
+{
+ m_owningServer->emitNickInfoChanged(this);
+ emit nickInfoChanged();
+}
+
+void NickInfo::startNickInfoChangedTimer()
+{
+ if(!m_changedTimer->isActive())
+ m_changedTimer->start(3000, true /*single shot*/);
+}
+
+void NickInfo::setHostmask(const QString& newMask)
+{
+ if (newMask.isEmpty() || newMask == m_hostmask) return;
+ m_hostmask = newMask;
+
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setAway(bool state)
+{
+ if(state == m_away) return;
+ m_away = state;
+
+ startNickInfoChangedTimer();
+ if(!m_addressee.isEmpty())
+ Konversation::Addressbook::self()->emitContactPresenceChanged(m_addressee.uid());
+}
+
+void NickInfo::setIdentified(bool identified)
+{
+ if(identified == m_identified) return;
+ m_identified = identified;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setAwayMessage(const QString& newMessage)
+{
+ if(m_awayMessage == newMessage) return;
+ m_awayMessage = newMessage;
+
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setIdentdInfo(const QString& newIdentdInfo)
+{
+ if(m_identdInfo == newIdentdInfo) return;
+ m_identdInfo = newIdentdInfo;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setVersionInfo(const QString& newVersionInfo)
+{
+ if(m_versionInfo == newVersionInfo) return;
+ m_versionInfo = newVersionInfo;
+
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setNotified(bool state)
+{
+ if(state == m_notified) return;
+ m_notified = state;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setRealName(const QString& newRealName)
+{
+ if (newRealName.isEmpty() || m_realName == newRealName) return;
+ m_realName = newRealName;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setNetServer(const QString& newNetServer)
+{
+ if (newNetServer.isEmpty() || m_netServer == newNetServer) return;
+ m_netServer = newNetServer;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setNetServerInfo(const QString& newNetServerInfo)
+{
+ if (newNetServerInfo.isEmpty() || newNetServerInfo == m_netServerInfo) return;
+ m_netServerInfo = newNetServerInfo;
+ startNickInfoChangedTimer();
+}
+
+void NickInfo::setOnlineSince(const QDateTime& datetime)
+{
+ if (datetime.isNull() || datetime == m_onlineSince) return;
+ m_onlineSince = datetime;
+
+ startNickInfoChangedTimer();
+}
+
+KABC::Addressee NickInfo::getAddressee() const { return m_addressee;}
+
+void NickInfo::refreshAddressee()
+{
+ //m_addressee might not have changed, but information inside it may have.
+ KABC::Addressee addressee=Konversation::Addressbook::self()->getKABCAddresseeFromNick(m_nickname, m_owningServer->getServerName(), m_owningServer->getDisplayName());
+ if(!addressee.isEmpty() && addressee.uid() != m_addressee.uid())
+ {
+ //This nick now belongs to a different addressee. We need to update the status for both the old and new addressees.
+ Konversation::Addressbook::self()->emitContactPresenceChanged(addressee.uid());
+ }
+ m_addressee = addressee;
+
+ startNickInfoChangedTimer();
+
+ if(!m_addressee.isEmpty())
+ Konversation::Addressbook::self()->emitContactPresenceChanged(m_addressee.uid());
+}
+
+QString NickInfo::tooltip() const
+{
+
+ QString strTooltip;
+ QTextStream tooltip( &strTooltip, IO_WriteOnly );
+ tooltip << "<qt>";
+
+ tooltip << "<table cellspacing=\"0\" cellpadding=\"0\">";
+ tooltipTableData(tooltip);
+ tooltip << "</table></qt>";
+ return strTooltip;
+}
+
+QString NickInfo::getBestAddresseeName()
+{
+ if(!m_addressee.formattedName().isEmpty())
+ {
+ return m_addressee.formattedName();
+ }
+ else if(!m_addressee.realName().isEmpty())
+ {
+ return m_addressee.realName();
+ }
+ else if(!getRealName().isEmpty())
+ {
+ return getRealName();
+ }
+ else
+ {
+ return getNickname();
+ }
+
+}
+
+void NickInfo::tooltipTableData(QTextStream &tooltip) const
+{
+ tooltip << "<tr><td colspan=\"2\" valign=\"top\">";
+
+ bool dirty = false;
+ KABC::Picture photo = m_addressee.photo();
+ KABC::Picture logo = m_addressee.logo();
+ bool isimage=false;
+ if(photo.isIntern())
+ {
+ QMimeSourceFactory::defaultFactory()->setImage( "photo", photo.data() );
+ tooltip << "<img src=\"photo\">";
+ dirty=true;
+ isimage=true;
+ }
+ else if(!photo.url().isEmpty())
+ {
+ //JOHNFLUX FIXME TODO:
+ //Are there security problems with this? loading from an external refrence?
+ //Assuming not.
+ tooltip << "<img src=\"" << photo.url() << "\">";
+ dirty=true;
+ isimage=true;
+ }
+ if(logo.isIntern())
+ {
+ QMimeSourceFactory::defaultFactory()->setImage( "logo", logo.data() );
+ tooltip << "<img src=\"logo\">";
+ dirty=true;
+ isimage=true;
+ }
+ else if(!logo.url().isEmpty())
+ {
+ //JOHNFLUX FIXME TODO:
+ //Are there security problems with this? loading from an external refrence?
+ //Assuming not.
+ tooltip << "<img src=\"" << logo.url() << "\">";
+ dirty=true;
+ isimage=true;
+ }
+ tooltip << "<b>" << (isimage?"":"<center>");
+ if(!m_addressee.formattedName().isEmpty())
+ {
+ tooltip << m_addressee.formattedName();
+ dirty = true;
+ }
+ else if(!m_addressee.realName().isEmpty())
+ {
+ tooltip << m_addressee.realName();
+ dirty = true;
+ }
+ else if(!getRealName().isEmpty() && getRealName().lower() != loweredNickname())
+ {
+ QString escapedRealName( getRealName() );
+ escapedRealName.replace("<","&lt;").replace(">","&gt;");
+ tooltip << escapedRealName;
+ dirty = true;
+ }
+ else
+ {
+ tooltip << getNickname();
+ //Don't set dirty if all we have is their nickname
+ }
+ if(m_identified) tooltip << i18n(" (identified)");
+ tooltip << (isimage?"":"</center>") << "</b>";
+
+ tooltip << "</td></tr>";
+ if(!m_addressee.emails().isEmpty())
+ {
+ tooltip << "<tr><td><b>" << i18n("Email") << ": </b></td><td>";
+ tooltip << m_addressee.emails().join(", ");
+ tooltip << "</td></tr>";
+ dirty=true;
+ }
+
+ if(!m_addressee.organization().isEmpty())
+ {
+ tooltip << "<tr><td><b>" << m_addressee.organizationLabel() << ": </b></td><td>" << m_addressee.organization() << "</td></tr>";
+ dirty=true;
+ }
+ if(!m_addressee.role().isEmpty())
+ {
+ tooltip << "<tr><td><b>" << m_addressee.roleLabel() << ": </b></td><td>" << m_addressee.role() << "</td></tr>";
+ dirty=true;
+ }
+ KABC::PhoneNumber::List numbers = m_addressee.phoneNumbers();
+ for( KABC::PhoneNumber::List::ConstIterator it = numbers.begin(); it != numbers.end(); ++it)
+ {
+ tooltip << "<tr><td><b>" << (*it).label() << ": </b></td><td>" << (*it).number() << "</td></tr>";
+ dirty=true;
+ }
+ if(!m_addressee.birthday().toString().isEmpty() )
+ {
+ tooltip << "<tr><td><b>" << m_addressee.birthdayLabel() << ": </b></td><td>" << m_addressee.birthday().toString("ddd d MMMM yyyy") << "</td></tr>";
+ dirty=true;
+ }
+ if(!getHostmask().isEmpty())
+ {
+ tooltip << "<tr><td><b>" << i18n("Hostmask:") << " </b></td><td>" << getHostmask() << "</td></tr>";
+ dirty=true;
+ }
+ if(isAway())
+ {
+ tooltip << "<tr><td><b>" << i18n("Away Message:") << " </b></td><td>";
+ if(!getAwayMessage().isEmpty())
+ tooltip << getAwayMessage();
+ else
+ tooltip << i18n("(unknown)");
+ tooltip << "</td></tr>";
+ dirty=true;
+ }
+ if(!getOnlineSince().toString().isEmpty())
+ {
+ tooltip << "<tr><td><b>" << i18n("Online Since:") << " </b></td><td>" << getPrettyOnlineSince() << "</td></tr>";
+ dirty=true;
+ }
+
+}
+
+void NickInfo::showLinkAddressbookUI()
+{
+ LinkAddressbookUI *linkaddressbookui = new LinkAddressbookUI(m_owningServer->getViewContainer()->getWindow(), NULL, m_nickname, m_owningServer->getServerName(), m_owningServer->getDisplayName(), m_realName);
+ linkaddressbookui->show();
+
+}
+
+bool NickInfo::editAddressee() const
+{
+ if(m_addressee.isEmpty()) return false;
+
+ Konversation::Addressbook::self()->editAddressee(m_addressee.uid());
+ return true;
+}
+
+bool NickInfo::sendEmail() const
+{
+ return Konversation::Addressbook::self()->sendEmail(m_addressee);
+}
+
+void NickInfo::setPrintedOnline(bool printed)
+{
+ m_printedOnline=printed;
+}
+
+bool NickInfo::getPrintedOnline()
+{
+ if(this)
+ return m_printedOnline;
+ else
+ return false;
+}
+
+#include "nickinfo.moc"
diff --git a/konversation/src/nickinfo.h b/konversation/src/nickinfo.h
new file mode 100644
index 0000000..f6e9a9b
--- /dev/null
+++ b/konversation/src/nickinfo.h
@@ -0,0 +1,185 @@
+/*
+ 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.
+*/
+
+/*
+ Nick Information
+ begin: Sat Jan 17 2004
+ copyright: (C) 2004 by Gary Cramblitt
+ email: garycramblitt@comcast.net
+*/
+
+#ifndef NICKINFO_H
+#define NICKINFO_H
+
+#include <qstringlist.h>
+#include <qdatetime.h>
+#include <ksharedptr.h>
+
+#include <kabc/addressbook.h>
+
+
+class Server;
+class QTimer;
+
+/**
+ The NickInfo object is a data container for information about a single nickname.
+ It is owned by the Server object and should NOT be deleted by anything other than Server.
+
+ A NickInfo is _only_ for online (or away) nicks. Not for offline nicks.
+ Offline (but watched or in addressbook) nicks are stored in the Server object.
+
+*/
+class NickInfo : public QObject, public KShared
+{
+ Q_OBJECT
+
+ public:
+ NickInfo(const QString& nick, Server* server);
+ ~NickInfo();
+
+ // Get properties of NickInfo object.
+ QString getNickname() const;
+ QString loweredNickname() const;
+ QString getHostmask() const;
+ /** Currently return whether the user has set themselves to away with /away.
+ * May be changed in the future to parse the nick string and see if it contains
+ * "|away" or "|afk" or something.
+ */
+ bool isAway() const;
+ QString getAwayMessage() const;
+ QString getIdentdInfo() const;
+ QString getVersionInfo() const;
+ bool isNotified() const;
+ QString getRealName() const;
+ QString getNetServer() const;
+ QString getNetServerInfo() const;
+ QDateTime getOnlineSince() const;
+ uint getNickColor();
+ /** Whether this user is identified with nickserv.
+ * Found only by doing /whois nick
+ */
+ bool isIdentified() const;
+ /** This returns a string of the date and time that the user has been online since.
+ * It will return null if a /whois hasn't been issued yet for this nickinfo
+ * @return a date-string in the form of "Today, 4:23pm", "Yesterday, 12:32pm" or "Mon 3 Mar 2004, 8:02am"
+ */
+ QString getPrettyOnlineSince() const;
+ /// Return the Server object that owns this NickInfo object.
+ Server* getServer() const;
+
+ /// Return the kabc (kaddressbook) contact for this nick
+ KABC::Addressee getAddressee() const;
+
+ /** Set properties of NickInfo object. */
+ void setNickname(const QString& newNickname);
+ /** Set properties of NickInfo object. Ignores the request is newmask is empty.*/
+ void setHostmask(const QString& newMask);
+ /** Set properties of NickInfo object. */
+ void setAway(bool state);
+ /** Set properties of NickInfo object. */
+ void setAwayMessage(const QString& newMessage);
+ /** Set properties of NickInfo object. */
+ void setIdentdInfo(const QString& newIdentdInfo);
+ /** Set properties of NickInfo object. */
+ void setVersionInfo(const QString& newVersionInfo);
+ /** Set properties of NickInfo object. */
+ void setNotified(bool state);
+ /** Set properties of NickInfo object. */
+ void setRealName(const QString& newRealName);
+ /** Set properties of NickInfo object. */
+ void setNetServer(const QString& newNetServer);
+ /** Set properties of NickInfo object. */
+ void setNetServerInfo(const QString& newNetServerInfo);
+ /** Whether this user is identified with nickserv.
+ * Found only by doing /whois nick
+ */
+ void setIdentified(bool identified);
+ /** Updates the time online since.
+ * This will be called from the results of a /whois
+ * This function also calculates and sets prettyOnlineSince
+ * @see getPrettyOnlineSince()
+ */
+ void setOnlineSince(const QDateTime& datetime);
+ /** Returns html describing this nickInfo - useful for tooltips when hovering over this nick.
+ */
+ QString tooltip() const;
+ /** Returns just the <tr><td>.. data for a tooltip.
+ * Used so that channelNick->tooltip() can call this, then append on its own information.
+ */
+ void tooltipTableData(QTextStream &tooltip) const;
+
+ /** Returns a full name for this contact. Tries to use the name out of addressbook.
+ * If that is empty, uses the real name from whois. If that fails, use nickname.
+ *
+ * @return A string to show the user for the name of this contact
+ */
+ QString getBestAddresseeName();
+
+ /** Open this contact up in a "edit addresee association" window
+ */
+ void showLinkAddressbookUI();
+ /** Edit the contact in kaddressbook
+ */
+ bool editAddressee() const;
+ /** Run kmail for this contact
+ */
+ bool sendEmail() const;
+
+ void setPrintedOnline(bool printed);
+ bool getPrintedOnline();
+
+ private:
+ /** After calling, emitNickInfoChanged is guaranteed to be called _within_ 1 second.
+ * Used to consolidate changed signals.
+ */
+ void startNickInfoChangedTimer();
+ QString m_nickname;
+ QString m_loweredNickname;
+ Server* m_owningServer;
+ QString m_hostmask;
+ bool m_away;
+ QString m_awayMessage;
+ QString m_identdInfo;
+ QString m_versionInfo;
+ bool m_notified;
+ QString m_realName;
+ /** The server they are connected to. */
+ QString m_netServer;
+ QString m_netServerInfo;
+ QDateTime m_onlineSince;
+ KABC::Addressee m_addressee;
+ /** Whether this user is identified with nickserv.
+ * Found only by doing /whois nick
+ */
+ bool m_identified;
+ QTimer *m_changedTimer;
+ /* True if "foo is online" message is printed */
+ bool m_printedOnline;
+ /* The color index for lookup on Preferences::NickColor(index).name()
+ Internally stored as index-1 to allow checking for 0 */
+ uint m_nickColor;
+
+ private slots:
+ void refreshAddressee();
+ /** emits NickInfoChanged for this object, and calls the server emitNickInfoChanged.
+ * Called when the m_changedTimer activates.
+ */
+ void emitNickInfoChanged();
+ signals:
+ void nickInfoChanged(void);
+};
+
+/** A NickInfoPtr is a pointer to a NickInfo object. Since it is a KSharedPtr, the NickInfo
+ * object is automatically destroyed when all references are destroyed.
+ */
+typedef KSharedPtr<NickInfo> NickInfoPtr;
+/** A NickInfoMap is a list of NickInfo objects, indexed and sorted by lowercase nickname.
+ */
+typedef QMap<QString,NickInfoPtr> NickInfoMap;
+
+typedef QValueList<NickInfoPtr> NickInfoList;
+#endif
diff --git a/konversation/src/nicklistbehavior_preferences.cpp b/konversation/src/nicklistbehavior_preferences.cpp
new file mode 100644
index 0000000..8bb3bde
--- /dev/null
+++ b/konversation/src/nicklistbehavior_preferences.cpp
@@ -0,0 +1,108 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "nicklistbehavior_preferences.h"
+#include "valuelistviewitem.h"
+#include "config/preferences.h"
+
+#include <qheader.h>
+
+#include <kapplication.h>
+#include <klocale.h>
+
+
+NicklistBehavior_Config::NicklistBehavior_Config(QWidget *parent, const char *name)
+ : NicklistBehavior_ConfigUI(parent, name)
+{
+ // get page widget and populate listview
+ loadSettings();
+
+ // make items react to drag & drop
+ sortOrder->setSorting(-1,false);
+ sortOrder->header()->setMovingEnabled(false);
+
+ connect(sortOrder,SIGNAL (moved()),this,SIGNAL (modified()) );
+}
+
+NicklistBehavior_Config::~NicklistBehavior_Config()
+{
+}
+
+void NicklistBehavior_Config::restorePageToDefaults()
+{
+ setNickList(Preferences::defaultNicknameSortingOrder());
+}
+
+void NicklistBehavior_Config::loadSettings()
+{
+ // get sorting order string from preferences
+ setNickList(Preferences::sortOrder());
+ m_oldSortingOrder=currentSortingOrder();
+}
+
+void NicklistBehavior_Config::setNickList(const QString &sortingOrder)
+{
+ sortOrder->clear();
+ // loop through the sorting order string, insert the matching descriptions in reverse order
+ // to keep the correct sorting
+ for(unsigned int index=sortingOrder.length();index!=0;index--)
+ {
+ // get next mode char
+ QChar mode=sortingOrder[index-1];
+ // find appropriate description
+ if(mode=='-') new KListViewItem(sortOrder,mode,i18n("Normal Users"));
+ if(mode=='v') new KListViewItem(sortOrder,mode,i18n("Voice (+v)"));
+ if(mode=='h') new KListViewItem(sortOrder,mode,i18n("Halfops (+h)"));
+ if(mode=='o') new KListViewItem(sortOrder,mode,i18n("Operators (+o)"));
+ if(mode=='p') new KListViewItem(sortOrder,mode,i18n("Channel Admins (+p)"));
+ if(mode=='q') new KListViewItem(sortOrder,mode,i18n("Channel Owners (+q)"));
+ }
+}
+
+QString NicklistBehavior_Config::currentSortingOrder()
+{
+ // get the uppermost entry of the sorting list
+ QListViewItem* item=sortOrder->firstChild();
+ // prepare the new sorting order string
+ QString currentSortingOrder;
+ // iterate through all items of the listview
+ while(item)
+ {
+ // add mode char to the sorting order string
+ currentSortingOrder+=item->text(0);
+ // go to next item in the listview
+ item=item->itemBelow();
+ } // while
+
+ return currentSortingOrder;
+}
+
+// save settings permanently
+void NicklistBehavior_Config::saveSettings()
+{
+ // get the current sorting order
+ QString newSortingOrder=currentSortingOrder();
+
+ // update sorting order on in-memory preferences
+ Preferences::setSortOrder(newSortingOrder);
+
+ // save current sorting order as a reference to hasChanged()
+ m_oldSortingOrder=currentSortingOrder();
+}
+
+bool NicklistBehavior_Config::hasChanged()
+{
+ return(m_oldSortingOrder!=currentSortingOrder());
+}
+
+#include "nicklistbehavior_preferences.moc"
diff --git a/konversation/src/nicklistbehavior_preferences.h b/konversation/src/nicklistbehavior_preferences.h
new file mode 100644
index 0000000..5eda68d
--- /dev/null
+++ b/konversation/src/nicklistbehavior_preferences.h
@@ -0,0 +1,46 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef NICKLISTBEHAVIOR_Config_H
+#define NICKLISTBEHAVIOR_Config_H
+
+#include "konvisettingspage.h"
+#include "nicklistbehavior_preferencesui.h"
+
+#include <qobject.h>
+
+
+class NicklistBehavior_Config : public NicklistBehavior_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit NicklistBehavior_Config(QWidget *parent = 0, const char *name = 0);
+ ~NicklistBehavior_Config();
+
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+
+ virtual bool hasChanged();
+
+ private:
+ void setNickList(const QString &sortingOrder);
+ QString currentSortingOrder();
+
+ QString m_oldSortingOrder;
+
+ signals:
+ void modified();
+};
+
+#endif
diff --git a/konversation/src/nicklistbehavior_preferencesui.ui b/konversation/src/nicklistbehavior_preferencesui.ui
new file mode 100644
index 0000000..2e84d89
--- /dev/null
+++ b/konversation/src/nicklistbehavior_preferencesui.ui
@@ -0,0 +1,160 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>NicklistBehavior_ConfigUI</class>
+<comment>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.
+</comment>
+<author>Copyright (C) 2005 Peter Simonsson</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>NicklistBehavior_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>692</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Command to be executed on double click:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_ChannelDoubleClickAction</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_SortCaseInsensitive</cstring>
+ </property>
+ <property name="text">
+ <string>Sort case &amp;insensitive</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_SortByActivity</cstring>
+ </property>
+ <property name="text">
+ <string>Sort by &amp;activity</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_SortByStatus</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Sort b&amp;y user status</string>
+ </property>
+ </widget>
+ <widget class="KListView" row="4" column="0" rowspan="1" colspan="3">
+ <column>
+ <property name="text">
+ <string>Mode</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Explanation</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>sortOrder</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="shadeSortColumn">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="0" column="2">
+ <property name="name">
+ <cstring>kcfg_ChannelDoubleClickAction</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>orderHintLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>(Reorder nick sorting order by drag and drop)</string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_SortByStatus</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>sortOrder</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_SortByStatus</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>orderHintLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_ChannelDoubleClickAction</tabstop>
+ <tabstop>kcfg_SortCaseInsensitive</tabstop>
+ <tabstop>kcfg_SortByStatus</tabstop>
+ <tabstop>sortOrder</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/nicklistview.cpp b/konversation/src/nicklistview.cpp
new file mode 100644
index 0000000..e6e2bf2
--- /dev/null
+++ b/konversation/src/nicklistview.cpp
@@ -0,0 +1,336 @@
+/*
+ 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 is the class that shows the channel nick list
+ begin: Fre Jun 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "nicklistview.h"
+#include "konversationapplication.h"
+#include "images.h"
+#include "linkaddressbook/addressbook.h"
+
+#include <kpopupmenu.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <qtooltip.h>
+#include <qtimer.h>
+#include <kiconloader.h>
+#include <qwhatsthis.h>
+#include <qdragobject.h>
+
+
+NickListView::NickListView(QWidget* parent, Channel *chan) :
+KListView(parent)
+{
+ KListView::setSorting(-1);
+ setWhatsThis();
+ channel=chan;
+ popup=new KPopupMenu(this,"nicklist_context_menu");
+ modes=new KPopupMenu(this,"nicklist_modes_context_submenu");
+ kickban=new KPopupMenu(this,"nicklist_kick_ban_context_submenu");
+ addressbook= new KPopupMenu(this,"nicklist_addressbook_context_submenu");
+ setAcceptDrops(true);
+ setDropHighlighter(true);
+ setDropVisualizer(false);
+
+ if (popup)
+ {
+ popup->insertItem(i18n("&Whois"),Konversation::Whois);
+ popup->insertItem(i18n("&Version"),Konversation::Version);
+ popup->insertItem(i18n("&Ping"),Konversation::Ping);
+
+ popup->insertSeparator();
+
+ if (modes)
+ {
+ modes->insertItem(i18n("Give Op"),Konversation::GiveOp);
+ modes->insertItem(i18n("Take Op"),Konversation::TakeOp);
+ modes->insertItem(i18n("Give HalfOp"),Konversation::GiveHalfOp);
+ modes->insertItem(i18n("Take HalfOp"),Konversation::TakeHalfOp);
+ modes->insertItem(i18n("Give Voice"),Konversation::GiveVoice);
+ modes->insertItem(i18n("Take Voice"),Konversation::TakeVoice);
+ popup->insertItem(i18n("Modes"),modes,Konversation::ModesSub);
+ }
+
+ if (kickban)
+ {
+
+ kickban->insertItem(i18n("Kick"),Konversation::Kick);
+ kickban->insertItem(i18n("Kickban"),Konversation::KickBan);
+ kickban->insertItem(i18n("Ban Nickname"),Konversation::BanNick);
+ kickban->insertSeparator();
+ kickban->insertItem(i18n("Ban *!*@*.host"),Konversation::BanHost);
+ kickban->insertItem(i18n("Ban *!*@domain"),Konversation::BanDomain);
+ kickban->insertItem(i18n("Ban *!user@*.host"),Konversation::BanUserHost);
+ kickban->insertItem(i18n("Ban *!user@domain"),Konversation::BanUserDomain);
+ kickban->insertSeparator();
+ kickban->insertItem(i18n("Kickban *!*@*.host"),Konversation::KickBanHost);
+ kickban->insertItem(i18n("Kickban *!*@domain"),Konversation::KickBanDomain);
+ kickban->insertItem(i18n("Kickban *!user@*.host"),Konversation::KickBanUserHost);
+ kickban->insertItem(i18n("Kickban *!user@domain"),Konversation::KickBanUserDomain);
+ popup->insertItem(i18n("Kick / Ban"),kickban,Konversation::KickBanSub);
+ }
+
+ popup->insertItem(i18n("Ignore"), Konversation::IgnoreNick);
+ popup->insertItem(i18n("Unignore"), Konversation::UnignoreNick);
+
+ popup->insertSeparator();
+
+ int newitem;
+ newitem = popup->insertItem(i18n("Open &Query"),Konversation::OpenQuery);
+ popup->setWhatsThis(newitem, "<qt>Start a private chat between you and this person.<p/><em>Technical note:</em><br>The conversation between you and this person will be sent via the server. This means that the conversation will be affected by server lag, server stability, and will be terminated when you disconnect from the server.</qt>");
+ newitem = popup->insertItem(i18n("Open DCC &Chat"),Konversation::StartDccChat);
+ popup->setWhatsThis(newitem, "<qt>Start a private <em>D</em>irect <em>C</em>lient <em>C</em>onnection chat between you and this person.<p/><em>Technical note:</em><br />The conversation between you and this person will be sent directly. This means it is independent from the server - so if the server connection fails, or use disconnect, your DCC Chat will be unaffected. It also means that no irc server admin can view or spy on this chat.</qt>");
+
+ if (kapp->authorize("allow_downloading"))
+ {
+ newitem = popup->insertItem(SmallIcon("2rightarrow"),i18n("Send &File..."),Konversation::DccSend);
+ popup->setWhatsThis(newitem, "<qt>Send a file to this person. If you are having problem sending files, or they are sending slowly, see the Konversation Handbook and DCC preferences page.</qt>");
+ }
+ popup->insertItem(SmallIconSet("mail_generic"),i18n("&Send Email..."), Konversation::SendEmail);
+
+ popup->insertSeparator();
+
+ if (addressbook)
+ popup->insertItem(i18n("Addressbook Associations"), addressbook, Konversation::AddressbookSub);
+
+ popup->insertItem(i18n("Add to Watched Nicks"), Konversation::AddNotify);
+
+ connect (popup, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ connect (modes, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ connect (kickban, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ connect (addressbook, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+
+ }
+ else
+ {
+ kdWarning() << "NickListView::NickListView(): Could not create popup!" << endl;
+ }
+
+ #if KDE_IS_VERSION(3,3,90)
+ setShadeSortColumn(false);
+ #endif
+
+ // We have our own tooltips, don't use the default QListView ones
+ setShowToolTips(false);
+ m_tooltip = new Konversation::KonversationNickListViewToolTip(viewport(), this);
+
+ m_resortTimer = new QTimer(this);
+ connect(m_resortTimer, SIGNAL(timeout()), SLOT(resort()));
+}
+
+NickListView::~NickListView()
+{
+ delete m_tooltip;
+ m_tooltip = 0;
+}
+
+void NickListView::setWhatsThis()
+{
+ Images* images = KonversationApplication::instance()->images();
+
+ if(images->getNickIcon( Images::Normal, false).isNull())
+ {
+ QWhatsThis::add(this, i18n("<qt>This shows all the people in the channel. The nick for each person is shown.<br>Usually an icon is shown showing the status of each person, but you do not seem to have any icon theme installed. See the Konversation settings - <i>Configure Konversation</i> under the <i>Settings</i> menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"));
+ }
+ else
+ {
+ QMimeSourceFactory::defaultFactory()->setImage( "admin", images->getNickIcon( Images::Admin, false ).convertToImage() );
+ QMimeSourceFactory::defaultFactory()->setImage( "owner", images->getNickIcon( Images::Owner, false ).convertToImage());
+ QMimeSourceFactory::defaultFactory()->setImage( "op", images->getNickIcon( Images::Op, false ).convertToImage() );
+ QMimeSourceFactory::defaultFactory()->setImage( "halfop", images->getNickIcon( Images::HalfOp, false ).convertToImage() );
+ QMimeSourceFactory::defaultFactory()->setImage( "voice", images->getNickIcon( Images::Voice, false ).convertToImage() );
+ QMimeSourceFactory::defaultFactory()->setImage( "normal", images->getNickIcon( Images::Normal, false ).convertToImage() );
+ QMimeSourceFactory::defaultFactory()->setImage( "normalaway", images->getNickIcon( Images::Normal, true).convertToImage() );
+
+ QWhatsThis::add(this, i18n("<qt>This shows all the people in the channel. The nick for each person is shown, with a picture showing their status.<p>"
+ "<table>"
+
+ "<tr><th><img src=\"admin\"></th><td>This person has administrator privileges.</td></tr>"
+ "<tr><th><img src=\"owner\"></th><td>This person is a channel owner.</td></tr>"
+ "<tr><th><img src=\"op\"></th><td>This person is a channel operator.</td></tr>"
+ "<tr><th><img src=\"halfop\"></th><td>This person is a channel half-operator.</td></tr>"
+ "<tr><th><img src=\"voice\"></th><td>This person has voice, and can therefore talk in a moderated channel.</td></tr>"
+ "<tr><th><img src=\"normal\"></th><td>This person does not have any special privileges.</td></tr>"
+ "<tr><th><img src=\"normalaway\"></th><td>This indicates that this person is currently away.</td></tr>"
+ "</table><p>"
+ "The meaning of admin, owner and halfop varies between different IRC servers.<p>"
+ "Hovering over any nick shows their current status, as well as any information in the addressbook for this person. See the Konversation Handbook for more information."
+ "</qt>"
+ ));
+ }
+
+}
+
+void NickListView::refresh()
+{
+ QListViewItemIterator it(this);
+
+ while (it.current())
+ {
+ static_cast<Nick*>(it.current())->refresh();
+ ++it;
+ }
+
+ setWhatsThis();
+}
+
+void NickListView::startResortTimer()
+{
+ if(!m_resortTimer->isActive())
+ m_resortTimer->start(3000, true /*single shot*/);
+}
+
+void NickListView::resort()
+{
+ KListView::setSorting(m_column, m_ascending);
+ sort();
+ KListView::setSorting(-1);
+}
+
+void NickListView::contextMenuEvent(QContextMenuEvent* ce)
+{
+ ce->accept();
+
+ if (selectedItems().count())
+ {
+ insertAssociationSubMenu();
+ updateActions();
+ popup->popup(ce->globalPos());
+ }
+}
+
+void NickListView::updateActions()
+{
+ int ignoreCounter = 0;
+ int unignoreCounter = 0;
+ int notifyCounter = 0;
+
+ int serverGroupId = -1;
+
+ if (channel->getServer()->getServerGroup())
+ serverGroupId = channel->getServer()->getServerGroup()->id();
+
+ ChannelNickList nickList=channel->getSelectedChannelNicks();
+ ChannelNickList::ConstIterator it;
+
+ for (it = nickList.begin(); it != nickList.end(); ++it)
+ {
+ if (Preferences::isIgnored((*it)->getNickname()))
+ ++unignoreCounter;
+ else
+ ++ignoreCounter;
+
+ if (serverGroupId != -1 && Preferences::isNotify(serverGroupId, (*it)->getNickname()))
+ ++notifyCounter;
+ }
+
+ if (ignoreCounter)
+ popup->setItemVisible(Konversation::IgnoreNick, true);
+ else
+ popup->setItemVisible(Konversation::IgnoreNick, false);
+
+ if (unignoreCounter)
+ popup->setItemVisible(Konversation::UnignoreNick, true);
+ else
+ popup->setItemVisible(Konversation::UnignoreNick, false);
+
+ if (notifyCounter || !Preferences::hasNotifyList(serverGroupId))
+ popup->setItemEnabled(Konversation::AddNotify, false);
+ else
+ popup->setItemEnabled(Konversation::AddNotify, true);
+}
+
+void NickListView::insertAssociationSubMenu()
+{
+
+ bool existingAssociation = false;
+ bool noAssociation = false;
+ bool emailAddress = false;
+
+ addressbook->clear();
+
+ ChannelNickList nickList=channel->getSelectedChannelNicks();
+ for(ChannelNickList::ConstIterator it=nickList.begin();it!=nickList.end();++it)
+ {
+ KABC::Addressee addr = (*it)->getNickInfo()->getAddressee();
+ if(addr.isEmpty())
+ {
+ noAssociation=true;
+ if(existingAssociation && emailAddress) break;
+ }
+ else
+ {
+ if(!emailAddress && !addr.preferredEmail().isEmpty())
+ emailAddress = true;
+ existingAssociation=true;
+ if(noAssociation && emailAddress) break;
+ }
+ }
+
+ if(!noAssociation && existingAssociation)
+ {
+ addressbook->insertItem(SmallIcon("contents"), i18n("Edit Contact..."), Konversation::AddressbookEdit);
+ addressbook->insertSeparator();
+ }
+
+ if(noAssociation && existingAssociation)
+ addressbook->insertItem(i18n("Choose/Change Associations..."), Konversation::AddressbookChange);
+ else if(noAssociation)
+ addressbook->insertItem(i18n("Choose Contact..."), Konversation::AddressbookChange);
+ else
+ addressbook->insertItem(i18n("Change Association..."), Konversation::AddressbookChange);
+
+ if(noAssociation && !existingAssociation)
+ addressbook->insertItem(i18n("Create New Contact..."), Konversation::AddressbookNew);
+
+ if(existingAssociation)
+ addressbook->insertItem(SmallIcon("editdelete"), i18n("Delete Association"), Konversation::AddressbookDelete);
+
+ if(!emailAddress)
+ popup->setItemEnabled(Konversation::SendEmail, false);
+ else
+ popup->setItemEnabled(Konversation::SendEmail, true);
+
+}
+
+void NickListView::setSorting(int column, bool ascending)
+{
+ m_column = column;
+ m_ascending = ascending;
+}
+
+bool NickListView::acceptDrag (QDropEvent* event) const
+{
+ if (event->provides("text/uri-list"))
+ {
+ if (event->source())
+ {
+ QStrList uris;
+
+ if (QUriDrag::decode(event,uris))
+ {
+ QString first = uris.first();
+
+ if (first.startsWith("irc://") || channel->getNickList().containsNick(first))
+ return false;
+ }
+ else
+ return false;
+ }
+
+ return true;
+ }
+ else
+ return false;
+}
+
+#include "nicklistview.moc"
diff --git a/konversation/src/nicklistview.h b/konversation/src/nicklistview.h
new file mode 100644
index 0000000..ac6ac80
--- /dev/null
+++ b/konversation/src/nicklistview.h
@@ -0,0 +1,77 @@
+/*
+ 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.
+*/
+
+/*
+ Channel Nick List, including context menu
+ begin: Fre Jun 7 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef NICKLISTVIEW_H
+#define NICKLISTVIEW_H
+
+#include "channel.h"
+#include "nicklisttooltip.h"
+#include "images.h"
+#include "common.h"
+
+#include <klistview.h>
+
+
+class QPopupMenu;
+class QContextMenuEvent;
+class QTimer;
+
+class NickListView : public KListView
+{
+ Q_OBJECT
+
+ public:
+ NickListView(QWidget* parent, Channel *chan);
+ ~NickListView();
+
+ /** Call when the icons have been changed.
+ */
+ void refresh();
+ void setWhatsThis();
+
+ virtual void setSorting(int column, bool ascending);
+
+ public slots:
+ /** When this is called, resort is guaranteed to be called within a hard-coded time (a few seconds).
+ * This prevents lots of calls to resort.
+ */
+ void startResortTimer();
+
+ /** Resort the listview.
+ * It is better to call startResortTimer() which will resort with a minimum of a
+ * 1 second delay.
+ */
+ void resort();
+
+ signals:
+ /* Will be connected to Channel::popupCommand(int) */
+ void popupCommand(int id);
+
+ protected:
+ void contextMenuEvent(QContextMenuEvent* ce);
+ virtual bool acceptDrag (QDropEvent* event) const;
+ void insertAssociationSubMenu();
+ void updateActions();
+ Konversation::KonversationNickListViewToolTip *m_tooltip;
+ QPopupMenu* popup;
+ QPopupMenu* modes;
+ QPopupMenu* kickban;
+ QPopupMenu* addressbook;
+ Channel *channel;
+ QTimer *m_resortTimer;
+
+ int m_column;
+ bool m_ascending;
+};
+#endif
diff --git a/konversation/src/nicksonline.cpp b/konversation/src/nicksonline.cpp
new file mode 100644
index 0000000..85361ff
--- /dev/null
+++ b/konversation/src/nicksonline.cpp
@@ -0,0 +1,975 @@
+// -*- mode: c++; c-file-style: "bsd"; c-basic-offset: 4; tabs-width: 4; indent-tabs-mode: nil -*-
+
+/*
+ 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.
+*/
+
+/*
+ shows a user tree of friends per server
+ begin: Sam Aug 31 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "nicksonline.h"
+#include "channel.h"
+#include "server.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "images.h"
+#include "query.h"
+#include "linkaddressbook/linkaddressbookui.h"
+#include "linkaddressbook/addressbook.h"
+#include "linkaddressbook/nicksonlinetooltip.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "nicksonlineitem.h"
+
+#include <qlayout.h>
+#include <qstringlist.h>
+#include <qhbox.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qpopupmenu.h>
+#include <qptrlist.h>
+#include <qwhatsthis.h>
+
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kdialog.h>
+#include <klistview.h>
+#include <kiconloader.h>
+#include <kprocess.h>
+#include <kmessagebox.h>
+
+
+NicksOnline::NicksOnline(QWidget* parent): ChatWindow(parent)
+{
+ setName(i18n("Watched Nicks Online"));
+ setType(ChatWindow::NicksOnline);
+
+ m_nickListView=new KListView(this);
+
+ // Set to false every 8 seconds to permit a whois on watched nicks lacking information.
+ // Remove when server or addressbook does this automatically.
+ m_whoisRequested = true;
+
+ m_nickListView->addColumn(i18n("Network/Nickname/Channel"));
+ m_kabcIconSet = KGlobal::iconLoader()->loadIconSet("kaddressbook",KIcon::Small);
+ m_nickListView->addColumn(i18n("Additional Information"));
+ m_nickListView->setFullWidth(true);
+ m_nickListView->setRootIsDecorated(true);
+ m_nickListView->setShowToolTips(false);
+ m_nickListView->setShadeSortColumn(true);
+ m_nickListView->setShowSortIndicator(true);
+
+ QString nickListViewWT = i18n(
+ "<p>These are all the nicknames on your Nickname Watch list, listed under the "
+ "server network they are connected to. The list also includes the nicknames "
+ "in KAddressBook associated with the server network.</p>"
+ "<p>The <b>Additional Information</b> column shows the information known "
+ "for each nickname.</p>"
+ "<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+ "<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+ "servers in the network.</p>"
+ "<p>Right-click with the mouse on a nickname to perform additional functions.</p>");
+ QWhatsThis::add(m_nickListView, nickListViewWT);
+
+ m_tooltip = new Konversation::KonversationNicksOnlineToolTip(m_nickListView->viewport(), this);
+
+ setMargin(margin());
+ setSpacing(spacing());
+
+ QHBox* buttonBox=new QHBox(this);
+ buttonBox->setSpacing(spacing());
+ QPushButton* editButton=new QPushButton(i18n("&Edit Watch List..."),
+ buttonBox,"edit_notify_button");
+ QString editButtonWT = i18n(
+ "Click to edit the list of nicknames that appear on this screen.");
+ QWhatsThis::add(editButton, editButtonWT);
+
+ connect(editButton, SIGNAL(clicked()), SIGNAL(editClicked()) );
+ connect(m_nickListView, SIGNAL(doubleClicked(QListViewItem*)),
+ this,SLOT(processDoubleClick(QListViewItem*)));
+
+ QLabel* addressbookLabel = new QLabel(i18n("Address book:"),
+ buttonBox, "nicksonline_addressbook_label");
+ QString addressbookLabelWT = i18n(
+ "When you select a nickname in the list above, the buttons here are used "
+ "to associate the nickname with an entry in KAddressBook.");
+ QWhatsThis::add(addressbookLabel, addressbookLabelWT);
+ addressbookLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
+ m_editContactButton = new QPushButton(i18n("Edit C&ontact..."),
+ buttonBox, "nicksonline_editcontact_button");
+ QString editContactButtonWT = i18n(
+ "Click to create, view, or edit the KAddressBook entry associated with the nickname "
+ "selected above.");
+ QWhatsThis::add(m_editContactButton, editContactButtonWT);
+ m_editContactButton->setIconSet(m_kabcIconSet);
+ m_changeAssociationButton = new QPushButton(i18n("&Change Association..."),
+ buttonBox, "nicksonline_changeassociation_button");
+ QString changeAssociationButtonWT = i18n(
+ "Click to associate the nickname selected above with an entry in KAddressBook.");
+ QWhatsThis::add(m_changeAssociationButton, changeAssociationButtonWT);
+ m_changeAssociationButton->setIconSet(m_kabcIconSet);
+ m_deleteAssociationButton = new QPushButton(i18n("&Delete Association"),
+ buttonBox, "nicksonline_deleteassociation_button");
+ QString deleteAssociationButtonWT = i18n(
+ "Click to remove the association between the nickname selected above and a "
+ "KAddressBook entry.");
+ QWhatsThis::add(m_deleteAssociationButton, deleteAssociationButtonWT);
+ m_deleteAssociationButton->setIconSet(m_kabcIconSet);
+
+ connect(m_editContactButton, SIGNAL(clicked()),
+ this, SLOT(slotEditContactButton_Clicked()));
+ connect(m_changeAssociationButton, SIGNAL(clicked()),
+ this, SLOT(slotChangeAssociationButton_Clicked()));
+ connect(m_deleteAssociationButton, SIGNAL(clicked()),
+ this, SLOT(slotDeleteAssociationButton_Clicked()));
+ connect(m_nickListView, SIGNAL(selectionChanged()),
+ this, SLOT(slotNickListView_SelectionChanged()));
+
+ setupAddressbookButtons(nsNotANick);
+
+ // Create context menu. Individual menu entries are created in rightButtonClicked slot.
+ m_popupMenu = new QPopupMenu(this,"nicksonline_context_menu");
+ connect(m_nickListView, SIGNAL(rightButtonClicked(QListViewItem *, const QPoint &, int )),
+ this, SLOT(slotNickListView_RightButtonClicked(QListViewItem*, const QPoint &)));
+ connect(m_popupMenu, SIGNAL(activated(int)),
+ this, SLOT(slotPopupMenu_Activated(int)));
+
+ // Display info for all currently-connected servers.
+ refreshAllServerOnlineLists();
+
+ // Connect and start refresh timer.
+ m_timer = new QTimer(this, "nicksOnlineTimer");
+ connect(m_timer, SIGNAL (timeout()), this, SLOT(timerFired()));
+ // TODO: User preference for refresh interval.
+ m_timer->start(8000);
+}
+
+NicksOnline::~NicksOnline()
+{
+ m_timer->stop();
+ delete m_timer;
+ delete m_nickListView;
+}
+
+KListView* NicksOnline::getNickListView()
+{
+ return m_nickListView;
+}
+
+/**
+ * Returns the named child of parent item in a NicksOnlineItem
+ * @param parent Pointer to a NicksOnlineItem.
+ * @param name The name in the desired child QListViewItem, must be in column 0.
+ * @param type The type of entry to be found
+ * @return Pointer to the child QListViewItem or 0 if not found.
+ */
+QListViewItem* NicksOnline::findItemChild(const QListViewItem* parent, const QString& name, NicksOnlineItem::NickListViewColumn type)
+{
+ if (!parent) return 0;
+ QListViewItem* child;
+ for (child = parent->firstChild(); (child) ; child = child->nextSibling())
+ {
+ if(static_cast<NicksOnlineItem*>(child)->type() == type && child->text(0) == name) return child;
+ }
+ return 0;
+}
+
+/**
+ * Returns the first occurrence of a child item of a given type in a NicksOnlineItem
+ * @param parent Pointer to a NicksOnlineItem.
+ * @param type The type of entry to be found
+ * @return Pointer to the child QListViewItem or 0 if not found.
+ */
+QListViewItem* NicksOnline::findItemType(const QListViewItem* parent, NicksOnlineItem::NickListViewColumn type)
+{
+ if (!parent) return 0;
+ QListViewItem* child;
+ for (child = parent->firstChild(); (child) ; child = child->nextSibling())
+ {
+ if(static_cast<NicksOnlineItem*>(child)->type() == type) return child;
+ }
+ return 0;
+}
+
+/**
+ * Returns a pointer to the network QListViewItem with the given name.
+ * @param name The name of the network, assumed to be in column 0 of the item.
+ * @return Pointer to the QListViewItem or 0 if not found.
+ */
+QListViewItem* NicksOnline::findNetworkRoot(const QString& name)
+{
+ QListViewItem* child;
+ for (child = getNickListView()->firstChild(); (child) ; child = child->nextSibling())
+ {
+ if (child->text(0) == name) return child;
+ }
+ return 0;
+}
+
+/**
+ * Return a string containing formatted additional information about a nick.
+ * @param nickInfo A pointer to NickInfo structure for the nick. May be Null.
+ * @param addressee Addressbook entry for the nick. May be empty.
+ * @return A string formatted for display containing the information
+ * about the nick.
+ * @return needWhois True if a WHOIS needs to be performed on the nick
+ * to get additional information.
+ */
+QString NicksOnline::getNickAdditionalInfo(NickInfoPtr nickInfo, KABC::Addressee addressee,
+bool& needWhois)
+{
+ QString info;
+ if (!addressee.isEmpty())
+ {
+ if (addressee.fullEmail().isEmpty())
+ info += addressee.realName();
+ else
+ info += addressee.fullEmail();
+ }
+ QString niInfo;
+ if (nickInfo)
+ {
+ if (nickInfo->isAway())
+ {
+ niInfo += i18n("Away");
+ if (!nickInfo->getAwayMessage().isEmpty())
+ niInfo += '(' + nickInfo->getAwayMessage() + ')';
+ }
+ if (!nickInfo->getHostmask().isEmpty())
+ niInfo += ' ' + nickInfo->getHostmask();
+ if (!nickInfo->getRealName().isEmpty())
+ niInfo += " (" + nickInfo->getRealName() + ')';
+ if (!nickInfo->getNetServer().isEmpty())
+ {
+ niInfo += i18n( " online via %1" ).arg( nickInfo->getNetServer() );
+ if (!nickInfo->getNetServerInfo().isEmpty())
+ niInfo += " (" + nickInfo->getNetServerInfo() + ')';
+ }
+ if (!nickInfo->getOnlineSince().isNull())
+ niInfo += i18n( " since %1" ).arg( nickInfo->getPrettyOnlineSince() );
+ }
+ needWhois = niInfo.isEmpty();
+ if (!info.isEmpty() && !needWhois) info += ' ';
+ return info + niInfo;
+}
+
+/**
+ * Refresh the nicklistview for a single server.
+ * @param server The server to be refreshed.
+ */
+void NicksOnline::updateServerOnlineList(Server* servr)
+{
+ bool newNetworkRoot = false;
+ QString serverName = servr->getServerName();
+ QString networkName = servr->getDisplayName();
+ QListViewItem* networkRoot = findNetworkRoot(networkName);
+ // If network is not in our list, add it.
+ if (!networkRoot)
+ {
+ networkRoot = new NicksOnlineItem(NicksOnlineItem::NetworkRootItem,m_nickListView,networkName);
+ newNetworkRoot = true;
+ }
+ // Store server name in hidden column.
+ // Note that there could be more than one server in the network connected,
+ // but it doesn't matter because all the servers in a network have the same
+ // watch list.
+ networkRoot->setText(nlvcServerName, serverName);
+ // Update list of servers in the network that are connected.
+ QStringList serverList = QStringList::split(",", networkRoot->text(nlvcAdditionalInfo));
+ if (!serverList.contains(serverName)) serverList.append(serverName);
+ networkRoot->setText(nlvcAdditionalInfo, serverList.join(","));
+ // Get item in nicklistview for the Offline branch.
+ QListViewItem* offlineRoot = findItemType(networkRoot, NicksOnlineItem::OfflineItem);
+ if (!offlineRoot)
+ {
+ offlineRoot = new NicksOnlineItem(NicksOnlineItem::OfflineItem,networkRoot,i18n("Offline"));
+ offlineRoot->setText(nlvcServerName, serverName);
+ }
+
+ // Get watch list.
+ QStringList watchList = servr->getWatchList();
+ QStringList::iterator itEnd = watchList.end();
+ QString nickname;
+
+ for (QStringList::iterator it = watchList.begin(); it != itEnd; ++it)
+ {
+ nickname = (*it);
+ NickInfoPtr nickInfo = getOnlineNickInfo(networkName, nickname);
+
+ if (nickInfo && nickInfo->getPrintedOnline())
+ {
+ // Nick is online.
+ // Which server did NickInfo come from?
+ Server* server=nickInfo->getServer();
+ // Get addressbook entry (if any) for the nick.
+ KABC::Addressee addressee = nickInfo->getAddressee();
+ // Construct additional information string for nick.
+ bool needWhois = false;
+ QString nickAdditionalInfo = getNickAdditionalInfo(nickInfo, addressee, needWhois);
+ // Remove from offline branch if present.
+ QListViewItem* item = findItemChild(offlineRoot, nickname, NicksOnlineItem::NicknameItem);
+ if (item) delete item;
+ // Add to network if not already added.
+ QListViewItem* nickRoot = findItemChild(networkRoot, nickname, NicksOnlineItem::NicknameItem);
+ if (!nickRoot) nickRoot = new NicksOnlineItem(NicksOnlineItem::NicknameItem,networkRoot, nickname, nickAdditionalInfo);
+ nickRoot->setText(nlvcAdditionalInfo, nickAdditionalInfo);
+ nickRoot->setText(nlvcServerName, serverName);
+ // If no additional info available, request a WHOIS on the nick.
+ if (!m_whoisRequested)
+ {
+ if (needWhois)
+ {
+ requestWhois(networkName, nickname);
+ m_whoisRequested = true;
+ }
+ }
+ // Set Kabc icon if the nick is associated with an addressbook entry.
+ if (!addressee.isEmpty())
+ nickRoot->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Normal, QIconSet::On));
+ else
+ nickRoot->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Disabled, QIconSet::Off));
+
+ QStringList channelList = server->getNickChannels(nickname);
+ QStringList::iterator itEnd2 = channelList.end();
+
+ for (QStringList::iterator it2 = channelList.begin(); it2 != itEnd2; ++it2)
+ {
+ // Known channels where nickname is online and mode in each channel.
+ // FIXME: If user connects to multiple servers in same network, the
+ // channel info will differ between the servers, resulting in inaccurate
+ // mode and led info displayed.
+
+ QString channelName = (*it2);
+
+ ChannelNickPtr channelNick = server->getChannelNick(channelName, nickname);
+ QString nickMode;
+ if (channelNick->hasVoice()) nickMode = nickMode + i18n(" Voice");
+ if (channelNick->isHalfOp()) nickMode = nickMode + i18n(" HalfOp");
+ if (channelNick->isOp()) nickMode = nickMode + i18n(" Operator");
+ if (channelNick->isOwner()) nickMode = nickMode + i18n(" Owner");
+ if (channelNick->isAdmin()) nickMode = nickMode + i18n(" Admin");
+ QListViewItem* channelItem = findItemChild(nickRoot, channelName, NicksOnlineItem::ChannelItem);
+ if (!channelItem) channelItem = new NicksOnlineItem(NicksOnlineItem::ChannelItem,nickRoot,
+ channelName, nickMode);
+ channelItem->setText(nlvcAdditionalInfo, nickMode);
+
+ // Icon for mode of nick in each channel.
+ Images::NickPrivilege nickPrivilege = Images::Normal;
+ if (channelNick->hasVoice()) nickPrivilege = Images::Voice;
+ if (channelNick->isHalfOp()) nickPrivilege = Images::HalfOp;
+ if (channelNick->isOp()) nickPrivilege = Images::Op;
+ if (channelNick->isOwner()) nickPrivilege = Images::Owner;
+ if (channelNick->isAdmin()) nickPrivilege = Images::Admin;
+ if (server->getJoinedChannelMembers(channelName) != 0)
+ channelItem->setPixmap(nlvcChannel,
+ KonversationApplication::instance()->images()->getNickIcon(nickPrivilege, false));
+ else
+ channelItem->setPixmap(nlvcChannel,
+ KonversationApplication::instance()->images()->getNickIcon(nickPrivilege, true));
+ }
+ // Remove channel if nick no longer in it.
+ QListViewItem* child = nickRoot->firstChild();
+ while (child)
+ {
+ QListViewItem* nextChild = child->nextSibling();
+ if (channelList.find(child->text(nlvcNick)) == channelList.end())
+ delete child;
+ child = nextChild;
+ }
+ }
+ else
+ {
+ // Nick is offline.
+ // Remove from online nicks, if present.
+ QListViewItem* item = findItemChild(networkRoot, nickname, NicksOnlineItem::NicknameItem);
+ if (item) delete item;
+ // Add to offline list if not already listed.
+ QListViewItem* nickRoot = findItemChild(offlineRoot, nickname, NicksOnlineItem::NicknameItem);
+ if (!nickRoot) nickRoot = new NicksOnlineItem(NicksOnlineItem::NicknameItem,offlineRoot, nickname);
+ nickRoot->setText(nlvcServerName, serverName);
+ // Get addressbook entry for the nick.
+ KABC::Addressee addressee = servr->getOfflineNickAddressee(nickname);
+ // Format additional information for the nick.
+ bool needWhois = false;
+ QString nickAdditionalInfo = getNickAdditionalInfo(0, addressee, needWhois);
+ nickRoot->setText(nlvcAdditionalInfo, nickAdditionalInfo);
+ // Set Kabc icon if the nick is associated with an addressbook entry.
+ if (!addressee.isEmpty())
+ nickRoot->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Normal, QIconSet::On));
+ else
+ nickRoot->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Disabled, QIconSet::Off));
+ }
+ }
+ // Erase nicks no longer being watched.
+ QListViewItem* item = networkRoot->firstChild();
+ while (item)
+ {
+ QListViewItem* nextItem = item->nextSibling();
+ if (static_cast<NicksOnlineItem*>(item)->type() != NicksOnlineItem::OfflineItem)
+ {
+ QString nickname = item->text(nlvcNick);
+ if ((watchList.find(nickname) == watchList.end()) &&
+ (serverName == item->text(nlvcServerName))) delete item;
+ }
+ item = nextItem;
+ }
+ item = offlineRoot->firstChild();
+
+ if(item) {
+ while (item)
+ {
+ QListViewItem* nextItem = item->nextSibling();
+ QString nickname = item->text(nlvcNick);
+ if ((watchList.find(nickname) == watchList.end()) &&
+ (serverName == item->text(nlvcServerName))) delete item;
+ item = nextItem;
+ }
+ }
+ else
+ {
+ delete offlineRoot;
+ }
+ // Expand server if newly added to list.
+ if (newNetworkRoot)
+ {
+ networkRoot->setOpen(true);
+ // Connect server NickInfo updates.
+ connect (servr, SIGNAL(nickInfoChanged(Server*, const NickInfoPtr)),
+ this, SLOT(slotNickInfoChanged(Server*, const NickInfoPtr)));
+ }
+}
+
+/**
+ * Determines if a nick is online in any of the servers in a network and returns
+ * a NickInfo if found, otherwise 0.
+ * @param networkName Server network name.
+ * @param nickname Nick name.
+ * @return NickInfo if nick is online in any server, otherwise 0.
+ */
+NickInfoPtr NicksOnline::getOnlineNickInfo(QString& networkName, QString& nickname)
+{
+ // Get list of pointers to all servers.
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ QPtrList<Server> serverList = konvApp->getConnectionManager()->getServerList();
+ for (Server* server = serverList.first(); server; server = serverList.next())
+ {
+ if (server->getDisplayName() == networkName)
+ {
+ NickInfoPtr nickInfo = server->getNickInfo(nickname);
+ if (nickInfo) return nickInfo;
+ }
+ }
+ return 0;
+}
+
+/**
+ * Requests a WHOIS for a specified server network and nickname.
+ * The request is sent to the first server found in the network.
+ * @param groupName Server group name.
+ * @param nickname Nick name.
+ */
+void NicksOnline::requestWhois(QString& networkName, QString& nickname)
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ QPtrList<Server> serverList = konvApp->getConnectionManager()->getServerList();
+ for (Server* server = serverList.first(); server; server = serverList.next())
+ {
+ if (server->getDisplayName() == networkName)
+ {
+ server->requestWhois(nickname);
+ return;
+ }
+ }
+}
+
+/**
+ * Refresh the nicklistview for all servers.
+ */
+void NicksOnline::refreshAllServerOnlineLists()
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ QPtrList<Server> serverList = konvApp->getConnectionManager()->getServerList();
+ Server* server;
+ // Remove servers no longer connected.
+ QListViewItem* child = m_nickListView->firstChild();
+ while (child)
+ {
+ QListViewItem* nextChild = child->nextSibling();
+ QString networkName = child->text(nlvcNetwork);
+ QStringList serverNameList = QStringList::split(",", child->text(nlvcAdditionalInfo));
+ QStringList::Iterator itEnd = serverNameList.end();
+ QStringList::Iterator it = serverNameList.begin();
+ while (it != itEnd)
+ {
+ QString serverName = *it;
+ // Locate server in server list.
+ bool found = false;
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ if ((server->getServerName() == serverName) &&
+ (server->getDisplayName() == networkName)) found = true;
+ }
+ if (!found)
+ it = serverNameList.remove(it);
+ else
+ ++it;
+ }
+ // Remove Networks with no servers connected, otherwise update list of connected
+ // servers.
+ if (serverNameList.empty())
+ delete child;
+ else
+ child->setText(nlvcAdditionalInfo, serverNameList.join(","));
+ child = nextChild;
+ }
+ // Display info for all currently-connected servers.
+ for (server = serverList.first(); server; server = serverList.next())
+ {
+ updateServerOnlineList(server);
+ }
+ // Refresh addressbook buttons.
+ slotNickListView_SelectionChanged();
+}
+
+void NicksOnline::timerFired()
+{
+ // Allow one WHOIS request per cycle.
+ m_whoisRequested = false;
+ refreshAllServerOnlineLists();
+}
+
+/**
+ * When a user double-clicks a nickname in the nicklistview, let server know so that
+ * it can perform the user's chosen default action for that.
+ */
+void NicksOnline::processDoubleClick(QListViewItem* item)
+{
+ // Only emit signal when the user double clicked a nickname rather than
+ // a server name or channel name.
+ QString serverName;
+ QString nickname;
+ if (getItemServerAndNick(item, serverName, nickname))
+ emit doubleClicked(serverName, nickname);
+}
+
+/**
+ * Returns the server name and nickname of the specified nicklistview item.
+ * @param item The nicklistview item.
+ * @return serverName Name of the server for the nick at the item, or Null if not a nick.
+ * @return nickname The nickname at the item.
+ */
+bool NicksOnline::getItemServerAndNick(const QListViewItem* item, QString& serverName, QString& nickname)
+{
+ if (!item) return false;
+ // convert into NicksOnlineItem
+ const NicksOnlineItem* nlItem=static_cast<const NicksOnlineItem*>(item);
+ // If on a network, return false;
+ if (nlItem->type() == NicksOnlineItem::NetworkRootItem) return false;
+ // get server name
+ serverName = item->text(nlvcServerName);
+ // If on a channel, move up to the nickname.
+ if (nlItem->type() == NicksOnlineItem::ChannelItem)
+ {
+ item = item->parent();
+ serverName = item->text(nlvcServerName);
+ }
+ nickname = item->text(nlvcNick);
+ // offline columns are not nick names
+ if (nlItem->type() == NicksOnlineItem::OfflineItem) return false;
+ return true;
+}
+
+NickInfoPtr NicksOnline::getNickInfo(const QListViewItem* item)
+{
+ QString serverName;
+ QString nickname;
+
+ getItemServerAndNick(item, serverName, nickname);
+
+ if (!serverName || !nickname)
+ return 0;
+
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+
+ if (server) return server->getNickInfo(nickname);
+
+ return 0;
+}
+
+/**
+ * Given a server name and nickname, returns the item in the Nick List View displaying
+ * the nick.
+ * @param serverName Name of server.
+ * @param nickname Nick name.
+ * @return Pointer to QListViewItem displaying the nick, or 0 if not found.
+ *
+ * @see getItemServerAndNick
+ */
+QListViewItem* NicksOnline::getServerAndNickItem(const QString& serverName,
+const QString& nickname)
+{
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+ if (!server) return 0;
+ QString networkName = server->getDisplayName();
+ QListViewItem* networkRoot = m_nickListView->findItem(networkName, nlvcNetwork);
+ if (!networkRoot) return 0;
+ QListViewItem* nickRoot = findItemChild(networkRoot, nickname, NicksOnlineItem::NicknameItem);
+ return nickRoot;
+}
+
+/**
+ * Perform an addressbook command (edit contact, create new contact,
+ * change/delete association.)
+ * @param id The command id. @ref CommandIDs.
+ *
+ * The operation is performed on the nickname at the currently-selected item in
+ * the nicklistview.
+ *
+ * Also refreshes the nicklistview display to reflect the new addressbook state
+ * for the nick.
+ */
+void NicksOnline::doCommand(int id)
+{
+ if(id < 0)
+ {
+ return;
+ }
+
+ QString serverName;
+ QString nickname;
+ QListViewItem* item = m_nickListView->selectedItem();
+
+ if(!getItemServerAndNick(item, serverName, nickname))
+ {
+ return;
+ }
+
+ // Get the server object corresponding to the server name.
+ Server* server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+
+ if (!server) return;
+
+ // Get NickInfo object corresponding to the nickname.
+ NickInfoPtr nickInfo = server->getNickInfo(nickname);
+ // Get addressbook entry for the nick.
+ KABC::Addressee addressee;
+
+ if(nickInfo)
+ {
+ addressee = nickInfo->getAddressee();
+ }
+ else
+ {
+ addressee = server->getOfflineNickAddressee(nickname);
+ }
+
+ switch(id)
+ {
+ case ciSendEmail:
+ Konversation::Addressbook::self()->sendEmail(addressee);
+ return; //no need to refresh item
+ case ciAddressbookEdit:
+ Konversation::Addressbook::self()->editAddressee(addressee.uid());
+ return; //no need to refresh item - nickinfo changed will be called anyway.
+ case ciAddressbookChange:
+ if(nickInfo)
+ {
+ nickInfo->showLinkAddressbookUI();
+ }
+ else
+ {
+ LinkAddressbookUI *linkaddressbookui = new LinkAddressbookUI(server->getViewContainer()->getWindow(), NULL, nickname, server->getServerName(), server->getDisplayName(), addressee.realName());
+ linkaddressbookui->show();
+ }
+ break;
+ case ciAddressbookNew:
+ case ciAddressbookDelete:
+ {
+ Konversation::Addressbook *addressbook = Konversation::Addressbook::self();
+
+ if(addressbook && addressbook->getAndCheckTicket())
+ {
+ if(id == ciAddressbookDelete)
+ {
+ if (addressee.isEmpty())
+ {
+ return;
+ }
+
+ addressbook->unassociateNick(addressee, nickname, server->getServerName(), server->getDisplayName());
+ }
+ else
+ {
+ addressee.setGivenName(nickname);
+ addressee.setNickName(nickname);
+ addressbook->associateNickAndUnassociateFromEveryoneElse(addressee, nickname, server->getServerName(), server->getDisplayName());
+ }
+ if(addressbook->saveTicket())
+ {
+ //saveTicket will refresh the addressees for us.
+ if(id == ciAddressbookNew)
+ {
+ Konversation::Addressbook::self()->editAddressee(addressee.uid());
+ }
+ }
+ }
+ break;
+ }
+ case ciJoinChannel:
+ {
+ // only join real channels
+ if (static_cast<NicksOnlineItem*>(m_nickListView->selectedItem())->type() == NicksOnlineItem::ChannelItem)
+ {
+ QString contactChannel = m_nickListView->selectedItem()->text(nlvcChannel);
+ server->queue( "JOIN "+contactChannel );
+ }
+ break;
+ }
+ case ciWhois:
+ server->queue("WHOIS "+nickname);
+ return;
+ case ciOpenQuery:
+ NickInfoPtr nickInfo = server->obtainNickInfo(nickname);
+ class Query* query = server->addQuery(nickInfo, true /*we initiated*/);
+ emit showView(query);
+ return;
+ }
+
+ refreshItem(item);
+}
+
+/**
+ * Get the addressbook state of the nickname at the specified nicklistview item.
+ * @param item Item of the nicklistview.
+ * @return Addressbook state.
+ * 0 = not a nick, 1 = nick has no addressbook association, 2 = nick has association
+ */
+int NicksOnline::getNickAddressbookState(QListViewItem* item)
+{
+ int nickState = nsNotANick;
+ QString serverName;
+ QString nickname;
+ if (getItemServerAndNick(item, serverName, nickname))
+ {
+ Server *server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+ if (!server) return nsNotANick;
+ NickInfoPtr nickInfo = server->getNickInfo(nickname);
+ if (nickInfo)
+ {
+ if (nickInfo->getAddressee().isEmpty())
+ nickState = nsNoAddress;
+ else
+ nickState = nsHasAddress;
+ }
+ else
+ {
+ if (server->getOfflineNickAddressee(nickname).isEmpty())
+ nickState = nsNoAddress;
+ else
+ nickState = nsHasAddress;
+ }
+ }
+ return nickState;
+}
+
+/**
+ * Sets the enabled/disabled state and labels of the addressbook buttons
+ * based on the given nick addressbook state.
+ * @param nickState The state of the nick. 1 = not associated with addressbook,
+ * 2 = associated with addressbook. @ref getNickAddressbookState.
+ */
+void NicksOnline::setupAddressbookButtons(int nickState)
+{
+ switch (nickState)
+ {
+ case nsNotANick:
+ {
+ m_editContactButton->setEnabled(false);
+ m_changeAssociationButton->setEnabled(false);
+ m_deleteAssociationButton->setEnabled(false);
+ break;
+ }
+ case nsNoAddress:
+ {
+ m_editContactButton->setText(i18n("Create New C&ontact..."));
+ m_editContactButton->setEnabled(true);
+ m_changeAssociationButton->setText(i18n("&Choose Association..."));
+ m_changeAssociationButton->setEnabled(true);
+ m_deleteAssociationButton->setEnabled(false);
+ break;
+ }
+ case nsHasAddress:
+ {
+ m_editContactButton->setText(i18n("Edit C&ontact..."));
+ m_editContactButton->setEnabled(true);
+ m_changeAssociationButton->setText(i18n("&Change Association..."));
+ m_changeAssociationButton->setEnabled(true);
+ m_deleteAssociationButton->setEnabled(true);
+ break;
+ }
+ }
+}
+
+/**
+ * Received when user clicks the Edit Contact (or New Contact) button.
+ */
+void NicksOnline::slotEditContactButton_Clicked()
+{
+ switch (getNickAddressbookState(m_nickListView->selectedItem()))
+ {
+ case nsNotANick: break;
+ case nsNoAddress: { doCommand(ciAddressbookNew); break; }
+ case nsHasAddress: { doCommand(ciAddressbookEdit); break; }
+ }
+}
+
+/**
+ * Received when user clicks the Change Association button.
+ */
+void NicksOnline::slotChangeAssociationButton_Clicked() { doCommand(ciAddressbookChange); }
+/**
+ * Received when user clicks the Delete Association button.
+ */
+void NicksOnline::slotDeleteAssociationButton_Clicked() { doCommand(ciAddressbookDelete); }
+/**
+ * Received when user selects a different item in the nicklistview.
+ */
+void NicksOnline::slotNickListView_SelectionChanged()
+{
+ QListViewItem* item = m_nickListView->selectedItem();
+ int nickState = getNickAddressbookState(item);
+ setupAddressbookButtons(nickState);
+}
+
+/**
+ * Received when right-clicking an item in the NickListView.
+ */
+void NicksOnline::slotNickListView_RightButtonClicked(QListViewItem* item, const QPoint& pt)
+{
+ if (!item) return;
+ m_popupMenu->clear();
+ int nickState = getNickAddressbookState(item);
+ switch (nickState)
+ {
+ case nsNotANick:
+ {
+ break;
+ }
+ case nsNoAddress:
+ {
+ m_popupMenu->insertItem(i18n("&Choose Association..."), ciAddressbookChange);
+ m_popupMenu->insertItem(i18n("Create New C&ontact..."), ciAddressbookNew);
+ m_popupMenu->insertSeparator();
+ m_popupMenu->insertItem(i18n("&Whois"), ciWhois);
+ m_popupMenu->insertItem(i18n("Open &Query"), ciOpenQuery);
+ if (item->text(nlvcServerName).isEmpty())
+ m_popupMenu->insertItem(i18n("&Join Channel"), ciJoinChannel);
+ break;
+ }
+ case nsHasAddress:
+ {
+ m_popupMenu->insertItem(SmallIcon("mail_generic"), i18n("&Send Email..."), ciSendEmail);
+ m_popupMenu->insertSeparator();
+ m_popupMenu->insertItem(SmallIcon("contents"), i18n("Edit C&ontact..."), ciAddressbookEdit);
+ m_popupMenu->insertSeparator();
+ m_popupMenu->insertItem(i18n("&Change Association..."), ciAddressbookChange);
+ m_popupMenu->insertItem(SmallIconSet("editdelete"), i18n("&Delete Association"), ciAddressbookDelete);
+ m_popupMenu->insertSeparator();
+ m_popupMenu->insertItem(i18n("&Whois"), ciWhois);
+ m_popupMenu->insertItem(i18n("Open &Query"), ciOpenQuery);
+ if (item->text(nlvcServerName).isEmpty())
+ m_popupMenu->insertItem(i18n("&Join Channel"), ciJoinChannel);
+ break;
+ }
+ }
+ if (nickState != nsNotANick)
+ m_popupMenu->popup(pt);
+}
+
+/**
+ * Received from popup menu when user chooses something.
+ */
+void NicksOnline::slotPopupMenu_Activated(int id)
+{
+ doCommand(id);
+}
+
+/**
+ * Received from server when a NickInfo changes its information.
+ */
+void NicksOnline::slotNickInfoChanged(Server* server, const NickInfoPtr nickInfo)
+{
+ if (!nickInfo) return;
+ QString nickname = nickInfo->getNickname();
+
+ if (!server) return;
+ QString serverName = server->getServerName();
+ QListViewItem* item = getServerAndNickItem(serverName, nickname);
+ refreshItem(item);
+}
+
+/**
+ * Refreshes the information for the given item in the list.
+ * @param item Pointer to listview item.
+ */
+void NicksOnline::refreshItem(QListViewItem* item)
+{
+ if (!item) return;
+ QString serverName;
+ QString nickname;
+ if (getItemServerAndNick(item, serverName, nickname))
+ {
+ Server *server = KonversationApplication::instance()->getConnectionManager()->getServerByName(serverName);
+ if (server)
+ {
+ NickInfoPtr nickInfo = server->getNickInfo(nickname);
+ KABC::Addressee addressee;
+ if (nickInfo)
+ addressee = nickInfo->getAddressee();
+ else
+ addressee = server->getOfflineNickAddressee(nickname);
+ int nickState = 2;
+ if (addressee.isEmpty()) nickState = 1;
+ switch (nickState)
+ {
+ case nsNotANick:
+ break;
+ case nsNoAddress:
+ {
+ item->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Disabled, QIconSet::Off)); break;
+ }
+ case nsHasAddress:
+ {
+ item->setPixmap(nlvcKabc, m_kabcIconSet.pixmap(
+ QIconSet::Small, QIconSet::Normal, QIconSet::On)); break;
+ }
+ }
+ QString nickAdditionalInfo;
+ bool needWhois = false;
+ if (nickInfo) nickAdditionalInfo = getNickAdditionalInfo(nickInfo, addressee,
+ needWhois);
+ item->setText(nlvcAdditionalInfo, nickAdditionalInfo);
+ if (item == m_nickListView->selectedItem()) setupAddressbookButtons(nickState);
+ }
+ }
+}
+
+void NicksOnline::childAdjustFocus() {}
+
+#include "nicksonline.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/nicksonline.h b/konversation/src/nicksonline.h
new file mode 100644
index 0000000..6243b78
--- /dev/null
+++ b/konversation/src/nicksonline.h
@@ -0,0 +1,261 @@
+/*
+ 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.
+*/
+
+/*
+ shows a user tree of friends per server
+ begin: Sam Aug 31 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef NICKSONLINE_H
+#define NICKSONLINE_H
+
+#include "nickinfo.h"
+#include "nicksonlineitem.h"
+#include "chatwindow.h"
+#include "linkaddressbook/nicksonlinetooltip.h"
+
+#include <qvbox.h>
+#include <qiconset.h>
+#include <qpair.h>
+
+
+class KListView;
+class QPushButton;
+class QPopupMenu;
+
+class ChatWindow;
+
+class NicksOnline : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ // Columns of the NickListView.
+ enum NickListViewColumn
+ {
+ nlvcNetworkNickChannel = 0,
+ nlvcNetwork = 0,
+ nlvcNick = 0,
+ nlvcChannel = 0,
+ nlvcKabc = 1,
+ nlvcAdditionalInfo = 1,
+ nlvcServerName = 2 // hidden
+ };
+ // Ids associated with menu/button commands.
+ enum CommandIDs
+ {
+ ciAddressbookChange, ciAddressbookNew, ciAddressbookDelete, ciAddressbookEdit,
+ ciSendEmail, ciWhois, ciJoinChannel, ciOpenQuery
+ };
+ enum NickState
+ {
+ nsNotANick = 0, // User didn't click on a nickname.
+ nsNoAddress = 1, // Nick does not have an addressbook association.
+ nsHasAddress = 2 // Nick has an associated addressbook entry.
+ };
+
+ explicit NicksOnline(QWidget* parent);
+ ~NicksOnline();
+
+ // These are here for the benefit of NicksOnlineTooltip.
+ KListView* getNickListView();
+ NickInfoPtr getNickInfo(const QListViewItem* item);
+
+ virtual bool canBeFrontView() { return true; }
+
+ signals:
+ /**
+ * Emitted when user clicks Edit Watch List button.
+ */
+ void editClicked();
+ /**
+ * Emitted whenever user double-clicks a nick in the Nicks Online tab.
+ */
+ void doubleClicked(const QString& server,const QString& nick);
+
+ void showView(ChatWindow* view);
+
+ public slots:
+
+ /**
+ * Refresh the nicklistview for a single server.
+ * @param server The server to be refreshed.
+ */
+ void updateServerOnlineList(Server* server);
+
+ protected slots:
+ /**
+ * When a user double-clicks a nickname in the nicklistview, let server know so that
+ * it can perform the user's chosen default action for that.
+ */
+ void processDoubleClick(QListViewItem* item);
+ /**
+ * Timer used to refresh display.
+ */
+ void timerFired();
+ /**
+ * Received when user clicks the Edit Contact (or New Contact) button.
+ */
+ void slotEditContactButton_Clicked();
+ /**
+ * Received when user clicks the Change Association button.
+ */
+ void slotChangeAssociationButton_Clicked();
+ /**
+ * Received when user clicks the Delete Association button.
+ */
+ void slotDeleteAssociationButton_Clicked();
+ /**
+ * Received when user selects a different item in the nicklistview.
+ */
+ void slotNickListView_SelectionChanged();
+ /**
+ * Received when right-clicking an item in the NickListView.
+ */
+ void slotNickListView_RightButtonClicked(QListViewItem* item, const QPoint& pt);
+ /**
+ * Received from server when a NickInfo changes its information.
+ */
+ void slotNickInfoChanged(Server* server, const NickInfoPtr nickInfo);
+ /**
+ * Received from popup menu when user chooses something.
+ */
+ void slotPopupMenu_Activated(int id);
+
+ protected:
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ private:
+ /**
+ * Returns the named child of parent item in a NicksOnlineItem
+ * @param parent Pointer to a NicksOnlineItem.
+ * @param name The name in the desired child QListViewItem, must be in column 0.
+ * @param type The type of entry to be found
+ * @return Pointer to the child QListViewItem or 0 if not found.
+ */
+ QListViewItem* findItemChild(const QListViewItem* parent, const QString& name, NicksOnlineItem::NickListViewColumn type);
+ /**
+ * Returns the first occurrence of a child item of a given type in a NicksOnlineItem
+ * @param parent Pointer to a NicksOnlineItem.
+ * @param type The type of entry to be found
+ * @return Pointer to the child QListViewItem or 0 if not found.
+ */
+ QListViewItem* findItemType(const QListViewItem* parent, NicksOnlineItem::NickListViewColumn type);
+ /**
+ * Returns a pointer to the network QListViewItem with the given name.
+ * @param name The name of the network, assumed to be in column 0 of the item.
+ * @return Pointer to the QListViewItem or 0 if not found.
+ */
+ QListViewItem* findNetworkRoot(const QString& name);
+ /**
+ * Refresh the nicklistview for all servers.
+ */
+ void refreshAllServerOnlineLists();
+ /**
+ * Refreshes the information for the given item in the list.
+ * @param item Pointer to listview item.
+ */
+ void refreshItem(QListViewItem* item);
+ /**
+ * Return a string containing formatted additional information about a nick.
+ * @param nickInfo A pointer to NickInfo structure for the nick.
+ * @return A string formatted for display containing the information
+ * about the nick.
+ * @return needWhois True if a WHOIS needs to be performed on the nick
+ * to get additional information.
+ */
+ QString getNickAdditionalInfo(NickInfoPtr nickInfo, KABC::Addressee addressee,
+ bool& needWhois);
+ /**
+ * Invokes the KAddressBook contact editor for the specified contact id.
+ * @param uid Id of the contact.
+ * @return False if unable to invoke the Contact editor.
+ */
+ bool editAddressee(const QString &uid);
+ /**
+ * Returns the server name and nickname of the specified nicklistview item.
+ * @param item The nicklistview item.
+ * @return serverName Name of the server for the nick at the item, or Null if not a nick.
+ * @return nickname The nickname at the item.
+ */
+ bool getItemServerAndNick(const QListViewItem* item, QString& serverName, QString& nickname);
+ /**
+ * Given a server name and nickname, returns the item in the Nick List View displaying
+ * the nick.
+ * @param serverName Name of server.Server
+ * @param nickname Nick name.
+ * @return Pointer to QListViewItem displaying the nick, or 0 if not found.
+ *
+ * @see getItemServerAndNick
+ */
+ QListViewItem* getServerAndNickItem(const QString& serverName, const QString& nickname);
+ /**
+ * Perform an addressbook command (edit contact, create new contact,
+ * change/delete association.)
+ * @param id The command id. @ref CommandIDs.
+ *
+ * The operation is performed on the nickname at the currently-selected item in
+ * the nicklistview.
+ *
+ * Also refreshes the nicklistview display to reflect the new addressbook state
+ * for the nick.
+ */
+ void doCommand(int id);
+ /**
+ * Get the addressbook state of the nickname at the specified nicklistview item.
+ * @param item Item of the nicklistview.
+ * @return Addressbook state.
+ * 0 = not a nick, 1 = nick has no addressbook association, 2 = nick has association
+ */
+ int getNickAddressbookState(QListViewItem* item);
+ /**
+ * Sets the enabled/disabled state and labels of the addressbook buttons
+ * based on the given nick addressbook state.
+ * @param nickState The state of the nick. 1 = not associated with addressbook,
+ * 2 = associated with addressbook. @ref getNickAddressbookState.
+ */
+ void setupAddressbookButtons(int nickState);
+ /**
+ * Determines if a nick is online in any of the servers in a network and returns
+ * a NickInfo if found, otherwise 0.
+ * @param networkName Server network name.
+ * @param nickname Nick name.
+ * @return NickInfo if nick is online in any server, otherwise 0.
+ */
+ NickInfoPtr getOnlineNickInfo(QString& networkName, QString& nickname);
+ /**
+ * Requests a WHOIS for a specified server network and nickname.
+ * The request is sent to the first server found in the network.
+ * @param groupName Server group name.
+ * @param nickname Nick name.
+ */
+ void requestWhois(QString& networkName, QString& nickname);
+
+ // The main display of networks, nicks, and channels.
+ KListView* m_nickListView;
+ // Buttons on screen.
+ QPushButton* m_editContactButton;
+ QPushButton* m_changeAssociationButton;
+ QPushButton* m_deleteAssociationButton;
+ // Context menu when right-clicking a nick.
+ QPopupMenu* m_popupMenu;
+ // Helper to display tooltip information for nicks.
+ Konversation::KonversationNicksOnlineToolTip *m_tooltip;
+ // A string containing the identifier for the "Offline" listview item
+ QString c_offline;
+ // Timer for refreshing display and generating WHOISes.
+ QTimer* m_timer;
+ // Addressbook icon.
+ QIconSet m_kabcIconSet;
+ /* Set to False every 8 seconds so that we generate a WHOIS on watch nicks that
+ lack information.*/
+ bool m_whoisRequested;
+};
+#endif
diff --git a/konversation/src/nicksonlineitem.cpp b/konversation/src/nicksonlineitem.cpp
new file mode 100644
index 0000000..cd8cd1d
--- /dev/null
+++ b/konversation/src/nicksonlineitem.cpp
@@ -0,0 +1,52 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#include "nicksonlineitem.h"
+
+
+NicksOnlineItem::NicksOnlineItem(int type, QListView* parent, const QString& name, const QString& col2) :
+ KListViewItem(parent, name, col2)
+{
+ m_type=type;
+}
+
+NicksOnlineItem::NicksOnlineItem(int type, QListViewItem* parent, const QString& name, const QString& col2) :
+ KListViewItem(parent, name, col2)
+{
+ m_type=type;
+}
+
+/**
+ * Reimplemented to make sure, "Offline" items always get sorted to the bottom of the list
+ * @param i Pointer to the QListViewItem to compare with.
+ * @param col The column to compare
+ * @param ascending Specify sorting direction
+ * @return -1 if this item's value is smaller than i, 0 if they are equal, 1 if it's greater
+ */
+int NicksOnlineItem::compare(QListViewItem* i,int col,bool ascending) const
+{
+ // if we are the Offline item, make sure we get sorted at the end of the list
+ if(m_type==OfflineItem) return ascending ? 1 : -1;
+ // if we are competing with an Offline item, always lose
+ if(static_cast<NicksOnlineItem*>(i)->type()==OfflineItem) return ascending ? -1 : 1;
+
+ // otherwise compare items case-insensitively
+ return key(col,ascending).lower().localeAwareCompare(i->key(col,ascending).lower());
+}
+
+/**
+ * Returns the type of the item.
+ * @return One of the enum NickListViewColumn
+ */
+int NicksOnlineItem::type() const
+{
+ return m_type;
+}
diff --git a/konversation/src/nicksonlineitem.h b/konversation/src/nicksonlineitem.h
new file mode 100644
index 0000000..5711e60
--- /dev/null
+++ b/konversation/src/nicksonlineitem.h
@@ -0,0 +1,58 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#ifndef NICKSONLINEITEM_H
+#define NICKSONLINEITEM_H
+
+#include <klistview.h>
+
+
+class NicksOnlineItem : public KListViewItem
+{
+ public:
+ enum NickListViewColumn
+ {
+ NetworkRootItem=0, // TODO: not used yet
+ NicknameItem=1, // TODO: not used yet
+ ChannelItem=2, // TODO: not used yet
+ OfflineItem=3 // this item is the "Offline" item
+ };
+
+ NicksOnlineItem(int type,
+ QListView* parent,
+ const QString& name,
+ const QString& col2 = QString());
+
+ NicksOnlineItem(int type,
+ QListViewItem* parent,
+ const QString& name,
+ const QString& col2 = QString());
+
+ /**
+ * Reimplemented to make sure, "Offline" items always get sorted to the bottom of the list
+ * @param i Pointer to the QListViewItem to compare with.
+ * @param col The column to compare
+ * @param ascending Specify sorting direction
+ * @return -1 if this item's value is smaller than i, 0 if they are equal, 1 if it's greater
+ */
+ virtual int compare(QListViewItem* i,int col,bool ascending) const;
+
+ /**
+ * Returns the type of the item.
+ * @return One of the enum NickListViewColumn
+ */
+ int type() const;
+
+ protected:
+ int m_type;
+};
+
+#endif
diff --git a/konversation/src/notificationhandler.cpp b/konversation/src/notificationhandler.cpp
new file mode 100644
index 0000000..f8477e9
--- /dev/null
+++ b/konversation/src/notificationhandler.cpp
@@ -0,0 +1,334 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "notificationhandler.h"
+#include "common.h"
+#include "chatwindow.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "trayicon.h"
+#include "server.h"
+
+#include <qstylesheet.h>
+
+#include <knotifyclient.h>
+#include <kstringhandler.h>
+#include <klocale.h>
+
+
+namespace Konversation
+{
+
+ NotificationHandler::NotificationHandler(KonversationApplication* parent, const char* name)
+ : QObject(parent, name)
+ {
+ m_mainWindow = parent->getMainWindow();
+ }
+
+ NotificationHandler::~NotificationHandler()
+ {
+ }
+
+ void NotificationHandler::message(ChatWindow* chatWin, const QString& fromNick, const QString& message)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ QString cleanedMessage = QStyleSheet::escape(Konversation::removeIrcMarkup(message));
+ QString cutup = addLineBreaks(cleanedMessage);
+
+ KNotifyClient::event(m_mainWindow->winId(), "message", QString("<qt>&lt;%1&gt; %2</qt>").arg(fromNick).arg(cutup));
+
+ if(!Preferences::trayNotifyOnlyOwnNick())
+ {
+ startTrayNotification(chatWin);
+ }
+
+ if(Preferences::oSDShowChannel() &&
+ (!m_mainWindow->isActiveWindow() || (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->osd->showOSD('(' + chatWin->getName() + ") <" + fromNick + "> " + cleanedMessage);
+ }
+ }
+
+ void NotificationHandler::nick(ChatWindow* chatWin, const QString& fromNick, const QString& message)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ QString cleanedMessage = QStyleSheet::escape(Konversation::removeIrcMarkup(message));
+ QString cutup = addLineBreaks(cleanedMessage);
+
+ KNotifyClient::event(m_mainWindow->winId(), "nick", QString("<qt>&lt;%1&gt; %2</qt>").arg(fromNick).arg(cutup));
+
+ startTrayNotification(chatWin);
+
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ if((Preferences::oSDShowChannel() || Preferences::oSDShowOwnNick()) &&
+ (!m_mainWindow->isActiveWindow() ||
+ (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ konvApp->osd->showOSD(i18n("[HighLight] (%1) <%2> %3").arg(chatWin->getName()).arg(fromNick).arg(cleanedMessage));
+ }
+ }
+
+ void NotificationHandler::queryMessage(ChatWindow* chatWin,
+ const QString& fromNick, const QString& message)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ QString cleanedMessage = QStyleSheet::escape(Konversation::removeIrcMarkup(message));
+ QString cutup = addLineBreaks(cleanedMessage);
+
+ KNotifyClient::event(m_mainWindow->winId(), "queryMessage", QString("<qt>&lt;%1&gt; %2</qt>").arg(fromNick).arg(cutup));
+
+ startTrayNotification(chatWin);
+
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+
+ if(Preferences::oSDShowQuery() && (!m_mainWindow->isActiveWindow() ||
+ (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ konvApp->osd->showOSD(i18n("[Query] <%1> %2").arg(fromNick).arg(cleanedMessage));
+ }
+ }
+
+ void NotificationHandler::startTrayNotification(ChatWindow* chatWin)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (!chatWin->getServer() || (Preferences::disableNotifyWhileAway() && chatWin->getServer()->isAway()))
+ return;
+
+ if (!m_mainWindow->isActiveWindow() && chatWin->getServer()->isConnected())
+ m_mainWindow->systemTrayIcon()->startNotification();
+ }
+
+ void NotificationHandler::join(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "join", i18n("%1 joined %2").arg(nick, chatWin->getName()));
+
+ // OnScreen Message
+ if(Preferences::oSDShowChannelEvent() &&
+ (!m_mainWindow->isActiveWindow() || (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->osd->showOSD(i18n("%1 joined %2").arg(nick, chatWin->getName()));
+ }
+ }
+
+ void NotificationHandler::part(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "part", i18n("%1 parted %2").arg(nick, chatWin->getName()));
+
+ // OnScreen Message
+ if(Preferences::oSDShowChannelEvent() &&
+ (!m_mainWindow->isActiveWindow() || (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->osd->showOSD(i18n("%1 parted %2").arg(nick, chatWin->getName()));
+ }
+ }
+
+ void NotificationHandler::quit(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "part", i18n("%1 quit %2").arg(nick, chatWin->getServer()->getServerName()));
+ }
+
+ void NotificationHandler::nickChange(ChatWindow* chatWin, const QString& oldNick, const QString& newNick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "nickchange", i18n("%1 changed nickname to %2").arg(oldNick, newNick));
+ }
+
+ void NotificationHandler::dccIncoming(ChatWindow* chatWin, const QString& fromNick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "dcc_incoming", i18n("%1 wants to send a file to you").arg(fromNick));
+ }
+
+ void NotificationHandler::mode(ChatWindow* chatWin, const QString& /*nick*/)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "mode");
+ }
+
+ void NotificationHandler::query(ChatWindow* chatWin, const QString& fromNick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ startTrayNotification(chatWin);
+
+ KNotifyClient::event(m_mainWindow->winId(), "query",
+ i18n("%1 has started a conversation (query) with you.").arg(fromNick));
+ }
+
+ void NotificationHandler::nickOnline(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "notify",
+ i18n("%1 is online (%2).").arg(nick).arg(chatWin->getServer()->getServerName()));
+ }
+
+ void NotificationHandler::nickOffline(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "notify",
+ i18n("%1 went offline (%2).").arg(nick).arg(chatWin->getServer()->getServerName()));
+ }
+
+ void NotificationHandler::kick(ChatWindow* chatWin, const QString& channel,const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "kick",
+ i18n("You are kicked by %1 from %2").arg(nick).arg(channel));
+ }
+
+ void NotificationHandler::dccChat(ChatWindow* chatWin, const QString& nick)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "dccChat",
+ i18n("%1 started a dcc chat with you").arg(nick));
+ }
+
+ void NotificationHandler::highlight(ChatWindow* chatWin, const QString& fromNick, const QString& message)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ startTrayNotification(chatWin);
+
+ if(Preferences::oSDShowOwnNick() &&
+ (!m_mainWindow->isActiveWindow() || (chatWin != m_mainWindow->getViewContainer()->getFrontView())))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ // if there was no nick associated, this must be a command message, so don't try displaying
+ // an empty nick in <>
+ if(fromNick.isEmpty())
+ konvApp->osd->showOSD(i18n("[HighLight] (%1) *** %2").arg(chatWin->getName()).arg(message));
+ // normal highlight message
+ else
+ konvApp->osd->showOSD(i18n("[HighLight] (%1) <%2> %3").arg(chatWin->getName()).arg(fromNick).arg(message));
+ }
+ }
+
+ void NotificationHandler::connectionFailure(ChatWindow* chatWin, const QString& server)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "connectionFailure",
+ i18n("Failed to connect to %1").arg(server));
+ }
+
+ void NotificationHandler::channelJoin(ChatWindow* chatWin, const QString& channel)
+ {
+ if (!chatWin || !chatWin->notificationsEnabled())
+ return;
+
+ if (Preferences::disableNotifyWhileAway() && chatWin->getServer() && chatWin->getServer()->isAway())
+ return;
+
+ KNotifyClient::event(m_mainWindow->winId(), "channelJoin", i18n("You have joined %1.").arg(channel));
+ }
+
+ QString NotificationHandler::addLineBreaks(const QString& string)
+ {
+ QString cutup = string;
+ int offset = 0;
+
+ for(uint i = 0; i < string.length(); i += 50)
+ {
+ cutup.insert(i + (offset * 4), "<br>");
+ ++offset;
+ }
+
+ return cutup;
+ }
+
+}
+
+#include "notificationhandler.moc"
diff --git a/konversation/src/notificationhandler.h b/konversation/src/notificationhandler.h
new file mode 100644
index 0000000..1f7319c
--- /dev/null
+++ b/konversation/src/notificationhandler.h
@@ -0,0 +1,61 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONNOTIFICATIONHANDLER_H
+#define KONVERSATIONNOTIFICATIONHANDLER_H
+
+#include <qobject.h>
+
+
+class ChatWindow;
+class KonversationApplication;
+class KonversationMainWindow;
+
+namespace Konversation
+{
+
+ class NotificationHandler : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ explicit NotificationHandler(KonversationApplication* parent = 0, const char* name = 0);
+ ~NotificationHandler();
+
+ public slots:
+ void message(ChatWindow* chatWin, const QString& fromNick, const QString& message);
+ void nick(ChatWindow* chatWin, const QString& fromNick, const QString& message);
+ void join(ChatWindow* chatWin, const QString& nick);
+ void part(ChatWindow* chatWin, const QString& nick);
+ void quit(ChatWindow* chatWin, const QString& nick);
+ void nickChange(ChatWindow* chatWin, const QString& oldNick, const QString& newNick);
+ void dccIncoming(ChatWindow* chatWin, const QString& fromNick);
+ void mode(ChatWindow* chatWin, const QString& nick);
+ void query(ChatWindow* chatWin, const QString& fromNick);
+ void queryMessage(ChatWindow* chatWin, const QString& fromNick, const QString& message);
+ void nickOnline(ChatWindow* chatWin, const QString& nick);
+ void nickOffline(ChatWindow* chatWin, const QString& nick);
+ void kick(ChatWindow* chatWin, const QString& channel,const QString& nick);
+ void dccChat(ChatWindow* chatWin, const QString& nick);
+ void highlight(ChatWindow* chatWin, const QString& fromNick, const QString& message);
+ void connectionFailure(ChatWindow* chatWin, const QString& server);
+ void channelJoin(ChatWindow* chatWin, const QString& channel);
+
+ protected:
+ void startTrayNotification(ChatWindow* chatWin);
+ QString addLineBreaks(const QString& string);
+
+ private:
+ KonversationMainWindow* m_mainWindow;
+ };
+
+}
+#endif
diff --git a/konversation/src/osd.cpp b/konversation/src/osd.cpp
new file mode 100644
index 0000000..ce173ab
--- /dev/null
+++ b/konversation/src/osd.cpp
@@ -0,0 +1,446 @@
+/*
+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.
+*/
+
+/*
+ Provides an interface to a plain QWidget, which is independent of KDE (bypassed to X11)
+ begin: Fre Sep 26 2003
+ Copyright (C) 2003 Christian Muehlhaeuser <chris@chris.de>
+ Copyright (C) 2004 Michael Goettsche <michael.goettsche@kdemail.net>
+*/
+
+#include "osd.h"
+#include "konversationapplication.h"
+#include "common.h"
+
+#include <qapplication.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <qregexp.h>
+
+#include <dcopclient.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kglobalsettings.h> //unsetColors()
+
+#include <X11/Xlib.h> //reposition()
+
+
+OSDWidget::OSDWidget( const QString &appName, QWidget *parent, const char *name )
+: QWidget( parent, name, WNoAutoErase | WStyle_Customize | WX11BypassWM | WStyle_StaysOnTop | WStyle_Tool )
+, m_appName( appName )
+, m_duration( 5000 )
+, m_shadow( true )
+, m_alignment( Middle )
+, m_screen( 0 )
+, m_y( MARGIN )
+, m_dirty( false )
+{
+ setFocusPolicy( NoFocus );
+ setBackgroundMode( NoBackground );
+ unsetColors();
+
+ connect( &timer, SIGNAL( timeout() ), SLOT( hide() ) );
+ connect( &timerMin, SIGNAL( timeout() ), SLOT( minReached() ) );
+}
+
+void OSDWidget::renderOSDText( const QString &txt )
+{
+ // Escaped text
+ QString text = Konversation::removeIrcMarkup(txt);
+
+ static QBitmap mask;
+
+ //This is various spacings and margins, based on the font to look "just right"
+ const uint METRIC = fontMetrics().width( 'x' );
+
+ // Set a sensible maximum size, don't cover the whole desktop or cross the screen
+ QSize max = QApplication::desktop()->screen( m_screen )->size() - QSize( MARGIN*2 + METRIC*2, 100 );
+ QFont titleFont( "Arial", 12, QFont::Bold );
+ QFontMetrics titleFm( titleFont );
+
+ // The title cannnot be taller than one line
+ // AlignAuto = align Arabic to the right, etc.
+ QRect titleRect = titleFm.boundingRect( 0, 0, max.width() - METRIC, titleFm.height(), AlignAuto, m_appName );
+ // The osd cannot be larger than the screen
+ QRect textRect = fontMetrics().boundingRect( 0, 0, max.width(), max.height(), AlignAuto | WordBreak, text );
+
+ if ( textRect.width() < titleRect.width() )
+ textRect.setWidth( titleRect.width() );
+
+ //this should still be within the screen bounds
+ textRect.addCoords( 0, 0, METRIC*2, titleRect.height() + METRIC );
+
+ osdBuffer.resize( textRect.size() );
+ mask.resize( textRect.size() );
+
+ // Start painting!
+ QPainter bufferPainter( &osdBuffer );
+ QPainter maskPainter( &mask );
+
+ // Draw backing rectangle
+ const uint xround = (METRIC * 200) / textRect.width();
+ const uint yround = (METRIC * 200) / textRect.height();
+
+ bufferPainter.setPen( Qt::black );
+ bufferPainter.setBrush( backgroundColor() );
+ bufferPainter.drawRoundRect( textRect, xround, yround );
+ bufferPainter.setFont( font() );
+
+ const uint w = textRect.width() - 1;
+ const uint h = textRect.height() - 1;
+
+ // Draw the text shadow
+ if ( m_shadow )
+ {
+ bufferPainter.setPen( backgroundColor().dark( 175 ) );
+ bufferPainter.drawText( METRIC + 3, (METRIC/2) + titleFm.height() + 1, w, h, AlignLeft | WordBreak, text );
+ }
+
+ // Draw the text
+ bufferPainter.setPen( foregroundColor() );
+ bufferPainter.drawText( METRIC, (METRIC/2) + titleFm.height() - 1, w, h, AlignLeft | WordBreak, text );
+
+ // Draw the title text
+ bufferPainter.setFont( titleFont );
+ bufferPainter.drawText( METRIC * 2, (METRIC/2), w, h, AlignLeft, m_appName );
+
+ // Masking for transparency
+ mask.fill( Qt::black );
+ maskPainter.setBrush( Qt::white );
+ maskPainter.drawRoundRect( textRect, xround, yround );
+ setMask( mask );
+
+ //do last to reduce noticeable change when showing multiple OSDs in succession
+ reposition( textRect.size() );
+
+ m_currentText = text;
+ m_dirty = false;
+
+ update();
+}
+
+ // slot
+void OSDWidget::showOSD( const QString &text, bool preemptive )
+{
+ if ( isEnabled() && !text.isEmpty() )
+ {
+
+ QString plaintext = text.copy();
+ plaintext.replace(QRegExp("</?(?:font|a|b|i)\\b[^>]*>"), QString(""));
+ plaintext.replace(QString("&lt;"), QString("<"));
+ plaintext.replace(QString("&gt;"), QString(">"));
+ plaintext.replace(QString("&amp;"), QString("&"));
+
+ if ( preemptive || !timerMin.isActive() )
+ {
+ m_currentText = plaintext;
+ m_dirty = true;
+
+ show();
+ }
+ else textBuffer.append( plaintext ); //queue
+ }
+}
+
+void OSDWidget::minReached() //SLOT
+{
+ if ( !textBuffer.isEmpty() )
+ {
+ renderOSDText( textBuffer.front() );
+ textBuffer.pop_front();
+
+ if( m_duration )
+ //timerMin is still running
+ timer.start( m_duration, true );
+ }
+ else timerMin.stop();
+}
+
+void OSDWidget::setDuration( int ms )
+{
+ m_duration = ms;
+
+ if( !m_duration ) timer.stop();
+}
+
+void OSDWidget::setFont( QFont newFont )
+{
+ QWidget::setFont( newFont );
+ refresh();
+}
+
+void OSDWidget::setShadow( bool shadow )
+{
+ m_shadow = shadow;
+ refresh();
+}
+
+void OSDWidget::setTextColor( const QColor &newColor )
+{
+ setPaletteForegroundColor( newColor );
+ refresh();
+}
+
+void OSDWidget::setBackgroundColor( const QColor &newColor )
+{
+ setPaletteBackgroundColor( newColor );
+ refresh();
+}
+
+void OSDWidget::unsetColors()
+{
+ setPaletteForegroundColor( KGlobalSettings::activeTextColor() );
+ setPaletteBackgroundColor( KGlobalSettings::activeTitleColor() );
+
+ refresh();
+}
+
+void OSDWidget::setOffset( int /*x*/, int y )
+{
+ //m_offset = QPoint( x, y );
+ m_y = y;
+ reposition();
+}
+
+void OSDWidget::setAlignment( Alignment a )
+{
+ m_alignment = a;
+ reposition();
+}
+
+void OSDWidget::setScreen( uint screen )
+{
+ const uint n = QApplication::desktop()->numScreens();
+ m_screen = (screen >= n) ? n-1 : (int)screen;
+ reposition();
+}
+
+bool OSDWidget::event( QEvent *e )
+{
+ switch( e->type() )
+ {
+ case QEvent::Paint:
+ bitBlt( this, 0, 0, &osdBuffer );
+ return true;
+
+ default:
+ return QWidget::event( e );
+ }
+}
+
+void OSDWidget::mousePressEvent( QMouseEvent* )
+{
+ hide();
+ emit hidden();
+}
+
+void OSDWidget::show()
+{
+ // Don't show the OSD widget when the desktop is locked
+ if ( isKDesktopLockRunning() == Locked )
+ {
+ minReached(); // don't queue the message
+ return;
+ }
+
+ if ( m_dirty ) renderOSDText( m_currentText );
+
+ QWidget::show();
+
+ if ( m_duration ) //duration 0 -> stay forever
+ {
+ timer.start( m_duration, true ); //calls hide()
+ timerMin.start( 150 ); //calls minReached()
+ }
+}
+
+void OSDWidget::refresh()
+{
+ if ( isVisible() )
+ {
+ //we need to update the buffer
+ renderOSDText( m_currentText );
+ }
+ else m_dirty = true; //ensure we are re-rendered before we are shown
+}
+
+void OSDWidget::reposition( QSize newSize )
+{
+ if( !newSize.isValid() ) newSize = size();
+
+ QPoint newPos( MARGIN, m_y );
+ const QRect screen = QApplication::desktop()->screenGeometry( m_screen );
+
+ //TODO m_y is the middle of the OSD, and don't exceed screen margins
+
+ switch ( m_alignment )
+ {
+ case Left:
+ break;
+
+ case Right:
+ newPos.rx() = screen.width() - MARGIN - newSize.width();
+ break;
+
+ case Center:
+ newPos.ry() = (screen.height() - newSize.height()) / 2;
+
+ //FALL THROUGH
+
+ case Middle:
+ newPos.rx() = (screen.width() - newSize.width()) / 2;
+ break;
+ }
+
+ //ensure we don't dip below the screen
+ if( newPos.y()+newSize.height() > screen.height()-MARGIN ) newPos.ry() = screen.height()-MARGIN-newSize.height();
+
+ // correct for screen position
+ newPos += screen.topLeft();
+
+ //ensure we are painted before we move
+ if( isVisible() ) paintEvent( 0 );
+
+ //fancy X11 move+resize, reduces visual artifacts
+ XMoveResizeWindow( x11Display(), winId(), newPos.x(), newPos.y(), newSize.width(), newSize.height() );
+}
+
+////// OSDPreviewWidget below /////////////////////
+
+#include <kcursor.h> //previewWidget
+#include <klocale.h>
+
+OSDPreviewWidget::OSDPreviewWidget( const QString &appName, QWidget *parent, const char *name )
+: OSDWidget( appName, parent, name )
+, m_dragging( false )
+{
+ m_currentText = i18n( "OSD Preview - drag to reposition" );
+ m_duration = 0;
+}
+
+void OSDPreviewWidget::mousePressEvent( QMouseEvent *event )
+{
+ m_dragOffset = event->pos();
+
+ if ( event->button() == LeftButton && !m_dragging )
+ {
+ grabMouse( KCursor::sizeAllCursor() );
+ m_dragging = true;
+ }
+}
+
+void OSDPreviewWidget::mouseReleaseEvent( QMouseEvent * /*event*/ )
+{
+ if ( m_dragging )
+ {
+ m_dragging = false;
+ releaseMouse();
+
+ // compute current Position && offset
+ QDesktopWidget *desktop = QApplication::desktop();
+ int currentScreen = desktop->screenNumber( pos() );
+
+ if ( currentScreen != -1 )
+ {
+ // set new data
+ m_screen = currentScreen;
+ m_y = QWidget::y();
+
+ emit positionChanged();
+ }
+ }
+}
+
+void OSDPreviewWidget::mouseMoveEvent( QMouseEvent *e )
+{
+ if ( m_dragging && this == mouseGrabber() )
+ {
+ const QRect screen = QApplication::desktop()->screenGeometry( m_screen );
+ const uint hcenter = screen.width() / 2;
+ const uint eGlobalPosX = e->globalPos().x() - screen.left();
+ const uint snapZone = screen.width() / 8;
+
+ QPoint destination = e->globalPos() - m_dragOffset - screen.topLeft();
+ int maxY = screen.height() - height() - MARGIN;
+ if( destination.y() < MARGIN ) destination.ry() = MARGIN;
+ if( destination.y() > maxY ) destination.ry() = maxY;
+
+ if( eGlobalPosX < (hcenter-snapZone) )
+ {
+ m_alignment = Left;
+ destination.rx() = MARGIN;
+ }
+ else if( eGlobalPosX > (hcenter+snapZone) )
+ {
+ m_alignment = Right;
+ destination.rx() = screen.width() - MARGIN - width();
+ }
+ else
+ {
+ const uint eGlobalPosY = e->globalPos().y() - screen.top();
+ const uint vcenter = screen.height()/2;
+
+ destination.rx() = hcenter - width()/2;
+
+ if( eGlobalPosY >= (vcenter-snapZone) && eGlobalPosY <= (vcenter+snapZone) )
+ {
+ m_alignment = Center;
+ destination.ry() = vcenter - height()/2;
+ }
+ else m_alignment = Middle;
+ }
+
+ destination += screen.topLeft();
+
+ move( destination );
+ }
+}
+
+// the code was taken from pilotDaemon.cc in KPilot
+ // static
+OSDWidget::KDesktopLockStatus OSDWidget::isKDesktopLockRunning()
+{
+ if (!Preferences::oSDCheckDesktopLock())
+ return NotLocked;
+
+ DCOPClient *dcopptr = KApplication::kApplication()->dcopClient();
+
+ // Can't tell, very weird
+ if (!dcopptr || !dcopptr->isAttached())
+ {
+ kdWarning() << k_funcinfo << ": Could not make DCOP connection." << endl;
+ return DCOPError;
+ }
+
+ QByteArray data,returnValue;
+ QCString returnType;
+
+ if (!dcopptr->call("kdesktop","KScreensaverIface","isBlanked()",
+ data,returnType,returnValue,true))
+ {
+ // KDesktop is not running. Maybe we are in a KDE4 desktop...
+ kdDebug() << k_funcinfo << ": Check for screensaver failed." << endl;
+ return DCOPError;
+ }
+
+ if (returnType == "bool")
+ {
+ bool b;
+ QDataStream reply(returnValue,IO_ReadOnly);
+ reply >> b;
+ return (b ? Locked : NotLocked);
+ }
+ else
+ {
+ kdWarning() << k_funcinfo << ": Strange return value from screensaver. "
+ << "Assuming screensaver is active." << endl;
+ // Err on the side of safety.
+ return Locked;
+ }
+}
+
+#include "osd.moc"
diff --git a/konversation/src/osd.h b/konversation/src/osd.h
new file mode 100644
index 0000000..997162b
--- /dev/null
+++ b/konversation/src/osd.h
@@ -0,0 +1,124 @@
+/*
+ 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.
+*/
+
+/*
+ Provides an interface to a plain QWidget, which is independent of KDE (bypassed to X11)
+ begin: Fre Sep 26 2003
+ Copyright (C) 2003 Christian Muehlhaeuser <chris@chris.de>
+ Copyright (C) 2004 Michael Goettsche <michael.goettsche@kdemail.net>
+*/
+
+#ifndef OSD_H
+#define OSD_H
+
+#include <qpixmap.h> //stack allocated
+#include <qtimer.h> //stack allocated
+#include <qwidget.h> //baseclass
+
+
+class QFont;
+class QString;
+class QStringList;
+class QTimer;
+class MetaBundle;
+
+class OSDWidget : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ enum Alignment { Left, Middle, Center, Right };
+
+ explicit OSDWidget(const QString &appName, QWidget *parent = 0, const char *name = "osd");
+ void setDuration(int ms);
+ void setFont(QFont newfont);
+ void setShadow(bool shadow);
+ void setTextColor(const QColor &newcolor);
+ void setBackgroundColor(const QColor &newColor);
+ void setOffset( int x, int y );
+ void setAlignment(Alignment);
+ void setScreen(uint screen);
+ void setText(const QString &text) { m_currentText = text; refresh(); }
+
+ void unsetColors();
+
+ int screen() { return m_screen; }
+ int alignment() { return m_alignment; }
+ int y() { return m_y; }
+
+ signals:
+ void hidden();
+
+ public slots:
+ //TODO rename show, scrap removeOSD, just use hide() <- easier to learn
+ void showOSD(const QString&, bool preemptive=false );
+ void removeOSD() //inlined as is convenience function
+ {
+ hide();
+ }
+
+ protected slots:
+ void minReached();
+
+ protected:
+ /* render text into osdBuffer */
+ void renderOSDText(const QString &text);
+ void mousePressEvent( QMouseEvent* );
+ bool event(QEvent*);
+
+ void show();
+
+ /* call to reposition a new OSD text or when position attributes change */
+ void reposition( QSize newSize = QSize() );
+
+ /* called after most set*() calls to update the OSD */
+ void refresh();
+
+ enum KDesktopLockStatus { NotLocked=0, Locked=1, DCOPError=2 };
+ static KDesktopLockStatus isKDesktopLockRunning();
+
+ static const int MARGIN = 15;
+
+ QString m_appName;
+ int m_duration;
+ QTimer timer;
+ QTimer timerMin;
+ QPixmap osdBuffer;
+ QStringList textBuffer;
+ QString m_currentText;
+ bool m_shadow;
+
+ Alignment m_alignment;
+ int m_screen;
+ uint m_y;
+
+ bool m_dirty; //if dirty we will be re-rendered before we are shown
+};
+
+// do not pollute OSDWidget with this preview stuff
+class OSDPreviewWidget : public OSDWidget
+{
+ Q_OBJECT
+
+ public:
+ explicit OSDPreviewWidget( const QString &appName, QWidget *parent = 0, const char *name = "osdpreview" );
+
+ static QPoint m_previewOffset;
+
+ signals:
+ void positionChanged();
+
+ protected:
+ void mousePressEvent( QMouseEvent * );
+ void mouseReleaseEvent( QMouseEvent * );
+ void mouseMoveEvent( QMouseEvent * );
+
+ private:
+ bool m_dragging;
+ QPoint m_dragOffset;
+};
+#endif /*OSD_H*/
diff --git a/konversation/src/osd_preferences.cpp b/konversation/src/osd_preferences.cpp
new file mode 100644
index 0000000..49f223d
--- /dev/null
+++ b/konversation/src/osd_preferences.cpp
@@ -0,0 +1,190 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ivor Hewitt <ivor@ivor.org>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006 Peter Simonsson <psn@linux.se>
+*/
+
+#include "osd_preferences.h"
+#include "config/preferences.h"
+#include "osd.h"
+#include "konversationapplication.h"
+
+#include <qgroupbox.h>
+#include <qspinbox.h>
+#include <kcombobox.h>
+#include <kcolorbutton.h>
+#include <qcheckbox.h>
+#include <kfontrequester.h>
+
+#include <kconfigdialog.h>
+
+
+OSD_Config::OSD_Config( QWidget* parent, const char* name, WFlags fl )
+ : OSD_ConfigUI( parent, name, fl )
+{
+ bool enableScreenChooser = false;
+ QRect screenRect;
+
+ for(int i = 0; i < QApplication::desktop()->numScreens(); ++i) {
+ kcfg_OSDScreen->insertItem(QString::number(i));
+ screenRect = QApplication::desktop()->screenGeometry(i);
+
+ //Check if we're using xinerama or not
+ if(screenRect.left() != 0 || screenRect.top() != 0) {
+ enableScreenChooser = true;
+ }
+ }
+
+ kcfg_OSDScreen->setEnabled(enableScreenChooser);
+
+ m_pOSDPreview = new OSDPreviewWidget("Konversation");
+ connect(m_pOSDPreview, SIGNAL(positionChanged()), this, SLOT(slotPositionChanged()));
+
+ connect( kcfg_OSDFont, SIGNAL(fontSelected(const QFont&)), this, SLOT(slotUpdateFont(const QFont&)));
+
+ slotOSDEnabledChanged(kcfg_UseOSD->isChecked());
+ slotCustomColorsChanged(kcfg_OSDUseCustomColors->isChecked());
+ slotScreenChanged(Preferences::oSDScreen());
+ slotDrawShadowChanged( kcfg_OSDDrawShadow->isChecked());
+ slotUpdateFont(Preferences::oSDFont());
+
+ kcfg_OSDOffsetX->hide();
+ kcfg_OSDOffsetY->hide();
+ kcfg_OSDAlignment->hide();
+
+ //Connect config page entries to control the OSDPreview
+ connect ( kcfg_UseOSD, SIGNAL( toggled( bool ) ), this, SLOT( slotOSDEnabledChanged(bool) ) );
+ connect ( kcfg_OSDUseCustomColors, SIGNAL(toggled(bool)), this, SLOT(slotCustomColorsChanged(bool)));
+ connect ( kcfg_OSDTextColor, SIGNAL(changed(const QColor&)), this, SLOT(slotTextColorChanged(const QColor&)));
+ connect ( kcfg_OSDBackgroundColor, SIGNAL(changed(const QColor&)), this, SLOT(slotBackgroundColorChanged(const QColor&)));
+ connect ( kcfg_OSDScreen, SIGNAL(activated(int)), this, SLOT(slotScreenChanged(int)));
+ connect ( kcfg_OSDDrawShadow, SIGNAL(toggled(bool)), this, SLOT(slotDrawShadowChanged(bool)));
+}
+
+OSD_Config::~OSD_Config()
+{
+ delete m_pOSDPreview;
+}
+
+void OSD_Config::loadSettings()
+{
+}
+
+void OSD_Config::restorePageToDefaults()
+{
+}
+
+void OSD_Config::saveSettings()
+{
+ //Update the current OSD.
+ KonversationApplication *konvApp=static_cast<KonversationApplication *>(KApplication::kApplication());
+
+ konvApp->osd->setEnabled(kcfg_UseOSD->isChecked());
+ if (kcfg_UseOSD->isChecked())
+ {
+ konvApp->osd->setFont(Preferences::oSDFont());
+ if(kcfg_OSDUseCustomColors->isChecked())
+ {
+ konvApp->osd->setTextColor(kcfg_OSDTextColor->color());
+ konvApp->osd->setBackgroundColor(kcfg_OSDBackgroundColor->color());
+ }
+ else
+ {
+ konvApp->osd->unsetColors();
+ }
+
+ konvApp->osd->setDuration(kcfg_OSDDuration->value());
+ konvApp->osd->setScreen(kcfg_OSDScreen->currentItem());
+ konvApp->osd->setShadow(kcfg_OSDDrawShadow->isChecked());
+
+ //x is ignored anyway, but leave incase we use in future
+ konvApp->osd->setOffset(kcfg_OSDOffsetX->value(), kcfg_OSDOffsetY->value());
+ konvApp->osd->setAlignment((OSDWidget::Alignment)kcfg_OSDAlignment->value());
+ }
+
+}
+
+void OSD_Config::showEvent(QShowEvent*)
+{
+ //Update the preview
+ m_pOSDPreview->setAlignment((OSDWidget::Alignment)( kcfg_OSDAlignment->value() ) );
+ m_pOSDPreview->setOffset(kcfg_OSDOffsetX->value(),kcfg_OSDOffsetY->value());
+
+ m_pOSDPreview->setShown(kcfg_UseOSD->isChecked());
+}
+
+void OSD_Config::hideEvent(QHideEvent*)
+{
+ m_pOSDPreview->setShown(false);
+}
+
+bool OSD_Config::hasChanged()
+{
+ // follow the interface, no Non-KConfigXT settings here, so none have changed
+ return false;
+}
+
+void OSD_Config::slotOSDEnabledChanged(bool on)
+{
+ if ( isVisible() )
+ m_pOSDPreview->setShown(on);
+}
+
+void OSD_Config::slotPositionChanged()
+{
+ kcfg_OSDScreen->setCurrentItem(m_pOSDPreview->screen());
+
+ kcfg_OSDAlignment->setValue( m_pOSDPreview->alignment() );
+ kcfg_OSDOffsetX->setValue( m_pOSDPreview->x());
+ kcfg_OSDOffsetY->setValue( m_pOSDPreview->y());
+}
+
+
+void OSD_Config::slotCustomColorsChanged(bool on)
+{
+ if(on)
+ {
+ m_pOSDPreview->setTextColor(kcfg_OSDTextColor->color());
+ m_pOSDPreview->setBackgroundColor(kcfg_OSDBackgroundColor->color());
+ }
+ else
+ m_pOSDPreview->unsetColors();
+}
+void OSD_Config::slotTextColorChanged(const QColor& color)
+{
+ if(kcfg_OSDUseCustomColors->isChecked())
+ m_pOSDPreview->setTextColor(color);
+}
+
+void OSD_Config::slotBackgroundColorChanged(const QColor& color)
+{
+ if(kcfg_OSDUseCustomColors->isChecked())
+ m_pOSDPreview->setBackgroundColor(color);
+}
+
+void OSD_Config::slotScreenChanged(int index)
+{
+ m_pOSDPreview->setScreen(index);
+}
+
+void OSD_Config::slotDrawShadowChanged(bool on)
+{
+ m_pOSDPreview->setShadow(on);
+}
+
+void OSD_Config::slotUpdateFont(const QFont& font)
+{
+ m_pOSDPreview->setFont(font);
+}
+
+#include "osd_preferences.moc"
+
diff --git a/konversation/src/osd_preferences.h b/konversation/src/osd_preferences.h
new file mode 100644
index 0000000..fe7c38e
--- /dev/null
+++ b/konversation/src/osd_preferences.h
@@ -0,0 +1,57 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ivor Hewitt <ivor@ivor.org>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006 Peter Simonsson <psn@linux.se>
+*/
+
+#ifndef EXOSDPREFERENCES_H
+#define EXOSDPREFERENCES_H
+
+#include "osd_preferencesui.h"
+#include "konvisettingspage.h"
+
+
+class OSDPreviewWidget;
+
+class OSD_Config : public OSD_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit OSD_Config( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~OSD_Config();
+
+ virtual void restorePageToDefaults();
+ virtual void saveSettings();
+ virtual void loadSettings();
+
+ virtual bool hasChanged(); // implement the interface, will not be used here, though
+
+ protected slots:
+ void slotOSDEnabledChanged(bool on);
+ void slotCustomColorsChanged(bool on);
+ void slotTextColorChanged(const QColor& color);
+ void slotBackgroundColorChanged(const QColor& color);
+ void slotScreenChanged(int index);
+ void slotDrawShadowChanged(bool on);
+ void slotUpdateFont(const QFont& font);
+ void slotPositionChanged();
+
+ protected:
+ void showEvent(QShowEvent* event);
+ void hideEvent(QHideEvent* event);
+
+ private:
+ OSDPreviewWidget* m_pOSDPreview;
+};
+
+#endif // EXOSDPREFERENCES_H
diff --git a/konversation/src/osd_preferencesui.ui b/konversation/src/osd_preferencesui.ui
new file mode 100644
index 0000000..3d44f1d
--- /dev/null
+++ b/konversation/src/osd_preferencesui.ui
@@ -0,0 +1,424 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>OSD_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>OSD_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>444</width>
+ <height>442</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <spacer row="5" column="0">
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>10</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_UseOSD</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Enable On Screen Display</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="1" column="0">
+ <property name="name">
+ <cstring>groupBox2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>On &amp;Screen Display</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_OSDDrawShadow</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Draw shadows</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel1</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="text">
+ <string>OSD font:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kFontRequester1</cstring>
+ </property>
+ </widget>
+ <widget class="KFontRequester" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_OSDFont</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="2">
+ <property name="name">
+ <cstring>kcfg_OSDOffsetX</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>2048</number>
+ </property>
+ <property name="minValue">
+ <number>-2048</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="3">
+ <property name="name">
+ <cstring>kcfg_OSDOffsetY</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maxValue">
+ <number>2048</number>
+ </property>
+ <property name="minValue">
+ <number>-2048</number>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_OSDAlignment</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>groupBox3</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Show &amp;OSD Message</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_OSDShowOwnNick</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;If own nick appears in channel message</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_OSDShowChannel</cstring>
+ </property>
+ <property name="text">
+ <string>On an&amp;y channel message</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0">
+ <property name="name">
+ <cstring>kcfg_OSDShowQuery</cstring>
+ </property>
+ <property name="text">
+ <string>On &amp;query activity</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_OSDShowChannelEvent</cstring>
+ </property>
+ <property name="text">
+ <string>On &amp;Join/Part events</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_OSDUseCustomColors</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Enable Custom Colors</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="text">
+ <string>Te&amp;xt color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_OSDTextColor</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Background color:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_OSDBackgroundColor</cstring>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="2" column="1">
+ <property name="name">
+ <cstring>kcfg_OSDBackgroundColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_OSDTextColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="1" column="2" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>31</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="4" column="0">
+ <property name="name">
+ <cstring>groupBox4</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>O&amp;ther Settings</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel1_2</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Duration:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_OSDDuration</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2_2</cstring>
+ </property>
+ <property name="text">
+ <string>S&amp;creen:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_OSDScreen</cstring>
+ </property>
+ </widget>
+ <widget class="QSpinBox" row="0" column="1">
+ <property name="name">
+ <cstring>kcfg_OSDDuration</cstring>
+ </property>
+ <property name="suffix">
+ <string> ms</string>
+ </property>
+ <property name="maxValue">
+ <number>10000</number>
+ </property>
+ <property name="minValue">
+ <number>500</number>
+ </property>
+ <property name="lineStep">
+ <number>100</number>
+ </property>
+ </widget>
+ <widget class="KComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>kcfg_OSDScreen</cstring>
+ </property>
+ </widget>
+ <spacer row="0" column="2" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_OSDDrawShadow</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>groupBox3</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_OSDUseCustomColors</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>groupBox4</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>textLabel1</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_OSDFont</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseOSD</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>groupBox2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_UseOSD</tabstop>
+ <tabstop>kcfg_OSDDrawShadow</tabstop>
+ <tabstop>kcfg_OSDFont</tabstop>
+ <tabstop>kcfg_OSDOffsetX</tabstop>
+ <tabstop>kcfg_OSDOffsetY</tabstop>
+ <tabstop>kcfg_OSDAlignment</tabstop>
+ <tabstop>kcfg_OSDShowOwnNick</tabstop>
+ <tabstop>kcfg_OSDShowChannel</tabstop>
+ <tabstop>kcfg_OSDShowQuery</tabstop>
+ <tabstop>kcfg_OSDShowChannelEvent</tabstop>
+ <tabstop>kcfg_OSDUseCustomColors</tabstop>
+ <tabstop>kcfg_OSDTextColor</tabstop>
+ <tabstop>kcfg_OSDBackgroundColor</tabstop>
+ <tabstop>kcfg_OSDDuration</tabstop>
+ <tabstop>kcfg_OSDScreen</tabstop>
+ <tabstop>kcfg_OSDUseCustomColors</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kcombobox.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kfontrequester.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/outputfilter.cpp b/konversation/src/outputfilter.cpp
new file mode 100644
index 0000000..40823e2
--- /dev/null
+++ b/konversation/src/outputfilter.cpp
@@ -0,0 +1,1790 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "outputfilter.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "awaymanager.h"
+#include "ignore.h"
+#include "server.h"
+#include "irccharsets.h"
+#include "linkaddressbook/addressbook.h"
+#include "query.h"
+
+#include <qstringlist.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+#include <qregexp.h>
+#include <qmap.h>
+#include <qvaluelist.h>
+#include <qtextcodec.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+#include <kio/passdlg.h>
+#include <kconfig.h>
+#include <kdeversion.h>
+#include <kshell.h>
+#include <ksocketaddress.h>
+#include <kresolver.h>
+#include <kreverseresolver.h>
+#include <kmessagebox.h>
+
+
+namespace Konversation
+{
+ OutputFilter::OutputFilter(Server* server)
+ : QObject(server)
+ {
+ m_server = server;
+ }
+
+ OutputFilter::~OutputFilter()
+ {
+ }
+
+ // replace all aliases in the string and return true if anything got replaced at all
+ bool OutputFilter::replaceAliases(QString& line)
+ {
+ QStringList aliasList=Preferences::aliasList();
+ QString cc(Preferences::commandChar());
+ // check if the line starts with a defined alias
+ for(unsigned int index=0;index<aliasList.count();index++)
+ {
+ // cut alias pattern from definition
+ QString aliasPattern(aliasList[index].section(' ',0,0));
+ // cut first word from command line, so we do not wrongly find an alias
+ // that starts with the same letters, like /m would override /me
+ QString lineStart=line.section(' ',0,0);
+
+ // pattern found?
+ // TODO: cc may be a regexp character here ... we should escape it then
+ if (lineStart==cc+aliasPattern)
+ {
+ QString aliasReplace;
+
+ // cut alias replacement from definition
+ if ( aliasList[index].contains("%p") )
+ aliasReplace = aliasList[index].section(' ',1);
+ else
+ aliasReplace = aliasList[index].section(' ',1 )+' '+line.section(' ',1 );
+
+ // protect "%%"
+ aliasReplace.replace("%%","%\x01");
+ // replace %p placeholder with rest of line
+ aliasReplace.replace("%p",line.section(' ',1));
+ // restore "%<1>" as "%%"
+ aliasReplace.replace("%\x01","%%");
+ // modify line
+ line=aliasReplace;
+ // return "replaced"
+ return true;
+ }
+ } // for
+
+ return false;
+ }
+
+ QStringList OutputFilter::splitForEncoding(const QString& inputLine, uint max)
+ {
+ uint sublen = 0; //The encoded length since the last split
+ int charLength = 0; //the length of this char
+ int lastBreakPoint = 0;
+
+ //FIXME should we run this through the encoder first, checking with "canEncode"?
+ QString text = inputLine; // the text we'll send, currently in Unicode
+ QStringList finals; // The strings we're going to output
+
+ QString channelCodecName=Preferences::channelEncoding(m_server->getDisplayName(), destination);
+ //Get the codec we're supposed to use. This must not fail. (not verified)
+ QTextCodec* codec;
+
+ // I copied this bit straight out of Server::send
+ if (channelCodecName.isEmpty())
+ {
+ codec = m_server->getIdentity()->getCodec();
+ }
+ else
+ {
+ codec = Konversation::IRCCharsets::self()->codecForName(channelCodecName);
+ }
+
+ Q_ASSERT(codec);
+ int index = 0;
+
+ while(text.length() > max)
+ {
+ // The most important bit - turn the current char into a QCString so we can measure it
+ QCString ch = codec->fromUnicode(QString(text[index]));
+ charLength = ch.length();
+
+ // If adding this char puts us over the limit:
+ if (charLength + sublen > max)
+ {
+ if(lastBreakPoint != 0)
+ {
+ finals.append(text.left(lastBreakPoint + 1));
+ text = text.mid(lastBreakPoint + 1);
+ }
+ else
+ {
+ finals.append(text.left(index));
+ text = text.mid(index);
+ }
+
+ lastBreakPoint = 0;
+ sublen = 0;
+ index = 0;
+ }
+ else if (text[index].isSpace() || text[index].isPunct())
+ {
+ lastBreakPoint = index;
+ }
+
+ ++index;
+ sublen += charLength;
+ }
+
+ if (!text.isEmpty())
+ {
+ finals.append(text);
+ }
+
+ return finals;
+ }
+
+ OutputFilterResult OutputFilter::parse(const QString& myNick,const QString& originalLine,const QString& name)
+ {
+ setCommandChar();
+
+ OutputFilterResult result;
+ destination=name;
+
+ QString inputLine(originalLine);
+
+ if(inputLine.isEmpty() || inputLine == "\n")
+ return result;
+
+ //Protect against nickserv auth being sent as a message on the off chance
+ // someone didn't notice leading spaces
+ {
+ QString testNickServ( inputLine.stripWhiteSpace() );
+ if(testNickServ.startsWith(commandChar+"nickserv", false)
+ || testNickServ.startsWith(commandChar+"ns", false))
+ {
+ inputLine = testNickServ;
+ }
+ }
+
+ if(!Preferences::disableExpansion())
+ {
+ // replace placeholders
+ inputLine.replace("%%","%\x01"); // make sure to protect double %%
+ inputLine.replace("%B","\x02"); // replace %B with bold char
+ inputLine.replace("%C","\x03"); // replace %C with color char
+ inputLine.replace("%G","\x07"); // replace %G with ASCII BEL 0x07
+ inputLine.replace("%I","\x09"); // replace %I with italics char
+ inputLine.replace("%O","\x0f"); // replace %O with reset to default char
+ inputLine.replace("%S","\x13"); // replace %S with strikethru char
+ // inputLine.replace(QRegExp("%?"),"\x15");
+ inputLine.replace("%R","\x16"); // replace %R with reverse char
+ inputLine.replace("%U","\x1f"); // replace %U with underline char
+ inputLine.replace("%\x01","%"); // restore double %% as single %
+ }
+
+ QString line=inputLine.lower();
+
+ // Convert double command chars at the beginning to single ones
+ if(line.startsWith(commandChar+commandChar) && !destination.isEmpty())
+ {
+ inputLine=inputLine.mid(1);
+ goto BYPASS_COMMAND_PARSING;
+ }
+ // Server command?
+ else if(line.startsWith(commandChar))
+ {
+ QString command = inputLine.section(' ', 0, 0).mid(1).lower();
+ QString parameter = inputLine.section(' ', 1);
+
+ if (command !="topic")
+ parameter = parameter.stripWhiteSpace();
+
+ if (command == "join") result = parseJoin(parameter);
+ else if(command == "part") result = parsePart(parameter);
+ else if(command == "leave") result = parsePart(parameter);
+ else if(command == "quit") result = parseQuit(parameter);
+ else if(command == "close") result = parseClose(parameter);
+ else if(command == "notice") result = parseNotice(parameter);
+ else if(command == "j") result = parseJoin(parameter);
+ else if(command == "me") result = parseMe(parameter, destination);
+ else if(command == "msg") result = parseMsg(myNick,parameter, false);
+ else if(command == "m") result = parseMsg(myNick,parameter, false);
+ else if(command == "smsg") result = parseSMsg(parameter);
+ else if(command == "query") result = parseMsg(myNick,parameter, true);
+ else if(command == "op") result = parseOp(parameter);
+ else if(command == "deop") result = parseDeop(myNick,parameter);
+ else if(command == "hop") result = parseHop(parameter);
+ else if(command == "dehop") result = parseDehop(myNick,parameter);
+ else if(command == "voice") result = parseVoice(parameter);
+ else if(command == "unvoice") result = parseUnvoice(myNick,parameter);
+ else if(command == "devoice") result = parseUnvoice(myNick,parameter);
+ else if(command == "ctcp") result = parseCtcp(parameter);
+ else if(command == "ping") result = parseCtcp(parameter.section(' ', 0, 0) + " ping");
+ else if(command == "kick") result = parseKick(parameter);
+ else if(command == "topic") result = parseTopic(parameter);
+ else if(command == "away") parseAway(parameter);
+ else if(command == "unaway") parseBack();
+ else if(command == "back") parseBack();
+ else if(command == "invite") result = parseInvite(parameter);
+ else if(command == "exec") result = parseExec(parameter);
+ else if(command == "notify") result = parseNotify(parameter);
+ else if(command == "oper") result = parseOper(myNick,parameter);
+ else if(command == "ban") result = parseBan(parameter);
+ else if(command == "unban") result = parseUnban(parameter);
+ else if(command == "kickban") result = parseBan(parameter,true);
+ else if(command == "ignore") result = parseIgnore(parameter);
+ else if(command == "unignore") result = parseUnignore(parameter);
+ else if(command == "quote") result = parseQuote(parameter);
+ else if(command == "say") result = parseSay(parameter);
+ else if(command == "list") result = parseList(parameter);
+ else if(command == "names") result = parseNames(parameter);
+ else if(command == "raw") result = parseRaw(parameter);
+ else if(command == "dcc") result = parseDcc(parameter);
+ else if(command == "konsole") parseKonsole();
+ else if(command == "aaway") KonversationApplication::instance()->getAwayManager()->requestAllAway(parameter);
+ else if(command == "aunaway") KonversationApplication::instance()->getAwayManager()->requestAllUnaway();
+ else if(command == "aback") KonversationApplication::instance()->getAwayManager()->requestAllUnaway();
+ else if(command == "ame") result = parseAme(parameter);
+ else if(command == "amsg") result = parseAmsg(parameter);
+ else if(command == "omsg") result = parseOmsg(parameter);
+ else if(command == "onotice") result = parseOnotice(parameter);
+ else if(command == "server") parseServer(parameter);
+ else if(command == "reconnect") emit reconnectServer();
+ else if(command == "disconnect") emit disconnectServer();
+ else if(command == "charset") result = parseCharset(parameter);
+ else if(command == "encoding") result = parseCharset(parameter);
+ else if(command == "setkey") result = parseSetKey(parameter);
+ else if(command == "delkey") result = parseDelKey(parameter);
+ else if(command == "showkey") result = parseShowKey(parameter);
+ else if(command == "dns") result = parseDNS(parameter);
+ else if(command == "kill") result = parseKill(parameter);
+ else if(command == "queuetuner") result = parseShowTuner(parameter);
+
+ // Forward unknown commands to server
+ else
+ {
+ result.toServer = inputLine.mid(1);
+ result.type = Message;
+ }
+ }
+ // Ordinary message to channel/query?
+ else if(!destination.isEmpty())
+ {
+ BYPASS_COMMAND_PARSING:
+
+ QStringList outputList=splitForEncoding(inputLine, m_server->getPreLength("PRIVMSG", destination));
+ if (outputList.count() > 1)
+ {
+ result.output=QString();
+ result.outputList=outputList;
+ for ( QStringList::Iterator it = outputList.begin(); it != outputList.end(); ++it )
+ {
+ result.toServerList += "PRIVMSG " + destination + " :" + *it;
+ }
+ }
+ else
+ {
+ result.output = inputLine;
+ result.toServer = "PRIVMSG " + destination + " :" + inputLine;
+ }
+
+ result.type = Message;
+ }
+ // Eveything else goes to the server unchanged
+ else
+ {
+ result.toServer = inputLine;
+ result.output = inputLine;
+ result.typeString = i18n("Raw");
+ result.type = Program;
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseShowTuner(const QString &parameter)
+ {
+ KonversationApplication *konvApp = static_cast<KonversationApplication*>(KApplication::kApplication());
+ OutputFilterResult result;
+
+ if(parameter.isEmpty() || parameter == "on")
+ konvApp->showQueueTuner(true);
+ else if(parameter == "off")
+ konvApp->showQueueTuner(false);
+ else
+ result = usage(i18n("Usage: %1queuetuner [on | off]").arg(commandChar));
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseOp(const QString &parameter)
+ {
+ return changeMode(parameter,'o','+');
+ }
+
+ OutputFilterResult OutputFilter::parseDeop(const QString &ownNick, const QString &parameter)
+ {
+ return changeMode(addNickToEmptyNickList(ownNick,parameter),'o','-');
+ }
+
+ OutputFilterResult OutputFilter::parseHop(const QString &parameter)
+ {
+ return changeMode(parameter, 'h', '+');
+ }
+
+ OutputFilterResult OutputFilter::parseDehop(const QString &ownNick, const QString &parameter)
+ {
+ return changeMode(addNickToEmptyNickList(ownNick,parameter), 'h', '-');
+ }
+
+ OutputFilterResult OutputFilter::parseVoice(const QString &parameter)
+ {
+ return changeMode(parameter,'v','+');
+ }
+
+ OutputFilterResult OutputFilter::parseUnvoice(const QString &ownNick, const QString &parameter)
+ {
+ return changeMode(addNickToEmptyNickList(ownNick,parameter),'v','-');
+ }
+
+ OutputFilterResult OutputFilter::parseJoin(QString& channelName)
+ {
+ OutputFilterResult result;
+
+ if(channelName.contains(",")) // Protect against #foo,0 tricks
+ channelName = channelName.remove(",0");
+ //else if(channelName == "0") // FIXME IRC RFC 2812 section 3.2.1
+
+ if (channelName.isEmpty())
+ {
+ if (destination.isEmpty() || !isAChannel(destination))
+ return usage(i18n("Usage: %1JOIN <channel> [password]").arg(commandChar));
+ channelName=destination;
+ }
+ else if (!isAChannel(channelName))
+ channelName = "#" + channelName.stripWhiteSpace();
+
+ Channel* channel = m_server->getChannelByName(channelName);
+
+ if (channel)
+ {
+ // Note that this relies on the channels-flush-nicklists-on-disconnect behavior.
+ if (!channel->numberOfNicks())
+ result.toServer = "JOIN " + channelName;
+
+ if (channel->joined()) emit showView (channel);
+ }
+ else
+ result.toServer = "JOIN " + channelName;
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseKick(const QString &parameter)
+ {
+ OutputFilterResult result;
+
+ if(isAChannel(destination))
+ {
+ // get nick to kick
+ QString victim = parameter.left(parameter.find(" "));
+
+ if(victim.isEmpty())
+ {
+ result = usage(i18n("Usage: %1KICK <nick> [reason]").arg(commandChar));
+ }
+ else
+ {
+ // get kick reason (if any)
+ QString reason = parameter.mid(victim.length() + 1);
+
+ // if no reason given, take default reason
+ if(reason.isEmpty())
+ {
+ reason = m_server->getIdentity()->getKickReason();
+ }
+
+ result.toServer = "KICK " + destination + ' ' + victim + " :" + reason;
+ }
+ }
+ else
+ {
+ result = error(i18n("%1KICK only works from within channels.").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parsePart(const QString &parameter)
+ {
+ OutputFilterResult result;
+
+ // No parameter, try default part message
+ if(parameter.isEmpty())
+ {
+ // But only if we actually are in a channel
+ if(isAChannel(destination))
+ {
+ result.toServer = "PART " + destination + " :" + m_server->getIdentity()->getPartReason();
+ }
+ else
+ {
+ result = error(i18n("%1PART without parameters only works from within a channel or a query.").arg(commandChar));
+ }
+ }
+ else
+ {
+ // part a given channel
+ if(isAChannel(parameter))
+ {
+ // get channel name
+ QString channel = parameter.left(parameter.find(" "));
+ // get part reason (if any)
+ QString reason = parameter.mid(channel.length() + 1);
+
+ // if no reason given, take default reason
+ if(reason.isEmpty())
+ {
+ reason = m_server->getIdentity()->getPartReason();
+ }
+
+ result.toServer = "PART " + channel + " :" + reason;
+ }
+ // part this channel with a given reason
+ else
+ {
+ if(isAChannel(destination))
+ {
+ result.toServer = "PART " + destination + " :" + parameter;
+ }
+ else
+ {
+ result = error(i18n("%1PART without channel name only works from within a channel.").arg(commandChar));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseTopic(const QString &parameter)
+ {
+ OutputFilterResult result;
+
+ // No parameter, try to get current topic
+ if(parameter.isEmpty())
+ {
+ // But only if we actually are in a channel
+ if(isAChannel(destination))
+ {
+ result.toServer = "TOPIC " + destination;
+ }
+ else
+ {
+ result = error(i18n("%1TOPIC without parameters only works from within a channel.").arg(commandChar));
+ }
+ }
+ else
+ {
+ // retrieve or set topic of a given channel
+ if(isAChannel(parameter))
+ {
+ // get channel name
+ QString channel=parameter.left(parameter.find(" "));
+ // get topic (if any)
+ QString topic=parameter.mid(channel.length()+1);
+ // if no topic given, retrieve topic
+ if(topic.isEmpty())
+ {
+ m_server->requestTopic(channel);
+ }
+ // otherwise set topic there
+ else
+ {
+ result.toServer = "TOPIC " + channel + " :";
+ //If we get passed a ^A as a topic its a sign we should clear the topic.
+ //Used to be a \n, but those get smashed by QStringList::split and readded later
+ //Now is not the time to fight with that. FIXME
+ //If anyone out there *can* actually set the topic to a single ^A, now they have to
+ //specify it twice to get one.
+ if (topic =="\x01\x01")
+ result.toServer += '\x01';
+ else if (topic!="\x01")
+ result.toServer += topic;
+
+ }
+ }
+ // set this channel's topic
+ else
+ {
+ if(isAChannel(destination))
+ {
+ result.toServer = "TOPIC " + destination + " :" + parameter;
+ }
+ else
+ {
+ result = error(i18n("%1TOPIC without channel name only works from within a channel.").arg(commandChar));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ void OutputFilter::parseAway(QString& reason)
+ {
+ if (reason.isEmpty() && m_server->isAway())
+ m_server->requestUnaway();
+ else
+ m_server->requestAway(reason);
+ }
+
+ void OutputFilter::parseBack()
+ {
+ m_server->requestUnaway();
+ }
+
+ OutputFilterResult OutputFilter::parseNames(const QString &parameter)
+ {
+ OutputFilterResult result;
+ result.toServer = "NAMES ";
+ if (parameter.isNull())
+ {
+ return error(i18n("%1NAMES with no target may disconnect you from the server. Specify '*' if you really want this.").arg(commandChar));
+ }
+ else if (parameter != QChar('*'))
+ {
+ result.toServer.append(parameter);
+ }
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseClose(QString parm)
+ {
+ if (parm.isEmpty())
+ parm=destination;
+
+ if (isAChannel(parm) && m_server->getChannelByName(parm))
+ m_server->getChannelByName(parm)->closeYourself(false);
+ else if (m_server->getQueryByName(parm))
+ m_server->getQueryByName(parm)->closeYourself(false);
+ else if (parm.isEmpty()) // this can only mean one thing.. we're in the Server tab
+ m_server->closeYourself(false);
+ else
+ return usage(i18n("Usage: %1close [window] closes the named channel or query tab, or the current tab if none specified.").arg(commandChar));
+ return OutputFilterResult();
+ }
+
+ OutputFilterResult OutputFilter::parseQuit(const QString &reason)
+ {
+ OutputFilterResult result;
+
+ result.toServer = "QUIT :";
+ // if no reason given, take default reason
+ if(reason.isEmpty())
+ result.toServer += m_server->getIdentity()->getQuitReason();
+ else
+ result.toServer += reason;
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseNotice(const QString &parameter)
+ {
+ OutputFilterResult result;
+ QString recipient = parameter.left(parameter.find(" "));
+ QString message = parameter.mid(recipient.length()+1);
+
+ if(parameter.isEmpty() || message.isEmpty())
+ {
+ result = usage(i18n("Usage: %1NOTICE <recipient> <message>").arg(commandChar));
+ }
+ else
+ {
+ result.typeString = i18n("Notice");
+ result.toServer = "NOTICE " + recipient + " :" + message;
+ result.output=i18n("%1 is the message, %2 the recipient nickname","Sending notice \"%2\" to %1.").arg(recipient).arg(message);
+ result.type = Program;
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseMe(const QString &parameter, const QString &destination)
+ {
+ OutputFilterResult result;
+
+ if (!destination.isEmpty() && !parameter.isEmpty())
+ {
+ result.toServer = "PRIVMSG " + destination + " :" + '\x01' + "ACTION " + parameter + '\x01';
+ result.output = parameter;
+ result.type = Action;
+ }
+ else
+ {
+ result = usage(i18n("Usage: %1ME text").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseMsg(const QString &myNick, const QString &parameter, bool isQuery)
+ {
+ OutputFilterResult result;
+ QString recipient = parameter.section(" ", 0, 0, QString::SectionSkipEmpty);
+ QString message = parameter.section(" ", 1);
+ QString output;
+
+ if (recipient.isEmpty())
+ {
+ result = error("Error: You need to specify a recipient.");
+ return result;
+ }
+
+ if (isQuery && m_server->isAChannel(recipient))
+ {
+ result = error("Error: You cannot open queries to channels.");
+ return result;
+ }
+
+ if (message.stripWhiteSpace().isEmpty())
+ {
+ //empty result - we don't want to send any message to the server
+ if (!isQuery)
+ {
+ result = error("Error: You need to specify a message.");
+ return result;
+ }
+ }
+ else if (message.startsWith(commandChar+"me"))
+ {
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "ACTION " + message.mid(4) + '\x01';
+ output = QString("* %1 %2").arg(myNick).arg(message.mid(4));
+ }
+ else
+ {
+ result.toServer = "PRIVMSG " + recipient + " :" + message;
+ output = message;
+ }
+
+ ::Query *query;
+
+ if (isQuery || output.isEmpty())
+ {
+ //if this is a /query, always open a query window.
+ //treat "/msg nick" as "/query nick"
+
+ //Note we have to be a bit careful here.
+ //We only want to create ('obtain') a new nickinfo if we have done /query
+ //or "/msg nick". Not "/msg nick message".
+ NickInfoPtr nickInfo = m_server->obtainNickInfo(recipient);
+ query = m_server->addQuery(nickInfo, true /*we initiated*/);
+ //force focus if the user did not specify any message
+ if (output.isEmpty()) emit showView(query);
+ }
+ else
+ {
+ //We have "/msg nick message"
+ query = m_server->getQueryByName(recipient);
+ }
+
+ if (query && !output.isEmpty())
+ {
+ if (message.startsWith(commandChar+"me"))
+ //log if and only if the query open
+ query->appendAction(m_server->getNickname(), message.mid(4));
+ else
+ //log if and only if the query open
+ query->appendQuery(m_server->getNickname(), output);
+ }
+
+ if (output.isEmpty()) return result; //result should be completely empty;
+ //FIXME - don't do below line if query is focused
+ result.output = output;
+ result.typeString= recipient;
+ result.type = PrivateMessage;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseSMsg(const QString &parameter)
+ {
+ OutputFilterResult result;
+ QString recipient = parameter.left(parameter.find(" "));
+ QString message = parameter.mid(recipient.length() + 1);
+
+ if(message.startsWith(commandChar + "me"))
+ {
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "ACTION " + message.mid(4) + '\x01';
+ }
+ else
+ {
+ result.toServer = "PRIVMSG " + recipient + " :" + message;
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseCtcp(const QString &parameter)
+ {
+ OutputFilterResult result;
+ // who is the recipient?
+ QString recipient = parameter.section(' ', 0, 0);
+ // what is the first word of the ctcp?
+ QString request = parameter.section(' ', 1, 1, QString::SectionSkipEmpty).upper();
+ // what is the complete ctcp command?
+ QString message = parameter.section(' ', 2, 0xffffff, QString::SectionSkipEmpty);
+
+ QString out = request;
+ if (!message.isEmpty())
+ out+= ' ' + message;
+
+ if (request == "PING")
+ {
+ unsigned int time_t = QDateTime::currentDateTime().toTime_t();
+ result.toServer = QString("PRIVMSG %1 :\x01PING %2\x01").arg(recipient).arg(time_t);
+ result.output = i18n("Sending CTCP-%1 request to %2.").arg("PING").arg(recipient);
+ }
+ else
+ {
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + out + '\x01';
+ result.output = i18n("Sending CTCP-%1 request to %2.").arg(out).arg(recipient);
+ }
+
+ result.typeString = i18n("CTCP");
+ result.type = Program;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::changeMode(const QString &parameter,char mode,char giveTake)
+ {
+ OutputFilterResult result;
+ // TODO: Make sure this works with +l <limit> and +k <password> also!
+ QString token;
+ QString tmpToken;
+ QStringList nickList = QStringList::split(' ', parameter);
+
+ if(nickList.count())
+ {
+ // Check if the user specified a channel
+ if(isAChannel(nickList[0]))
+ {
+ token = "MODE " + nickList[0];
+ // remove the first element
+ nickList.remove(nickList.begin());
+ }
+ // Add default destination if it is a channel
+ else if(isAChannel(destination))
+ {
+ token = "MODE " + destination;
+ }
+
+ // Only continue if there was no error
+ if(token.length())
+ {
+ unsigned int modeCount = nickList.count();
+ QString modes;
+ modes.fill(mode, modeCount);
+
+ token += QString(" ") + QChar(giveTake) + modes;
+ tmpToken = token;
+
+ for(unsigned int index = 0; index < modeCount; index++)
+ {
+ if((index % 3) == 0)
+ {
+ result.toServerList.append(token);
+ token = tmpToken;
+ }
+ token += ' ' + nickList[index];
+ }
+
+ if(token != tmpToken)
+ {
+ result.toServerList.append(token);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseDcc(const QString &parameter)
+ {
+ OutputFilterResult result;
+
+ // No parameter, just open DCC panel
+ if(parameter.isEmpty())
+ {
+ emit addDccPanel();
+ }
+ else
+ {
+ QString tmpParameter = parameter;
+ QStringList parameterList = QStringList::split(' ', tmpParameter.replace("\\ ", "%20"));
+
+ QString dccType = parameterList[0].lower();
+
+ if(dccType=="close")
+ {
+ emit closeDccPanel();
+ }
+ else if(dccType=="send")
+ {
+ if(parameterList.count()==1) // DCC SEND
+ {
+ emit requestDccSend();
+ } // DCC SEND <nickname>
+ else if(parameterList.count()==2)
+ {
+ emit requestDccSend(parameterList[1]);
+ } // DCC SEND <nickname> <file> [file] ...
+ else if(parameterList.count()>2)
+ {
+ // TODO: make sure this will work:
+ //output=i18n("Usage: %1DCC SEND nickname [fi6lename] [filename] ...").arg(commandChar);
+ KURL fileURL(parameterList[2]);
+
+ //We could easily check if the remote file exists, but then we might
+ //end up asking for creditionals twice, so settle for only checking locally
+ if(!fileURL.isLocalFile() || QFile::exists( fileURL.path() ))
+ {
+ emit openDccSend(parameterList[1],fileURL);
+ }
+ else
+ {
+ result = error(i18n("File \"%1\" does not exist.").arg(parameterList[2]));
+ }
+ }
+ else // Don't know how this should happen, but ...
+ {
+ result = usage(i18n("Usage: %1DCC [SEND nickname filename]").arg(commandChar));
+ }
+ }
+ // TODO: DCC Chat etc. comes here
+ else if(dccType=="chat")
+ {
+ if(parameterList.count()==2)
+ {
+ emit openDccChat(parameterList[1]);
+ }
+ else
+ {
+ result = usage(i18n("Usage: %1DCC [CHAT nickname]").arg(commandChar));
+ }
+ }
+ else
+ {
+ result = error(i18n("Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE.").arg(commandChar).arg(parameterList[0]));
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::sendRequest(const QString &recipient,const QString &fileName,const QString &address,const QString &port,unsigned long size)
+ {
+ OutputFilterResult result;
+ QString niftyFileName(fileName);
+ /*QFile file(fileName);
+ QFileInfo info(file);*/
+
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "DCC SEND "
+ + fileName
+ + ' ' + address + ' ' + port + ' ' + QString::number(size) + '\x01';
+
+ // Dirty hack to avoid printing ""name with spaces.ext"" instead of "name with spaces.ext"
+ if ((fileName.startsWith("\"")) && (fileName.endsWith("\"")))
+ niftyFileName = fileName.mid(1, fileName.length()-2);
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::passiveSendRequest(const QString& recipient,const QString &fileName,const QString &address,unsigned long size,const QString &token)
+ {
+ OutputFilterResult result;
+ QString niftyFileName(fileName);
+
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "DCC SEND "
+ + fileName
+ + ' ' + address + " 0 " + QString::number(size) + ' ' + token + '\x01';
+
+ // Dirty hack to avoid printing ""name with spaces.ext"" instead of "name with spaces.ext"
+ if ((fileName.startsWith("\"")) && (fileName.endsWith("\"")))
+ niftyFileName = fileName.mid(1, fileName.length()-2);
+
+ return result;
+ }
+
+ // Accepting Resume Request
+ OutputFilterResult OutputFilter::acceptResumeRequest(const QString &recipient,const QString &fileName,const QString &port,int startAt)
+ {
+ QString niftyFileName(fileName);
+
+ OutputFilterResult result;
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "DCC ACCEPT " + fileName + ' ' + port
+ + ' ' + QString::number(startAt) + '\x01';
+
+ // Dirty hack to avoid printing ""name with spaces.ext"" instead of "name with spaces.ext"
+ if ((fileName.startsWith("\"")) && (fileName.endsWith("\"")))
+ niftyFileName = fileName.mid(1, fileName.length()-2);
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::resumeRequest(const QString &sender,const QString &fileName,const QString &port,KIO::filesize_t startAt)
+ {
+ QString niftyFileName(fileName);
+
+ OutputFilterResult result;
+ /*QString newFileName(fileName);
+ newFileName.replace(" ", "_");*/
+ result.toServer = "PRIVMSG " + sender + " :" + '\x01' + "DCC RESUME " + fileName + ' ' + port + ' '
+ + QString::number(startAt) + '\x01';
+
+ // Dirty hack to avoid printing ""name with spaces.ext"" instead of "name with spaces.ext"
+ if ((fileName.startsWith("\"")) && (fileName.endsWith("\"")))
+ niftyFileName = fileName.mid(1, fileName.length()-2);
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::acceptPassiveSendRequest(const QString& recipient,const QString &fileName,const QString &address,const QString &port,unsigned long size,const QString &token)
+ {
+ OutputFilterResult result;
+ QString niftyFileName(fileName);
+
+ // "DCC SEND" to receive a file sounds weird, but it's ok.
+ result.toServer = "PRIVMSG " + recipient + " :" + '\x01' + "DCC SEND "
+ + fileName
+ + ' ' + address + ' ' + port + ' ' + QString::number(size) + ' ' + token + '\x01';
+
+ // Dirty hack to avoid printing ""name with spaces.ext"" instead of "name with spaces.ext"
+ if ((fileName.startsWith("\"")) && (fileName.endsWith("\"")))
+ niftyFileName = fileName.mid(1, fileName.length()-2);
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseInvite(const QString &parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1INVITE <nick> [channel]").arg(commandChar));
+ }
+ else
+ {
+ QString nick = parameter.section(' ', 0, 0, QString::SectionSkipEmpty);
+ QString channel = parameter.section(' ', 1, 1, QString::SectionSkipEmpty);
+
+ if(channel.isEmpty())
+ {
+ if(isAChannel(destination))
+ {
+ channel = destination;
+ }
+ else
+ {
+ result = error(i18n("%1INVITE without channel name works only from within channels.").arg(commandChar));
+ }
+ }
+
+ if(!channel.isEmpty())
+ {
+ if(isAChannel(channel))
+ {
+ result.toServer = "INVITE " + nick + ' ' + channel;
+ }
+ else
+ {
+ result = error(i18n("%1 is not a channel.").arg(channel));
+ }
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseExec(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1EXEC <script> [parameter list]").arg(commandChar));
+ }
+ else
+ {
+ QStringList parameterList = QStringList::split(' ', parameter);
+
+ if(parameterList[0].find("../") == -1)
+ {
+ emit launchScript(destination, parameter);
+ }
+ else
+ {
+ result = error(i18n("Script name may not contain \"../\"!"));
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseRaw(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty() || parameter == "open")
+ {
+ emit openRawLog(true);
+ }
+ else if(parameter == "close")
+ {
+ emit closeRawLog();
+ }
+ else
+ {
+ result = usage(i18n("Usage: %1RAW [OPEN | CLOSE]").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseNotify(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ QString groupName = m_server->getDisplayName();
+
+ int serverGroupId = -1;
+
+ if (m_server->getServerGroup())
+ serverGroupId = m_server->getServerGroup()->id();
+
+ if (!parameter.isEmpty() && serverGroupId != -1)
+ {
+ QStringList list = QStringList::split(' ', parameter);
+
+ for(unsigned int index = 0; index < list.count(); index++)
+ {
+ // Try to remove current pattern
+ if(!Preferences::removeNotify(groupName, list[index]))
+ {
+ // If remove failed, try to add it instead
+ if(!Preferences::addNotify(serverGroupId, list[index]))
+ {
+ kdDebug() << "OutputFilter::parseNotify(): Adding failed!" << endl;
+ }
+ }
+ } // endfor
+ }
+
+ // show (new) notify list to user
+ QString list = Preferences::notifyStringByGroupName(groupName) + ' ' + Konversation::Addressbook::self()->allContactsNicksForServer(m_server->getServerName(), m_server->getDisplayName()).join(" ");
+
+ result.typeString = i18n("Notify");
+
+ if(list.isEmpty())
+ result.output = i18n("Current notify list is empty.");
+ else
+ result.output = i18n("Current notify list: %1").arg(list);
+
+ result.type = Program;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseOper(const QString& myNick,const QString& parameter)
+ {
+ OutputFilterResult result;
+ QStringList parameterList = QStringList::split(' ', parameter);
+
+ if(parameter.isEmpty() || parameterList.count() == 1)
+ {
+ QString nick((parameterList.count() == 1) ? parameterList[0] : myNick);
+ QString password;
+ bool keep = false;
+
+ int ret = KIO::PasswordDialog::getNameAndPassword
+ (
+ nick,
+ password,
+ &keep,
+ i18n("Enter user name and password for IRC operator privileges:"),
+ false,
+ i18n("IRC Operator Password")
+ );
+
+ if(ret == KIO::PasswordDialog::Accepted)
+ {
+ result.toServer = "OPER " + nick + ' ' + password;
+ }
+ }
+ else
+ {
+ result.toServer = "OPER " + parameter;
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseBan(const QString& parameter, bool kick)
+ {
+ OutputFilterResult result;
+ // assume incorrect syntax first
+ bool showUsage = true;
+
+ if(!parameter.isEmpty())
+ {
+ QStringList parameterList=QStringList::split(' ',parameter);
+ QString channel;
+ QString option;
+ // check for option
+ QString lowerParameter = parameterList[0].lower();
+ bool host = (lowerParameter == "-host");
+ bool domain = (lowerParameter == "-domain");
+ bool uhost = (lowerParameter == "-userhost");
+ bool udomain = (lowerParameter == "-userdomain");
+
+ // remove possible option
+ if (host || domain || uhost || udomain)
+ {
+ option = parameterList[0].mid(1);
+ parameterList.pop_front();
+ }
+
+ // look for channel / ban mask
+ if (parameterList.count())
+ {
+ // user specified channel
+ if (isAChannel(parameterList[0]))
+ {
+ channel = parameterList[0];
+ parameterList.pop_front();
+ }
+ // no channel, so assume current destination as channel
+ else if (isAChannel(destination))
+ channel = destination;
+ else
+ {
+ // destination is no channel => error
+ if (!kick)
+ result = error(i18n("%1BAN without channel name works only from inside a channel.").arg(commandChar));
+ else
+ result = error(i18n("%1KICKBAN without channel name works only from inside a channel.").arg(commandChar));
+
+ // no usage information after error
+ showUsage = false;
+ }
+ // signal server to ban this user if all went fine
+ if (!channel.isEmpty())
+ {
+ if (kick)
+ {
+ QString victim = parameterList[0];
+ parameterList.pop_front();
+
+ QString reason = parameterList.join(" ");
+
+ result.toServer = "KICK " + channel + ' ' + victim + " :" + reason;
+
+ emit banUsers(QStringList(victim),channel,option);
+ }
+ else
+ {
+ emit banUsers(parameterList,channel,option);
+ }
+
+ // syntax was correct, so reset flag
+ showUsage = false;
+ }
+ }
+ }
+
+ if (showUsage)
+ {
+ if (!kick)
+ result = usage(i18n("Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>").arg(commandChar));
+ else
+ result = usage(i18n("Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask> [reason]").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ // finally set the ban
+ OutputFilterResult OutputFilter::execBan(const QString& mask,const QString& channel)
+ {
+ OutputFilterResult result;
+ result.toServer = "MODE " + channel + " +b " + mask;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseUnban(const QString& parameter)
+ {
+ OutputFilterResult result;
+ // assume incorrect syntax first
+ bool showUsage=true;
+
+ if(!parameter.isEmpty())
+ {
+ QStringList parameterList = QStringList::split(' ', parameter);
+ QString channel;
+ QString mask;
+
+ // if the user specified a channel
+ if(isAChannel(parameterList[0]))
+ {
+ // get channel
+ channel = parameterList[0];
+ // remove channel from parameter list
+ parameterList.pop_front();
+ }
+ // otherwise the current destination must be a channel
+ else if(isAChannel(destination))
+ channel = destination;
+ else
+ {
+ // destination is no channel => error
+ result = error(i18n("%1UNBAN without channel name works only from inside a channel.").arg(commandChar));
+ // no usage information after error
+ showUsage = false;
+ }
+ // if all went good, signal server to unban this mask
+ if(!channel.isEmpty())
+ {
+ emit unbanUsers(parameterList[0], channel);
+ // syntax was correct, so reset flag
+ showUsage = false;
+ }
+ }
+
+ if(showUsage)
+ {
+ result = usage(i18n("Usage: %1UNBAN [channel] pattern").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::execUnban(const QString& mask,const QString& channel)
+ {
+ OutputFilterResult result;
+ result.toServer = "MODE " + channel + " -b " + mask;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseIgnore(const QString& parameter)
+ {
+ OutputFilterResult result;
+ // assume incorrect syntax first
+ bool showUsage = true;
+
+ // did the user give parameters at all?
+ if(!parameter.isEmpty())
+ {
+ QStringList parameterList = QStringList::split(' ', parameter);
+
+ // if nothing else said, only ignore channels and queries
+ int value = Ignore::Channel | Ignore::Query;
+
+ // user specified -all option
+ if(parameterList[0].lower() == "-all")
+ {
+ // ignore everything
+ value = Ignore::All;
+ parameterList.pop_front();
+ }
+
+ // were there enough parameters?
+ if(parameterList.count() >= 1)
+ {
+ for(unsigned int index=0;index<parameterList.count();index++)
+ {
+ if(!parameterList[index].contains('!'))
+ {
+ parameterList[index] += "!*";
+ }
+
+ Preferences::addIgnore(parameterList[index] + ',' + QString::number(value));
+ }
+
+ result.output = i18n("Added %1 to your ignore list.").arg(parameterList.join(", "));
+ result.typeString = i18n("Ignore");
+ result.type = Program;
+
+ // all went fine, so show no error message
+ showUsage = false;
+ }
+ }
+
+ if(showUsage)
+ {
+ result = usage(i18n("Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseUnignore(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1UNIGNORE <user 1> <user 2> ... <user n>").arg(commandChar));
+ }
+ else
+ {
+ QString unignore = parameter.simplifyWhiteSpace();
+ QStringList unignoreList = QStringList::split(' ',unignore);
+
+ QStringList succeeded;
+ QStringList failed;
+
+ // Iterate over potential unignores
+ for (QStringList::Iterator it = unignoreList.begin(); it != unignoreList.end(); ++it)
+ {
+ // If pattern looks incomplete, try to complete it
+ if (!(*it).contains('!'))
+ {
+ QString fixedPattern = (*it);
+ fixedPattern += "!*";
+
+ bool success = false;
+
+ // Try to remove completed pattern
+ if (Preferences::removeIgnore(fixedPattern))
+ {
+ succeeded.append(fixedPattern);
+ success = true;
+ }
+
+ // Try to remove the incomplete version too, in case it was added via the GUI ...
+ // FIXME: Validate patterns in GUI?
+ if (Preferences::removeIgnore((*it)))
+ {
+ succeeded.append((*it));
+ success = true;
+ }
+
+ if (!success)
+ failed.append((*it) + "[!*]");
+ }
+ // Try to remove seemingly complete pattern
+ else if (Preferences::removeIgnore((*it)))
+ succeeded.append((*it));
+ // Failed to remove given complete pattern
+ else
+ failed.append((*it));
+ }
+
+ // Print all successful unignores, in case there were any
+ if (succeeded.count()>=1)
+ {
+ m_server->appendMessageToFrontmost(i18n("Ignore"),i18n("Removed %1 from your ignore list.").arg(succeeded.join(", ")));
+ }
+
+ // One failed unignore
+ if (failed.count()==1)
+ {
+ m_server->appendMessageToFrontmost(i18n("Error"),i18n("No such ignore: %1").arg(failed.join(", ")));
+ }
+
+ // Multiple failed unignores
+ if (failed.count()>1)
+ {
+ m_server->appendMessageToFrontmost(i18n("Error"),i18n("No such ignores: %1").arg(failed.join(", ")));
+ }
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseQuote(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1QUOTE command list").arg(commandChar));
+ }
+ else
+ {
+ result.toServer = parameter;
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseSay(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1SAY text").arg(commandChar));
+ }
+ else
+ {
+ result.toServer = "PRIVMSG " + destination + " :" + parameter;
+ result.output = parameter;
+ }
+
+ return result;
+ }
+
+ void OutputFilter::parseKonsole()
+ {
+ emit openKonsolePanel();
+ }
+
+ // Accessors
+
+ void OutputFilter::setCommandChar() { commandChar=Preferences::commandChar(); }
+
+ // # & + and ! are *often*, but not necessarily, channel identifiers. + and ! are non-RFC, so if a server doesn't offer 005 and
+ // supports + and ! channels, I think thats broken behaviour on their part - not ours.
+ bool OutputFilter::isAChannel(const QString &check)
+ {
+ Q_ASSERT(m_server);
+ // XXX if we ever see the assert, we need the ternary
+ return m_server? m_server->isAChannel(check) : QString("#&").contains(check.at(0));
+ }
+
+ OutputFilterResult OutputFilter::usage(const QString& string)
+ {
+ OutputFilterResult result;
+ result.typeString = i18n("Usage");
+ result.output = string;
+ result.type = Program;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::info(const QString& string)
+ {
+ OutputFilterResult result;
+ result.typeString = i18n("Info");
+ result.output = string;
+ result.type = Program;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::error(const QString& string)
+ {
+ OutputFilterResult result;
+ result.typeString = i18n("Error");
+ result.output = string;
+ result.type = Program;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseAme(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1AME text").arg(commandChar));
+ }
+
+ emit multiServerCommand("me", parameter);
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseAmsg(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1AMSG text").arg(commandChar));
+ }
+
+ emit multiServerCommand("msg", parameter);
+ return result;
+ }
+
+ void OutputFilter::parseServer(const QString& parameter)
+ {
+ if (parameter.isEmpty() && !m_server->isConnected() && !m_server->isConnecting())
+ emit reconnectServer();
+ else
+ {
+ QStringList splitted = QStringList::split(" ", parameter);
+ QString host = splitted[0];
+ QString port = "6667";
+ QString password;
+
+ if (splitted.count() == 3)
+ emit connectTo(Konversation::CreateNewConnection, splitted[0], splitted[1], splitted[2]);
+ else if (splitted.count() == 2)
+ {
+ if (splitted[0].contains(QRegExp(":[0-9]+$")))
+ emit connectTo(Konversation::CreateNewConnection, splitted[0], "", splitted[1]);
+ else
+ emit connectTo(Konversation::CreateNewConnection, splitted[0], splitted[1]);
+ }
+ else
+ emit connectTo(Konversation::CreateNewConnection, splitted[0]);
+ }
+ }
+
+ OutputFilterResult OutputFilter::parseOmsg(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(!parameter.isEmpty())
+ {
+ result.toServer = "PRIVMSG @"+destination+" :"+parameter;
+ }
+ else
+ {
+ result = usage(i18n("Usage: %1OMSG text").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseOnotice(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(!parameter.isEmpty())
+ {
+ result.toServer = "NOTICE @"+destination+" :"+parameter;
+ result.typeString = i18n("Notice");
+ result.type = Program;
+ result.output = i18n("Sending notice \"%1\" to %2.").arg(parameter, destination);
+ }
+ else
+ {
+ result = usage(i18n("Usage: %1ONOTICE text").arg(commandChar));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseCharset(const QString& charset)
+ {
+ OutputFilterResult result;
+
+ if (charset.isEmpty ())
+ {
+ result = info (i18n("Current encoding is: %1")
+ .arg(m_server->getIdentity()->getCodec()->name()));
+ return result;
+ }
+
+ QString shortName = Konversation::IRCCharsets::self()->ambiguousNameToShortName(charset);
+
+ if(!shortName.isEmpty())
+ {
+ m_server->getIdentity()->setCodecName(shortName);
+ emit encodingChanged();
+ result = info (i18n("Switched to %1 encoding.").arg(shortName));
+ }
+ else
+ {
+ result = error(i18n("%1 is not a valid encoding.").arg (charset));
+ }
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseSetKey(const QString& parameter)
+ {
+
+ QStringList parms = QStringList::split(" ", parameter);
+
+ if (parms.count() == (0 >> parms.count() > 2))
+ return usage(i18n("Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or channel. %2setkey <key> when in a channel or query tab to set the key for it.").arg(commandChar).arg(commandChar) );
+ else if (parms.count() == 1)
+ parms.prepend(destination);
+
+ m_server->setKeyForRecipient(parms[0], parms[1].local8Bit());
+
+ if (isAChannel(parms[0]) && m_server->getChannelByName(parms[0]))
+ m_server->getChannelByName(parms[0])->setEncryptedOutput(true);
+ else if (m_server->getQueryByName(parms[0]))
+ m_server->getQueryByName(parms[0])->setEncryptedOutput(true);
+
+ return info(i18n("The key for %1 has been set.").arg(parms[0]));
+ }
+
+ OutputFilterResult OutputFilter::parseDelKey(const QString& prametr)
+ {
+ QString parameter(prametr.isEmpty()?destination:prametr);
+
+ if(parameter.isEmpty() || parameter.contains(' '))
+ return usage(i18n("Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or channel").arg(commandChar));
+
+ m_server->setKeyForRecipient(parameter, "");
+
+ if (isAChannel(parameter) && m_server->getChannelByName(parameter))
+ m_server->getChannelByName(parameter)->setEncryptedOutput(false);
+ else if (m_server->getQueryByName(parameter))
+ m_server->getQueryByName(parameter)->setEncryptedOutput(false);
+
+ return info(i18n("The key for %1 has been deleted.").arg(parameter));
+ }
+
+ OutputFilterResult OutputFilter::parseShowKey(const QString& prametr)
+ {
+ QString parameter(prametr.isEmpty()?destination:prametr);
+ QString key(m_server->getKeyForRecipient(parameter));
+ QWidget *mw=KonversationApplication::instance()->getMainWindow();
+ if (!key.isEmpty())
+ KMessageBox::information(mw, i18n("The key for %1 is \"%2\".").arg(parameter).arg(key), i18n("Blowfish"));
+ else
+ KMessageBox::information(mw, i18n("No key has been set for %1.").arg(parameter));
+ OutputFilterResult result;
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseList(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ emit openChannelList(parameter, true);
+
+ return result;
+ }
+
+ OutputFilterResult OutputFilter::parseDNS(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1DNS <nick>").arg(commandChar));
+ }
+ else
+ {
+ QStringList splitted = QStringList::split(" ", parameter);
+ QString target = splitted[0];
+
+ KIpAddress address(target);
+
+ // Parameter is an IP address
+ if (address.isIPv4Addr() || address.isIPv6Addr())
+ {
+ // Disable the reverse resolve codepath on older KDE versions due to many
+ // distributions shipping visibility-enabled KDE 3.4 and KNetwork not
+ // coping with it.
+#if KDE_IS_VERSION(3,5,1)
+ KNetwork:: KInetSocketAddress socketAddress(address,0);
+ QString resolvedTarget;
+ QString serv; // We don't need this, but KReverseResolver::resolve does.
+
+ if (KNetwork::KReverseResolver::resolve(socketAddress,resolvedTarget,serv))
+ {
+ result.typeString = i18n("DNS");
+ result.output = i18n("Resolved %1 to: %2").arg(target).arg(resolvedTarget);
+ result.type = Program;
+ }
+ else
+ {
+ result = error(i18n("Unable to resolve %1").arg(target));
+ }
+#else
+ result = error(i18n("Reverse-resolving requires KDE version 3.5.1 or higher."));
+#endif
+ }
+ // Parameter is presumed to be a host due to containing a dot. Yeah, it's dumb.
+ // FIXME: The reason we detect the host by occurrence of a dot is the large penalty
+ // we would incur by using inputfilter to find out if there's a user==target on the
+ // server - once we have a better API for this, switch to it.
+ else if (target.contains('.'))
+ {
+ KNetwork::KResolverResults resolved = KNetwork::KResolver::resolve(target,"");
+ if(resolved.error() == KResolver::NoError && resolved.size() > 0)
+ {
+ QString resolvedTarget = resolved.first().address().nodeName();
+ result.typeString = i18n("DNS");
+ result.output = i18n("Resolved %1 to: %2").arg(target).arg(resolvedTarget);
+ result.type = Program;
+ }
+ else
+ {
+ result = error(i18n("Unable to resolve %1").arg(target));
+ }
+ }
+ // Parameter is either host nor IP, so request a lookup from server, which in
+ // turn lets inputfilter do the job.
+ else
+ {
+ m_server->resolveUserhost(target);
+ }
+ }
+
+ return result;
+ }
+
+
+ QString OutputFilter::addNickToEmptyNickList(const QString& nick, const QString& parameter)
+ {
+ QStringList nickList = QStringList::split(' ', parameter);
+ QString newNickList;
+
+ if (nickList.count() == 0)
+ {
+ newNickList = nick;
+ }
+ // check if list contains only target channel
+ else if (nickList.count() == 1 && isAChannel(nickList[0]))
+ {
+ newNickList = nickList[0] + ' ' + nick;
+ }
+ // list contains at least one nick
+ else
+ {
+ newNickList = parameter;
+ }
+
+ return newNickList;
+ }
+
+ OutputFilterResult OutputFilter::parseKill(const QString& parameter)
+ {
+ OutputFilterResult result;
+
+ if(parameter.isEmpty())
+ {
+ result = usage(i18n("Usage: %1KILL <nick> [comment]").arg(commandChar));
+ }
+ else
+ {
+ QString victim = parameter.section(' ', 0, 0);
+ result.toServer = "KILL " + victim + " :" + parameter.mid(victim.length() + 1);
+ }
+
+ return result;
+ }
+}
+#include "outputfilter.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/outputfilter.h b/konversation/src/outputfilter.h
new file mode 100644
index 0000000..2ad1a72
--- /dev/null
+++ b/konversation/src/outputfilter.h
@@ -0,0 +1,182 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2005 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef OUTPUTFILTER_H
+#define OUTPUTFILTER_H
+
+#include "identity.h"
+#include "common.h"
+
+#include <qobject.h>
+#include <qstring.h>
+#include <kurl.h>
+#include <kio/global.h>
+
+
+class Server;
+class ChatWindow;
+
+namespace Konversation
+{
+ enum MessageType
+ {
+ Message,
+ Action,
+ Command,
+ Program,
+ PrivateMessage
+ };
+
+ struct OutputFilterResult
+ {
+ QString output;
+ QStringList outputList;
+ QString toServer;
+ QStringList toServerList;
+ QString typeString;
+ MessageType type;
+ };
+
+ class OutputFilter : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ explicit OutputFilter(Server* server);
+ ~OutputFilter();
+
+ QStringList splitForEncoding(const QString& inputLine, uint max);
+ OutputFilterResult parse(const QString& myNick,const QString& line,const QString& name);
+
+ // dcc send
+ OutputFilterResult sendRequest(const QString &recipient,const QString &fileName,const QString &address,const QString &port,unsigned long size);
+ OutputFilterResult passiveSendRequest(const QString& recipient,const QString &fileName,const QString &address,unsigned long size,const QString &token);
+ OutputFilterResult acceptResumeRequest(const QString &recipient,const QString &fileName,const QString &port,int startAt);
+
+ // dcc recv
+ OutputFilterResult resumeRequest(const QString &sender,const QString &fileName,const QString &port,KIO::filesize_t startAt);
+ OutputFilterResult acceptPassiveSendRequest(const QString& recipient,const QString &fileName,const QString &address,const QString &port,unsigned long size,const QString &token);
+
+ bool replaceAliases(QString& line);
+
+ signals:
+ void openDccSend(const QString &recipient, KURL kurl);
+ void requestDccSend(); // Choose Recipient and File from requester
+ // Choose File from requester
+ void requestDccSend(const QString& recipient);
+ void openDccChat(const QString& nick);
+ void addDccPanel();
+ void closeDccPanel();
+ void openRawLog(bool show);
+ void closeRawLog();
+ void openKonsolePanel();
+ void openChannelList(const QString& parameter, bool getList);
+ void sendToAllChannels(const QString& text);
+ void launchScript(const QString& target, const QString& parameter);
+ void banUsers(const QStringList& userList,const QString& channel,const QString& option);
+ void unbanUsers(const QString& mask,const QString& channel);
+ void multiServerCommand(const QString& command, const QString& parameter);
+ void reconnectServer();
+ void disconnectServer();
+
+ void connectTo(Konversation::ConnectionFlag flag,
+ const QString& hostName,
+ const QString& port = "",
+ const QString& password = "",
+ const QString& nick = "",
+ const QString& channel = "",
+ bool useSSL = false
+ );
+
+ void showView(ChatWindow* view);
+ void encodingChanged ();
+
+
+ public slots:
+ void setCommandChar();
+ OutputFilterResult execBan(const QString& mask,const QString& channels);
+ OutputFilterResult execUnban(const QString& mask,const QString& channels);
+
+ protected:
+ OutputFilterResult parseMsg(const QString& myNick,const QString& parameter, bool focusQueryWindow);
+ OutputFilterResult parseSMsg(const QString& parameter);
+ OutputFilterResult parseMe(const QString &parameter, const QString &destination);
+ OutputFilterResult parseDescribe(const QString& parameter);
+ OutputFilterResult parseNotice(const QString& parameter);
+ OutputFilterResult parseJoin(QString& parameter);
+ OutputFilterResult parsePart(const QString& parameter);
+ OutputFilterResult parseQuit(const QString& parameter);
+ OutputFilterResult parseClose(QString parameter);
+ OutputFilterResult parseKick(const QString& parameter);
+ OutputFilterResult parseKickBan(const QString& parameter);
+ OutputFilterResult parseBan(const QString& parameter, bool kick = false);
+ OutputFilterResult parseUnban(const QString& parameter);
+ OutputFilterResult parseNames(const QString& parameter);
+ OutputFilterResult parseList(const QString& parameter);
+ OutputFilterResult parseOp(const QString& parameter);
+ OutputFilterResult parseDeop(const QString& ownNick, const QString& parameter);
+ OutputFilterResult parseHop(const QString& parameter);
+ OutputFilterResult parseDehop(const QString& ownNick, const QString& parameter);
+ OutputFilterResult parseVoice(const QString& parameter);
+ OutputFilterResult parseUnvoice(const QString& ownNick, const QString& parameter);
+ OutputFilterResult parseTopic(const QString& parameter);
+ void parseAway(QString& parameter);
+ void parseBack();
+ OutputFilterResult parseCtcp(const QString& parameter);
+ OutputFilterResult parsePing(const QString& parameter);
+ OutputFilterResult parseVersion(const QString& parameter);
+ void parseServer(const QString& parameter);
+ void parseReconnect();
+ OutputFilterResult parseConnect(const QString& parameter);
+ OutputFilterResult parseInvite(const QString& parameter);
+ OutputFilterResult parseExec(const QString& parameter);
+ OutputFilterResult parseNotify(const QString& parameter);
+ OutputFilterResult parseOper(const QString& myNick,const QString& parameter);
+ OutputFilterResult parseDcc(const QString& parameter);
+ OutputFilterResult parseRaw(const QString& parameter);
+ OutputFilterResult parseIgnore(const QString& parameter);
+ OutputFilterResult parseUnignore(const QString& parameter);
+ OutputFilterResult parseQuote(const QString& parameter);
+ OutputFilterResult parseSay(const QString& parameter);
+ void parseKonsole();
+ OutputFilterResult parseAme(const QString& parameter);
+ OutputFilterResult parseAmsg(const QString& parameter);
+ OutputFilterResult parseOmsg(const QString& parameter);
+ OutputFilterResult parseOnotice(const QString& parameter);
+ OutputFilterResult parseCharset(const QString& charset);
+ void parseCycle();
+ OutputFilterResult parseSetKey(const QString& parameter);
+ OutputFilterResult parseDelKey(const QString& parameter);
+ OutputFilterResult parseShowKey(const QString& parameter);
+ OutputFilterResult parseDNS(const QString& parameter);
+ OutputFilterResult parseKill(const QString& parameter);
+ OutputFilterResult parseShowTuner(const QString &p);
+
+ OutputFilterResult changeMode(const QString& parameter,char mode,char giveTake);
+ bool isAChannel(const QString& check);
+ OutputFilterResult usage(const QString& check);
+ OutputFilterResult info(const QString& check);
+ OutputFilterResult error(const QString& check);
+
+ QString addNickToEmptyNickList(const QString& nick, const QString& parameter);
+
+ private:
+ QString destination;
+ QString commandChar;
+
+ Server* m_server;
+ };
+}
+#endif
diff --git a/konversation/src/query.cpp b/konversation/src/query.cpp
new file mode 100644
index 0000000..e87fbe4
--- /dev/null
+++ b/konversation/src/query.cpp
@@ -0,0 +1,673 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "query.h"
+#include "channel.h"
+#include "server.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "viewcontainer.h"
+#include "ircinput.h"
+#include "ircview.h"
+#include "ircviewbox.h"
+#include "common.h"
+#include "topiclabel.h"
+
+#include <qhbox.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qtextcodec.h>
+#include <qtooltip.h>
+#include <qtextstream.h>
+#include <qwhatsthis.h>
+#include <qsplitter.h>
+
+#include <klocale.h>
+#include <kstandarddirs.h>
+#include <kdebug.h>
+#include <kmessagebox.h>
+#include <kiconloader.h>
+#include <kstringhandler.h>
+#include <kpopupmenu.h>
+
+
+Query::Query(QWidget* parent, QString _name) : ChatWindow(parent)
+{
+ name=_name; // need the name a little bit earlier for setServer
+ // don't setName here! It will break logfiles!
+ // setName("QueryWidget");
+ setType(ChatWindow::Query);
+
+ setChannelEncodingSupported(true);
+
+ m_headerSplitter = new QSplitter(Qt::Vertical, this);
+
+ m_initialShow = true;
+ awayChanged=false;
+ awayState=false;
+ QHBox *box = new QHBox(m_headerSplitter);
+ addresseeimage = new QLabel(box, "query_image");
+ addresseeimage->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ addresseeimage->hide();
+ addresseelogoimage = new QLabel(box, "query_logo_image");
+ addresseelogoimage->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ addresseelogoimage->hide();
+
+ queryHostmask=new Konversation::TopicLabel(box, "query_hostmask");
+
+ QString whatsthis = i18n("<qt>Some details of the person you are talking to in this query is shown in this bar. The full name and hostmask is shown, along with any image or logo this person has associated with them in the KDE Addressbook.<p>See the <i>Konversation Handbook</i> for information on associating a nick with a contact in the Addressbook, and for an explanation of what the hostmask is.</qt>");
+ QWhatsThis::add(addresseeimage, whatsthis);
+ QWhatsThis::add(addresseelogoimage, whatsthis);
+ QWhatsThis::add(queryHostmask, whatsthis);
+
+ IRCViewBox* ircBox = new IRCViewBox(m_headerSplitter,0);
+ setTextView(ircBox->ircView()); // Server will be set later in setServer();
+ textView->setAcceptDrops(true);
+ connect(textView,SIGNAL(filesDropped(const QStrList&)),this,SLOT(filesDropped(const QStrList&)));
+ connect(textView,SIGNAL(popupCommand(int)),this,SLOT(popup(int)));
+
+ // link "Whois", "Ignore" ... menu items into ircview popup
+ QPopupMenu* popup=textView->getPopup();
+ popup->insertSeparator();
+ popup->insertItem(i18n("&Whois"),Konversation::Whois);
+ popup->insertItem(i18n("&Version"),Konversation::Version);
+ popup->insertItem(i18n("&Ping"),Konversation::Ping);
+ popup->insertSeparator();
+
+ popup->insertItem(i18n("Ignore"), Konversation::IgnoreNick);
+ popup->insertItem(i18n("Unignore"), Konversation::UnignoreNick);
+ popup->setItemVisible(Konversation::IgnoreNick, false);
+ popup->setItemVisible(Konversation::UnignoreNick, false);
+
+ if (kapp->authorize("allow_downloading"))
+ popup->insertItem(SmallIcon("2rightarrow"),i18n("Send &File..."),Konversation::DccSend);
+
+ popup->insertItem(i18n("Add to Watched Nicks"), Konversation::AddNotify);
+
+ // This box holds the input line
+ QHBox* inputBox=new QHBox(this, "input_log_box");
+ inputBox->setSpacing(spacing());
+
+ awayLabel=new QLabel(i18n("(away)"),inputBox);
+ awayLabel->hide();
+ blowfishLabel = new QLabel(inputBox);
+ blowfishLabel->hide();
+ blowfishLabel->setPixmap(KGlobal::iconLoader()->loadIcon("encrypted", KIcon::Toolbar));
+ queryInput=new IRCInput(inputBox);
+
+ getTextView()->installEventFilter(queryInput);
+ queryInput->installEventFilter(this);
+
+ // connect the signals and slots
+ connect(queryInput,SIGNAL (submit()),this,SLOT (queryTextEntered()) );
+ connect(queryInput,SIGNAL (envelopeCommand()),this,SLOT (queryPassthroughCommand()) );
+ connect(queryInput,SIGNAL (textPasted(const QString&)),this,SLOT (textPasted(const QString&)) );
+ connect(getTextView(), SIGNAL(textPasted(bool)), queryInput, SLOT(paste(bool)));
+ connect(getTextView(),SIGNAL (gotFocus()),queryInput,SLOT (setFocus()) );
+
+ connect(textView,SIGNAL (sendFile()),this,SLOT (sendFileMenu()) );
+ connect(textView,SIGNAL (extendedPopup(int)),this,SLOT (popup(int)) );
+ connect(textView,SIGNAL (autoText(const QString&)),this,SLOT (sendQueryText(const QString&)) );
+
+ updateAppearance();
+
+ setLog(Preferences::log());
+}
+
+Query::~Query()
+{
+}
+
+void Query::setServer(Server* newServer)
+{
+ if (m_server != newServer)
+ connect(newServer, SIGNAL(connectionStateChanged(Server*, Konversation::ConnectionState)),
+ SLOT(connectionStateChanged(Server*, Konversation::ConnectionState)));
+
+ ChatWindow::setServer(newServer);
+
+ if (newServer->getKeyForRecipient(getName()))
+ blowfishLabel->show();
+}
+
+void Query::connectionStateChanged(Server* server, Konversation::ConnectionState state)
+{
+ if (server == m_server)
+ {
+ if (state == Konversation::SSConnected)
+ {
+ //HACK the way the notification priorities work sucks, this forces the tab text color to ungray right now.
+ if (m_currentTabNotify == Konversation::tnfNone || !Preferences::tabNotificationsEvents())
+ KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this);
+ }
+ else
+ {
+ //HACK the way the notification priorities work sucks, this forces the tab text color to gray right now.
+ if (m_currentTabNotify == Konversation::tnfNone || (!Preferences::tabNotificationsEvents() && m_currentTabNotify == Konversation::tnfControl))
+ KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this);
+ }
+ }
+}
+
+void Query::setName(const QString& newName)
+{
+ //if(ChatWindow::getName() == newName) return; // no change, so return
+
+ ChatWindow::setName(newName);
+
+ // don't change logfile name if query name changes
+ // This will prevent Nick-Changers to create more than one log file,
+ if (logName.isEmpty())
+ {
+ QString logName = (Preferences::lowerLog()) ? getName().lower() : getName() ;
+
+ if(Preferences::addHostnameToLog())
+ {
+ if(m_nickInfo)
+ logName += m_nickInfo->getHostmask();
+ }
+
+ setLogfileName(logName);
+ }
+}
+
+void Query::setEncryptedOutput(bool e)
+{
+ if (e)
+ blowfishLabel->show();
+ else
+ blowfishLabel->hide();
+}
+
+void Query::queryTextEntered()
+{
+ QString line=queryInput->text();
+ queryInput->setText("");
+ if(line.lower()==Preferences::commandChar()+"clear")
+ {
+ textView->clear();
+ }
+ else if(line.lower()==Preferences::commandChar()+"part")
+ {
+ m_server->closeQuery(getName());
+ }
+ else if(line.length())
+ {
+ sendQueryText(line);
+ }
+}
+
+void Query::queryPassthroughCommand()
+{
+ QString commandChar = Preferences::commandChar();
+ QString line = queryInput->text();
+
+ queryInput->setText("");
+
+ if(!line.isEmpty())
+ {
+ // Prepend commandChar on Ctrl+Enter to bypass outputfilter command recognition
+ if (line.startsWith(commandChar))
+ {
+ line = commandChar + line;
+ }
+ sendQueryText(line);
+ }
+}
+
+void Query::sendQueryText(const QString& sendLine)
+{
+ // create a work copy
+ QString outputAll(sendLine);
+ // replace aliases and wildcards
+ if(m_server->getOutputFilter()->replaceAliases(outputAll))
+ {
+ outputAll = m_server->parseWildcards(outputAll, m_server->getNickname(), getName(), QString(), QString(), QString());
+ }
+
+ // Send all strings, one after another
+ QStringList outList=QStringList::split('\n',outputAll);
+ for(unsigned int index=0;index<outList.count();index++)
+ {
+ QString output(outList[index]);
+
+ // encoding stuff is done in Server()
+ Konversation::OutputFilterResult result = m_server->getOutputFilter()->parse(m_server->getNickname(), output, getName());
+
+ if(!result.output.isEmpty())
+ {
+ if(result.type == Konversation::Action) appendAction(m_server->getNickname(), result.output);
+ else if(result.type == Konversation::Command) appendCommandMessage(result.typeString, result.output);
+ else if(result.type == Konversation::Program) appendServerMessage(result.typeString, result.output);
+ else if(!result.typeString.isEmpty()) appendQuery(result.typeString, result.output);
+ else appendQuery(m_server->getNickname(), result.output);
+ }
+ else if (result.outputList.count())
+ {
+ Q_ASSERT(result.type==Konversation::Message);
+ for ( QStringList::Iterator it = result.outputList.begin(); it != result.outputList.end(); ++it )
+ {
+ append(m_server->getNickname(), *it);
+ }
+ }
+
+ if (!result.toServerList.empty())
+ {
+ m_server->queueList(result.toServerList);
+ }
+ else
+ {
+ m_server->queue(result.toServer);
+ }
+ } // for
+}
+
+void Query::updateAppearance()
+{
+ QColor fg;
+ QColor bg;
+
+ if(Preferences::inputFieldsBackgroundColor())
+ {
+ fg=Preferences::color(Preferences::ChannelMessage);
+ bg=Preferences::color(Preferences::TextViewBackground);
+ }
+ else
+ {
+ fg=colorGroup().foreground();
+ bg=colorGroup().base();
+ }
+
+ queryInput->unsetPalette();
+ queryInput->setPaletteForegroundColor(fg);
+ queryInput->setPaletteBackgroundColor(bg);
+
+ getTextView()->unsetPalette();
+
+ if (Preferences::showBackgroundImage())
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ Preferences::backgroundImage());
+ }
+ else
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ QString());
+ }
+
+ if (Preferences::customTextFont())
+ {
+ getTextView()->setFont(Preferences::textFont());
+ queryInput->setFont(Preferences::textFont());
+ }
+ else
+ {
+ getTextView()->setFont(KGlobalSettings::generalFont());
+ queryInput->setFont(KGlobalSettings::generalFont());
+ }
+
+ ChatWindow::updateAppearance();
+}
+
+void Query::textPasted(const QString& text)
+{
+ if(m_server)
+ {
+ QStringList multiline=QStringList::split('\n',text);
+ for(unsigned int index=0;index<multiline.count();index++)
+ {
+ QString line=multiline[index];
+ QString cChar(Preferences::commandChar());
+ // make sure that lines starting with command char get escaped
+ if(line.startsWith(cChar)) line=cChar+line;
+ sendQueryText(line);
+ }
+ }
+}
+
+void Query::indicateAway(bool show)
+{
+ // QT does not redraw the label properly when they are not on screen
+ // while getting hidden, so we remember the "soon to be" state here.
+ if(isHidden())
+ {
+ awayChanged=true;
+ awayState=show;
+ }
+ else
+ {
+ if(show)
+ awayLabel->show();
+ else
+ awayLabel->hide();
+ }
+}
+
+// fix QTs broken behavior on hidden QListView pages
+void Query::showEvent(QShowEvent*)
+{
+ if(awayChanged)
+ {
+ awayChanged=false;
+ indicateAway(awayState);
+ }
+
+ if(m_initialShow) {
+ m_initialShow = false;
+ QValueList<int> sizes;
+ sizes << queryHostmask->sizeHint().height() << (height() - queryHostmask->sizeHint().height());
+ m_headerSplitter->setSizes(sizes);
+ }
+}
+
+void Query::popup(int id)
+{
+ // get the nickname to the context menu popup
+ QString name = textView->getContextNick();
+ // if there was none (right click into the text view) assume query partner
+ if (name.isEmpty()) name = getName();
+
+ switch (id)
+ {
+ case Konversation::Whois:
+ sendQueryText(Preferences::commandChar()+"WHOIS "+name+' '+name);
+ break;
+
+ case Konversation::IgnoreNick:
+ {
+ if (KMessageBox::warningContinueCancel(this, i18n("Do you want to ignore %1?").arg(name),
+ i18n("Ignore"), i18n("Ignore"), "IgnoreNick") == KMessageBox::Continue)
+ {
+ sendQueryText(Preferences::commandChar()+"IGNORE -ALL "+name);
+
+ int rc = KMessageBox::questionYesNo(this,
+ i18n("Do you want to close this query after ignoring this nickname?"),
+ i18n("Close This Query"),
+ i18n("Close"),
+ i18n("Keep Open"),
+ "CloseQueryAfterIgnore");
+
+ if (rc == KMessageBox::Yes && m_server)
+ QTimer::singleShot(0, this, SLOT(closeWithoutAsking()));
+ }
+
+ break;
+ }
+ case Konversation::UnignoreNick:
+ {
+ QString question = i18n("Do you want to stop ignoring %1?").arg(name);
+
+ if (KMessageBox::warningContinueCancel(this, question, i18n("Unignore"), i18n("Unignore"), "UnignoreNick") ==
+ KMessageBox::Continue)
+ {
+ sendQueryText(Preferences::commandChar()+"UNIGNORE "+name);
+ }
+
+ break;
+ }
+ case Konversation::AddNotify:
+ {
+ if (m_server->getServerGroup())
+ {
+ if (!Preferences::isNotify(m_server->getServerGroup()->id(), name))
+ Preferences::addNotify(m_server->getServerGroup()->id(),name);
+ }
+ break;
+ }
+ case Konversation::DccSend:
+ sendQueryText(Preferences::commandChar()+"DCC SEND "+name);
+ break;
+
+ case Konversation::Version:
+ sendQueryText(Preferences::commandChar()+"CTCP "+name+" VERSION");
+ break;
+
+ case Konversation::Ping:
+ sendQueryText(Preferences::commandChar()+"CTCP "+name+" PING");
+ break;
+
+ case Konversation::Topic:
+ m_server->requestTopic(getTextView()->currentChannel());
+ break;
+ case Konversation::Names:
+ m_server->queue("NAMES " + getTextView()->currentChannel(), Server::LowPriority);
+ break;
+ case Konversation::Join:
+ m_server->queue("JOIN " + getTextView()->currentChannel());
+ break;
+
+ default:
+ kdDebug() << "Query::popup(): Popup id " << id << " does not belong to me!" << endl;
+ break;
+ }
+
+ // delete context menu nickname
+ textView->clearContextNick();
+}
+
+void Query::sendFileMenu()
+{
+ emit sendFile(getName());
+}
+
+void Query::childAdjustFocus()
+{
+ queryInput->setFocus();
+}
+
+void Query::setNickInfo(const NickInfoPtr & nickInfo)
+{
+ if(m_nickInfo)
+ disconnect(m_nickInfo, SIGNAL(nickInfoChanged()), this, SLOT(nickInfoChanged()));
+
+ m_nickInfo = nickInfo;
+ Q_ASSERT(m_nickInfo); if(!m_nickInfo) return;
+ setName(m_nickInfo->getNickname());
+ connect(m_nickInfo, SIGNAL(nickInfoChanged()), this, SLOT(nickInfoChanged()));
+ nickInfoChanged();
+}
+
+void Query::nickInfoChanged()
+{
+ if(m_nickInfo)
+ {
+ setName(m_nickInfo->getNickname());
+ QString text = m_nickInfo->getBestAddresseeName();
+ if(!m_nickInfo->getHostmask().isEmpty() && !text.isEmpty())
+ text += " - ";
+ text += m_nickInfo->getHostmask();
+ if(m_nickInfo->isAway() && !m_nickInfo->getAwayMessage().isEmpty())
+ text += " (" + KStringHandler::rsqueeze(m_nickInfo->getAwayMessage(),100) + ") ";
+ queryHostmask->setText(Konversation::removeIrcMarkup(text));
+
+ KABC::Picture pic = m_nickInfo->getAddressee().photo();
+ if(pic.isIntern())
+ {
+ QPixmap qpixmap(pic.data().scaleHeight(queryHostmask->height()));
+ if(!qpixmap.isNull())
+ {
+ addresseeimage->setPixmap(qpixmap);
+ addresseeimage->show();
+ }
+ else
+ {
+ addresseeimage->hide();
+ }
+ }
+ else
+ {
+ addresseeimage->hide();
+ }
+ KABC::Picture logo = m_nickInfo->getAddressee().logo();
+ if(logo.isIntern())
+ {
+ QPixmap qpixmap(logo.data().scaleHeight(queryHostmask->height()));
+ if(!qpixmap.isNull())
+ {
+ addresseelogoimage->setPixmap(qpixmap);
+ addresseelogoimage->show();
+ }
+ else
+ {
+ addresseelogoimage->hide();
+ }
+ }
+ else
+ {
+ addresseelogoimage->hide();
+ }
+
+ QString strTooltip;
+ QTextStream tooltip( &strTooltip, IO_WriteOnly );
+
+ tooltip << "<qt>";
+
+ tooltip << "<table cellspacing=\"0\" cellpadding=\"0\">";
+
+ m_nickInfo->tooltipTableData(tooltip);
+
+ tooltip << "</table></qt>";
+ QToolTip::add(queryHostmask, strTooltip);
+ QToolTip::add(addresseeimage, strTooltip);
+ QToolTip::add(addresseelogoimage, strTooltip);
+
+ }
+ else
+ {
+ addresseeimage->hide();
+ addresseelogoimage->hide();
+ }
+
+ emit updateQueryChrome(this,getName());
+ emitUpdateInfo();
+}
+
+NickInfoPtr Query::getNickInfo()
+{
+ return m_nickInfo;
+}
+
+QString Query::getTextInLine() { return queryInput->text(); }
+
+bool Query::canBeFrontView() { return true; }
+bool Query::searchView() { return true; }
+
+void Query::appendInputText(const QString& s, bool fromCursor)
+{
+ if(!fromCursor)
+ {
+ queryInput->append(s);
+ }
+ else
+ {
+ int para = 0, index = 0;
+ queryInput->getCursorPosition(&para, &index);
+ queryInput->insertAt(s, para, index);
+ queryInput->setCursorPosition(para, index + s.length());
+ }
+}
+
+ // virtual
+void Query::setChannelEncoding(const QString& encoding)
+{
+ Preferences::setChannelEncoding(m_server->getDisplayName(), getName(), encoding);
+}
+
+QString Query::getChannelEncoding() // virtual
+{
+ return Preferences::channelEncoding(m_server->getDisplayName(), getName());
+}
+
+QString Query::getChannelEncodingDefaultDesc() // virtual
+{
+ return i18n("Identity Default ( %1 )").arg(getServer()->getIdentity()->getCodecName());
+}
+
+bool Query::closeYourself(bool confirm)
+{
+ int result = KMessageBox::Continue;
+ if (confirm)
+ result=KMessageBox::warningContinueCancel(this, i18n("Do you want to close your query with %1?").arg(getName()), i18n("Close Query"), i18n("Close"), "QuitQueryTab");
+
+ if (result == KMessageBox::Continue)
+ {
+ m_server->removeQuery(this);
+ return true;
+ }
+
+ return false;
+}
+
+void Query::closeWithoutAsking()
+{
+ m_server->removeQuery(this);
+}
+
+void Query::filesDropped(const QStrList& files)
+{
+ m_server->sendURIs(files,getName());
+}
+
+void Query::serverOnline(bool online)
+{
+ //queryInput->setEnabled(online);
+ getTextView()->setNickAndChannelContextMenusEnabled(online);
+
+ QPopupMenu* popup = getTextView()->getPopup();
+
+ if (popup)
+ {
+ popup->setItemEnabled(Konversation::Whois, online);
+ popup->setItemEnabled(Konversation::Version, online);
+ popup->setItemEnabled(Konversation::Ping, online);
+ popup->setItemEnabled(Konversation::IgnoreNick, online);
+ popup->setItemEnabled(Konversation::UnignoreNick, online);
+ popup->setItemEnabled(Konversation::AddNotify, online);
+
+ if (kapp->authorize("allow_downloading"))
+ popup->setItemEnabled(Konversation::DccSend, online);
+ }
+}
+
+void Query::emitUpdateInfo()
+{
+ QString info;
+ if(m_nickInfo->loweredNickname() == m_server->loweredNickname())
+ info = i18n("Talking to yourself");
+ else if(m_nickInfo)
+ info = m_nickInfo->getBestAddresseeName();
+ else
+ info = getName();
+
+ emit updateInfo(info);
+}
+
+// show quit message of nick if we see it
+void Query::quitNick(const QString& reason)
+{
+ QString displayReason = reason;
+
+ if (displayReason.isEmpty())
+ {
+ appendCommandMessage(i18n("Quit"),i18n("%1 has left this server.").arg(getName()),false);
+ }
+ else
+ {
+ if (displayReason.find(QRegExp("[\\0000-\\0037]"))!=-1)
+ displayReason+="\017";
+
+ appendCommandMessage(i18n("Quit"),i18n("%1 has left this server (%2).").arg(getName()).arg(displayReason),false);
+ }
+}
+
+#include "query.moc"
diff --git a/konversation/src/query.h b/konversation/src/query.h
new file mode 100644
index 0000000..882e3c7
--- /dev/null
+++ b/konversation/src/query.h
@@ -0,0 +1,118 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef QUERY_H
+#define QUERY_H
+
+#include "chatwindow.h"
+#include "nickinfo.h"
+
+#include <qstring.h>
+
+/* TODO: Idle counter to close query after XXX minutes of inactivity */
+/* TODO: Use /USERHOST to check if queries are still valid */
+
+class QLineEdit;
+class QCheckBox;
+class QLabel;
+class QSplitter;
+
+class IRCInput;
+
+namespace Konversation {
+ class TopicLabel;
+}
+
+class Query : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit Query(QWidget* parent, QString name);
+ virtual void setServer(Server* newServer);
+
+ ~Query();
+
+ /** This will always be called soon after this object is created.
+ * @param nickInfo A nickinfo that must exist.
+ */
+ void setNickInfo(const NickInfoPtr & nickInfo);
+ /** It seems that this does _not_ guaranttee to return non null.
+ * The problem is when you open a query to someone, then the go offline.
+ * This should be fixed maybe? I don't know.
+ */
+ NickInfoPtr getNickInfo();
+ virtual QString getTextInLine();
+ virtual bool closeYourself(bool askForConfirmation=true);
+ virtual bool canBeFrontView();
+ virtual bool searchView();
+
+ virtual void setChannelEncoding(const QString& encoding);
+ virtual QString getChannelEncoding();
+ virtual QString getChannelEncodingDefaultDesc();
+ virtual void emitUpdateInfo();
+
+ virtual bool isInsertSupported() { return true; }
+
+ /** call this when you see a nick quit from the server.
+ * @param reason The quit reason given by that user.
+ */
+ void quitNick(const QString& reason);
+
+ signals:
+ void sendFile(const QString& recipient);
+ void updateQueryChrome(ChatWindow*, const QString&);
+
+ public slots:
+ void sendQueryText(const QString& text);
+ void appendInputText(const QString& s, bool fromCursor);
+ virtual void indicateAway(bool show);
+ void updateAppearance();
+ void setEncryptedOutput(bool);
+ void connectionStateChanged(Server*, Konversation::ConnectionState);
+
+ protected slots:
+ void queryTextEntered();
+ void queryPassthroughCommand();
+ void sendFileMenu();
+ void filesDropped(const QStrList& files);
+ // connected to IRCInput::textPasted() - used to handle large/multiline pastes
+ void textPasted(const QString& text);
+ void popup(int id);
+ void nickInfoChanged();
+ void closeWithoutAsking();
+ virtual void serverOnline(bool online);
+
+ protected:
+ void setName(const QString& newName);
+ void showEvent(QShowEvent* event);
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ bool awayChanged;
+ bool awayState;
+
+ QString queryName;
+ QString buffer;
+
+ QSplitter* m_headerSplitter;
+ Konversation::TopicLabel* queryHostmask;
+ QLabel* addresseeimage;
+ QLabel* addresseelogoimage;
+ QLabel* awayLabel;
+ QLabel* blowfishLabel;
+ IRCInput* queryInput;
+ NickInfoPtr m_nickInfo;
+
+ bool m_initialShow;
+};
+#endif
diff --git a/konversation/src/queuetuner.cpp b/konversation/src/queuetuner.cpp
new file mode 100644
index 0000000..7686ae4
--- /dev/null
+++ b/konversation/src/queuetuner.cpp
@@ -0,0 +1,256 @@
+/*
+ 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) version 2.
+*/
+
+/*
+ Copyright (C) 2008 Eli J. MacKenzie <argonel at gmail.com>
+*/
+
+
+
+#include "queuetuner.h"
+#include "server.h"
+#include "ircqueue.h"
+#include "channel.h"
+#include "viewcontainer.h"
+#include "konversationapplication.h"
+
+#include <qtoolbutton.h>
+#include <qspinbox.h>
+#include <qpopupmenu.h>
+#include <qevent.h>
+
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <kstdguiitem.h>
+#include <klocale.h>
+
+
+QueueTuner::QueueTuner(QWidget* parent, ViewContainer *container)
+: QueueTunerBase(parent), m_server(0), m_timer(this, "qTuner"),
+ m_vis(Preferences::self()->showQueueTunerItem()->value())
+{
+ m_closeButton->setIconSet(kapp->iconLoader()->loadIconSet("fileclose", KIcon::Toolbar, 16));
+ connect(m_closeButton, SIGNAL(clicked()), SLOT(close()));
+ connect(container, SIGNAL(frontServerChanging(Server*)), SLOT(setServer(Server*)));
+ connect(&m_timer, SIGNAL(timeout()), SLOT(timerFired()));
+
+ connect(m_slowRate, SIGNAL(valueChanged(int)), SLOT(slowRateChanged(int)));
+ connect(m_slowType, SIGNAL(activated(int)), SLOT(slowTypeChanged(int)));
+ connect(m_slowInterval, SIGNAL(valueChanged(int)), SLOT(slowIntervalChanged(int)));
+
+ connect(m_normalRate, SIGNAL(valueChanged(int)), SLOT(normalRateChanged(int)));
+ connect(m_normalType, SIGNAL(activated(int)), SLOT(normalTypeChanged(int)));
+ connect(m_normalInterval, SIGNAL(valueChanged(int)), SLOT(normalIntervalChanged(int)));
+
+ connect(m_fastRate, SIGNAL(valueChanged(int)), SLOT(fastRateChanged(int)));
+ connect(m_fastType, SIGNAL(activated(int)), SLOT(fastTypeChanged(int)));
+ connect(m_fastInterval, SIGNAL(valueChanged(int)), SLOT(fastIntervalChanged(int)));
+}
+
+QueueTuner::~QueueTuner()
+{
+}
+
+//lps, lpm, bps, kbps
+static void rateToWidget(IRCQueue::EmptyingRate& rate, QSpinBox *r, QComboBox* t, QSpinBox *i)
+{
+ r->setValue(rate.m_rate);
+ t->setCurrentItem(rate.m_type);
+ i->setValue(rate.m_interval/1000);
+}
+
+void QueueTuner::serverDestroyed(QObject* ref)
+{
+ if (ref == m_server)
+ setServer(0);
+}
+
+void QueueTuner::setServer(Server* newServer)
+{
+ const char *w=0;
+ bool toShow=false;
+ if (!m_server && newServer)
+ {
+ toShow=true;
+ w="showing";
+ }
+ else if (!newServer && m_server)
+ {
+ hide();
+ w="hiding";
+ }
+ else
+ w="unchanged";
+ // since this is tied to the new signal, we assume we're only getting called with a change
+
+ m_server = newServer;
+
+ if (toShow)
+ show();
+
+ if (m_server)
+ {
+ connect(m_server, SIGNAL(destroyed(QObject*)), SLOT(serverDestroyed(QObject*)));
+
+ getRates();
+ }
+}
+
+void QueueTuner::getRates()
+{
+ if (!m_server) // you can only get the popup if there is a server, but.. paranoid
+ return;
+
+ rateToWidget(m_server->m_queues[0]->getRate(), m_slowRate, m_slowType, m_slowInterval);
+ rateToWidget(m_server->m_queues[1]->getRate(), m_normalRate, m_normalType, m_normalInterval);
+ rateToWidget(m_server->m_queues[2]->getRate(), m_fastRate, m_fastType, m_fastInterval);
+}
+
+void QueueTuner::timerFired()
+{
+ if (m_server)
+ {
+ IRCQueue *q=0;
+
+ q=m_server->m_queues[0];
+ m_slowAge->setNum(q->currentWait()/1000);
+ m_slowBytes->setNum(q->bytesSent());
+ m_slowCount->setNum(q->pendingMessages());
+ m_slowLines->setNum(q->linesSent());
+
+ q=m_server->m_queues[1];
+ m_normalAge->setNum(q->currentWait()/1000);
+ m_normalBytes->setNum(q->bytesSent());
+ m_normalCount->setNum(q->pendingMessages());
+ m_normalLines->setNum(q->linesSent());
+
+ q=m_server->m_queues[2];
+ m_fastAge->setNum(q->currentWait()/1000);
+ m_fastBytes->setNum(q->bytesSent());
+ m_fastCount->setNum(q->pendingMessages());
+ m_fastLines->setNum(q->linesSent());
+
+ m_srverBytes->setNum(m_server->m_encodedBytesSent);
+ m_globalBytes->setNum(m_server->m_bytesSent);
+ m_globalLines->setNum(m_server->m_linesSent);
+ m_recvBytes->setNum(m_server->m_bytesReceived);
+ }
+}
+
+void QueueTuner::open()
+{
+ Preferences::setShowQueueTuner(true);
+ show();
+}
+
+void QueueTuner::close()
+{
+ Preferences::setShowQueueTuner(false);
+ QueueTunerBase::close();
+}
+
+void QueueTuner::show()
+{
+ if (m_server && Preferences::showQueueTuner())
+ {
+ QueueTunerBase::show();
+ m_timer.start(500);
+
+ }
+}
+
+void QueueTuner::hide()
+{
+ QueueTunerBase::hide();
+ m_timer.stop();
+}
+
+void QueueTuner::slowRateChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[0]->getRate().m_rate;
+ r=v;
+}
+
+void QueueTuner::slowTypeChanged(int v)
+{
+ if (!m_server) return;
+ IRCQueue::EmptyingRate::RateType &r=m_server->m_queues[0]->getRate().m_type;
+ r=IRCQueue::EmptyingRate::RateType(v);
+}
+
+void QueueTuner::slowIntervalChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[0]->getRate().m_interval;
+ r=v*1000;
+}
+
+void QueueTuner::normalRateChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[1]->getRate().m_rate;
+ r=v;
+}
+
+void QueueTuner::normalTypeChanged(int v)
+{
+ if (!m_server) return;
+ IRCQueue::EmptyingRate::RateType &r=m_server->m_queues[1]->getRate().m_type;
+ r=IRCQueue::EmptyingRate::RateType(v);
+}
+
+void QueueTuner::normalIntervalChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[1]->getRate().m_interval;
+ r=v*1000;
+}
+
+void QueueTuner::fastRateChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[2]->getRate().m_rate;
+ r=v;
+}
+
+void QueueTuner::fastTypeChanged(int v)
+{
+ if (!m_server) return;
+ IRCQueue::EmptyingRate::RateType &r=m_server->m_queues[2]->getRate().m_type;
+ r=IRCQueue::EmptyingRate::RateType(v);
+}
+
+void QueueTuner::fastIntervalChanged(int v)
+{
+ if (!m_server) return;
+ int &r=m_server->m_queues[2]->getRate().m_interval;
+ r=v*1000;
+}
+
+void QueueTuner::contextMenuEvent(QContextMenuEvent* e)
+{
+ QPopupMenu p(this);
+ p.insertItem("Reset...", 1);
+ int id = p.exec(e->globalPos());
+ if (id > 0)
+ {
+
+ QString question(i18n("This cannot be undone, are you sure you wish to reset to default values?"));
+ int x = KMessageBox::warningContinueCancel(this, question, i18n("Reset Values"), KStdGuiItem::reset(), QString::null, KMessageBox::Dangerous);
+ if ( x == KMessageBox::Continue)
+ {
+ Server::_resetRates();
+ getRates();
+ }
+ }
+ e->accept();
+}
+
+#include "queuetuner.moc"
diff --git a/konversation/src/queuetuner.h b/konversation/src/queuetuner.h
new file mode 100644
index 0000000..081572c
--- /dev/null
+++ b/konversation/src/queuetuner.h
@@ -0,0 +1,62 @@
+/*
+ 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) version 2.
+*/
+
+/*
+ Copyright (C) 2008 Eli J. MacKenzie <argonel at gmail.com>
+*/
+
+
+#ifndef QUEUETUNER_H
+#define QUEUETUNER_H
+
+#include "queuetunerbase.h"
+
+class Server;
+class ViewContainer;
+class QTimer;
+
+#include <qtimer.h>
+
+class QueueTuner: public QueueTunerBase
+{
+ Q_OBJECT
+
+ public:
+ QueueTuner(QWidget* parent, ViewContainer *container);
+ ~QueueTuner();
+ virtual void contextMenuEvent (QContextMenuEvent*);
+
+ public slots:
+ void setServer(Server* newServer);
+ void getRates();
+ void timerFired();
+ virtual void hide();
+ virtual void show();
+ virtual void open();
+ virtual void close();
+ void slowRateChanged(int);
+ void slowTypeChanged(int);
+ void slowIntervalChanged(int);
+ void normalRateChanged(int);
+ void normalTypeChanged(int);
+ void normalIntervalChanged(int);
+ void fastRateChanged(int);
+ void fastTypeChanged(int);
+ void fastIntervalChanged(int);
+ void serverDestroyed(QObject*);
+
+ signals:
+ void hidden();
+
+ private:
+ Server* m_server;
+ QTimer m_timer;
+ bool &m_vis;
+};
+
+
+#endif
diff --git a/konversation/src/queuetunerbase.ui b/konversation/src/queuetunerbase.ui
new file mode 100644
index 0000000..f11a117
--- /dev/null
+++ b/konversation/src/queuetunerbase.ui
@@ -0,0 +1,767 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>QueueTunerBase</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>QueueTunerBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>3</y>
+ <width>726</width>
+ <height>91</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>1</number>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout92</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>1</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <spacer>
+ <property name="name">
+ <cstring>spacer34</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>34</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>m_closeButton</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ <property name="textPosition">
+ <enum>BesideIcon</enum>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Close</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer35</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>16</width>
+ <height>33</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_slowBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="title">
+ <string>Slow Queue</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>5</number>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout164</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_slowRate</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Lines</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bytes</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_slowType</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_slowInterval</cstring>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>layout242</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="1" column="1" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>m_slowAge</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_slowCount</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>m_textLabel3_2</cstring>
+ </property>
+ <property name="text">
+ <string>Age:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>m_textLabel3</cstring>
+ </property>
+ <property name="text">
+ <string>Count:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layout236_2_2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Lines:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel5_2_2</cstring>
+ </property>
+ <property name="text">
+ <string>Bytes:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_slowLines</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_slowBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_normalBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="title">
+ <string>Normal Queue</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>5</number>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout163</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_normalRate</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Lines</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bytes</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_normalType</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_normalInterval</cstring>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layout236_2</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4_2</cstring>
+ </property>
+ <property name="text">
+ <string>Lines:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel5_2</cstring>
+ </property>
+ <property name="text">
+ <string>Bytes:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_normalLines</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_normalBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>layout240</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>m_textLabel3_4</cstring>
+ </property>
+ <property name="text">
+ <string>Count:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_normalAge</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_normalCount</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>m_textLabel3_2_3</cstring>
+ </property>
+ <property name="text">
+ <string>Age:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_fastBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="title">
+ <string>Fast Queue</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>5</number>
+ </property>
+ <widget class="QLayoutWidget" row="1" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>layout161</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_fastRate</cstring>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Lines</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bytes</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>m_fastType</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QSpinBox">
+ <property name="name">
+ <cstring>m_fastInterval</cstring>
+ </property>
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="maxValue">
+ <number>999</number>
+ </property>
+ <property name="lineStep">
+ <number>1</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="0">
+ <property name="name">
+ <cstring>layout237</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>m_textLabel3_2_3_2</cstring>
+ </property>
+ <property name="text">
+ <string>Age:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_fastAge</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_fastCount</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ <property name="scaledContents">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>m_textLabel3_4_2</cstring>
+ </property>
+ <property name="text">
+ <string>Count:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1">
+ <property name="name">
+ <cstring>layout236</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel4</cstring>
+ </property>
+ <property name="text">
+ <string>Lines:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel5</cstring>
+ </property>
+ <property name="text">
+ <string>Bytes:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_fastLines</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_fastBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>m_globalBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>3</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="title">
+ <string>All Queues</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>5</number>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout88</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>textLabel13</cstring>
+ </property>
+ <property name="text">
+ <string>Received:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="1">
+ <property name="name">
+ <cstring>m_recvBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>m_globalLines</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel9</cstring>
+ </property>
+ <property name="text">
+ <string>Bytes (Raw):</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>textLabel4_3</cstring>
+ </property>
+ <property name="text">
+ <string>Bytes (Encoded):</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="1">
+ <property name="name">
+ <cstring>m_globalBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="1">
+ <property name="name">
+ <cstring>m_srverBytes</cstring>
+ </property>
+ <property name="text">
+ <string>888</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>textLabel8</cstring>
+ </property>
+ <property name="text">
+ <string>Lines:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/konversation/src/quickbutton.cpp b/konversation/src/quickbutton.cpp
new file mode 100644
index 0000000..004e857
--- /dev/null
+++ b/konversation/src/quickbutton.cpp
@@ -0,0 +1,38 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Feb 6 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "quickbutton.h"
+
+
+QuickButton::QuickButton(const QString &label,const QString &newDefinition,QWidget* parent) :
+QPushButton::QPushButton(label,parent)
+{
+ setDefinition(newDefinition);
+ connect(this,SIGNAL (clicked()),this,SLOT (wasClicked()) );
+}
+
+QuickButton::~QuickButton()
+{
+}
+
+void QuickButton::wasClicked()
+{
+ emit clicked(definition);
+}
+
+void QuickButton::setDefinition(const QString &newDefinition)
+{
+ definition=newDefinition;
+}
+
+#include "quickbutton.moc"
diff --git a/konversation/src/quickbutton.h b/konversation/src/quickbutton.h
new file mode 100644
index 0000000..02a1040
--- /dev/null
+++ b/konversation/src/quickbutton.h
@@ -0,0 +1,42 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Wed Feb 6 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef QUICKBUTTON_H
+#define QUICKBUTTON_H
+
+#include <qpushbutton.h>
+
+
+class QuickButton : public QPushButton
+{
+ Q_OBJECT
+
+ public:
+ QuickButton(const QString &label,const QString &newDefinition,QWidget* parent);
+ ~QuickButton();
+
+ void setDefinition(const QString &newDefinition);
+
+ signals:
+ void clicked(int);
+ void clicked(const QString &definition);
+
+ public slots:
+ void wasClicked();
+
+ protected:
+ int id;
+
+ QString definition;
+};
+#endif
diff --git a/konversation/src/quickbuttons_preferences.cpp b/konversation/src/quickbuttons_preferences.cpp
new file mode 100644
index 0000000..3dabf68
--- /dev/null
+++ b/konversation/src/quickbuttons_preferences.cpp
@@ -0,0 +1,262 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#include "quickbuttons_preferences.h"
+#include "config/preferences.h"
+
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qheader.h>
+
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <klineedit.h>
+#include <klistview.h>
+
+
+QuickButtons_Config::QuickButtons_Config(QWidget* parent, const char* name)
+ : QuickButtons_ConfigUI(parent, name)
+{
+ // reset flag to defined state (used to block signals when just selecting a new item)
+ m_newItemSelected=false;
+
+ // populate listview
+ loadSettings();
+
+ // make items react to drag & drop
+ buttonListView->setSorting(-1,false);
+ buttonListView->header()->setMovingEnabled(false);
+
+ connect(buttonListView,SIGNAL (selectionChanged(QListViewItem*)),this,SLOT (entrySelected(QListViewItem*)) );
+ connect(buttonListView,SIGNAL (clicked(QListViewItem*)),this,SLOT (entrySelected(QListViewItem*)) );
+ connect(buttonListView,SIGNAL (moved()),this,SIGNAL (modified()) );
+
+ connect(nameInput,SIGNAL (textChanged(const QString&)),this,SLOT (nameChanged(const QString&)) );
+ connect(actionInput,SIGNAL (textChanged(const QString&)),this,SLOT (actionChanged(const QString&)) );
+
+ connect(newButton,SIGNAL (clicked()),this,SLOT (addEntry()));
+ connect(removeButton,SIGNAL (clicked()),this,SLOT (removeEntry()));
+}
+
+QuickButtons_Config::~QuickButtons_Config()
+{
+}
+
+void QuickButtons_Config::loadSettings()
+{
+ setButtonsListView(Preferences::quickButtonList());
+
+ // remember button list for hasChanged()
+ m_oldButtonList=Preferences::quickButtonList();
+}
+
+// fill listview with button definitions
+void QuickButtons_Config::setButtonsListView(const QStringList &buttonList)
+{
+ // clear listView
+ buttonListView->clear();
+ // go through the list
+ for(unsigned int index=buttonList.count();index!=0;index--)
+ {
+ // get button definition
+ QString definition=buttonList[index-1];
+ // cut definition apart in name and action, and create a new listview item
+ new KListViewItem(buttonListView,definition.section(',',0,0),definition.section(',',1));
+ } // for
+ buttonListView->setSelected(buttonListView->firstChild(), true);
+}
+
+// save quick buttons to configuration
+void QuickButtons_Config::saveSettings()
+{
+ // get configuration object
+ KConfig* config=kapp->config();
+
+ // delete all buttons
+ config->deleteGroup("Button List");
+ // create new empty button group
+ config->setGroup("Button List");
+
+ // create empty list
+ QStringList newList=currentButtonList();
+
+ // check if there are any quick buttons in the list view
+ if(newList.count())
+ {
+ // go through all buttons and save them into the configuration
+ for(unsigned int index=0;index<newList.count();index++)
+ {
+ // write the current button's name and definition
+ config->writeEntry(QString("Button%1").arg(index),newList[index]);
+ } // for
+ }
+ // if there were no buttons at all, write a dummy entry to prevent KConfigXT from "optimizing"
+ // the group out, which would in turn make konvi restore the default buttons
+ else
+ config->writeEntry("Empty List",QString());
+
+ // set internal button list
+ Preferences::setQuickButtonList(newList);
+
+ // remember button list for hasChanged()
+ m_oldButtonList=newList;
+}
+
+void QuickButtons_Config::restorePageToDefaults()
+{
+ setButtonsListView(Preferences::defaultQuickButtonList());
+}
+
+QStringList QuickButtons_Config::currentButtonList()
+{
+ // get first item of the button listview
+ QListViewItem* item=buttonListView->firstChild();
+ // create empty list
+ QStringList newList;
+
+ // go through all items and save them into the configuration
+ while(item)
+ {
+ // remember button in internal list
+ newList.append(item->text(0)+','+item->text(1));
+ // get next item in the listview
+ item=item->itemBelow();
+ } // while
+
+ // return list
+ return newList;
+}
+
+bool QuickButtons_Config::hasChanged()
+{
+ return(m_oldButtonList!=currentButtonList());
+}
+
+// slots
+
+// what to do when the user selects an item
+void QuickButtons_Config::entrySelected(QListViewItem* quickButtonEntry)
+{
+ // play it safe, assume disabling all widgets first
+ bool enabled=false;
+
+ // check if there really was an item selected
+ if(quickButtonEntry)
+ {
+ // remember to enable the editing widgets
+ enabled=true;
+
+ // tell the editing widgets not to emit modified() on signals now
+ m_newItemSelected=true;
+ // update editing widget contents
+ nameInput->setText(quickButtonEntry->text(0));
+ actionInput->setText(quickButtonEntry->text(1));
+ // re-enable modified() signal on text changes in edit widgets
+ m_newItemSelected=false;
+ }
+ // enable or disable editing widgets
+ removeButton->setEnabled(enabled);
+ nameLabel->setEnabled(enabled);
+ nameInput->setEnabled(enabled);
+ actionLabel->setEnabled(enabled);
+ actionInput->setEnabled(enabled);
+}
+
+// what to do when the user change the name of a quick button
+void QuickButtons_Config::nameChanged(const QString& newName)
+{
+ // get possible first selected item
+ QListViewItem* item=buttonListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // rename item
+ item->setText(0,newName);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// what to do when the user change the action definition of a quick button
+void QuickButtons_Config::actionChanged(const QString& newAction)
+{
+ // get possible first selected item
+ QListViewItem* item=buttonListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // rename item
+ item->setText(1,newAction);
+ // tell the config system that something has changed
+ if(!m_newItemSelected) emit modified();
+ }
+}
+
+// add button pressed
+void QuickButtons_Config::addEntry()
+{
+ // add new item at the bottom of list view
+ KListViewItem* newItem=new KListViewItem(buttonListView,buttonListView->lastChild(),i18n("New"),QString());
+ // if successful ...
+ if(newItem)
+ {
+ // select new item and make it the current one
+ buttonListView->setSelected(newItem,true);
+ buttonListView->setCurrentItem(newItem);
+ // set input focus on item name edit
+ nameInput->setFocus();
+ // select all text to make overwriting easier
+ nameInput->selectAll();
+ // tell the config system that something has changed
+ emit modified();
+ }
+}
+
+// remove button pressed
+void QuickButtons_Config::removeEntry()
+{
+ // get possible first selected item
+ QListViewItem* item=buttonListView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // get item below the current one
+ QListViewItem* nextItem=item->itemBelow();
+ // if there was none, get the one above
+ if(!nextItem) nextItem=item->itemAbove();
+
+ // remove the item from the list
+ delete item;
+
+ // check if we found the next item
+ if(nextItem)
+ {
+ // select the item and make it the current ite,
+ buttonListView->setSelected(nextItem,true);
+ buttonListView->setCurrentItem(nextItem);
+ }
+ else
+ {
+ // no next item found, this means the list is empty
+ entrySelected(0);
+ }
+ // tell the config system that somethig has changed
+ emit modified();
+ }
+}
+
+#include "quickbuttons_preferences.moc"
diff --git a/konversation/src/quickbuttons_preferences.h b/konversation/src/quickbuttons_preferences.h
new file mode 100644
index 0000000..12a9ac0
--- /dev/null
+++ b/konversation/src/quickbuttons_preferences.h
@@ -0,0 +1,53 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef QUICKBUTTONSCONFIG_H
+#define QUICKBUTTONSCONFIG_H
+
+#include "quickbuttons_preferencesui.h"
+#include "konvisettingspage.h"
+
+
+class QuickButtons_Config : public QuickButtons_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit QuickButtons_Config(QWidget* parent, const char* name=NULL);
+ ~QuickButtons_Config();
+
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void entrySelected(QListViewItem* quickButtonEntry);
+ void nameChanged(const QString& newName);
+ void actionChanged(const QString& newAction);
+ void addEntry();
+ void removeEntry();
+
+ protected:
+ void setButtonsListView(const QStringList &buttonList);
+
+ bool m_newItemSelected;
+
+ QStringList m_oldButtonList;
+ QStringList currentButtonList();
+};
+
+#endif
diff --git a/konversation/src/quickbuttons_preferencesui.ui b/konversation/src/quickbuttons_preferencesui.ui
new file mode 100644
index 0000000..64377dd
--- /dev/null
+++ b/konversation/src/quickbuttons_preferencesui.ui
@@ -0,0 +1,222 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>QuickButtons_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>QuickButtons_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>439</width>
+ <height>351</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="KListView" row="0" column="0">
+ <column>
+ <property name="text">
+ <string>Button Name</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Button Action</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>buttonListView</cstring>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>false</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="1" column="0">
+ <property name="name">
+ <cstring>layout3</cstring>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KLineEdit" row="1" column="1">
+ <property name="name">
+ <cstring>actionInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="0" column="1">
+ <property name="name">
+ <cstring>nameInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>actionLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Button action:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>nameLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Button name:</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="2" column="0">
+ <property name="name">
+ <cstring>groupBox3</cstring>
+ </property>
+ <property name="title">
+ <string>Available Placeholders</string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>placeholderHelpLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>%o: Current nickname
+%c: Current channel
+%K: Server password
+%u: List of selected nicknames
+%s&lt;term&gt;%: term used to separate nicknames in %u
+%n: Send command directly to the server instead of your input line</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="1" rowspan="3" colspan="1">
+ <property name="name">
+ <cstring>layout1</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="text">
+ <string>New</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>230</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<tabstops>
+ <tabstop>buttonListView</tabstop>
+ <tabstop>nameInput</tabstop>
+ <tabstop>actionInput</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/quickconnectdialog.cpp b/konversation/src/quickconnectdialog.cpp
new file mode 100644
index 0000000..a8aacae
--- /dev/null
+++ b/konversation/src/quickconnectdialog.cpp
@@ -0,0 +1,108 @@
+/*
+ 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.
+*/
+
+/*
+ Dialog for quick connection to an IRC network without adding a server in the Server List.
+ begin: Sat June 05 2004
+ copyright: (C) 2004 by Michael Goettsche
+ email: mail@tuxipuxi.de
+*/
+
+#include "quickconnectdialog.h"
+#include "konversationapplication.h"
+
+#include <qlayout.h>
+#include <qwhatsthis.h>
+#include <qlabel.h>
+#include <qcheckbox.h>
+
+#include <klineedit.h>
+#include <klocale.h>
+
+
+QuickConnectDialog::QuickConnectDialog(QWidget *parent)
+:KDialogBase(parent, "quickconnect", true, i18n("Quick Connect"),
+KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, true)
+{
+ QWidget* page = new QWidget(this);
+ setMainWidget(page);
+
+ QGridLayout* layout = new QGridLayout(page, 2, 4);
+ layout->setSpacing(spacingHint());
+ layout->setColStretch(1, 10);
+
+ QLabel* hostNameLabel = new QLabel(i18n("&Server host:"), page);
+ QString hostNameWT = i18n("Enter the host of the network here.");
+ QWhatsThis::add(hostNameLabel, hostNameWT);
+ hostNameInput = new KLineEdit(page);
+ QWhatsThis::add(hostNameInput, hostNameWT);
+ hostNameLabel->setBuddy(hostNameInput);
+
+ QLabel* portLabel = new QLabel(i18n("&Port:"), page);
+ QString portWT = i18n("The port that the IRC server is using.");
+ QWhatsThis::add(portLabel, portWT);
+ portInput = new KLineEdit("6667", page );
+ QWhatsThis::add(portInput, portWT);
+ portLabel->setBuddy(portInput);
+
+ QLabel* nickLabel = new QLabel(i18n("&Nick:"), page);
+ QString nickWT = i18n("The nick you want to use.");
+ QWhatsThis::add(nickLabel, nickWT);
+ nickInput = new KLineEdit(Preferences::nickname(0), page);
+ QWhatsThis::add(nickInput, nickWT);
+ nickLabel->setBuddy(nickInput);
+
+ QLabel* passwordLabel = new QLabel(i18n("P&assword:"), page);
+ QString passwordWT = i18n("If the IRC server requires a password, enter it here (most servers do not require a password.)");
+ QWhatsThis::add(passwordLabel, passwordWT);
+ passwordInput = new KLineEdit(page);
+ QWhatsThis::add(passwordInput, passwordWT);
+ passwordLabel->setBuddy(passwordInput);
+
+ sslCheckBox = new QCheckBox(page, "sslCheckBox");
+ sslCheckBox->setText(i18n("&Use SSL"));
+
+ layout->addWidget(hostNameLabel, 0, 0);
+ layout->addWidget(hostNameInput, 0, 1);
+ layout->addWidget(portLabel, 0, 2);
+ layout->addWidget(portInput, 0, 3);
+
+ layout->addWidget(nickLabel, 1, 0);
+ layout->addWidget(nickInput, 1, 1);
+ layout->addWidget(passwordLabel, 1, 2);
+ layout->addWidget(passwordInput, 1, 3);
+
+ layout->addWidget(sslCheckBox, 2, 0);
+
+ hostNameInput->setFocus();
+
+ setButtonOK(KGuiItem(i18n("C&onnect"),"connect_creating",i18n("Connect to the server")));
+}
+
+QuickConnectDialog::~QuickConnectDialog()
+{
+}
+
+void QuickConnectDialog::slotOk()
+{
+ if (!hostNameInput->text().isEmpty() &&
+ !portInput->text().isEmpty() &&
+ !nickInput->text().isEmpty())
+ {
+
+ emit connectClicked(Konversation::PromptToReuseConnection,
+ hostNameInput->text().stripWhiteSpace(),
+ portInput->text(),
+ passwordInput->text(),
+ nickInput->text(),
+ "",
+ sslCheckBox->isChecked());
+ delayedDestruct();
+ }
+}
+
+#include "quickconnectdialog.moc"
diff --git a/konversation/src/quickconnectdialog.h b/konversation/src/quickconnectdialog.h
new file mode 100644
index 0000000..6d96941
--- /dev/null
+++ b/konversation/src/quickconnectdialog.h
@@ -0,0 +1,54 @@
+/*
+ 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.
+*/
+
+/*
+ Dialog for quick connection to an IRC network without adding a server in the Server List.
+ begin: Sat June 05 2004
+ copyright: (C) 2004 by Michael Goettsche
+ email: mail@tuxipuxi.de
+*/
+
+#ifndef QUICKCONNECTDIALOG_H
+#define QUICKCONNECTDIALOG_H
+
+#include "common.h"
+
+#include <kdialogbase.h>
+
+
+class QCheckBox;
+class KLineEdit;
+
+class QuickConnectDialog : public KDialogBase
+{
+ Q_OBJECT
+
+ public:
+ explicit QuickConnectDialog(QWidget* parent=0);
+ ~QuickConnectDialog();
+
+ signals:
+ void connectClicked(Konversation::ConnectionFlag flag,
+ const QString& hostName,
+ const QString& port,
+ const QString& password,
+ const QString& nick,
+ const QString& channel,
+ bool useSSL
+ );
+
+ protected slots:
+ void slotOk();
+
+ protected:
+ KLineEdit* hostNameInput;
+ KLineEdit* portInput;
+ KLineEdit* passwordInput;
+ KLineEdit* nickInput;
+ QCheckBox* sslCheckBox;
+};
+#endif
diff --git a/konversation/src/rawlog.cpp b/konversation/src/rawlog.cpp
new file mode 100644
index 0000000..30d3d9b
--- /dev/null
+++ b/konversation/src/rawlog.cpp
@@ -0,0 +1,79 @@
+/*
+ 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.
+*/
+
+/*
+ RawLog.cpp - provides a view to the raw protocol
+ begin: Tue Mar 18 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "rawlog.h"
+#include "channel.h"
+#include "ircview.h"
+#include "ircviewbox.h"
+#include "server.h"
+#include "konversationapplication.h"
+
+#include <klocale.h>
+#include <kdebug.h>
+
+
+RawLog::RawLog(QWidget* parent) : ChatWindow(parent)
+{
+ setName(i18n("Raw Log"));
+ setType(ChatWindow::RawLog);
+ IRCViewBox* ircBox = new IRCViewBox(this, 0);
+ setTextView(ircBox->ircView()); // Server will be set later in setServer()
+}
+
+RawLog::~RawLog()
+{
+}
+
+void RawLog::childAdjustFocus()
+{
+}
+
+void RawLog::updateAppearance()
+{
+ getTextView()->unsetPalette();
+
+ if(Preferences::showBackgroundImage())
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ Preferences::backgroundImage());
+ }
+ else
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ QString());
+ }
+
+ if (Preferences::customTextFont())
+ getTextView()->setFont(Preferences::textFont());
+ else
+ getTextView()->setFont(KGlobalSettings::generalFont());
+
+ ChatWindow::updateAppearance();
+}
+
+void RawLog::morphNotification()
+{
+ activateTabNotification(Konversation::tnfSystem);
+}
+
+bool RawLog::closeYourself()
+{
+ // make the server delete us so server can reset the pointer to us
+ m_server->closeRawLog();
+ return true;
+}
+
+bool RawLog::searchView() { return true; }
+
+#include "rawlog.moc"
diff --git a/konversation/src/rawlog.h b/konversation/src/rawlog.h
new file mode 100644
index 0000000..8f3e6e8
--- /dev/null
+++ b/konversation/src/rawlog.h
@@ -0,0 +1,40 @@
+/*
+ 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.
+*/
+
+/*
+ RawLog.h - provides a view to the raw protocol
+ begin: Die M� 18 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef _RAWLOG_H_
+#define _RAWLOG_H_
+
+#include "chatwindow.h"
+
+
+class RawLog : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit RawLog(QWidget* parent);
+ ~RawLog();
+
+ virtual bool closeYourself();
+ virtual bool searchView();
+
+ public slots:
+ void updateAppearance();
+ void morphNotification();
+
+ protected:
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+};
+#endif
diff --git a/konversation/src/replycodes.h b/konversation/src/replycodes.h
new file mode 100644
index 0000000..df9f1e6
--- /dev/null
+++ b/konversation/src/replycodes.h
@@ -0,0 +1,160 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Fri Jan 25 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef REPLYCODES_H
+#define REPLYCODES_H
+
+#define RPL_WELCOME 001
+#define RPL_YOURHOST 002
+#define RPL_CREATED 003
+#define RPL_MYINFO 004
+#define RPL_BOUNCE 005 // old RFC1459 definition
+#define RPL_ISUPPORT 005 // new DALnet definition
+
+#define RPL_TRACELINK 200
+#define RPL_TRACECONNECTING 201
+#define RPL_TRACEHANDSHAKE 202
+#define RPL_TRACEUNKNOWN 203
+#define RPL_TRACEOPERATOR 204
+#define RPL_TRACEUSER 205
+#define RPL_TRACESERVER 206
+#define RPL_TRACENEWTYPE 208
+#define RPL_STATSLINKINFO 211
+#define RPL_STATSCOMMANDS 212
+#define RPL_STATSCLINE 213
+#define RPL_STATSNLINE 214
+#define RPL_STATSILINE 215
+#define RPL_STATSKLINE 216
+#define RPL_STATSYLINE 218
+#define RPL_ENDOFSTATS 219
+#define RPL_UMODEIS 221
+#define RPL_STATSLLINE 241
+#define RPL_STATSUPTIME 242
+#define RPL_STATSOLINE 243
+#define RPL_STATSHLINE 244
+#define RPL_HIGHCONNECTCOUNT 250
+#define RPL_LUSERCLIENT 251
+#define RPL_LUSEROP 252
+#define RPL_LUSERUNKNOWN 253
+#define RPL_LUSERCHANNELS 254
+#define RPL_LUSERME 255
+#define RPL_ADMINME 256
+#define RPL_ADMINLOC1 257
+#define RPL_ADMINLOC2 258
+#define RPL_ADMINEMAIL 259
+#define RPL_TRACELOG 261
+#define RPL_LOCALUSERS 265
+#define RPL_GLOBALUSERS 266
+#define RPL_CAPAB 290
+
+#define RPL_NONE 300
+#define RPL_AWAY 301
+#define RPL_USERHOST 302
+#define RPL_ISON 303
+#define RPL_UNAWAY 305
+#define RPL_NOWAWAY 306
+#define RPL_WHOISIDENTIFY 307 // DALNet NickServ
+#define RPL_WHOISHELPER 310
+#define RPL_WHOISUSER 311
+#define RPL_WHOISSERVER 312
+#define RPL_WHOISOPERATOR 313
+#define RPL_WHOWASUSER 314
+#define RPL_ENDOFWHO 315
+#define RPL_WHOISIDLE 317
+#define RPL_ENDOFWHOIS 318
+#define RPL_WHOISCHANNELS 319
+#define RPL_IDENTIFIED 320 // when you do /whois you can get [320] JohnFlux is an identified user
+#define RPL_LISTSTART 321
+#define RPL_LIST 322
+#define RPL_LISTEND 323
+#define RPL_CHANNELMODEIS 324
+#define RPL_CHANNELURLIS 328
+#define RPL_CHANNELCREATED 329
+#define RPL_WHOISACCOUNT 330
+#define RPL_NOTOPIC 331
+#define RPL_TOPIC 332
+#define RPL_TOPICSETBY 333 // Extended ircd
+#define RPL_WHOISACTUALLY 338
+#define RPL_INVITING 341
+#define RPL_SUMMONING 342
+#define RPL_VERSION 351
+#define RPL_WHOREPLY 352
+#define RPL_NAMREPLY 353
+#define RPL_LINKS 364
+#define RPL_ENDOFLINKS 365
+#define RPL_ENDOFNAMES 366
+#define RPL_BANLIST 367
+#define RPL_ENDOFBANLIST 368
+#define RPL_ENDOFWHOWAS 369
+#define RPL_INFO 371
+#define RPL_MOTD 372
+#define RPL_ENDOFINFO 374
+#define RPL_MOTDSTART 375
+#define RPL_ENDOFMOTD 376
+#define RPL_YOUREOPER 381
+#define RPL_REHASHING 382
+#define RPL_TIME 391
+#define RPL_USERSSTART 392
+#define RPL_USERS 393
+#define RPL_ENDOFUSERS 394
+#define RPL_NOUSERS 395
+
+#define ERR_NOSUCHNICK 401
+#define ERR_NOSUCHSERVER 402
+#define ERR_NOSUCHCHANNEL 403
+#define ERR_CANNOTSENDTOCHAN 404
+#define ERR_TOOMANYCHANNELS 405
+#define ERR_WASNOSUCHNICK 406
+#define ERR_TOOMANYTARGETS 407
+#define ERR_NOORIGIN 409
+#define ERR_NORECIPIENT 411
+#define ERR_NOTEXTTOSEND 412
+#define ERR_NOTOPLEVEL 413
+#define ERR_WILDTOPLEVEL 414
+#define ERR_UNKNOWNCOMMAND 421
+#define ERR_NOMOTD 422
+#define ERR_NOADMININFO 423
+#define ERR_FILEERROR 424
+#define ERR_NONICKNAMEGIVEN 431
+#define ERR_ERRONEUSNICKNAME 432
+#define ERR_NICKNAMEINUSE 433
+#define ERR_NICKCOLLISION 436
+#define ERR_UNAVAILRESOURCE 437
+#define ERR_USERNOTINCHANNEL 441
+#define ERR_NOTONCHANNEL 442
+#define ERR_USERONCHANNEL 443
+#define ERR_NOLOGIN 444
+#define ERR_SUMMONDISABLED 445
+#define ERR_USERSDISABLED 446
+#define ERR_NOTREGISTERED 451
+#define ERR_NEEDMOREPARAMS 461
+#define ERR_ALREADYREGISTRED 462
+#define ERR_NOPERMFORHOST 463
+#define ERR_PASSWDMISMATCH 464
+#define ERR_YOUREBANNEDCREEP 465
+#define ERR_KEYSET 467
+#define ERR_CHANNELISFULL 471
+#define ERR_UNKNOWNMODE 472
+#define ERR_INVITEONLYCHAN 473
+#define ERR_BANNEDFROMCHAN 474
+#define ERR_BADCHANNELKEY 475
+#define ERR_NOCHANMODES 477
+#define ERR_NOPRIVILEGES 481
+#define ERR_CHANOPRIVSNEEDED 482
+#define ERR_CANTKILLSERVER 483
+#define ERR_NOOPERHOST 491
+#define ERR_UMODEUNKNOWNFLAG 501
+#define ERR_USERSDONTMATCH 502
+
+#endif // REPLYCODES_H
+
diff --git a/konversation/src/scriptlauncher.cpp b/konversation/src/scriptlauncher.cpp
new file mode 100644
index 0000000..a81965e
--- /dev/null
+++ b/konversation/src/scriptlauncher.cpp
@@ -0,0 +1,74 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+*/
+
+#include "scriptlauncher.h"
+#include "channel.h"
+#include "konversationapplication.h"
+#include "server.h"
+
+#include <qstringlist.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+
+#include <kdebug.h>
+#include <kstandarddirs.h>
+#include <kprocess.h>
+#include <dcopclient.h>
+
+
+ScriptLauncher::ScriptLauncher(Server* server)
+: QObject(server)
+{
+ m_server = server;
+}
+
+ScriptLauncher::~ScriptLauncher()
+{
+}
+
+void ScriptLauncher::launchScript(const QString& target, const QString &parameter)
+{
+ KStandardDirs kstddir;
+ // QString scriptPath(kstddir.saveLocation("data",QString("konversation/scripts")));
+ KProcess process;
+
+ // send the script all the information it will need
+ QStringList parameterList=QStringList::split(' ',parameter);
+
+ // find script path (could be installed for all users in $KDEDIR/share/apps/ or
+ // for one user alone in $HOME/.kde/share/apps/
+ QString scriptPath(kstddir.findResource("data","konversation/scripts/"+parameterList[0]));
+
+ process << scriptPath // script path and name
+ << kapp->dcopClient()->appId() // our dcop port
+ << QString::number(m_server->connectionId()) // the server we are connected to
+ << target; // the target where the call came from
+
+ // send remaining parameters to the script
+ for(unsigned int index=1;index<parameterList.count();index++)
+ process << parameterList[index];
+
+ QFileInfo fileInfo(scriptPath);
+
+ process.setWorkingDirectory(fileInfo.dirPath());
+ if(process.start()==false)
+ {
+ QFile file(parameterList[0]);
+ if(!file.exists()) emit scriptNotFound(file.name());
+ else emit scriptExecutionError(file.name());
+ }
+
+ // to free the script's stdin, otherwise backticks won't work
+ process.detach();
+}
+
+#include "scriptlauncher.moc"
diff --git a/konversation/src/scriptlauncher.h b/konversation/src/scriptlauncher.h
new file mode 100644
index 0000000..8350077
--- /dev/null
+++ b/konversation/src/scriptlauncher.h
@@ -0,0 +1,39 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+*/
+
+#include <qobject.h>
+
+#ifndef SCRIPTLAUNCHER_H
+#define SCRIPTLAUNCHER_H
+
+
+class Server;
+
+class ScriptLauncher : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit ScriptLauncher(Server* server);
+ ~ScriptLauncher();
+
+ signals:
+ void scriptNotFound(const QString& name);
+ void scriptExecutionError(const QString& name);
+
+ public slots:
+ void launchScript(const QString& target, const QString& parameter);
+
+ protected:
+ Server* m_server;
+};
+#endif
diff --git a/konversation/src/searchbar.cpp b/konversation/src/searchbar.cpp
new file mode 100644
index 0000000..992086a
--- /dev/null
+++ b/konversation/src/searchbar.cpp
@@ -0,0 +1,245 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Renchi Raju <renchi@pooh.tam.uiuc.edu>
+ Copyright (C) 2006 Peter Simonsson <psn@linux.se>
+*/
+
+#include "searchbar.h"
+
+#include <qcheckbox.h>
+#include <qtimer.h>
+#include <qpalette.h>
+#include <qaccel.h>
+#include <qlabel.h>
+#include <qpixmap.h>
+#include <qobjectlist.h>
+#include <qtoolbutton.h>
+#include <qpopupmenu.h>
+#include <qwidgetstack.h>
+
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kiconloader.h>
+#include <klineedit.h>
+#include <kpushbutton.h>
+#include <klocale.h>
+
+#define SEARCH_FORWARD_MENU 1
+#define MATCH_CASE_MENU 2
+#define WHOLE_WORDS_ONLY_MENU 3
+#define FROM_CURSOR_MENU 4
+
+
+SearchBar::SearchBar(QWidget* parent)
+: SearchBarBase(parent)
+{
+ m_searchFoward = false;
+ m_matchCase = false;
+ m_wholeWords = false;
+ m_fromCursor = false;
+
+ setFocusProxy(m_searchEdit);
+ KIconLoader* iconLoader = kapp->iconLoader();
+ m_closeButton->setIconSet(iconLoader->loadIconSet("fileclose", KIcon::Toolbar, 16));
+ m_findNextButton->setIconSet(iconLoader->loadIconSet("up", KIcon::Toolbar, 16));
+ m_findPreviousButton->setIconSet(iconLoader->loadIconSet("down", KIcon::Toolbar, 16));
+ m_statusPixLabel->hide();
+ m_statusTextLabel->hide();
+
+ m_timer = new QTimer(this);
+
+ QAccel* accel = new QAccel(this);
+ accel->connectItem( accel->insertItem(Qt::Key_Escape), this, SLOT(hide()));
+
+ connect(m_timer, SIGNAL(timeout()), SLOT(slotFind()));
+ connect(m_searchEdit, SIGNAL(textChanged(const QString&)), SLOT(slotTextChanged()));
+ connect(m_searchEdit, SIGNAL(returnPressed()), SLOT(slotFindNext()));
+ connect(m_findNextButton, SIGNAL(clicked()), SLOT(slotFindNext()));
+ connect(m_findPreviousButton, SIGNAL(clicked()), SLOT(slotFindPrevious()));
+ connect(m_closeButton, SIGNAL(clicked()), SLOT(hide()));
+ connect(m_optionsButton, SIGNAL(clicked()), this, SLOT(showOptionsMenu()));
+
+ m_optionsMenu = new QPopupMenu(m_optionsButton, "options_menu");
+ m_optionsMenu->setCheckable(true);
+ m_optionsMenu->insertItem(i18n("Find Forward"), this, SLOT(toggleSearchFoward()), 0, SEARCH_FORWARD_MENU);
+ m_optionsMenu->insertItem(i18n("Case Sensitive"), this, SLOT(toggleMatchCase()), 0, MATCH_CASE_MENU);
+ m_optionsMenu->insertItem(i18n("Whole Words Only"), this, SLOT(toggleWholeWords()), 0, WHOLE_WORDS_ONLY_MENU);
+ m_optionsMenu->insertItem(i18n("From Cursor"), this, SLOT(toggleFromCursor()), 0, FROM_CURSOR_MENU);
+
+ m_optionsButton->setPopup(m_optionsMenu);
+}
+
+SearchBar::~SearchBar()
+{
+}
+
+void SearchBar::showEvent(QShowEvent *e)
+{
+ SearchBarBase::showEvent(e);
+ m_searchEdit->selectAll();
+}
+
+bool SearchBar::focusedChild()
+{
+ QObjectList *l = queryList("QWidget", 0,0, true);
+ QObjectListIt it( *l );
+ QObject *obj;
+ bool has=false;
+
+ while ((obj = it.current()) != 0)
+ {
+ ++it;
+ if (((QWidget*)obj)->hasFocus())
+ {
+ has=true;
+ break;
+ }
+ }
+ delete l;
+ return has;
+}
+
+void SearchBar::hide()
+{
+ m_timer->stop();
+ SearchBarBase::hide();
+
+ if (focusedChild())
+ emit hidden();
+}
+
+void SearchBar::slotTextChanged()
+{
+ m_timer->start(50, true);
+}
+
+void SearchBar::slotFind()
+{
+ if (m_searchEdit->text().isEmpty())
+ {
+ m_searchEdit->unsetPalette();
+ m_findNextButton->setEnabled(false);
+ m_findPreviousButton->setEnabled(false);
+ setStatus(QPixmap(), "");
+ return;
+ }
+
+ emit signalSearchChanged(m_searchEdit->text());
+}
+
+void SearchBar::slotFindNext()
+{
+ if (m_searchEdit->text().isEmpty())
+ {
+ m_searchEdit->unsetPalette();
+ m_findNextButton->setEnabled(false);
+ m_findPreviousButton->setEnabled(false);
+ setStatus(QPixmap(), "");
+ return;
+ }
+
+ emit signalSearchNext();
+}
+
+void SearchBar::slotFindPrevious()
+{
+ if (m_searchEdit->text().isEmpty())
+ {
+ m_searchEdit->unsetPalette();
+ m_findNextButton->setEnabled(false);
+ m_findPreviousButton->setEnabled(false);
+ setStatus(QPixmap(), "");
+ return;
+ }
+
+ emit signalSearchPrevious();
+}
+
+void SearchBar::setHasMatch(bool value)
+{
+ QPalette pal = m_searchEdit->palette();
+ pal.setColor(QPalette::Active, QColorGroup::Base, value ? Qt::green : Qt::red);
+ m_searchEdit->setPalette(pal);
+ m_findNextButton->setEnabled(value);
+ m_findPreviousButton->setEnabled(value);
+}
+
+void SearchBar::setStatus(const QPixmap& pix, const QString& text)
+{
+ if(!text.isEmpty()) {
+ m_statusPixLabel->show();
+ m_statusTextLabel->show();
+ } else {
+ m_statusPixLabel->hide();
+ m_statusTextLabel->hide();
+ }
+
+ m_statusPixLabel->setPixmap(pix);
+ m_statusTextLabel->setText(text);
+}
+
+QString SearchBar::pattern() const
+{
+ return m_searchEdit->text();
+}
+
+bool SearchBar::searchForward() const
+{
+ return m_searchFoward;
+}
+
+bool SearchBar::caseSensitive() const
+{
+ return m_matchCase;
+}
+
+bool SearchBar::wholeWords() const
+{
+ return m_wholeWords;
+}
+
+bool SearchBar::fromCursor() const
+{
+ return m_fromCursor;
+}
+
+void SearchBar::toggleSearchFoward()
+{
+ m_searchFoward = !m_searchFoward;
+ m_optionsMenu->setItemChecked(SEARCH_FORWARD_MENU, m_searchFoward);
+ slotTextChanged();
+}
+
+void SearchBar::toggleMatchCase()
+{
+ m_matchCase = !m_matchCase;
+ m_optionsMenu->setItemChecked(MATCH_CASE_MENU, m_matchCase);
+ slotTextChanged();
+}
+
+void SearchBar::toggleWholeWords()
+{
+ m_wholeWords = !m_wholeWords;
+ m_optionsMenu->setItemChecked(WHOLE_WORDS_ONLY_MENU, m_wholeWords);
+ slotTextChanged();
+}
+
+void SearchBar::toggleFromCursor()
+{
+ m_fromCursor = !m_fromCursor;
+ m_optionsMenu->setItemChecked(FROM_CURSOR_MENU, m_fromCursor);
+ slotTextChanged();
+}
+
+void SearchBar::showOptionsMenu()
+{
+ m_optionsButton->openPopup();
+}
+
+#include "searchbar.moc"
diff --git a/konversation/src/searchbar.h b/konversation/src/searchbar.h
new file mode 100644
index 0000000..b831ffe
--- /dev/null
+++ b/konversation/src/searchbar.h
@@ -0,0 +1,83 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Renchi Raju <renchi@pooh.tam.uiuc.edu>
+ Copyright (C) 2006 Peter Simonsson <psn@linux.se>
+*/
+
+#ifndef SEARCHBAR_H
+#define SEARCHBAR_H
+
+#include "searchbarbase.h"
+
+/* TODO:
+ - Changing case-sensitivity and search-forward restarts search from beginning.
+ fix to continue search from current position
+ - figure out what "from cursor" and "whole words" means and is it important for
+ the konvi gods
+ */
+
+class QPopupMenu;
+
+class SearchBar : public SearchBarBase
+{
+ Q_OBJECT
+
+ public:
+ explicit SearchBar(QWidget* parent);
+ ~SearchBar();
+
+ void setHasMatch(bool value);
+ void setStatus(const QPixmap& pix, const QString& text);
+
+ QString pattern() const;
+
+ bool searchForward() const;
+ bool caseSensitive() const;
+ bool wholeWords() const;
+ bool fromCursor() const;
+
+ protected:
+ virtual void showEvent(QShowEvent* e);
+ bool focusedChild();
+
+ public slots:
+ virtual void hide();
+
+ private slots:
+ void slotTextChanged();
+ void slotFind();
+ void slotFindNext();
+ void slotFindPrevious();
+
+ void toggleSearchFoward();
+ void toggleMatchCase();
+ void toggleWholeWords();
+ void toggleFromCursor();
+
+ void showOptionsMenu();
+
+ signals:
+ void signalSearchChanged(const QString& pattern);
+ void signalSearchNext();
+ void signalSearchPrevious();
+ void signalPropertiesChanged();
+ void hidden();
+
+ private:
+ QTimer* m_timer;
+
+ QPopupMenu* m_optionsMenu;
+
+ bool m_searchFoward;
+ bool m_matchCase;
+ bool m_wholeWords;
+ bool m_fromCursor;
+};
+
+#endif /* SEARCHBAR_H */
diff --git a/konversation/src/searchbarbase.ui b/konversation/src/searchbarbase.ui
new file mode 100644
index 0000000..c86f6b1
--- /dev/null
+++ b/konversation/src/searchbarbase.ui
@@ -0,0 +1,131 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>SearchBarBase</class>
+<comment>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, 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.
+</comment>
+<author>Copyright (C) 2006 Peter Simonsson &lt;psn@linux.se&gt;</author>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>SearchBarBase</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>502</width>
+ <height>34</height>
+ </rect>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>m_closeButton</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ <property name="textPosition">
+ <enum>BesideIcon</enum>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Close</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit">
+ <property name="name">
+ <cstring>m_searchEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_statusPixLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>m_statusTextLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>m_findNextButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Find Ne&amp;xt</string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>m_findPreviousButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Find Previous</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget class="QToolButton">
+ <property name="name">
+ <cstring>m_optionsButton</cstring>
+ </property>
+ <property name="text">
+ <string>Options</string>
+ </property>
+ <property name="popupDelay">
+ <number>0</number>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ <property name="textPosition">
+ <enum>BesideIcon</enum>
+ </property>
+ </widget>
+ </hbox>
+</widget>
+<customwidgets>
+</customwidgets>
+<layoutdefaults spacing="6" margin="4"/>
+<layoutfunctions spacing="KDialog::spacingHint"/>
+<includehints>
+ <includehint>klineedit.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/server.cpp b/konversation/src/server.cpp
new file mode 100644
index 0000000..8a25b22
--- /dev/null
+++ b/konversation/src/server.cpp
@@ -0,0 +1,3348 @@
+// -*- mode: c++; c-file-style: "bsd"; c-basic-offset: 4; tabs-width: 4; indent-tabs-mode: nil -*-
+
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005-2006 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eli J. MacKenzie <argonel at gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "server.h"
+#include "ircqueue.h"
+#include "query.h"
+#include "channel.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "dcccommon.h"
+#include "dcctransferpanel.h"
+#include "dcctransferpanelitem.h"
+#include "dcctransfersend.h"
+#include "dcctransferrecv.h"
+#include "dccrecipientdialog.h"
+#include "nick.h"
+#include "irccharsets.h"
+#include "viewcontainer.h"
+#include "statuspanel.h"
+#include "rawlog.h"
+#include "channellistpanel.h"
+#include "scriptlauncher.h"
+#include "servergroupsettings.h"
+#include "addressbook.h"
+#include "serverison.h"
+#include "common.h"
+#include "notificationhandler.h"
+#include "blowfish.h"
+#include "dcctransfermanager.h"
+
+#include <qregexp.h>
+#include <qhostaddress.h>
+#include <qtextcodec.h>
+#include <qdatetime.h>
+
+#include <kapplication.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <kfiledialog.h>
+#include <kinputdialog.h>
+#include <kmessagebox.h>
+#include <kresolver.h>
+#include <ksocketdevice.h>
+#include <kaction.h>
+#include <kstringhandler.h>
+#include <kdeversion.h>
+#include <kwin.h>
+#include <config.h>
+
+
+int Server::m_availableConnectionId = 0;
+
+Server::Server(QObject* parent, ConnectionSettings& settings) : QObject(parent)
+{
+ m_connectionId = m_availableConnectionId;
+ m_availableConnectionId++;
+
+ setConnectionSettings(settings);
+
+ m_connectionState = Konversation::SSNeverConnected;
+
+ for (int i=0;i<=_max_queue();i++)
+ {
+ QValueList<int> r=Preferences::queueRate(i);
+ IRCQueue *q=new IRCQueue(this, staticrates[i]); //FIXME these are supposed to be in the rc
+ m_queues.append(q);
+ }
+
+ m_processingIncoming = false;
+ m_identifyMsg = false;
+ m_autoIdentifyLock = false;
+ m_autoJoin = false;
+
+ m_nickIndices.clear();
+ m_nickIndices.append(0);
+
+ m_currentLag = -1;
+ m_rawLog = 0;
+ m_channelListPanel = 0;
+ m_serverISON = 0;
+ m_away = false;
+ m_socket = 0;
+ m_prevISONList = QStringList();
+ m_bytesReceived = 0;
+ m_encodedBytesSent=0;
+ m_bytesSent=0;
+ m_linesSent=0;
+ // TODO fold these into a QMAP, and these need to be reset to RFC values if this server object is reused.
+ m_serverNickPrefixModes = "ovh";
+ m_serverNickPrefixes = "@+%";
+ m_channelPrefixes = "#&";
+
+ setName(QString("server_" + settings.name()).ascii());
+
+ setNickname(settings.initialNick());
+ obtainNickInfo(getNickname());
+
+ m_statusView = getViewContainer()->addStatusView(this);
+
+ if (Preferences::rawLog())
+ addRawLog(false);
+
+ m_inputFilter.setServer(this);
+ m_outputFilter = new Konversation::OutputFilter(this);
+ m_scriptLauncher = new ScriptLauncher(this);
+
+ // don't delete items when they are removed
+ m_channelList.setAutoDelete(false);
+ // For /msg query completion
+ m_completeQueryPosition = 0;
+
+ updateAutoJoin(settings.initialChannel());
+
+ if (!getIdentity()->getShellCommand().isEmpty())
+ QTimer::singleShot(0, this, SLOT(doPreShellCommand()));
+ else
+ QTimer::singleShot(0, this, SLOT(connectToIRCServer()));
+
+ initTimers();
+
+ if (getIdentity()->getShellCommand().isEmpty())
+ connectSignals();
+}
+
+Server::~Server()
+{
+ //send queued messages
+ kdDebug() << "Server::~Server(" << getServerName() << ")" << endl;
+
+ // Delete helper object.
+ delete m_serverISON;
+ m_serverISON = 0;
+
+ // clear nicks online
+ emit nicksNowOnline(this,QStringList(),true);
+
+ // Make sure no signals get sent to a soon to be dying Server Window
+ if (m_socket)
+ {
+ m_socket->blockSignals(true);
+ m_socket->deleteLater();
+ }
+
+ if (m_statusView) delete m_statusView;
+
+ closeRawLog();
+ closeChannelListPanel();
+
+ m_channelList.setAutoDelete(true);
+ m_channelList.clear();
+
+ m_queryList.setAutoDelete(true);
+ m_queryList.clear();
+
+ // Delete all the NickInfos and ChannelNick structures.
+ m_allNicks.clear();
+
+ ChannelMembershipMap::ConstIterator it;
+
+ for ( it = m_joinedChannels.begin(); it != m_joinedChannels.end(); ++it )
+ delete it.data();
+ m_joinedChannels.clear();
+
+ for ( it = m_unjoinedChannels.begin(); it != m_unjoinedChannels.end(); ++it )
+ delete it.data();
+ m_unjoinedChannels.clear();
+
+ m_queryNicks.clear();
+
+ //Delete the queues
+ for (QValueVector<IRCQueue *>::iterator it=m_queues.begin(); it != m_queues.end(); ++it)
+ delete *it;
+
+ emit destroyed(m_connectionId);
+
+ kdDebug() << "~Server done" << endl;
+}
+
+//... so called to match the ChatWindow derivatives.
+bool Server::closeYourself(bool)
+{
+ QTimer::singleShot(0, m_statusView, SLOT(serverSaysClose()));
+ return true;
+}
+
+void Server::doPreShellCommand()
+{
+
+ QString command = getIdentity()->getShellCommand();
+ getStatusView()->appendServerMessage(i18n("Info"),"Running preconfigured command...");
+
+ connect(&m_preShellCommand,SIGNAL(processExited(KProcess*)), this, SLOT(preShellCommandExited(KProcess*)));
+
+ QStringList commandList = QStringList::split(" ",command);
+
+ for (QStringList::ConstIterator it = commandList.begin(); it != commandList.end(); ++it)
+ m_preShellCommand << *it;
+
+ if (!m_preShellCommand.start()) preShellCommandExited(NULL);
+}
+
+void Server::_fetchRates()
+{
+ for (int i=0;i<=_max_queue();i++)
+ {
+ QValueList<int> r=Preferences::queueRate(i);
+ staticrates[i]=IRCQueue::EmptyingRate(r[0], r[1]*1000,IRCQueue::EmptyingRate::RateType(r[2]));
+ }
+}
+
+void Server::_stashRates()
+{
+ for (int i=0;i<=_max_queue();i++)
+ {
+ QValueList<int> r;
+ r.append(staticrates[i].m_rate);
+ r.append(staticrates[i].m_interval/1000);
+ r.append(int(staticrates[i].m_type));
+ Preferences::setQueueRate(i, r);
+ }
+}
+
+void Server::_resetRates()
+{
+ for (int i=0;i<=_max_queue();i++)
+ {
+ Preferences::self()->queueRateItem(i)->setDefault();
+ QValueList<int> r=Preferences::queueRate(i);
+ staticrates[i]=IRCQueue::EmptyingRate(r[0], r[1]*1000,IRCQueue::EmptyingRate::RateType(r[2]));
+ }
+}
+
+void Server::initTimers()
+{
+ m_notifyTimer.setName("notify_timer");
+ m_incomingTimer.setName("incoming_timer");
+}
+
+void Server::connectSignals()
+{
+ // Timers
+ connect(&m_incomingTimer, SIGNAL(timeout()), this, SLOT(processIncomingData()));
+ connect(&m_notifyTimer, SIGNAL(timeout()), this, SLOT(notifyTimeout()));
+ connect(&m_pingResponseTimer, SIGNAL(timeout()), this, SLOT(updateLongPongLag()));
+
+ // OutputFilter
+ connect(getOutputFilter(), SIGNAL(requestDccSend()), this,SLOT(requestDccSend()));
+ connect(getOutputFilter(), SIGNAL(requestDccSend(const QString&)), this, SLOT(requestDccSend(const QString&)));
+ connect(getOutputFilter(), SIGNAL(multiServerCommand(const QString&, const QString&)),
+ this, SLOT(sendMultiServerCommand(const QString&, const QString&)));
+ connect(getOutputFilter(), SIGNAL(reconnectServer()), this, SLOT(reconnect()));
+ connect(getOutputFilter(), SIGNAL(disconnectServer()), this, SLOT(disconnect()));
+ connect(getOutputFilter(), SIGNAL(openDccSend(const QString &, KURL)), this, SLOT(addDccSend(const QString &, KURL)));
+ connect(getOutputFilter(), SIGNAL(openDccChat(const QString &)), this, SLOT(openDccChat(const QString &)));
+ connect(getOutputFilter(), SIGNAL(sendToAllChannels(const QString&)), this, SLOT(sendToAllChannels(const QString&)));
+ connect(getOutputFilter(), SIGNAL(banUsers(const QStringList&,const QString&,const QString&)),
+ this, SLOT(requestBan(const QStringList&,const QString&,const QString&)));
+ connect(getOutputFilter(), SIGNAL(unbanUsers(const QString&,const QString&)),
+ this, SLOT(requestUnban(const QString&,const QString&)));
+ connect(getOutputFilter(), SIGNAL(openRawLog(bool)), this, SLOT(addRawLog(bool)));
+ connect(getOutputFilter(), SIGNAL(closeRawLog()), this, SLOT(closeRawLog()));
+ connect(getOutputFilter(), SIGNAL(encodingChanged()), this, SLOT(updateEncoding()));
+
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ connect(getOutputFilter(), SIGNAL(connectTo(Konversation::ConnectionFlag, const QString&,
+ const QString&, const QString&, const QString&, const QString&, bool)),
+ konvApp->getConnectionManager(), SLOT(connectTo(Konversation::ConnectionFlag,
+ const QString&, const QString&, const QString&, const QString&, const QString&, bool)));
+
+ connect(konvApp->getDccTransferManager(), SIGNAL(newTransferQueued(DccTransfer*)),
+ this, SLOT(slotNewDccTransferItemQueued(DccTransfer*)));
+
+ connect(konvApp, SIGNAL(appearanceChanged()), this, SLOT(startNotifyTimer()));
+
+ // ViewContainer
+ connect(this, SIGNAL(showView(ChatWindow*)), getViewContainer(), SLOT(showView(ChatWindow*)));
+ connect(this, SIGNAL(addDccPanel()), getViewContainer(), SLOT(addDccPanel()));
+ connect(this, SIGNAL(addDccChat(const QString&,const QString&,const QStringList&,bool)),
+ getViewContainer(), SLOT(addDccChat(const QString&,const QString&,const QStringList&,bool)) );
+ connect(this, SIGNAL(serverLag(Server*, int)), getViewContainer(), SIGNAL(updateStatusBarLagLabel(Server*, int)));
+ connect(this, SIGNAL(tooLongLag(Server*, int)), getViewContainer(), SIGNAL(setStatusBarLagLabelTooLongLag(Server*, int)));
+ connect(this, SIGNAL(resetLag()), getViewContainer(), SIGNAL(resetStatusBarLagLabel()));
+ connect(getOutputFilter(), SIGNAL(showView(ChatWindow*)), getViewContainer(), SLOT(showView(ChatWindow*)));
+ connect(getOutputFilter(), SIGNAL(openKonsolePanel()), getViewContainer(), SLOT(addKonsolePanel()));
+ connect(getOutputFilter(), SIGNAL(openChannelList(const QString&, bool)), getViewContainer(), SLOT(openChannelList(const QString&, bool)));
+ connect(getOutputFilter(), SIGNAL(closeDccPanel()), getViewContainer(), SLOT(closeDccPanel()));
+ connect(getOutputFilter(), SIGNAL(addDccPanel()), getViewContainer(), SLOT(addDccPanel()));
+ connect(&m_inputFilter, SIGNAL(addDccChat(const QString&,const QString&,const QStringList&,bool)),
+ getViewContainer(), SLOT(addDccChat(const QString&,const QString&,const QStringList&,bool)) );
+
+ // Inputfilter
+ connect(&m_inputFilter, SIGNAL(welcome(const QString&)), this, SLOT(connectionEstablished(const QString&)));
+ connect(&m_inputFilter, SIGNAL(notifyResponse(const QString&)), this, SLOT(notifyResponse(const QString&)));
+ connect(&m_inputFilter, SIGNAL(startReverseDccSendTransfer(const QString&,const QStringList&)),
+ this, SLOT(startReverseDccSendTransfer(const QString&,const QStringList&)));
+ connect(&m_inputFilter, SIGNAL(addDccGet(const QString&, const QStringList&)),
+ this, SLOT(addDccGet(const QString&, const QStringList&)));
+ connect(&m_inputFilter, SIGNAL(resumeDccGetTransfer(const QString&, const QStringList&)),
+ this, SLOT(resumeDccGetTransfer(const QString&, const QStringList&)));
+ connect(&m_inputFilter, SIGNAL(resumeDccSendTransfer(const QString&, const QStringList&)),
+ this, SLOT(resumeDccSendTransfer(const QString&, const QStringList&)));
+ connect(&m_inputFilter, SIGNAL(userhost(const QString&,const QString&,bool,bool)),
+ this, SLOT(userhost(const QString&,const QString&,bool,bool)) );
+ connect(&m_inputFilter, SIGNAL(topicAuthor(const QString&,const QString&,QDateTime)),
+ this, SLOT(setTopicAuthor(const QString&,const QString&,QDateTime)) );
+ connect(&m_inputFilter, SIGNAL(endOfWho(const QString&)),
+ this, SLOT(endOfWho(const QString&)) );
+ connect(&m_inputFilter, SIGNAL(invitation(const QString&,const QString&)),
+ this,SLOT(invitation(const QString&,const QString&)) );
+ connect(&m_inputFilter, SIGNAL(addToChannelList(const QString&, int, const QString& )),
+ this, SLOT(addToChannelList(const QString&, int, const QString& )));
+
+ // Status View
+ connect(this, SIGNAL(serverOnline(bool)), getStatusView(), SLOT(serverOnline(bool)));
+
+ // Scripts
+ connect(getOutputFilter(), SIGNAL(launchScript(const QString&, const QString&)),
+ m_scriptLauncher, SLOT(launchScript(const QString&, const QString&)));
+ connect(m_scriptLauncher, SIGNAL(scriptNotFound(const QString&)),
+ this, SLOT(scriptNotFound(const QString&)));
+ connect(m_scriptLauncher, SIGNAL(scriptExecutionError(const QString&)),
+ this, SLOT(scriptExecutionError(const QString&)));
+
+ // Stats
+ connect(this, SIGNAL(sentStat(int, int)), SLOT(collectStats(int, int)));
+}
+
+int Server::getPort()
+{
+ return getConnectionSettings().server().port();
+}
+
+int Server::getLag() const
+{
+ return m_currentLag;
+}
+
+bool Server::getAutoJoin() const
+{
+ return m_autoJoin;
+}
+
+void Server::setAutoJoin(bool on)
+{
+ m_autoJoin = on;
+}
+
+void Server::preShellCommandExited(KProcess* proc)
+{
+
+ if (proc && proc->normalExit())
+ getStatusView()->appendServerMessage(i18n("Info"),"Process executed successfully!");
+ else
+ getStatusView()->appendServerMessage(i18n("Warning"),"There was a problem while executing the command!");
+
+ connectToIRCServer();
+ connectSignals();
+}
+
+void Server::connectToIRCServer()
+{
+ if (!isConnected())
+ {
+ updateConnectionState(Konversation::SSConnecting);
+
+ m_autoIdentifyLock = false;
+ m_ownIpByUserhost = QString();
+
+ resetQueues();
+
+ // This is needed to support server groups with mixed SSL and nonSSL servers
+ delete m_socket;
+ m_socket = 0;
+ resetNickSelection();
+
+ // connect() will do a async lookup too
+ if(!getConnectionSettings().server().SSLEnabled())
+ {
+ m_socket = new KNetwork::KBufferedSocket(QString(), QString(), 0L, "serverSocket");
+ connect(m_socket, SIGNAL(connected(const KResolverEntry&)), SLOT (ircServerConnectionSuccess()));
+ }
+ else
+ {
+ m_socket = new SSLSocket(getViewContainer()->getWindow(), 0L, "serverSSLSocket");
+ connect(m_socket, SIGNAL(sslInitDone()), SLOT(ircServerConnectionSuccess()));
+ connect(m_socket, SIGNAL(sslFailure(const QString&)), SIGNAL(sslInitFailure()));
+ connect(m_socket, SIGNAL(sslFailure(const QString&)), SLOT(sslError(const QString&)));
+ }
+
+ m_socket->enableWrite(false);
+
+ connect(m_socket, SIGNAL(hostFound()), SLOT(lookupFinished()));
+ connect(m_socket, SIGNAL(gotError(int)), SLOT(broken(int)) );
+ connect(m_socket, SIGNAL(readyRead()), SLOT(incoming()));
+ connect(m_socket, SIGNAL(closed()), SLOT(closed()));
+
+ m_socket->connect(getConnectionSettings().server().host(), QString::number(getConnectionSettings().server().port()));
+
+ // set up the connection details
+ setPrefixes(m_serverNickPrefixModes, m_serverNickPrefixes);
+ getStatusView()->appendServerMessage(i18n("Info"),i18n("Looking for server %1:%2...")
+ .arg(getConnectionSettings().server().host())
+ .arg(getConnectionSettings().server().port()));
+ // reset InputFilter (auto request info, /WHO request info)
+ m_inputFilter.reset();
+ }
+ else
+ kdDebug() << "connectToIRCServer() called while already connected: This should never happen." << endl;
+}
+
+void Server::showSSLDialog()
+{
+ SSLSocket* sslsocket = dynamic_cast<SSLSocket*>(m_socket);
+
+ if (sslsocket) sslsocket->showInfoDialog();
+}
+
+// set available channel types according to 005 RPL_ISUPPORT
+void Server::setChannelTypes(const QString &pre)
+{
+ m_channelPrefixes = pre;
+}
+
+QString Server::getChannelTypes() const
+{
+ return m_channelPrefixes;
+}
+
+// set user mode prefixes according to non-standard 005-Reply (see inputfilter.cpp)
+void Server::setPrefixes(const QString &modes, const QString& prefixes)
+{
+ // NOTE: serverModes is QString::null, if server did not supply the
+ // modes which relates to the network's nick-prefixes
+ m_serverNickPrefixModes = modes;
+ m_serverNickPrefixes = prefixes;
+}
+
+// return a nickname without possible mode character at the beginning
+void Server::mangleNicknameWithModes(QString& nickname,bool& isAdmin,bool& isOwner,
+bool& isOp,bool& isHalfop,bool& hasVoice)
+{
+ isAdmin = false;
+ isOwner = false;
+ isOp = false;
+ isHalfop = false;
+ hasVoice = false;
+
+ int modeIndex;
+
+ if (nickname.isEmpty()) return;
+
+ while ((modeIndex = m_serverNickPrefixes.find(nickname[0])) != -1)
+ {
+ if(nickname.isEmpty())
+ return;
+ nickname = nickname.mid(1);
+ // cut off the prefix
+ bool recognisedMode = false;
+ // determine, whether status is like op or like voice
+ while((modeIndex)<int(m_serverNickPrefixes.length()) && !recognisedMode)
+ {
+ switch(m_serverNickPrefixes[modeIndex].latin1())
+ {
+ case '*': // admin (EUIRC)
+ {
+ isAdmin = true;
+ recognisedMode = true;
+ break;
+ }
+ case '&': // admin (unrealircd)
+ {
+ isAdmin = true;
+ recognisedMode = true;
+ break;
+ }
+ case '!': // channel owner (RFC2811)
+ {
+ isOwner = true;
+ recognisedMode = true;
+ break;
+ }
+ case '~': // channel owner (unrealircd)
+ {
+ isOwner = true;
+ recognisedMode = true;
+ break;
+ }
+ case '@': // channel operator (RFC1459)
+ {
+ isOp = true;
+ recognisedMode = true;
+ break;
+ }
+ case '%': // halfop
+ {
+ isHalfop = true;
+ recognisedMode = true;
+ break;
+ }
+ case '+': // voiced (RFC1459)
+ {
+ hasVoice = true;
+ recognisedMode = true;
+ break;
+ }
+ default:
+ {
+ ++modeIndex;
+ break;
+ }
+ } //switch to recognise the mode.
+ } // loop through the modes to find one recognised
+ } // loop through the name
+}
+
+void Server::lookupFinished()
+{
+ // error during lookup
+ if(m_socket->status())
+ {
+ // inform user about the error
+ getStatusView()->appendServerMessage(i18n("Error"),i18n("Server %1 not found: %2")
+ .arg(getConnectionSettings().server().host())
+ .arg(m_socket->errorString(m_socket->error())));
+
+ m_socket->resetStatus();
+
+ // broken connection
+ broken(m_socket->error());
+ }
+ else
+ getStatusView()->appendServerMessage(i18n("Info"),i18n("Server found, connecting..."));
+}
+
+void Server::ircServerConnectionSuccess()
+{
+ getConnectionSettings().setReconnectCount(0);
+
+ Konversation::ServerSettings serverSettings = getConnectionSettings().server();
+
+ connect(this, SIGNAL(nicknameChanged(const QString&)), getStatusView(), SLOT(setNickname(const QString&)));
+ getStatusView()->appendServerMessage(i18n("Info"),i18n("Connected; logging in..."));
+
+ QString connectString = "USER " +
+ getIdentity()->getIdent() +
+ " 8 * :" + // 8 = +i; 4 = +w
+ getIdentity()->getRealName();
+
+ QStringList ql;
+ if (!serverSettings.password().isEmpty())
+ ql << "PASS " + serverSettings.password();
+
+ ql << "NICK "+getNickname();
+ ql << connectString;
+ queueList(ql, HighPriority);
+
+ emit nicknameChanged(getNickname());
+
+ m_socket->enableRead(true);
+}
+
+void Server::broken(int state)
+{
+ kdDebug() << "Connection broken (Socket fd " << m_socket->socketDevice()->socket() << ") " << state << "!" << endl;
+
+ m_socket->enableRead(false);
+ m_socket->enableWrite(false); //FIXME if we rely on this signal, it should be turned back on somewhere...
+ m_socket->blockSignals(true);
+
+ resetQueues();
+
+ m_notifyTimer.stop();
+ m_pingResponseTimer.stop();
+ m_inputFilter.setLagMeasuring(false);
+ m_currentLag = -1;
+
+ // HACK Only show one nick change dialog at connection time
+ if (getStatusView())
+ {
+ KDialogBase* nickChangeDialog = dynamic_cast<KDialogBase*>(
+ getStatusView()->child("NickChangeDialog", "KInputDialog"));
+
+ if (nickChangeDialog) nickChangeDialog->cancel();
+ }
+
+ emit resetLag();
+ emit nicksNowOnline(this,QStringList(),true);
+
+ updateAutoJoin();
+
+ if (getConnectionState() != Konversation::SSDeliberatelyDisconnected)
+ {
+ static_cast<KonversationApplication*>(kapp)->notificationHandler()->connectionFailure(getStatusView(), getServerName());
+
+ QString error = i18n("Connection to Server %1 lost: %2.")
+ .arg(getConnectionSettings().server().host())
+ .arg(KNetwork::KSocketBase::errorString((KNetwork::KSocketBase::SocketError)state));
+
+ getStatusView()->appendServerMessage(i18n("Error"), error);
+
+ updateConnectionState(Konversation::SSInvoluntarilyDisconnected);
+ }
+}
+
+void Server::sslError(const QString& reason)
+{
+ QString error = i18n("Could not connect to %1:%2 using SSL encryption.Maybe the server does not support SSL, or perhaps you have the wrong port? %3")
+ .arg(getConnectionSettings().server().host())
+ .arg(getConnectionSettings().server().port())
+ .arg(reason);
+ getStatusView()->appendServerMessage(i18n("SSL Connection Error"),error);
+
+ updateConnectionState(Konversation::SSDeliberatelyDisconnected);
+}
+
+// Will be called from InputFilter as soon as the Welcome message was received
+void Server::connectionEstablished(const QString& ownHost)
+{
+ // Some servers don't include the userhost in RPL_WELCOME, so we
+ // need to use RPL_USERHOST to get ahold of our IP later on
+ if (!ownHost.isEmpty())
+ KNetwork::KResolver::resolveAsync(this,SLOT(gotOwnResolvedHostByWelcome(KResolverResults)),ownHost,"0");
+
+ updateConnectionState(Konversation::SSConnected);
+
+ // Make a helper object to build ISON (notify) list and map offline nicks to addressbook.
+ // TODO: Give the object a kick to get it started?
+ m_serverISON = new ServerISON(this);
+ // get first notify very early
+ startNotifyTimer(1000);
+ // Register with services
+ registerWithServices();
+ // get own ip by userhost
+ requestUserhost(getNickname());
+
+ // Start the PINGPONG match
+ QTimer::singleShot(1000 /*1 sec*/, this, SLOT(sendPing()));
+
+ // Recreate away state if we were set away prior to a reconnect.
+ if (m_away)
+ {
+ // Correct server's beliefs about its away state.
+ m_away = false;
+ requestAway(m_awayReason);
+ }
+}
+
+void Server::registerWithServices()
+{
+ if (getIdentity() && !getIdentity()->getBot().isEmpty()
+ && !getIdentity()->getPassword().isEmpty()
+ && !m_autoIdentifyLock)
+ {
+ queue("PRIVMSG "+getIdentity()->getBot()+" :identify "+getIdentity()->getPassword(), HighPriority);
+
+ m_autoIdentifyLock = true;
+ }
+}
+
+//FIXME operator[] inserts an empty T& so each destination might just as well have its own key storage
+QCString Server::getKeyForRecipient(const QString& recipient) const
+{
+ return m_keyMap[recipient];
+}
+
+void Server::setKeyForRecipient(const QString& recipient, const QCString& key)
+{
+ m_keyMap[recipient] = key;
+}
+
+void Server::gotOwnResolvedHostByWelcome(KResolverResults res)
+{
+ if (res.error() == KResolver::NoError && !res.isEmpty())
+ m_ownIpByWelcome = res.first().address().nodeName();
+ else
+ kdDebug() << "Server::gotOwnResolvedHostByWelcome(): Got error: " << ( int )res.error() << endl;
+}
+
+void Server::quitServer()
+{
+ // Make clear this is deliberate even if the QUIT never actually goes through the queue
+ // (i.e. this is not redundant with _send_internal()'s updateConnectionState() call for
+ // a QUIT).
+ updateConnectionState(Konversation::SSDeliberatelyDisconnected);
+
+ QString command(Preferences::commandChar()+"QUIT");
+ Konversation::OutputFilterResult result = getOutputFilter()->parse(getNickname(),command, QString());
+ queue(result.toServer, HighPriority);
+
+ m_socket->enableRead(false);
+
+ flushQueues();
+
+ m_socket->close();
+
+ getStatusView()->appendServerMessage(i18n("Info"), i18n("Disconnected from %1.").arg(getConnectionSettings().server().host()));
+}
+
+void Server::notifyAction(const QString& nick)
+{
+ // parse wildcards (toParse,nickname,channelName,nickList,parameter)
+ QString out = parseWildcards(Preferences::notifyDoubleClickAction(),
+ getNickname(),
+ QString(),
+ QString(),
+ nick,
+ QString());
+
+ // Send all strings, one after another
+ QStringList outList = QStringList::split('\n',out);
+ for (unsigned int index=0; index<outList.count(); ++index)
+ {
+ Konversation::OutputFilterResult result = getOutputFilter()->parse(getNickname(),outList[index],QString());
+ queue(result.toServer);
+ } // endfor
+}
+
+void Server::notifyResponse(const QString& nicksOnline)
+{
+ bool nicksOnlineChanged = false;
+ QStringList actualList = QStringList::split(' ',nicksOnline);
+ QString lcActual = ' ' + nicksOnline + ' ';
+ QString lcPrevISON = ' ' + (m_prevISONList.join(" ")) + ' ';
+
+ QStringList::iterator it;
+
+ //Are any nicks gone offline
+ for (it = m_prevISONList.begin(); it != m_prevISONList.end(); ++it)
+ {
+ if (lcActual.find(' ' + (*it) + ' ', 0, false) == -1)
+ {
+ setNickOffline(*it);
+ nicksOnlineChanged = true;
+ }
+ }
+
+ //Are any nicks gone online
+ for (it = actualList.begin(); it != actualList.end(); ++it)
+ {
+ if (lcPrevISON.find(' ' + (*it) + ' ', 0, false) == -1) {
+ setWatchedNickOnline(*it);
+ nicksOnlineChanged = true;
+ }
+ }
+
+ // Note: The list emitted in this signal *does* include nicks in joined channels.
+ emit nicksNowOnline(this, actualList, nicksOnlineChanged);
+
+ m_prevISONList = actualList;
+
+ // Next round
+ startNotifyTimer();
+}
+
+void Server::startNotifyTimer(int msec)
+{
+ // make sure the timer gets started properly in case we have reconnected
+ m_notifyTimer.stop();
+
+ if (msec == 0) msec = Preferences::notifyDelay()*1000;
+
+ // start the timer in one shot mode
+ if (Preferences::useNotify())
+ m_notifyTimer.start(msec, true);
+}
+
+void Server::notifyTimeout()
+{
+ // Notify delay time is over, send ISON request if desired
+ if (Preferences::useNotify())
+ {
+ // But only if there actually are nicks in the notify list
+ QString list = getISONListString();
+
+ if (!list.isEmpty()) queue("ISON "+list, LowPriority);
+
+ }
+}
+
+void Server::autoCommandsAndChannels()
+{
+ if (getServerGroup() && !getServerGroup()->connectCommands().isEmpty())
+ {
+ QString connectCommands = getServerGroup()->connectCommands();
+
+ if (!getNickname().isEmpty())
+ connectCommands.replace("%nick", getNickname());
+
+ QStringList connectCommandsList = QStringList::split(";", connectCommands);
+ QStringList::iterator iter;
+
+ for (iter = connectCommandsList.begin(); iter != connectCommandsList.end(); ++iter)
+ {
+ QString output(*iter);
+ output = output.simplifyWhiteSpace();
+ getOutputFilter()->replaceAliases(output);
+ Konversation::OutputFilterResult result = getOutputFilter()->parse(getNickname(),output,QString());
+ queue(result.toServer);
+ }
+ }
+
+ if (getAutoJoin())
+ {
+ for ( QStringList::Iterator it = m_autoJoinCommands.begin(); it != m_autoJoinCommands.end(); ++it )
+ queue((*it));
+ }
+}
+
+/** Create a set of indices into the nickname list of the current identity based on the current nickname.
+ *
+ * The index list is only used if the current nickname is not available. If the nickname is in the identity,
+ * we do not want to retry it. If the nickname is not in the identity, it is considered to be at position -1.
+ */
+void Server::resetNickSelection()
+{
+ m_nickIndices.clear();
+ //for equivalence testing in case the identity gets changed underneath us
+ m_referenceNicklist = getIdentity()->getNicknameList();
+ //where in this identities nicklist will we have started?
+ int start = m_referenceNicklist.findIndex(getNickname());
+ int len = m_referenceNicklist.count();
+
+ //we first use this list of indices *after* we've already tried the current nick, which we don't want
+ //to retry if we wrapped, so exclude its index here
+ //if it wasn't in the list, we get -1 back, so then we *want* to include 0
+ for (int i=start+1; i<len; i++)
+ m_nickIndices.append(i);
+ //now, from the beginning of the list, to the item before start
+ for (int i=0; i<start; i++)
+ m_nickIndices.append(i);
+ //cause it to try to get an invalid nick number
+ m_nickIndices.append(len);
+}
+
+QString Server::getNextNickname()
+{
+ //if the identity changed underneath us (likely impossible), start over
+ if (m_referenceNicklist != getIdentity()->getNicknameList())
+ resetNickSelection();
+
+ QString newNick = getIdentity()->getNickname(m_nickIndices.front());
+ m_nickIndices.pop_front();
+
+ if (newNick.isNull())
+ {
+ QString inputText = i18n("No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\nPlease enter a new one or press Cancel to disconnect:").arg(getIdentity()->getName()).arg(getDisplayName());
+ newNick = KInputDialog::getText(i18n("Nickname error"), inputText,
+ QString(), 0, getStatusView(), "NickChangeDialog");
+ }
+
+ return newNick;
+}
+
+void Server::processIncomingData()
+{
+ m_incomingTimer.stop();
+
+ if (!m_inputBuffer.isEmpty() && !m_processingIncoming)
+ {
+ m_processingIncoming = true;
+ QString front(m_inputBuffer.front());
+ m_inputBuffer.pop_front();
+ if (m_rawLog)
+ {
+ QString toRaw = front;
+ m_rawLog->appendRaw("&gt;&gt; " + toRaw.replace("&","&amp;").replace("<","&lt;").replace(">","&gt;").replace(QRegExp("\\s"), "&nbsp;"));
+ }
+ m_inputFilter.parseLine(front);
+ m_processingIncoming = false;
+
+ if (!m_inputBuffer.isEmpty()) m_incomingTimer.start(0);
+ }
+}
+
+void Server::incoming()
+{
+ if (getConnectionSettings().server().SSLEnabled())
+ emit sslConnected(this);
+
+ // We read all available bytes here because readyRead() signal will be emitted when there is new data
+ // else we will stall when displaying MOTD etc.
+ int max_bytes = m_socket->bytesAvailable();
+
+ QByteArray buffer(max_bytes+1);
+ int len = 0;
+
+ // Read at max "max_bytes" bytes into "buffer"
+ len = m_socket->readBlock(buffer.data(),max_bytes);
+
+ if (len <= 0 && getConnectionSettings().server().SSLEnabled())
+ return;
+
+ if (len <= 0) // Zero means buffer is empty which shouldn't happen because readyRead signal is emitted
+ {
+ getStatusView()->appendServerMessage(i18n("Error"),
+ i18n("There was an error reading the data from the server: %1").
+ arg(m_socket->errorString()));
+
+ broken(m_socket->error());
+ return;
+ }
+
+ buffer[len] = 0;
+
+ QCString qcsBuffer = m_inputBufferIncomplete + QCString(buffer);
+
+ // split buffer to lines
+ QValueList<QCString> qcsBufferLines;
+ int lastLFposition = -1;
+ for( int nextLFposition ; ( nextLFposition = qcsBuffer.find('\n', lastLFposition+1) ) != -1 ; lastLFposition = nextLFposition )
+ qcsBufferLines << qcsBuffer.mid(lastLFposition+1, nextLFposition-lastLFposition-1);
+
+ // remember the incomplete line (split by packets)
+ m_inputBufferIncomplete = qcsBuffer.right(qcsBuffer.length()-lastLFposition-1);
+
+ while(!qcsBufferLines.isEmpty())
+ {
+ // Pre parsing is needed in case encryption/decryption is needed
+ // BEGIN set channel encoding if specified
+ QString senderNick;
+ bool isServerMessage = false;
+ QString channelKey;
+ QTextCodec* codec = getIdentity()->getCodec();
+ QCString front = qcsBufferLines.front();
+
+ QStringList lineSplit = QStringList::split(" ",codec->toUnicode(front));
+
+ if( lineSplit.count() >= 1 )
+ {
+ if( lineSplit[0][0] == ':' ) // does this message have a prefix?
+ {
+ if( !lineSplit[0].contains('!') ) // is this a server(global) message?
+ isServerMessage = true;
+ else
+ senderNick = lineSplit[0].mid(1, lineSplit[0].find('!')-1);
+
+ lineSplit.pop_front(); // remove prefix
+ }
+ }
+
+ // BEGIN pre-parse to know where the message belongs to
+ QString command = lineSplit[0].lower();
+ if( isServerMessage )
+ {
+ if( lineSplit.count() >= 3 )
+ {
+ if( command == "332" ) // RPL_TOPIC
+ channelKey = lineSplit[2];
+ if( command == "372" ) // RPL_MOTD
+ channelKey = ":server";
+ }
+ }
+ else // NOT a global message
+ {
+ if( lineSplit.count() >= 2 )
+ {
+ // query
+ if( ( command == "privmsg" ||
+ command == "notice" ) &&
+ lineSplit[1] == getNickname() )
+ {
+ channelKey = senderNick;
+ }
+ // channel message
+ else if( command == "privmsg" ||
+ command == "notice" ||
+ command == "join" ||
+ command == "kick" ||
+ command == "part" ||
+ command == "topic" )
+ {
+ channelKey = lineSplit[1];
+ }
+ }
+ }
+ // END pre-parse to know where the message belongs to
+ // Decrypt if necessary
+ if(command == "privmsg")
+ Konversation::decrypt(channelKey,front,this);
+ else if(command == "332" || command == "topic")
+ {
+ Konversation::decryptTopic(channelKey,front,this);
+ }
+
+ bool isUtf8 = Konversation::isUtf8(front);
+
+ if( isUtf8 )
+ m_inputBuffer << QString::fromUtf8(front);
+ else
+ {
+ // check setting
+ QString channelEncoding;
+ if( !channelKey.isEmpty() )
+ {
+ channelEncoding = Preferences::channelEncoding(getDisplayName(), channelKey);
+ }
+ // END set channel encoding if specified
+
+ if( !channelEncoding.isEmpty() )
+ codec = Konversation::IRCCharsets::self()->codecForName(channelEncoding);
+
+ // if channel encoding is utf-8 and the string is definitely not utf-8
+ // then try latin-1
+ if ( !isUtf8 && codec->mibEnum() == 106 )
+ codec = QTextCodec::codecForMib( 4 /* iso-8859-1 */ );
+
+ m_inputBuffer << codec->toUnicode(front);
+ }
+ qcsBufferLines.pop_front();
+ m_bytesReceived+=m_inputBuffer.back().length();
+ }
+
+ if( !m_incomingTimer.isActive() && !m_processingIncoming )
+ m_incomingTimer.start(0);
+}
+
+/** Calculate how long this message premable will be.
+
+ This is necessary because the irc server will clip messages so that the
+ client receives a maximum of 512 bytes at once.
+*/
+int Server::getPreLength(const QString& command, const QString& dest)
+{
+ NickInfo* info = getNickInfo(getNickname());
+ int hostMaskLength = 0;
+
+ if(info)
+ hostMaskLength = info->getHostmask().length();
+
+ //:Sho_!i=ehs1@konversation/developer/hein PRIVMSG #konversation :and then back to it
+
+ //<colon>$nickname<!>$hostmask<space>$command<space>$destination<space><colon>$message<cr><lf>
+ int x= 512 - 8 - (m_nickname.length() + hostMaskLength + command.length() + dest.length());
+
+ return x;
+}
+
+//Commands greater than 1 have localizeable text: 0 1 2 3 4 5 6
+static QStringList outcmds=QStringList::split(QChar(' '),"WHO QUIT PRIVMSG NOTICE KICK PART TOPIC");
+
+int Server::_send_internal(QString outputLine)
+{
+ QStringList outputLineSplit=QStringList::split(" ", outputLine);
+ //Lets cache the uppercase command so we don't miss or reiterate too much
+ int outboundCommand=outcmds.findIndex(outputLineSplit[0].upper());
+
+ if (outputLine.at(outputLine.length()-1) == '\n')
+ {
+ kdDebug() << "found \\n on " << outboundCommand << endl;
+ outputLine.setLength(outputLine.length()-1);
+ }
+
+ // remember the first arg of /WHO to identify responses
+ if (outboundCommand == 0) //"WHO"
+ {
+ if (outputLineSplit.count() >= 2)
+ m_inputFilter.addWhoRequest(outputLineSplit[1]);
+ else // no argument (servers recognize it as "*")
+ m_inputFilter.addWhoRequest("*");
+ }
+ else if (outboundCommand == 1) //"QUIT"
+ updateConnectionState(Konversation::SSDeliberatelyDisconnected);
+
+ // set channel encoding if specified
+ QString channelCodecName;
+
+ //[ PRIVMSG | NOTICE | KICK | PART | TOPIC ] target :message
+ if (outputLineSplit.count() > 2 && outboundCommand > 1)
+ channelCodecName=Preferences::channelEncoding(getDisplayName(), outputLineSplit[1]);
+
+ QTextCodec* codec;
+ if (channelCodecName.isEmpty())
+ codec = getIdentity()->getCodec();
+ else
+ codec = Konversation::IRCCharsets::self()->codecForName(channelCodecName);
+
+ // Some codecs don't work with a negative value. This is a bug in Qt 3.
+ // ex.: JIS7, eucJP, SJIS
+ //int outlen=-1;
+ int outlen=outputLine.length();
+
+ //leaving this done twice for now, i'm uncertain of the implications of not encoding other commands
+ QCString encoded=codec->fromUnicode(outputLine, outlen);
+
+ QString blowfishKey=getKeyForRecipient(outputLineSplit[1]);
+ if (!blowfishKey.isEmpty() && outboundCommand >1)
+ {
+ int colon = outputLine.find(':');
+ if (colon > -1)
+ {
+ colon++;
+
+ QString pay(outputLine.mid(colon));
+ int len=pay.length();
+ //only encode the actual user text, IRCD *should* desire only ASCII 31 < x < 127 for protocol elements
+ QCString payload=codec->fromUnicode(pay, len);
+ //apparently channel name isn't a protocol element...
+ len=outputLineSplit[1].length();
+ QCString dest=codec->fromUnicode(outputLineSplit[1], len);
+
+ if (outboundCommand == 2 || outboundCommand == 6) // outboundCommand == 3
+ {
+ bool doit = true;
+ if (outboundCommand == 2)
+ {
+ //if its a privmsg and a ctcp but not an action, don't encrypt
+ //not interpreting `payload` in case encoding bollixed it
+ if (outputLineSplit[2].startsWith(":\x01") && outputLineSplit[2] != ":\x01""ACTION")
+ doit = false;
+ }
+ if (doit)
+ {
+ Konversation::encrypt(blowfishKey, payload);
+ encoded = outputLineSplit[0].ascii();
+ //two lines because the compiler insists on using the wrong operator+
+ encoded += ' ' + dest + " :" + payload;
+ }
+ }
+ }
+ }
+ encoded += '\n';
+ Q_LONG sout = m_socket->writeBlock(encoded, encoded.length());
+
+ if (m_rawLog)
+ m_rawLog->appendRaw("&lt;&lt; " + outputLine.replace("&","&amp;").replace("<","&lt;").replace(">","&gt;"));
+
+ return sout;
+}
+
+void Server::toServer(QString&s, IRCQueue* q)
+{
+
+ int sizesent = _send_internal(s);
+ emit sentStat(s.length(), sizesent, q); //tell the queues what we sent
+ //tell everyone else
+ emit sentStat(s.length(), sizesent);
+}
+
+void Server::collectStats(int bytes, int encodedBytes)
+{
+ m_bytesSent += bytes;
+ m_encodedBytesSent += encodedBytes;
+ m_linesSent++;
+}
+
+bool Server::validQueue(QueuePriority priority)
+{
+ if (priority >=0 && priority <= _max_queue())
+ return true;
+ return false;
+}
+
+bool Server::queue(const QString& line, QueuePriority priority)
+{
+ if (!line.isEmpty() && validQueue(priority))
+ {
+ IRCQueue& out=*m_queues[priority];
+ out.enqueue(line);
+ return true;
+ }
+ return false;
+}
+
+bool Server::queueList(const QStringList& buffer, QueuePriority priority)
+{
+ if (buffer.isEmpty() || !validQueue(priority))
+ return false;
+
+ IRCQueue& out=*(m_queues[priority]);
+
+ for(unsigned int i=0;i<buffer.count();i++)
+ {
+ QString line=*buffer.at(i);
+ if (!line.isEmpty())
+ out.enqueue(line);
+ }
+ return true;
+}
+
+void Server::resetQueues()
+{
+ for (int i=0;i<=_max_queue();i++)
+ m_queues[i]->reset();
+}
+
+//this could flood you off, but you're leaving anyway...
+void Server::flushQueues()
+{
+ int cue;
+ do
+ {
+ cue=-1;
+ int wait=0;
+ for (int i=1;i<=_max_queue();i++) //slow queue can rot
+ {
+ IRCQueue *queue=m_queues[i];
+ //higher queue indices have higher priorty, higher queue priority wins tie
+ if (!queue->isEmpty() && queue->currentWait()>=wait)
+ {
+ cue=i;
+ wait=queue->currentWait();
+ }
+ }
+ if (cue>-1)
+ m_queues[cue]->sendNow();
+ } while (cue>-1);
+}
+
+void Server::closed()
+{
+ broken(m_socket->error());
+}
+
+void Server::dcopRaw(const QString& command)
+{
+ if(command.startsWith(Preferences::commandChar()))
+ {
+ queue(command.section(Preferences::commandChar(), 1));
+ }
+ else
+ queue(command);
+}
+
+void Server::dcopSay(const QString& target,const QString& command)
+{
+ if(isAChannel(target))
+ {
+ Channel* channel=getChannelByName(target);
+ if(channel) channel->sendChannelText(command);
+ }
+ else
+ {
+ class Query* query=getQueryByName(target);
+ if(query==0)
+ {
+ NickInfoPtr nickinfo = obtainNickInfo(target);
+ query=addQuery(nickinfo, true);
+ }
+ if(query)
+ {
+ if(!command.isEmpty())
+ query->sendQueryText(command);
+ else
+ {
+ query->adjustFocus();
+ getViewContainer()->getWindow()->show();
+ KWin::demandAttention(getViewContainer()->getWindow()->winId());
+ KWin::activateWindow(getViewContainer()->getWindow()->winId());
+ }
+ }
+ }
+}
+
+void Server::dcopInfo(const QString& string)
+{
+ appendMessageToFrontmost(i18n("DCOP"),string);
+}
+
+void Server::ctcpReply(const QString &receiver,const QString &text)
+{
+ queue("NOTICE "+receiver+" :"+'\x01'+text+'\x01');
+}
+
+// Given a nickname, returns NickInfo object. 0 if not found.
+NickInfoPtr Server::getNickInfo(const QString& nickname)
+{
+ QString lcNickname(nickname.lower());
+ if (m_allNicks.contains(lcNickname))
+ {
+ NickInfoPtr nickinfo = m_allNicks[lcNickname];
+ Q_ASSERT(nickinfo);
+ return nickinfo;
+ }
+ else
+ return 0;
+}
+
+// Given a nickname, returns an existing NickInfo object, or creates a new NickInfo object.
+// Returns pointer to the found or created NickInfo object.
+NickInfoPtr Server::obtainNickInfo(const QString& nickname)
+{
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+ if (!nickInfo)
+ {
+ nickInfo = new NickInfo(nickname, this);
+ m_allNicks.insert(QString(nickname.lower()), nickInfo);
+ }
+ return nickInfo;
+}
+
+const NickInfoMap* Server::getAllNicks() { return &m_allNicks; }
+
+// Returns the list of members for a channel in the joinedChannels list.
+// 0 if channel is not in the joinedChannels list.
+// Using code must not alter the list.
+const ChannelNickMap *Server::getJoinedChannelMembers(const QString& channelName) const
+{
+ QString lcChannelName = channelName.lower();
+ if (m_joinedChannels.contains(lcChannelName))
+ return m_joinedChannels[lcChannelName];
+ else
+ return 0;
+}
+
+// Returns the list of members for a channel in the unjoinedChannels list.
+// 0 if channel is not in the unjoinedChannels list.
+// Using code must not alter the list.
+const ChannelNickMap *Server::getUnjoinedChannelMembers(const QString& channelName) const
+{
+ QString lcChannelName = channelName.lower();
+ if (m_unjoinedChannels.contains(lcChannelName))
+ return m_unjoinedChannels[lcChannelName];
+ else
+ return 0;
+}
+
+// Searches the Joined and Unjoined lists for the given channel and returns the member list.
+// 0 if channel is not in either list.
+// Using code must not alter the list.
+const ChannelNickMap *Server::getChannelMembers(const QString& channelName) const
+{
+ const ChannelNickMap *members = getJoinedChannelMembers(channelName);
+ if (members)
+ return members;
+ else
+ return getUnjoinedChannelMembers(channelName);
+}
+
+// Returns pointer to the ChannelNick (mode and pointer to NickInfo) for a given channel and nickname.
+// 0 if not found.
+ChannelNickPtr Server::getChannelNick(const QString& channelName, const QString& nickname)
+{
+ QString lcNickname = nickname.lower();
+ const ChannelNickMap *channelNickMap = getChannelMembers(channelName);
+ if (channelNickMap)
+ {
+ if (channelNickMap->contains(lcNickname))
+ return (*channelNickMap)[lcNickname];
+ else
+ return 0;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+// Updates a nickname in a channel. If not on the joined or unjoined lists, and nick
+// is in the watch list, adds the channel and nick to the unjoinedChannels list.
+// If mode != 99, sets the mode for the nick in the channel.
+// Returns the NickInfo object if nick is on any lists, otherwise 0.
+ChannelNickPtr Server::setChannelNick(const QString& channelName, const QString& nickname, unsigned int mode)
+{
+ QString lcNickname = nickname.lower();
+ // If already on a list, update mode.
+ ChannelNickPtr channelNick = getChannelNick(channelName, lcNickname);
+ if (!channelNick)
+ {
+ // Get watch list from preferences.
+ QString watchlist=getWatchListString();
+ // Create a lower case nick list from the watch list.
+ QStringList watchLowerList=QStringList::split(' ',watchlist.lower());
+ // If on the watch list, add channel and nick to unjoinedChannels list.
+ if (watchLowerList.find(lcNickname) != watchLowerList.end())
+ {
+ channelNick = addNickToUnjoinedChannelsList(channelName, nickname);
+ channelNick->setMode(mode);
+ }
+ else return 0;
+ }
+
+ if (mode != 99) channelNick->setMode(mode);
+ return channelNick;
+}
+
+// Returns a list of all the joined channels that a nick is in.
+QStringList Server::getNickJoinedChannels(const QString& nickname)
+{
+ QString lcNickname = nickname.lower();
+ QStringList channellist;
+ ChannelMembershipMap::ConstIterator channel;
+ for( channel = m_joinedChannels.begin(); channel != m_joinedChannels.end(); ++channel )
+ {
+ if (channel.data()->contains(lcNickname)) channellist.append(channel.key());
+ }
+ return channellist;
+}
+
+// Returns a list of all the channels (joined or unjoined) that a nick is in.
+QStringList Server::getNickChannels(const QString& nickname)
+{
+ QString lcNickname = nickname.lower();
+ QStringList channellist;
+ ChannelMembershipMap::ConstIterator channel;
+ for( channel = m_joinedChannels.begin(); channel != m_joinedChannels.end(); ++channel )
+ {
+ if (channel.data()->contains(lcNickname)) channellist.append(channel.key());
+ }
+ for( channel = m_unjoinedChannels.begin(); channel != m_unjoinedChannels.end(); ++channel )
+ {
+ if (channel.data()->contains(lcNickname)) channellist.append(channel.key());
+ }
+ return channellist;
+}
+
+bool Server::isNickOnline(const QString &nickname)
+{
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+ return (nickInfo != 0);
+}
+
+QString Server::getOwnIpByNetworkInterface()
+{
+ return m_socket->localAddress().nodeName();
+}
+
+QString Server::getOwnIpByServerMessage()
+{
+ if(!m_ownIpByWelcome.isEmpty())
+ return m_ownIpByWelcome;
+ else if(!m_ownIpByUserhost.isEmpty())
+ return m_ownIpByUserhost;
+ else
+ return QString();
+}
+
+class Query* Server::addQuery(const NickInfoPtr & nickInfo, bool weinitiated)
+{
+ QString nickname = nickInfo->getNickname();
+ // Only create new query object if there isn't already one with the same name
+ class Query* query=getQueryByName(nickname);
+
+ if (!query)
+ {
+ QString lcNickname = nickname.lower();
+ query = getViewContainer()->addQuery(this, nickInfo, weinitiated);
+
+ connect(query, SIGNAL(sendFile(const QString&)),this, SLOT(requestDccSend(const QString&)));
+ connect(this, SIGNAL(serverOnline(bool)), query, SLOT(serverOnline(bool)));
+
+ // Append query to internal list
+ m_queryList.append(query);
+
+ m_queryNicks.insert(lcNickname, nickInfo);
+
+ if (!weinitiated)
+ static_cast<KonversationApplication*>(kapp)->notificationHandler()->query(query, nickname);
+ }
+
+ // try to get hostmask if there's none yet
+ if (query->getNickInfo()->getHostmask().isEmpty()) requestUserhost(nickname);
+
+ Q_ASSERT(query);
+
+ return query;
+}
+
+void Server::closeQuery(const QString &name)
+{
+ class Query* query = getQueryByName(name);
+ removeQuery(query);
+
+ // Update NickInfo. If no longer on any lists, delete it altogether, but
+ // only if not on the watch list. ISON replies will determine whether the NickInfo
+ // is deleted altogether in that case.
+ QString lcNickname = name.lower();
+ m_queryNicks.remove(lcNickname);
+ if (!isWatchedNick(name)) deleteNickIfUnlisted(name);
+}
+
+void Server::closeChannel(const QString& name)
+{
+ kdDebug() << "Server::closeChannel(" << name << ")" << endl;
+ Channel* channelToClose = getChannelByName(name);
+
+ if(channelToClose)
+ {
+ Konversation::OutputFilterResult result = getOutputFilter()->parse(getNickname(),
+ Preferences::commandChar() + "PART", name);
+ queue(result.toServer);
+ }
+}
+
+void Server::requestChannelList()
+{
+ m_inputFilter.setAutomaticRequest("LIST", QString(), true);
+ queue(QString("LIST"));
+}
+
+void Server::requestWhois(const QString& nickname)
+{
+ m_inputFilter.setAutomaticRequest("WHOIS", nickname, true);
+ queue("WHOIS "+nickname, LowPriority);
+}
+
+void Server::requestWho(const QString& channel)
+{
+ m_inputFilter.setAutomaticRequest("WHO", channel, true);
+ queue("WHO "+channel, LowPriority);
+}
+
+void Server::requestUserhost(const QString& nicks)
+{
+ QStringList nicksList = QStringList::split(" ", nicks);
+ for(QStringList::ConstIterator it=nicksList.begin() ; it!=nicksList.end() ; ++it)
+ m_inputFilter.setAutomaticRequest("USERHOST", *it, true);
+ queue("USERHOST "+nicks, LowPriority);
+}
+
+void Server::requestTopic(const QString& channel)
+{
+ m_inputFilter.setAutomaticRequest("TOPIC", channel, true);
+ queue("TOPIC "+channel, LowPriority);
+}
+
+void Server::resolveUserhost(const QString& nickname)
+{
+ m_inputFilter.setAutomaticRequest("WHOIS", nickname, true);
+ m_inputFilter.setAutomaticRequest("DNS", nickname, true);
+ queue("WHOIS "+nickname, LowPriority); //FIXME when is this really used?
+}
+
+void Server::requestBan(const QStringList& users,const QString& channel,const QString& a_option)
+{
+ QString hostmask;
+ QString option=a_option.lower();
+
+ Channel* targetChannel=getChannelByName(channel);
+
+ for(unsigned int index=0;index<users.count();index++)
+ {
+ // first, set the ban mask to the specified nick
+ QString mask=users[index];
+ // did we specify an option?
+ if(!option.isEmpty())
+ {
+ // try to find specified nick on the channel
+ Nick* targetNick=targetChannel->getNickByName(mask);
+ // if we found the nick try to find their hostmask
+ if(targetNick)
+ {
+ QString hostmask=targetNick->getChannelNick()->getHostmask();
+ // if we found the hostmask, add it to the ban mask
+ if(!hostmask.isEmpty())
+ {
+ mask=targetNick->getChannelNick()->getNickname()+'!'+hostmask;
+
+ // adapt ban mask to the option given
+ if(option=="host")
+ mask="*!*@*."+hostmask.section('.',1);
+ else if(option=="domain")
+ mask="*!*@"+hostmask.section('@',1);
+ else if(option=="userhost")
+ mask="*!"+hostmask.section('@',0,0)+"@*."+hostmask.section('.',1);
+ else if(option=="userdomain")
+ mask="*!"+hostmask.section('@',0,0)+'@'+hostmask.section('@',1);
+ }
+ }
+ }
+
+ Konversation::OutputFilterResult result = getOutputFilter()->execBan(mask,channel);
+ queue(result.toServer);
+ }
+}
+
+void Server::requestUnban(const QString& mask,const QString& channel)
+{
+ Konversation::OutputFilterResult result = getOutputFilter()->execUnban(mask,channel);
+ queue(result.toServer);
+}
+
+void Server::requestDccSend()
+{
+ requestDccSend(QString());
+}
+
+void Server::sendURIs(const QStrList& uris, const QString& nick)
+{
+ for (QStrListIterator it(uris) ; *it; ++it)
+ addDccSend(nick,KURL(*it));
+}
+
+void Server::requestDccSend(const QString &a_recipient)
+{
+ QString recipient(a_recipient);
+ // if we don't have a recipient yet, let the user select one
+ if(recipient.isEmpty())
+ {
+ QStringList nickList;
+ Channel* lookChannel=m_channelList.first();
+
+ // fill nickList with all nicks we know about
+ while (lookChannel)
+ {
+ QPtrList<Nick> nicks=lookChannel->getNickList();
+ Nick* lookNick=nicks.first();
+ while(lookNick)
+ {
+ if(!nickList.contains(lookNick->getChannelNick()->getNickname())) nickList.append(lookNick->getChannelNick()->getNickname());
+ lookNick=nicks.next();
+ }
+ lookChannel=m_channelList.next();
+ }
+
+ // add Queries as well, but don't insert duplicates
+ class Query* lookQuery=m_queryList.first();
+ while(lookQuery)
+ {
+ if(!nickList.contains(lookQuery->getName())) nickList.append(lookQuery->getName());
+ lookQuery=m_queryList.next();
+ }
+
+ recipient=DccRecipientDialog::getNickname(getViewContainer()->getWindow(),nickList);
+ }
+ // do we have a recipient *now*?
+ if(!recipient.isEmpty())
+ {
+ KURL::List fileURLs=KFileDialog::getOpenURLs(
+ ":lastDccDir",
+ QString(),
+ getViewContainer()->getWindow(),
+ i18n("Select File(s) to Send to %1").arg(recipient)
+ );
+ KURL::List::iterator it;
+ for ( it = fileURLs.begin() ; it != fileURLs.end() ; ++it )
+ {
+ addDccSend( recipient, *it );
+ }
+ }
+}
+
+void Server::slotNewDccTransferItemQueued(DccTransfer* transfer)
+{
+ if (transfer->getConnectionId() == connectionId() )
+ {
+ kdDebug() << "Server::slotNewDccTranfserItemQueued(): connecting slots for " << transfer->getFileName() << " [" << transfer->getType() << "]" << endl;
+ if ( transfer->getType() == DccTransfer::Receive )
+ {
+ connect( transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( dccGetDone( DccTransfer* ) ) );
+ connect( transfer, SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( dccStatusChanged( DccTransfer*, int, int ) ) );
+ }
+ else
+ {
+ connect( transfer, SIGNAL( done( DccTransfer* ) ), this, SLOT( dccSendDone( DccTransfer* ) ) );
+ connect( transfer, SIGNAL( statusChanged( DccTransfer*, int, int ) ), this, SLOT( dccStatusChanged( DccTransfer*, int, int ) ) );
+ }
+ }
+}
+
+void Server::addDccSend(const QString &recipient,KURL fileURL, const QString &altFileName, uint fileSize)
+{
+ if (!fileURL.isValid()) return;
+
+ emit addDccPanel();
+
+ // We already checked that the file exists in output filter / requestDccSend() resp.
+ DccTransferSend* newDcc = KonversationApplication::instance()->getDccTransferManager()->newUpload();
+
+ newDcc->setConnectionId( connectionId() );
+
+ newDcc->setPartnerNick( recipient );
+ newDcc->setFileURL( fileURL );
+ if ( !altFileName.isEmpty() )
+ newDcc->setFileName( altFileName );
+ if ( fileSize != 0 )
+ newDcc->setFileSize( fileSize );
+
+ if ( newDcc->queue() )
+ newDcc->start();
+}
+
+void Server::addDccGet(const QString &sourceNick, const QStringList &dccArguments)
+{
+ emit addDccPanel();
+
+ DccTransferRecv* newDcc = KonversationApplication::instance()->getDccTransferManager()->newDownload();
+
+ newDcc->setConnectionId( connectionId() );
+
+ newDcc->setPartnerNick( sourceNick );
+ newDcc->setPartnerIp( DccCommon::numericalIpToTextIp( dccArguments[1] ) );
+ newDcc->setPartnerPort( dccArguments[2] );
+ if ( dccArguments[2] == "0" && dccArguments.count() == 5) // Reverse DCC
+ newDcc->setReverse( true, dccArguments[4] );
+
+ newDcc->setFileName( dccArguments[0] );
+ newDcc->setFileSize( dccArguments[3].isEmpty() ? 0 : dccArguments[3].toULong() );
+
+ if ( newDcc->queue() )
+ {
+ QString showfile = newDcc->getFileName();
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ appendMessageToFrontmost( i18n( "DCC" ),
+ i18n( "%1 offers to send you \"%2\" (%3)..." )
+ .arg( newDcc->getPartnerNick(),
+ showfile,
+ ( newDcc->getFileSize() == 0 ) ? i18n( "unknown size" ) : KIO::convertSize( newDcc->getFileSize() ) ) );
+
+ if(Preferences::dccAutoGet())
+ newDcc->start();
+ }
+}
+
+void Server::openDccChat(const QString& nickname)
+{
+ emit addDccChat(getNickname(),nickname,QStringList(),true);
+}
+
+void Server::requestDccChat(const QString& partnerNick, const QString& numericalOwnIp, const QString& ownPort)
+{
+ queue(QString("PRIVMSG %1 :\001DCC CHAT chat %2 %3\001").arg(partnerNick).arg(numericalOwnIp).arg(ownPort));
+}
+
+void Server::dccSendRequest(const QString &partner, const QString &fileName, const QString &address, const QString &port, unsigned long size)
+{
+ Konversation::OutputFilterResult result = getOutputFilter()->sendRequest(partner,fileName,address,port,size);
+ queue(result.toServer);
+
+ QString showfile = fileName;
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ appendMessageToFrontmost( i18n( "DCC" ),
+ i18n( "Asking %1 to accept upload of \"%2\" (%3)..." )
+ .arg( partner,
+ showfile,
+ ( size == 0 ) ? i18n( "unknown size" ) : KIO::convertSize( size ) ) );
+}
+
+void Server::dccPassiveSendRequest(const QString& recipient,const QString& fileName,const QString& address,unsigned long size,const QString& token)
+{
+ Konversation::OutputFilterResult result = getOutputFilter()->passiveSendRequest(recipient,fileName,address,size,token);
+ queue(result.toServer);
+}
+
+void Server::dccResumeGetRequest(const QString &sender, const QString &fileName, const QString &port, KIO::filesize_t startAt)
+{
+ Konversation::OutputFilterResult result;
+
+ if (fileName.contains(" ") > 0)
+ result = getOutputFilter()->resumeRequest(sender,"\""+fileName+"\"",port,startAt);
+ else
+ result = getOutputFilter()->resumeRequest(sender,fileName,port,startAt);
+
+ queue(result.toServer);
+}
+
+void Server::dccReverseSendAck(const QString& partnerNick,const QString& fileName,const QString& ownAddress,const QString& ownPort,unsigned long size,const QString& reverseToken)
+{
+ Konversation::OutputFilterResult result = getOutputFilter()->acceptPassiveSendRequest(partnerNick,fileName,ownAddress,ownPort,size,reverseToken);
+ queue(result.toServer);
+}
+
+void Server::startReverseDccSendTransfer(const QString& sourceNick,const QStringList& dccArguments)
+{
+ DccTransferManager* dtm = KonversationApplication::instance()->getDccTransferManager();
+
+ if ( dtm->startReverseSending( connectionId(), sourceNick,
+ dccArguments[0], // filename
+ DccCommon::numericalIpToTextIp( dccArguments[1] ), // partner IP
+ dccArguments[2], // partner port
+ dccArguments[3].toInt(), // filesize
+ dccArguments[4] // Reverse DCC token
+ ) == 0 )
+ {
+ QString showfile = dccArguments[0];
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ // DTM could not find a matched item
+ appendMessageToFrontmost( i18n( "Error" ),
+ i18n( "%1 = file name, %2 = nickname",
+ "Received invalid passive DCC send acceptance message for \"%1\" from %2." )
+ .arg( showfile,
+ sourceNick ) );
+
+ }
+
+}
+
+void Server::resumeDccGetTransfer(const QString &sourceNick, const QStringList &dccArguments)
+{
+ DccTransferManager* dtm = KonversationApplication::instance()->getDccTransferManager();
+
+ QString fileName( dccArguments[0] );
+ QString ownPort( dccArguments[1] );
+ unsigned long position = dccArguments[2].toULong();
+
+ DccTransferRecv* dccTransfer = dtm->resumeDownload( connectionId(), sourceNick, fileName, ownPort, position );
+
+ QString showfile = fileName;
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ if ( dccTransfer )
+ {
+ appendMessageToFrontmost( i18n( "DCC" ),
+ i18n( "%1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = file size",
+ "Resuming download of \"%1\" from %2 starting at %3% of %4..." )
+ .arg( showfile,
+ sourceNick,
+ QString::number( dccTransfer->getProgress() ),
+ ( dccTransfer->getFileSize() == 0 ) ? i18n( "unknown size" ) : KIO::convertSize( dccTransfer->getFileSize() ) ) );
+ }
+ else
+ {
+ appendMessageToFrontmost( i18n( "Error" ),
+ i18n( "%1 = file name, %2 = nickname",
+ "Received invalid resume acceptance message for \"%1\" from %2." )
+ .arg( showfile,
+ sourceNick ) );
+ }
+}
+
+void Server::resumeDccSendTransfer(const QString &sourceNick, const QStringList &dccArguments)
+{
+ DccTransferManager* dtm = KonversationApplication::instance()->getDccTransferManager();
+
+ QString fileName( dccArguments[0] );
+ QString ownPort( dccArguments[1] );
+ unsigned long position = dccArguments[2].toULong();
+
+ DccTransferSend* dccTransfer = dtm->resumeUpload( connectionId(), sourceNick, fileName, ownPort, position );
+
+ QString showfile = fileName;
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ if ( dccTransfer )
+ {
+ appendMessageToFrontmost( i18n( "DCC" ),
+ i18n( "%1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 = file size",
+ "Resuming upload of \"%1\" to %2 starting at %3% of %4...")
+ .arg( showfile,
+ sourceNick,
+ QString::number(dccTransfer->getProgress()),
+ ( dccTransfer->getFileSize() == 0 ) ? i18n( "unknown size" ) : KIO::convertSize( dccTransfer->getFileSize() ) ) );
+
+ // FIXME: this operation should be done by DccTransferManager
+ Konversation::OutputFilterResult result = getOutputFilter()->acceptResumeRequest( sourceNick, fileName, ownPort, position );
+ queue( result.toServer );
+
+ }
+ else
+ {
+ appendMessageToFrontmost( i18n( "Error" ),
+ i18n( "%1 = file name, %2 = nickname",
+ "Received invalid resume request for \"%1\" from %2." )
+ .arg( showfile,
+ sourceNick ) );
+ }
+}
+
+void Server::dccGetDone(DccTransfer* item)
+{
+ if (!item)
+ return;
+
+ QString showfile = item->getFileName();
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ if(item->getStatus()==DccTransfer::Done)
+ appendMessageToFrontmost(i18n("DCC"),i18n("%1 = file name, %2 = nickname of sender",
+ "Download of \"%1\" from %2 finished.").arg(showfile, item->getPartnerNick()));
+ else if(item->getStatus()==DccTransfer::Failed)
+ appendMessageToFrontmost(i18n("DCC"),i18n("%1 = file name, %2 = nickname of sender",
+ "Download of \"%1\" from %2 failed. Reason: %3.").arg(showfile,
+ item->getPartnerNick(), item->getStatusDetail()));
+}
+
+void Server::dccSendDone(DccTransfer* item)
+{
+ if (!item)
+ return;
+
+ QString showfile = item->getFileName();
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ if(item->getStatus()==DccTransfer::Done)
+ appendMessageToFrontmost(i18n("DCC"),i18n("%1 = file name, %2 = nickname of recipient",
+ "Upload of \"%1\" to %2 finished.").arg(showfile, item->getPartnerNick()));
+ else if(item->getStatus()==DccTransfer::Failed)
+ appendMessageToFrontmost(i18n("DCC"),i18n("%1 = file name, %2 = nickname of recipient",
+ "Upload of \"%1\" to %2 failed. Reason: %3.").arg(showfile, item->getPartnerNick(),
+ item->getStatusDetail()));
+}
+
+void Server::dccStatusChanged(DccTransfer *item, int newStatus, int oldStatus)
+{
+ if(!item)
+ return;
+
+ QString showfile = item->getFileName();
+
+ if(showfile.startsWith("\"") && showfile.endsWith("\""))
+ showfile = showfile.mid(1, showfile.length() - 2);
+
+ if ( item->getType() == DccTransfer::Send )
+ {
+ // when resuming, a message about the receiver's acceptance has been shown already, so suppress this message
+ if ( newStatus == DccTransfer::Transferring && oldStatus == DccTransfer::WaitingRemote && !item->isResumed() )
+ appendMessageToFrontmost( i18n( "DCC" ), i18n( "%1 = file name, %2 nickname of recipient",
+ "Sending \"%1\" to %2...").arg( showfile, item->getPartnerNick() ) );
+ }
+ else // type == Receive
+ {
+ if ( newStatus == DccTransfer::Transferring && !item->isResumed() )
+ {
+ appendMessageToFrontmost( i18n( "DCC" ),
+ i18n( "%1 = file name, %2 = file size, %3 = nickname of sender", "Downloading \"%1\" (%2) from %3...")
+ .arg( showfile,
+ ( item->getFileSize() == 0 ) ? i18n( "unknown size" ) : KIO::convertSize( item->getFileSize() ),
+ item->getPartnerNick() ) );
+ }
+ }
+}
+
+void Server::removeQuery(class Query* query)
+{
+ // Traverse through list to find the query
+ class Query* lookQuery = m_queryList.first();
+
+ while (lookQuery)
+ {
+ // Did we find our query?
+ if (lookQuery == query)
+ {
+ // Remove it from the query list
+ m_queryList.remove(lookQuery);
+ // break out of the loop
+ lookQuery = 0;
+ }
+ // else select next query
+ else lookQuery = m_queryList.next();
+ }
+
+ query->deleteLater();
+}
+
+void Server::sendJoinCommand(const QString& name, const QString& password)
+{
+ Konversation::OutputFilterResult result = getOutputFilter()->parse(getNickname(),
+ Preferences::commandChar() + "JOIN " + name + ' ' + password, QString());
+ queue(result.toServer);
+}
+
+void Server::joinChannel(const QString& name, const QString& hostmask)
+{
+ // (re-)join channel, open a new panel if needed
+ Channel* channel = getChannelByName(name);
+
+ if (!channel)
+ {
+ channel=getViewContainer()->addChannel(this,name);
+ Q_ASSERT(channel);
+ channel->setIdentity(getIdentity());
+ channel->setNickname(getNickname());
+ channel->indicateAway(m_away);
+
+ if (getServerGroup())
+ {
+ Konversation::ChannelSettings channelSettings = getServerGroup()->channelByNameFromHistory(name);
+ channel->setNotificationsEnabled(channelSettings.enableNotifications());
+ getServerGroup()->appendChannelHistory(channelSettings);
+ }
+
+ m_channelList.append(channel);
+
+ connect(channel,SIGNAL (sendFile()),this,SLOT (requestDccSend()) );
+ connect(this, SIGNAL(nicknameChanged(const QString&)), channel, SLOT(setNickname(const QString&)));
+ }
+ // Move channel from unjoined (if present) to joined list and add our own nickname to the joined list.
+ ChannelNickPtr channelNick = addNickToJoinedChannelsList(name, getNickname());
+
+ if ((channelNick->getHostmask() != hostmask ) && !hostmask.isEmpty())
+ {
+ NickInfoPtr nickInfo = channelNick->getNickInfo();
+ nickInfo->setHostmask(hostmask);
+ }
+
+ channel->joinNickname(channelNick);
+}
+
+void Server::removeChannel(Channel* channel)
+{
+ // Update NickInfo.
+ removeJoinedChannel(channel->getName());
+
+ if (getServerGroup())
+ {
+ Konversation::ChannelSettings channelSettings = getServerGroup()->channelByNameFromHistory(channel->getName());
+ channelSettings.setNotificationsEnabled(channel->notificationsEnabled());
+ getServerGroup()->appendChannelHistory(channelSettings);
+ }
+
+ m_channelList.removeRef(channel);
+}
+
+void Server::updateChannelMode(const QString &updater, const QString &channelName, char mode, bool plus, const QString &parameter)
+{
+
+ Channel* channel=getChannelByName(channelName);
+
+ if(channel) //Let the channel be verbose to the screen about the change, and update channelNick
+ channel->updateMode(updater, mode, plus, parameter);
+ // TODO: What is mode character for owner?
+ // Answer from JOHNFLUX - I think that admin is the same as owner. Channel.h has owner as "a"
+ // "q" is the likely answer.. UnrealIRCd and euIRCd use it.
+ // TODO these need to become dynamic
+ QString userModes="vhoqa"; // voice halfop op owner admin
+ int modePos = userModes.find(mode);
+ if (modePos > 0)
+ {
+ ChannelNickPtr updateeNick = getChannelNick(channelName, parameter);
+ if(!updateeNick)
+ {
+/*
+ if(parameter.isEmpty())
+ {
+ kdDebug() << "in updateChannelMode, a nick with no-name has had their mode '" << mode << "' changed to (" <<plus << ") in channel '" << channelName << "' by " << updater << ". How this happened, I have no idea. Please report this message to irc #konversation if you want to be helpful." << endl << "Ignoring the error and continuing." << endl;
+ //this will get their attention.
+ kdDebug() << kdBacktrace() << endl;
+ }
+ else
+ {
+ kdDebug() << "in updateChannelMode, could not find updatee nick " << parameter << " for channel " << channelName << endl;
+ kdDebug() << "This could indicate an obscure race condition that is safely being handled (like the mode of someone changed and they quit almost simulatanously, or it could indicate an internal error." << endl;
+ }
+*/
+ //TODO Do we need to add this nick?
+ return;
+ }
+
+ updateeNick->setMode(mode, plus);
+
+ // Note that channel will be moved to joined list if necessary.
+ addNickToJoinedChannelsList(channelName, parameter);
+ }
+
+ // Update channel ban list.
+ if (mode == 'b')
+ {
+ if (plus)
+ {
+ QDateTime when;
+ addBan(channelName, QString("%1 %2 %3").arg(parameter).arg(updater).arg(QDateTime::currentDateTime().toTime_t()));
+ } else {
+ removeBan(channelName, parameter);
+ }
+ }
+}
+
+void Server::updateChannelModeWidgets(const QString &channelName, char mode, const QString &parameter)
+{
+ Channel* channel=getChannelByName(channelName);
+ if(channel) channel->updateModeWidgets(mode,true,parameter);
+}
+
+void Server::updateChannelQuickButtons()
+{
+ Channel* channel=m_channelList.first();
+
+ while (channel)
+ {
+ channel->updateQuickButtons(Preferences::quickButtonList());
+ channel = m_channelList.next();
+ }
+}
+
+Channel* Server::getChannelByName(const QString& name)
+{
+ // Convert wanted channel name to lowercase
+ QString wanted=name;
+ wanted=wanted.lower();
+
+ // Traverse through list to find the channel named "name"
+ Channel* lookChannel =m_channelList.first();
+ while (lookChannel)
+ {
+ if (lookChannel->getName().lower()==wanted) return lookChannel;
+ lookChannel = m_channelList.next();
+ }
+ // No channel by that name found? Return 0. Happens on first channel join
+ return 0;
+}
+
+class Query* Server::getQueryByName(const QString& name)
+{
+ // Convert wanted query name to lowercase
+ QString wanted=name;
+ wanted=wanted.lower();
+
+ // Traverse through list to find the query with "name"
+ class Query* lookQuery=m_queryList.first();
+ while(lookQuery)
+ {
+ if(lookQuery->getName().lower()==wanted) return lookQuery;
+ lookQuery=m_queryList.next();
+ }
+ // No query by that name found? Must be a new query request. Return 0
+ return 0;
+}
+
+void Server::resetNickList(const QString& channelName)
+{
+ Channel* outChannel=getChannelByName(channelName);
+ if(outChannel) outChannel->resetNickList();
+}
+
+void Server::addPendingNickList(const QString& channelName,const QStringList& nickList)
+{
+ Channel* outChannel=getChannelByName(channelName);
+ if(outChannel) outChannel->addPendingNickList(nickList);
+}
+
+// Adds a nickname to the joinedChannels list.
+// Creates new NickInfo if necessary.
+// If needed, moves the channel from the unjoined list to the joined list.
+// Returns the NickInfo for the nickname.
+ChannelNickPtr Server::addNickToJoinedChannelsList(const QString& channelName, const QString& nickname)
+{
+ bool doChannelJoinedSignal = false;
+ bool doWatchedNickChangedSignal = false;
+ bool doChannelMembersChangedSignal = false;
+ QString lcNickname = nickname.lower();
+ // Create NickInfo if not already created.
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+ if (!nickInfo)
+ {
+ nickInfo = new NickInfo(nickname, this);
+ m_allNicks.insert(lcNickname, nickInfo);
+ doWatchedNickChangedSignal = isWatchedNick(nickname);
+ }
+ // if nickinfo already exists update nickname, in case we created the nickinfo based
+ // on e.g. an incorrectly capitalized ISON request
+ else
+ nickInfo->setNickname(nickname);
+
+ // Move the channel from unjoined list (if present) to joined list.
+ QString lcChannelName = channelName.lower();
+ ChannelNickMap *channel;
+ if (m_unjoinedChannels.contains(lcChannelName))
+ {
+ channel = m_unjoinedChannels[lcChannelName];
+ m_unjoinedChannels.remove(lcChannelName);
+ m_joinedChannels.insert(lcChannelName, channel);
+ doChannelJoinedSignal = true;
+ }
+ else
+ {
+ // Create a new list in the joined channels if not already present.
+ if (!m_joinedChannels.contains(lcChannelName))
+ {
+ channel = new ChannelNickMap;
+ m_joinedChannels.insert(lcChannelName, channel);
+ doChannelJoinedSignal = true;
+ }
+ else
+ channel = m_joinedChannels[lcChannelName];
+ }
+ // Add NickInfo to channel list if not already in the list.
+ ChannelNickPtr channelNick;
+ if (!channel->contains(lcNickname))
+ {
+ channelNick = new ChannelNick(nickInfo, false, false, false, false, false);
+ Q_ASSERT(channelNick);
+ channel->insert(lcNickname, channelNick);
+ doChannelMembersChangedSignal = true;
+ }
+ channelNick = (*channel)[lcNickname];
+ Q_ASSERT(channelNick); //Since we just added it if it didn't exist, it should be guaranteed to exist now
+ if (doWatchedNickChangedSignal) emit watchedNickChanged(this, nickname, true);
+ if (doChannelJoinedSignal) emit channelJoinedOrUnjoined(this, channelName, true);
+ if (doChannelMembersChangedSignal) emit channelMembersChanged(this, channelName, true, false, nickname);
+ return channelNick;
+}
+
+/** This function should _only_ be called from the ChannelNick class.
+ * This function should also be the only one to emit this signal.
+ * In this class, when channelNick is changed, it emits its own signal, and
+ * calls this function itself.
+ */
+void Server::emitChannelNickChanged(const ChannelNickPtr channelNick)
+{
+ emit channelNickChanged(this, channelNick);
+}
+
+/** This function should _only_ be called from the NickInfo class.
+ * This function should also be the only one to emit this signal.
+ * In this class, when nickInfo is changed, it emits its own signal, and
+ * calls this function itself.
+ */
+void Server::emitNickInfoChanged(const NickInfoPtr nickInfo)
+{
+ emit nickInfoChanged(this, nickInfo);
+}
+
+// Adds a nickname to the unjoinedChannels list.
+// Creates new NickInfo if necessary.
+// If needed, moves the channel from the joined list to the unjoined list.
+// If mode != 99 sets the mode for this nick in this channel.
+// Returns the NickInfo for the nickname.
+ChannelNickPtr Server::addNickToUnjoinedChannelsList(const QString& channelName, const QString& nickname)
+{
+ bool doChannelUnjoinedSignal = false;
+ bool doWatchedNickChangedSignal = false;
+ bool doChannelMembersChangedSignal = false;
+ QString lcNickname = nickname.lower();
+ // Create NickInfo if not already created.
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+ if (!nickInfo)
+ {
+ nickInfo = new NickInfo(nickname, this);
+ m_allNicks.insert(lcNickname, nickInfo);
+ doWatchedNickChangedSignal = isWatchedNick(nickname);
+ }
+ // Move the channel from joined list (if present) to unjoined list.
+ QString lcChannelName = channelName.lower();
+ ChannelNickMap *channel;
+ if (m_joinedChannels.contains(lcChannelName))
+ {
+ channel = m_joinedChannels[lcChannelName];
+ m_joinedChannels.remove(lcChannelName);
+ m_unjoinedChannels.insert(lcChannelName, channel);
+ doChannelUnjoinedSignal = true;
+ }
+ else
+ {
+ // Create a new list in the unjoined channels if not already present.
+ if (!m_unjoinedChannels.contains(lcChannelName))
+ {
+ channel = new ChannelNickMap;
+ m_unjoinedChannels.insert(lcChannelName, channel);
+ doChannelUnjoinedSignal = true;
+ }
+ else
+ channel = m_unjoinedChannels[lcChannelName];
+ }
+ // Add NickInfo to unjoinedChannels list if not already in the list.
+ ChannelNickPtr channelNick;
+ if (!channel->contains(lcNickname))
+ {
+ channelNick = new ChannelNick(nickInfo, false, false, false, false, false);
+ channel->insert(lcNickname, channelNick);
+ doChannelMembersChangedSignal = true;
+ }
+ channelNick = (*channel)[lcNickname];
+ // Set the mode for the nick in this channel.
+ if (doWatchedNickChangedSignal) emit watchedNickChanged(this, nickname, true);
+ if (doChannelUnjoinedSignal) emit channelJoinedOrUnjoined(this, channelName, false);
+ if (doChannelMembersChangedSignal) emit channelMembersChanged(this, channelName, false, false, nickname);
+ return channelNick;
+}
+
+/**
+ * If not already online, changes a nick to the online state by creating
+ * a NickInfo for it and emits various signals and messages for it.
+ * This method should only be called for nicks on the watch list.
+ * @param nickname The nickname that is online.
+ * @return Pointer to NickInfo for nick.
+ */
+NickInfoPtr Server::setWatchedNickOnline(const QString& nickname)
+{
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+ if (!nickInfo)
+ {
+ QString lcNickname = nickname.lower();
+ nickInfo = new NickInfo(nickname, this);
+ m_allNicks.insert(lcNickname, nickInfo);
+ }
+
+ emit watchedNickChanged(this, nickname, true);
+ KABC::Addressee addressee = nickInfo->getAddressee();
+ if (!addressee.isEmpty()) Konversation::Addressbook::self()->emitContactPresenceChanged(addressee.uid());
+
+ appendMessageToFrontmost(i18n("Notify"),"<a href=\"#"+nickname+"\">"+
+ i18n("%1 is online (%2).").arg(nickname).arg(getServerName())+"</a>", getStatusView());
+
+ static_cast<KonversationApplication*>(kapp)->notificationHandler()->nickOnline(getStatusView(), nickname);
+
+ nickInfo->setPrintedOnline(true);
+ return nickInfo;
+}
+
+void Server::setWatchedNickOffline(const QString& nickname, const NickInfoPtr nickInfo)
+{
+ if (nickInfo) {
+ KABC::Addressee addressee = nickInfo->getAddressee();
+ if (!addressee.isEmpty()) Konversation::Addressbook::self()->emitContactPresenceChanged(addressee.uid(), 1);
+ }
+
+ emit watchedNickChanged(this, nickname, false);
+
+ appendMessageToFrontmost(i18n("Notify"), i18n("%1 went offline (%2).").arg(nickname).arg(getServerName()), getStatusView());
+
+ static_cast<KonversationApplication*>(kapp)->notificationHandler()->nickOffline(getStatusView(), nickname);
+
+}
+
+bool Server::setNickOffline(const QString& nickname)
+{
+ QString lcNickname = nickname.lower();
+ NickInfoPtr nickInfo = getNickInfo(lcNickname);
+ bool wasOnline = nickInfo->getPrintedOnline();
+
+ if (nickInfo && wasOnline)
+ {
+ // Delete from query list, if present.
+ if (m_queryNicks.contains(lcNickname)) m_queryNicks.remove(lcNickname);
+ // Delete the nickname from all channels (joined or unjoined).
+ QStringList nickChannels = getNickChannels(lcNickname);
+ QStringList::iterator itEnd = nickChannels.end();
+
+ for(QStringList::iterator it = nickChannels.begin(); it != itEnd; ++it)
+ {
+ QString channel = (*it);
+ removeChannelNick(channel, lcNickname);
+ }
+
+ // Delete NickInfo.
+ if (m_allNicks.contains(lcNickname)) m_allNicks.remove(lcNickname);
+ // If the nick was in the watch list, emit various signals and messages.
+ if (isWatchedNick(nickname)) setWatchedNickOffline(nickname, nickInfo);
+
+ nickInfo->setPrintedOnline(false);
+ }
+
+ return (nickInfo != 0);
+}
+
+/**
+ * If nickname is no longer on any channel list, or the query list, delete it altogether.
+ * Call this routine only if the nick is not on the notify list or is on the notify
+ * list but is known to be offline.
+ * @param nickname The nickname to be deleted. Case insensitive.
+ * @return True if the nickname is deleted.
+ */
+bool Server::deleteNickIfUnlisted(const QString &nickname)
+{
+ QString lcNickname = nickname.lower();
+ // Don't delete our own nickinfo.
+ if (lcNickname == loweredNickname()) return false;
+
+ if (!m_queryNicks.contains(lcNickname))
+ {
+ QStringList nickChannels = getNickChannels(nickname);
+ if (nickChannels.isEmpty())
+ {
+ m_allNicks.remove(lcNickname);
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * Remove nickname from a channel (on joined or unjoined lists).
+ * @param channelName The channel name. Case insensitive.
+ * @param nickname The nickname. Case insensitive.
+ */
+void Server::removeChannelNick(const QString& channelName, const QString& nickname)
+{
+ bool doSignal = false;
+ bool joined = false;
+ QString lcChannelName = channelName.lower();
+ QString lcNickname = nickname.lower();
+ ChannelNickMap *channel;
+ if (m_joinedChannels.contains(lcChannelName))
+ {
+ channel = m_joinedChannels[lcChannelName];
+ if (channel->contains(lcNickname))
+ {
+ channel->remove(lcNickname);
+ doSignal = true;
+ joined = true;
+ // Note: Channel should not be empty because user's own nick should still be
+ // in it, so do not need to delete empty channel here.
+ }
+ }
+ else
+ {
+ if (m_unjoinedChannels.contains(lcChannelName))
+ {
+ channel = m_unjoinedChannels[lcChannelName];
+ if (channel->contains(lcNickname))
+ {
+ channel->remove(lcNickname);
+ doSignal = true;
+ joined = false;
+ // If channel is now empty, delete it.
+ // Caution: Any iterators across unjoinedChannels will be come invalid here.
+ if (channel->isEmpty()) m_unjoinedChannels.remove(lcChannelName);
+ }
+ }
+ }
+ if (doSignal) emit channelMembersChanged(this, channelName, joined, true, nickname);
+}
+
+QStringList Server::getWatchList()
+{
+ // no nickinfo ISON for the time being
+ return Preferences::notifyListByGroupName(getDisplayName());
+ if (m_serverISON)
+ return m_serverISON->getWatchList();
+ else
+ return QStringList();
+}
+
+QString Server::getWatchListString() { return getWatchList().join(" "); }
+
+QStringList Server::getISONList()
+{
+ // no nickinfo ISON for the time being
+ return Preferences::notifyListByGroupName(getDisplayName());
+ if (m_serverISON)
+ return m_serverISON->getISONList();
+ else
+ return QStringList();
+}
+
+QString Server::getISONListString() { return getISONList().join(" "); }
+
+/**
+ * Return true if the given nickname is on the watch list.
+ */
+bool Server::isWatchedNick(const QString& nickname)
+{
+ // Get watch list from preferences.
+ QString watchlist= ' ' + getWatchListString() + ' ';
+ // Search case-insensitivly
+ return (watchlist.find(' ' + nickname + ' ', 0, 0) != -1);
+}
+
+/**
+ * Remove channel from the joined list, placing it in the unjoined list.
+ * All the unwatched nicks are removed from the channel. If the channel becomes
+ * empty, it is deleted.
+ * @param channelName Name of the channel. Case sensitive.
+ */
+void Server::removeJoinedChannel(const QString& channelName)
+{
+ bool doSignal = false;
+ QStringList watchListLower = getWatchList();
+ QString lcChannelName = channelName.lower();
+ // Move the channel nick list from the joined to unjoined lists.
+ if (m_joinedChannels.contains(lcChannelName))
+ {
+ doSignal = true;
+ ChannelNickMap* channel = m_joinedChannels[lcChannelName];
+ m_joinedChannels.remove(lcChannelName);
+ m_unjoinedChannels.insert(lcChannelName, channel);
+ // Remove nicks not on the watch list.
+ bool allDeleted = true;
+ Q_ASSERT(channel);
+ if(!channel) return; //already removed.. hmm
+ ChannelNickMap::Iterator member;
+ for ( member = channel->begin(); member != channel->end() ;)
+ {
+ QString lcNickname = member.key();
+ if (watchListLower.find(lcNickname) == watchListLower.end())
+ {
+ // Remove the unwatched nickname from the unjoined channel.
+ channel->remove(member);
+ // If the nick is no longer listed in any channels or query list, delete it altogether.
+ deleteNickIfUnlisted(lcNickname);
+ member = channel->begin();
+ }
+ else
+ {
+ allDeleted = false;
+ ++member;
+ }
+ }
+ // If all were deleted, remove the channel from the unjoined list.
+ if (allDeleted)
+ {
+ channel = m_unjoinedChannels[lcChannelName];
+ m_unjoinedChannels.remove(lcChannelName);
+ delete channel; // recover memory!
+ }
+ }
+ if (doSignal) emit channelJoinedOrUnjoined(this, channelName, false);
+}
+
+// Renames a nickname in all NickInfo lists.
+// Returns pointer to the NickInfo object or 0 if nick not found.
+void Server::renameNickInfo(NickInfoPtr nickInfo, const QString& newname)
+{
+ if (nickInfo)
+ {
+ // Get existing lowercase nickname and rename nickname in the NickInfo object.
+ QString lcNickname = nickInfo->loweredNickname();
+ nickInfo->setNickname(newname);
+ nickInfo->setIdentified(false);
+ QString lcNewname = newname.lower();
+ // Rename the key in m_allNicks list.
+ m_allNicks.remove(lcNickname);
+ m_allNicks.insert(lcNewname, nickInfo);
+ // Rename key in the joined and unjoined lists.
+ QStringList nickChannels = getNickChannels(lcNickname);
+ QStringList::iterator itEnd = nickChannels.end();
+
+ for(QStringList::iterator it = nickChannels.begin(); it != itEnd; ++it)
+ {
+ const ChannelNickMap *channel = getChannelMembers(*it);
+ Q_ASSERT(channel);
+ ChannelNickPtr member = (*channel)[lcNickname];
+ Q_ASSERT(member);
+ const_cast<ChannelNickMap *>(channel)->remove(lcNickname);
+ const_cast<ChannelNickMap *>(channel)->insert(lcNewname, member);
+ }
+
+ // Rename key in Query list.
+ if (m_queryNicks.contains(lcNickname))
+ {
+ m_queryNicks.remove(lcNickname);
+ m_queryNicks.insert(lcNewname, nickInfo);
+ }
+ }
+ else
+ {
+ kdDebug() << "server::renameNickInfo() was called for newname='" << newname << "' but nickInfo is null" << endl;
+ }
+}
+
+Channel* Server::nickJoinsChannel(const QString &channelName, const QString &nickname, const QString &hostmask)
+{
+ Channel* outChannel=getChannelByName(channelName);
+ if(outChannel)
+ {
+ // Update NickInfo.
+ ChannelNickPtr channelNick = addNickToJoinedChannelsList(channelName, nickname);
+ NickInfoPtr nickInfo = channelNick->getNickInfo();
+ if ((nickInfo->getHostmask() != hostmask) && !hostmask.isEmpty())
+ {
+ nickInfo->setHostmask(hostmask);
+ }
+ outChannel->joinNickname(channelNick);
+ }
+
+ return outChannel;
+}
+
+void Server::addHostmaskToNick(const QString& sourceNick, const QString& sourceHostmask)
+{
+ // Update NickInfo.
+ NickInfoPtr nickInfo=getNickInfo(sourceNick);
+ if (nickInfo)
+ {
+ if ((nickInfo->getHostmask() != sourceHostmask) && !sourceHostmask.isEmpty())
+ {
+ nickInfo->setHostmask(sourceHostmask);
+ }
+ }
+}
+
+Channel* Server::removeNickFromChannel(const QString &channelName, const QString &nickname, const QString &reason, bool quit)
+{
+ Channel* outChannel=getChannelByName(channelName);
+ if(outChannel)
+ {
+ ChannelNickPtr channelNick = getChannelNick(channelName, nickname);
+ if(channelNick) outChannel->removeNick(channelNick,reason,quit);
+ }
+
+ // Remove the nick from the channel.
+ removeChannelNick(channelName, nickname);
+ // If not listed in any channel, and not on query list, delete the NickInfo,
+ // but only if not on the notify list. ISON replies will take care of deleting
+ // the NickInfo, if on the notify list.
+ if (!isWatchedNick(nickname))
+ {
+ QString nicky = nickname;
+ deleteNickIfUnlisted(nicky);
+ }
+
+ return outChannel;
+}
+
+void Server::nickWasKickedFromChannel(const QString &channelName, const QString &nickname, const QString &kicker, const QString &reason)
+{
+ Channel* outChannel=getChannelByName(channelName);
+ if(outChannel)
+ {
+ ChannelNickPtr channelNick = getChannelNick(channelName, nickname);
+
+ if(channelNick)
+ {
+ outChannel->kickNick(channelNick, kicker, reason);
+ // Tell Nickinfo
+ removeChannelNick(channelName,nickname);
+ }
+ }
+}
+
+void Server::removeNickFromServer(const QString &nickname,const QString &reason)
+{
+ Channel* channel = m_channelList.first();
+ while (channel)
+ {
+ // Check if nick is in this channel or not.
+ if(channel->getNickByName(nickname))
+ removeNickFromChannel(channel->getName(),nickname,reason,true);
+
+ channel = m_channelList.next();
+ }
+
+ Query* query=getQueryByName(nickname);
+ if (query) query->quitNick(reason);
+
+ // Delete the nick from all channels and then delete the nickinfo,
+ // emitting signal if on the watch list.
+ setNickOffline(nickname);
+}
+
+void Server::renameNick(const QString &nickname, const QString &newNick)
+{
+ if(nickname.isEmpty() || newNick.isEmpty())
+ {
+ kdDebug() << "server::renameNick called with empty strings! Trying to rename '" << nickname << "' to '" << newNick << "'" << endl;
+ return;
+ }
+
+ // If this was our own nickchange, tell our server object about it
+ if (nickname == getNickname())
+ {
+ setNickname(newNick);
+
+ // We may get a request from nickserv, so remove the auto-identify lock.
+ m_autoIdentifyLock = false;
+ }
+
+ //Actually do the rename.
+ NickInfoPtr nickInfo = getNickInfo(nickname);
+
+ if(!nickInfo)
+ {
+ kdDebug() << "server::renameNick called for nickname '" << nickname << "' to '" << newNick << "' but getNickInfo('" << nickname << "') returned no results." << endl;
+ }
+ else
+ {
+ renameNickInfo(nickInfo, newNick);
+ //The rest of the code below allows the channels to echo to the user to tell them that the nick has changed.
+
+ // Rename the nick in every channel they are in
+ Channel* channel=m_channelList.first();
+ while (channel)
+ {
+ // All we do is notify that the nick has been renamed.. we haven't actually renamed it yet
+ // Note that NickPanel has already updated, so pass new nick to getNickByName.
+ if (channel->getNickByName(newNick)) channel->nickRenamed(nickname, *nickInfo);
+ channel = m_channelList.next();
+ }
+ //Watched nicknames stuff
+ if (isWatchedNick(nickname)) setWatchedNickOffline(nickname, 0);
+ }
+ // If we had a query with this nick, change that name, too
+
+}
+
+void Server::userhost(const QString& nick,const QString& hostmask,bool away,bool /* ircOp */)
+{
+ addHostmaskToNick(nick, hostmask);
+ // remember my IP for DCC things
+ // myself
+ if (m_ownIpByUserhost.isEmpty() && nick == getNickname())
+ {
+ QString myhost = hostmask.section('@', 1);
+ // Use async lookup else you will be blocking GUI badly
+ KNetwork::KResolver::resolveAsync(this,SLOT(gotOwnResolvedHostByUserhost(KResolverResults)),myhost,"0");
+ }
+ NickInfoPtr nickInfo = getNickInfo(nick);
+ if (nickInfo)
+ {
+ if (nickInfo->isAway() != away)
+ {
+ nickInfo->setAway(away);
+ }
+ }
+}
+
+void Server::gotOwnResolvedHostByUserhost(KResolverResults res)
+{
+ if ( res.error() == KResolver::NoError && !res.isEmpty() )
+ m_ownIpByUserhost = res.first().address().nodeName();
+ else
+ kdDebug() << "Server::gotOwnResolvedHostByUserhost(): Got error: " << ( int )res.error() << endl;
+}
+
+void Server::appendServerMessageToChannel(const QString& channel,const QString& type,const QString& message)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if (outChannel) outChannel->appendServerMessage(type,message);
+}
+
+void Server::appendCommandMessageToChannel(const QString& channel,const QString& command,const QString& message, bool highlight)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if (outChannel)
+ {
+ outChannel->appendCommandMessage(command,message,true,true,!highlight);
+ }
+ else
+ {
+ appendStatusMessage(command, QString("%1 %2").arg(channel).arg(message));
+ }
+}
+
+void Server::appendStatusMessage(const QString& type,const QString& message)
+{
+ getStatusView()->appendServerMessage(type,message);
+}
+
+void Server::appendMessageToFrontmost(const QString& type,const QString& message, bool parseURL)
+{
+ getViewContainer()->appendToFrontmost(type, message, getStatusView(), parseURL);
+}
+
+void Server::setNickname(const QString &newNickname)
+{
+ m_nickname = newNickname;
+ m_loweredNickname = newNickname.lower();
+ emit nicknameChanged(newNickname);
+}
+
+void Server::setChannelTopic(const QString &channel, const QString &newTopic)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if(outChannel)
+ {
+ // encoding stuff is done in send()
+ outChannel->setTopic(newTopic);
+ }
+}
+
+ // Overloaded
+void Server::setChannelTopic(const QString& nickname, const QString &channel, const QString &newTopic)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if(outChannel)
+ {
+ // encoding stuff is done in send()
+ outChannel->setTopic(nickname,newTopic);
+ }
+}
+
+void Server::setTopicAuthor(const QString& channel, const QString& author, QDateTime time)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if(outChannel)
+ outChannel->setTopicAuthor(author, time);
+}
+
+void Server::endOfWho(const QString& target)
+{
+ Channel* channel = getChannelByName(target);
+ if(channel)
+ channel->scheduleAutoWho();
+}
+
+bool Server::isNickname(const QString &compare) const
+{
+ return (m_nickname == compare);
+}
+
+QString Server::getNickname() const
+{
+ return m_nickname;
+}
+
+QString Server::loweredNickname() const
+{
+ return m_loweredNickname;
+}
+
+QString Server::parseWildcards(const QString& toParse,
+const QString& sender,
+const QString& channelName,
+const QString& channelKey,
+const QString& nick,
+const QString& parameter)
+{
+ return parseWildcards(toParse,sender,channelName,channelKey,QStringList::split(' ',nick),parameter);
+}
+
+QString Server::parseWildcards(const QString& toParse,
+const QString& sender,
+const QString& channelName,
+const QString& channelKey,
+const QStringList& nickList,
+const QString& /*parameter*/)
+{
+ // TODO: parameter handling, since parameters are not functional yet
+
+ // store the parsed version
+ QString out;
+
+ // default separator
+ QString separator(" ");
+
+ int index = 0, found = 0;
+ QChar toExpand;
+
+ while ((found = toParse.find('%',index)) != -1)
+ {
+ // append part before the %
+ out.append(toParse.mid(index,found-index));
+ index = found + 1; // skip the part before, including %
+ if (index >= (int)toParse.length())
+ break; // % was the last char (not valid)
+ toExpand = toParse.at(index++);
+ if (toExpand == 's')
+ {
+ found = toParse.find('%',index);
+ if (found == -1) // no other % (not valid)
+ break;
+ separator = toParse.mid(index,found-index);
+ index = found + 1; // skip separator, including %
+ }
+ else if (toExpand == 'u')
+ {
+ out.append(nickList.join(separator));
+ }
+ else if (toExpand == 'c')
+ {
+ if(!channelName.isEmpty())
+ out.append(channelName);
+ }
+ else if (toExpand == 'o')
+ {
+ out.append(sender);
+ }
+ else if (toExpand == 'k')
+ {
+ if(!channelKey.isEmpty())
+ out.append(channelKey);
+ }
+ else if (toExpand == 'K')
+ {
+ if(getConnectionSettings().server().password().isEmpty())
+ out.append(getConnectionSettings().server().password());
+ }
+ else if (toExpand == 'n')
+ {
+ out.append("\n");
+ }
+ else if (toExpand == 'p')
+ {
+ out.append("%");
+ }
+ }
+
+ // append last part
+ out.append(toParse.mid(index,toParse.length()-index));
+ return out;
+}
+
+void Server::sendToAllChannels(const QString &text)
+{
+ // Send a message to all channels we are in
+ Channel* channel = m_channelList.first();
+ while (channel)
+ {
+ channel->sendChannelText(text);
+ channel = m_channelList.next();
+ }
+}
+
+void Server::invitation(const QString& nick,const QString& channel)
+{
+ if(KMessageBox::questionYesNo(getViewContainer()->getWindow(),
+ i18n("You were invited by %1 to join channel %2. "
+ "Do you accept the invitation?").arg(nick).arg(channel),
+ i18n("Invitation"),
+ i18n("Join"),
+ i18n("Ignore"),
+ "Invitation")==KMessageBox::Yes)
+ {
+ sendJoinCommand(channel);
+ }
+}
+
+void Server::scriptNotFound(const QString& name)
+{
+ appendMessageToFrontmost(i18n("DCOP"),i18n("Error: Could not find script \"%1\".").arg(name));
+}
+
+void Server::scriptExecutionError(const QString& name)
+{
+ appendMessageToFrontmost(i18n("DCOP"),i18n("Error: Could not execute script \"%1\". Check file permissions.").arg(name));
+}
+
+bool Server::isAChannel(const QString &channel) const
+{
+ return (getChannelTypes().contains(channel.at(0)) > 0);
+}
+
+void Server::addRawLog(bool show)
+{
+ if (!m_rawLog) m_rawLog = getViewContainer()->addRawLog(this);
+
+ connect(this, SIGNAL(serverOnline(bool)), m_rawLog, SLOT(serverOnline(bool)));
+
+ // bring raw log to front since the main window does not do this for us
+ if (show) emit showView(m_rawLog);
+}
+
+void Server::closeRawLog()
+{
+ if (m_rawLog) delete m_rawLog;
+}
+
+ChannelListPanel* Server::addChannelListPanel()
+{
+ if(!m_channelListPanel)
+ {
+ m_channelListPanel = getViewContainer()->addChannelListPanel(this);
+
+ connect(m_channelListPanel, SIGNAL(refreshChannelList()), this, SLOT(requestChannelList()));
+ connect(m_channelListPanel, SIGNAL(joinChannel(const QString&)), this, SLOT(sendJoinCommand(const QString&)));
+ connect(this, SIGNAL(serverOnline(bool)), m_channelListPanel, SLOT(serverOnline(bool)));
+ }
+
+ return m_channelListPanel;
+}
+
+void Server::addToChannelList(const QString& channel, int users, const QString& topic)
+{
+ addChannelListPanel();
+ m_channelListPanel->addToChannelList(channel, users, topic);
+}
+
+ChannelListPanel* Server::getChannelListPanel() const
+{
+ return m_channelListPanel;
+}
+
+void Server::closeChannelListPanel()
+{
+ if (m_channelListPanel) delete m_channelListPanel;
+}
+
+void Server::updateAutoJoin(Konversation::ChannelSettings channel)
+{
+ if (!channel.name().isEmpty())
+ {
+ setAutoJoin(true);
+
+ setAutoJoinCommands(QStringList("JOIN " + channel.name() + " " + channel.password()));
+
+ return;
+ }
+
+ Konversation::ChannelList tmpList;
+
+ if (m_channelList.isEmpty() && getServerGroup())
+ tmpList = getServerGroup()->channelList();
+ else
+ {
+ QPtrListIterator<Channel> it(m_channelList);
+ Channel* channel;
+
+ while ((channel = it.current()) != 0)
+ {
+ ++it;
+ tmpList << channel->channelSettings();
+ }
+ }
+
+ if (!tmpList.isEmpty())
+ {
+ setAutoJoin(true);
+
+ QStringList channels;
+ QStringList passwords;
+ QStringList joinCommands;
+ uint length = 0;
+
+ Konversation::ChannelList::iterator it;
+
+ for (it = tmpList.begin(); it != tmpList.end(); ++it)
+ {
+ QString channel = (*it).name();;
+ QString password = ((*it).password().isEmpty() ? "." : (*it).password());
+
+ int tempLen = channel.length();
+ length += getIdentity()->getCodec()->fromUnicode(channel, tempLen).length();
+ tempLen = password.length();
+ length += getIdentity()->getCodec()->fromUnicode(password, tempLen).length();
+
+ if (length + 6 < 512) // 6: "JOIN " plus separating space between chans and pws.
+ {
+ channels << channel;
+ passwords << password;
+ }
+ else
+ {
+ if (passwords.last() == ".") passwords.pop_back();
+
+ joinCommands << "JOIN " + channels.join(",") + " " + passwords.join(",");
+
+ channels.clear();
+ passwords.clear();
+
+ channels << channel;
+ passwords << password;
+
+ length = 0;
+
+ tempLen = channel.length();
+ length += getIdentity()->getCodec()->fromUnicode(channel, tempLen).length();
+ tempLen = password.length();
+ length += getIdentity()->getCodec()->fromUnicode(password, tempLen).length();
+ }
+ }
+
+ if (passwords.last() == ".") passwords.pop_back();
+
+ joinCommands << "JOIN " + channels.join(",") + " " + passwords.join(",");
+
+ setAutoJoinCommands(joinCommands);
+ }
+ else
+ setAutoJoin(false);
+}
+
+ViewContainer* Server::getViewContainer() const
+{
+ KonversationApplication* konvApp = static_cast<KonversationApplication *>(kapp);
+ return konvApp->getMainWindow()->getViewContainer();
+}
+
+bool Server::getUseSSL() const
+{
+ SSLSocket* sslsocket = dynamic_cast<SSLSocket*>(m_socket);
+
+ return (sslsocket != 0);
+}
+
+QString Server::getSSLInfo() const
+{
+ SSLSocket* sslsocket = dynamic_cast<SSLSocket*>(m_socket);
+
+ if(sslsocket)
+ return sslsocket->details();
+
+ return QString();
+}
+
+void Server::sendMultiServerCommand(const QString& command, const QString& parameter)
+{
+ emit multiServerCommand(command, parameter);
+}
+
+void Server::executeMultiServerCommand(const QString& command, const QString& parameter)
+{
+ if (command == "msg")
+ sendToAllChannelsAndQueries(parameter);
+ else
+ sendToAllChannelsAndQueries(Preferences::commandChar() + command + ' ' + parameter);
+}
+
+void Server::sendToAllChannelsAndQueries(const QString& text)
+{
+ // Send a message to all channels we are in
+ Channel* channel = m_channelList.first();
+
+ while (channel)
+ {
+ channel->sendChannelText(text);
+ channel = m_channelList.next();
+ }
+
+ // Send a message to all queries we are in
+ class Query* query = m_queryList.first();
+
+ while (query)
+ {
+ query->sendQueryText(text);
+ query = m_queryList.next();
+ }
+}
+
+bool Server::isSocketConnected() const
+{
+ if (!m_socket) return false;
+
+ return (m_socket->state() == KNetwork::KClientSocketBase::Connected);
+}
+
+void Server::updateConnectionState(Konversation::ConnectionState state)
+{
+ if (state != m_connectionState)
+ {
+ m_connectionState = state;
+
+ if (m_connectionState == Konversation::SSConnected)
+ emit serverOnline(true);
+ else if (m_connectionState != Konversation::SSConnecting)
+ emit serverOnline(false);
+
+ emit connectionStateChanged(this, state);
+ }
+}
+
+void Server::reconnect()
+{
+ if (isConnecting() || isSocketConnected()) quitServer();
+
+ // Use asynchronous invocation so that the broken() that the above
+ // quitServer might cause is delivered before connectToIRCServer
+ // sets SSConnecting and broken() announces a deliberate disconnect
+ // due to the failure allegedly occuring during SSConnecting.
+ QTimer::singleShot(0, this, SLOT(connectToIRCServer()));
+}
+
+void Server::disconnect()
+{
+ if (isSocketConnected()) quitServer();
+}
+
+void Server::requestAway(const QString& reason)
+{
+ QString awayReason = reason;
+ IdentityPtr identity = getIdentity();
+
+ if (awayReason.isEmpty() || !identity)
+ awayReason = i18n("Gone away for now");
+
+ setAwayReason(awayReason);
+
+ queue("AWAY :" + awayReason);
+}
+
+void Server::requestUnaway()
+{
+ queue("AWAY");
+}
+
+void Server::setAway(bool away)
+{
+ IdentityPtr identity = getIdentity();
+
+ if (away)
+ {
+ if (!m_away) startAwayTimer();
+
+ m_away = true;
+
+ emit awayState(true);
+
+ if (identity && !identity->getAwayNick().isEmpty() && identity->getAwayNick() != getNickname())
+ {
+ m_nonAwayNick = getNickname();
+ queue("NICK " + getIdentity()->getAwayNick());
+ }
+
+ appendMessageToFrontmost(i18n("Away"), i18n("You are now marked as being away."));
+
+ if (identity && identity->getShowAwayMessage())
+ {
+ QString message = identity->getAwayMessage();
+ sendToAllChannels(message.replace(QRegExp("%s", false), m_awayReason));
+ }
+
+ if (identity && identity->getInsertRememberLineOnAway())
+ emit awayInsertRememberLine(this);
+ }
+ else
+ {
+ m_awayReason = QString();
+
+ emit awayState(false);
+
+ if (!identity->getAwayNick().isEmpty() && !m_nonAwayNick.isEmpty())
+ {
+ queue("NICK " + m_nonAwayNick);
+ m_nonAwayNick = "";
+ }
+
+ if (m_away)
+ {
+ appendMessageToFrontmost(i18n("Away"), i18n("You are no longer marked as being away."));
+
+ if (identity && identity->getShowAwayMessage())
+ {
+ QString message = identity->getReturnMessage();
+ sendToAllChannels(message.replace(QRegExp("%t", false), awayTime()));
+ }
+ }
+ else
+ appendMessageToFrontmost(i18n("Away"), i18n("You are not marked as being away."));
+
+ m_away = false;
+ }
+}
+
+QString Server::awayTime() const
+{
+ QString retVal;
+
+ if (m_away)
+ {
+ int diff = QDateTime::currentDateTime().toTime_t() - m_awayTime;
+ int num = diff / 3600;
+
+ if (num < 10)
+ retVal = '0' + QString::number(num) + ':';
+ else
+ retVal = QString::number(num) + ':';
+
+ num = (diff % 3600) / 60;
+
+ if (num < 10) retVal += '0';
+
+ retVal += QString::number(num) + ':';
+
+ num = (diff % 3600) % 60;
+
+ if (num < 10) retVal += '0';
+
+ retVal += QString::number(num);
+ }
+ else
+ retVal = "00:00:00";
+
+ return retVal;
+}
+
+void Server::startAwayTimer()
+{
+ m_awayTime = QDateTime::currentDateTime().toTime_t();
+}
+
+KABC::Addressee Server::getOfflineNickAddressee(QString& nickname)
+{
+ if (m_serverISON)
+ return m_serverISON->getOfflineNickAddressee(nickname);
+ else
+ return KABC::Addressee();
+}
+
+void Server::enableIdentifyMsg(bool enabled)
+{
+ m_identifyMsg = enabled;
+}
+
+bool Server::identifyMsgEnabled()
+{
+ return m_identifyMsg;
+}
+
+void Server::addBan(const QString &channel, const QString &ban)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if(outChannel)
+ {
+ outChannel->addBan(ban);
+ }
+}
+
+void Server::removeBan(const QString &channel, const QString &ban)
+{
+ Channel* outChannel = getChannelByName(channel);
+ if(outChannel)
+ {
+ outChannel->removeBan(ban);
+ }
+}
+
+void Server::sendPing()
+{
+ //WHO ourselves once a minute in case the irc server has changed our
+ //hostmask, such as what happens when a Freenode cloak is activated.
+ //It might be more intelligent to only do this when there is text
+ //in the inputbox. Kinda changes this into a "do minutely"
+ //queue :-)
+ QStringList ql;
+ ql << "PING LAG" + QTime::currentTime().toString("hhmmss");
+ getInputFilter()->setAutomaticRequest("WHO", getNickname(), true);
+ ql << "WHO " + getNickname();
+ queueList(ql, HighPriority);
+
+ m_lagTime.start();
+ m_inputFilter.setLagMeasuring(true);
+ m_pingResponseTimer.start(1000 /*1 sec*/);
+}
+
+void Server::pongReceived()
+{
+ m_currentLag = m_lagTime.elapsed();
+ m_inputFilter.setLagMeasuring(false);
+ m_pingResponseTimer.stop();
+
+ emit serverLag(this, m_currentLag);
+
+ // Send another PING in 60 seconds
+ QTimer::singleShot(60000 /*60 sec*/, this, SLOT(sendPing()));
+}
+
+void Server::updateLongPongLag()
+{
+ if (isSocketConnected())
+ {
+ m_currentLag = m_lagTime.elapsed();
+ emit tooLongLag(this, m_currentLag);
+ // kdDebug() << "Current lag: " << currentLag << endl;
+
+ if (m_currentLag > (Preferences::maximumLagTime() * 1000))
+ m_socket->close();
+ }
+}
+
+void Server::updateEncoding()
+{
+ if(getViewContainer() && getViewContainer()->getFrontView())
+ getViewContainer()->updateViewEncoding(getViewContainer()->getFrontView());
+}
+
+#include "server.moc"
+
+// kate: space-indent on; tab-width 4; indent-width 4; mixed-indent off; replace-tabs on;
+// vim: set et sw=4 ts=4 cino=l1,cs,U1:
diff --git a/konversation/src/server.h b/konversation/src/server.h
new file mode 100644
index 0000000..e2781fb
--- /dev/null
+++ b/konversation/src/server.h
@@ -0,0 +1,717 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2002 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2005-2006 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eli J. MacKenzie <argonel at gmail.com>
+ Copyright (C) 2005-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef SERVER_H
+#define SERVER_H
+
+#include "common.h"
+#include "channelnick.h"
+#include "inputfilter.h"
+#include "outputfilter.h"
+#include "nickinfo.h"
+#include "sslsocket.h"
+#include "serversettings.h"
+#include "servergroupsettings.h"
+#include "connectionsettings.h"
+
+#include <qtimer.h>
+#include <qvaluevector.h>
+#include <qguardedptr.h>
+
+#include <ksharedptr.h>
+#include <kprocess.h>
+#include <ksocketbase.h>
+#include <kbufferedsocket.h>
+#include <kstreamsocket.h>
+
+
+class Channel;
+class DccTransfer;
+class DccTransferPanelItem;
+class Query;
+class StatusPanel;
+class Identity;
+class RawLog;
+class ChannelListPanel;
+class ScriptLauncher;
+class ServerISON;
+class QStrList;
+class ChatWindow;
+class ViewContainer;
+
+using namespace KNetwork;
+
+class IRCQueue;
+
+class Server : public QObject
+{
+ Q_OBJECT
+ friend class IRCQueue;
+ friend class QueueTuner;
+void resetNickSelection();
+ public:
+ enum QueuePriority
+ {
+ LowPriority, ///<slow queue, for automatic info gathering
+ StandardPriority, ///<regular queue, for chat and user initiated commands
+ HighPriority, ///<for pongs and quits
+
+ Howmanyqueuesdoweneedanywayquestionmark,
+
+ HiPriority=HighPriority,
+ LoPriority=LowPriority,
+ NormalPriorty=StandardPriority,
+ RegularPriority=StandardPriority
+ };
+
+ Server(QObject* parent, ConnectionSettings& settings);
+ ~Server();
+
+ int connectionId() { return m_connectionId; }
+
+ ConnectionSettings& getConnectionSettings() { return m_connectionSettings; }
+ void setConnectionSettings(ConnectionSettings& settings) { m_connectionSettings = settings; }
+
+ QString getDisplayName() { return m_connectionSettings.name(); }
+ QString getServerName() { return m_connectionSettings.server().host(); }
+
+ Konversation::ServerGroupSettingsPtr getServerGroup() { return m_connectionSettings.serverGroup(); }
+ IdentityPtr getIdentity() { return m_connectionSettings.identity(); }
+
+ Konversation::ConnectionState getConnectionState() { return m_connectionState; }
+
+ bool isConnected() { return (m_connectionState == Konversation::SSConnected); }
+ bool isConnecting() { return (m_connectionState == Konversation::SSConnecting); }
+
+ bool getUseSSL() const;
+ QString getSSLInfo() const;
+ int getPort();
+ int getLag() const;
+
+ void updateAutoJoin(Konversation::ChannelSettings channel = Konversation::ChannelSettings());
+
+ void resetNickList(const QString& channelName);
+ void addPendingNickList(const QString& channelName,const QStringList& nickList);
+ void addHostmaskToNick(const QString &sourceNick, const QString &sourceHostmask);
+ Channel* nickJoinsChannel(const QString &channelName, const QString &nickname, const QString &hostmask);
+ void renameNick(const QString &nickname,const QString &newNick);
+ Channel* removeNickFromChannel(const QString &channelName, const QString &nickname, const QString &reason, bool quit=false);
+ void nickWasKickedFromChannel(const QString &channelName, const QString &nickname, const QString &kicker, const QString &reason);
+ void removeNickFromServer(const QString &nickname, const QString &reason);
+
+ void setChannelTypes(const QString &types);
+ QString getChannelTypes() const;
+
+ // extended user modes support
+ void setPrefixes(const QString &modes, const QString& prefixes);
+ void mangleNicknameWithModes(QString &nickname,bool& isAdmin,bool& isOwner,bool &isOp,
+ bool& isHalfop,bool &hasVoice);
+
+ bool isAChannel(const QString &channel) const;
+ bool isNickname(const QString& compare) const;
+
+ QString getNickname() const;
+ QString loweredNickname() const;
+
+ QString getNextNickname();
+
+ InputFilter* getInputFilter() { return &m_inputFilter; }
+ Konversation::OutputFilter* getOutputFilter() { return m_outputFilter; };
+
+ void joinChannel(const QString& name, const QString& hostmask);
+ void removeChannel(Channel* channel);
+ void appendServerMessageToChannel(const QString& channel, const QString& type, const QString& message);
+ void appendCommandMessageToChannel(const QString& channel, const QString& command, const QString& message, bool highlight = true);
+ void appendStatusMessage(const QString& type,const QString& message);
+ void appendMessageToFrontmost(const QString& type,const QString& message, bool parseURL = true);
+
+ int getPreLength(const QString& command, const QString& dest);
+
+ void dcopRaw(const QString& command);
+ void dcopSay(const QString& target,const QString& command);
+ void dcopInfo(const QString& string);
+ void ctcpReply(const QString& receiver, const QString& text);
+
+ void setChannelTopic(const QString& channel, const QString& topic);
+ // Overloaded
+ void setChannelTopic(const QString& nickname, const QString& channel, const QString& topic);
+ void updateChannelMode(const QString& nick, const QString& channel, char mode, bool plus, const QString& parameter);
+ void updateChannelModeWidgets(const QString& channel, char mode, const QString& parameter);
+
+ Channel* getChannelByName(const QString& name);
+ Query* getQueryByName(const QString& name);
+ QString parseWildcards(const QString& toParse, const QString& nickname, const QString& channelName, const QString &channelKey, const QStringList &nickList, const QString& parameter);
+ QString parseWildcards(const QString& toParse, const QString& nickname, const QString& channelName, const QString &channelKey, const QString& nick, const QString& parameter);
+
+ void autoCommandsAndChannels();
+
+ void sendURIs(const QStrList& uris, const QString& nick);
+
+ void notifyAction(const QString& nick);
+ ChannelListPanel* getChannelListPanel() const;
+
+ StatusPanel* getStatusView() const { return m_statusView; }
+ virtual bool closeYourself(bool askForConfirmation=true);
+
+ QString getOwnIpByNetworkInterface();
+ QString getOwnIpByServerMessage();
+
+ void requestAway(const QString& reason = "");
+ void requestUnaway();
+
+ bool isAway() { return m_away; }
+ void setAway(bool away);
+ QString awayTime() const;
+
+ void setAwayReason(const QString& reason) { m_awayReason = reason; }
+
+ /**
+ * Returns true if the given nickname is known to be online.
+ * @param nickname The nickname. Case insensitive.
+ * @return True if the nickname is known to be online by the server.
+ * Note that a nick that is not in any of the joined channels and is not on the
+ * notify list, and has not initiated a query with you, may well be online,
+ * but server doesn't know if it is or not, in which case False is returned.
+ */
+ bool isNickOnline(const QString &nickname);
+ /** Given a nickname, returns NickInfo object.
+ * @param nickname The desired nickname. Case insensitive.
+ * @return Pointer to the nickinfo for this nickname if one exists.
+ * 0 if not known to be online.
+ *
+ * A NickInfo pointer will only be returned if the nickname is known to the Konvi
+ * Server object. A nick will be known if:
+ * - It is in one of the server's channels user has joined.
+ * - It is on the notify list and is known to be online.
+ * - The nick initiated a query with the user.
+ * A NickInfo is destroyed when it is offline.
+ */
+ NickInfoPtr getNickInfo(const QString& nickname);
+ /** Given a nickname, returns an existing NickInfo object, or creates a new NickInfo object.
+ * Guaranteed to return a nickinfo.
+ * @param nickname The desired nickname. Case sensitive.
+ * @return Pointer to the found or created NickInfo object.
+ */
+ NickInfoPtr obtainNickInfo(const QString& nickname);
+ /** Returns a list of all the NickInfos that are online and known to the server.
+ * Caller should not modify the list.
+ * A nick will be known if:
+ * - It is in one of the server's channels user has joined.
+ * - It is on the notify list and is known to be online.
+ * - The nick initiated a query with the user.
+ *
+ * @return A QMap of KSharedPtrs to NickInfos indexed by lowercase nickname.
+ */
+ const NickInfoMap* getAllNicks();
+ /** Returns the list of members for a channel in the joinedChannels list.
+ * A joinedChannel is one that you are in, as opposed to a channel that you aren't in,
+ * but one of your watched nicks is in.
+ * Code that calls this must not modify the list.
+ * @param channelName Name of desired channel. Case insensitive.
+ * @return A map of all the nicks in the channel.
+ * 0 if channel is not in the joinedChannels list.
+ */
+ const ChannelNickMap *getJoinedChannelMembers(const QString& channelName) const;
+ /** Returns the list of members for a channel in the unjoinedChannels list.
+ * An unjoinedChannel is a channel you aren't in. As such, this is only going to return
+ * nicks that you know are in that channel because a /whois has been done against them.
+ * This could be done automatically if they are on the watch list.
+ * Code that calls this must not modify the list.
+ * @param channelName Name of desired channel. Case insensitive.
+ * @return A map of only the nicks that we know that are in the channel.
+ * 0 if channel is not in the unjoinedChannels list.
+ */
+ const ChannelNickMap *getUnjoinedChannelMembers(const QString& channelName) const;
+ /** Searches the Joined and Unjoined lists for the given channel and returns the member list.
+ * Code that calls this must not modify the list.
+ * @param channelName Name of desired channel. Case insensitive.
+ * @return A map of nicks in that channel. 0 if channel is not in either list.
+ *
+ * @see getJoinedChannelMembers(const QString& channelName)
+ * @see getUnjoinedChannelMembers(const QString& channelName)
+ */
+ const ChannelNickMap *getChannelMembers(const QString& channelName) const;
+ /** Returns a list of all the joined channels that a nick is in.
+ * @param nickname The desired nickname. Case insensitive.
+ * @return A list of joined channels the nick is in. Empty if none.
+ */
+ QStringList getNickJoinedChannels(const QString& nickname);
+ /** Returns a list of all the channels (joined or unjoined) that a nick is in.
+ * @param nickname The desired nickname. Case insensitive.
+ * @return A list of channels the nick is in. Empty if none.
+ *
+ * A nick will not appear in the Unjoined channels list unless a WHOIS
+ * has been performed on it.
+ */
+ QStringList getNickChannels(const QString& nickname);
+ /** Returns pointer to the ChannelNick (mode and pointer to NickInfo) for a
+ * given channel and nickname.
+ * @param channelName The desired channel name. Case insensitive.
+ * @param nickname The desired nickname. Case insensitive.
+ * @return Pointer to ChannelNick structure containing a pointer
+ * to the NickInfo and the mode of the nick in the channel.
+ * 0 if not found.
+ */
+ ChannelNickPtr getChannelNick(const QString& channelName, const QString& nickname);
+ /** Updates a nickname in a channel. If not on the joined or unjoined lists, and nick
+ * is in the watch list, adds the channel and nick to the unjoinedChannels list.
+ * If mode != 99, sets the mode for the nick in the channel.
+ * Returns the NickInfo object if nick is on any lists, otherwise 0.
+ * @param channelName The channel name. Case sensitive.
+ * @param nickname The nickname. Case sensitive.
+ * @param mode Bit mask containing the modes the nick has in the channel,
+ * or 99 if not known. See channelnick.cpp for bit definitions.
+ */
+ ChannelNickPtr setChannelNick(const QString& channelName, const QString& nickname, unsigned int mode = 99);
+ /**
+ * Given the nickname of nick that is offline (or at least not known to be online),
+ * returns the addressbook entry (if any) for the nick.
+ * @param nickname Desired nickname. Case insensitive.
+ * @return Addressbook entry of the nick or empty if not found.
+ */
+ KABC::Addressee getOfflineNickAddressee(QString& nickname);
+
+ /**
+ * Returns a QPtrList of all channels
+ */
+ const QPtrList<Channel>& getChannelList() const { return m_channelList; }
+
+ void emitChannelNickChanged(const ChannelNickPtr channelNick);
+ void emitNickInfoChanged(const NickInfoPtr nickInfo);
+
+ /**
+ * Returns a list of all the nicks on the user watch list plus nicks in the addressbook.
+ */
+ QStringList getWatchList();
+ QString getWatchListString();
+ /**
+ * Return true if the given nickname is on the watch list.
+ */
+ bool isWatchedNick(const QString& nickname);
+ /**
+ * Returns a list of all the nicks on the watch list that are not in joined
+ * channels. ISON command is sent for these nicks.
+ */
+ QStringList getISONList();
+ QString getISONListString();
+
+ ViewContainer* getViewContainer() const;
+
+ /** Adds a nickname to the joinedChannels list.
+ * Creates new NickInfo if necessary.
+ * If needed, moves the channel from the unjoined list to the joined list.
+ * If needed, moves the nickname from the Offline to Online lists.
+ * If mode != 99 sets the mode for this nick in this channel.
+ * @param channelName The channel name. Case sensitive.
+ * @param nickname The nickname. Case sensitive.
+ * @return The NickInfo for the nickname.
+ */
+ ChannelNickPtr addNickToJoinedChannelsList(const QString& channelName, const QString& nickname);
+
+ void setAllowedChannelModes(const QString& modes) { m_allowedChannelModes = modes; }
+ QString allowedChannelModes() const { return m_allowedChannelModes; }
+
+ void registerWithServices();
+
+ // Blowfish stuff
+ QCString getKeyForRecipient(const QString& recipient) const;
+ void setKeyForRecipient(const QString& recipient, const QCString& key);
+
+ bool identifyMsg() const { return m_identifyMsg; }
+
+ ChannelListPanel* addChannelListPanel();
+
+ // invoked by DccTransferSend
+ void dccSendRequest(const QString& recipient,const QString& fileName,const QString& address,const QString& port,unsigned long size);
+ void dccPassiveSendRequest(const QString& recipient,const QString& fileName,const QString& address,unsigned long size,const QString& token);
+ // invoked by DccTransferRecv
+ void dccResumeGetRequest(const QString& sender,const QString& fileName,const QString& port,KIO::filesize_t startAt);
+ void dccReverseSendAck(const QString& partnerNick,const QString& fileName,const QString& ownAddress,const QString& ownPort,unsigned long size,const QString& reverseToken);
+
+ // IRCQueueManager
+ bool validQueue(QueuePriority priority); ///< is this queue index valid?
+ void resetQueues(); ///< Tell all of the queues to reset
+ static int _max_queue() { return Howmanyqueuesdoweneedanywayquestionmark-1; }
+
+ /** Forces the queued data to be sent in sequence of age, without pause.
+
+ This could flood you off but since you're quitting, we probably don't care. This is done
+ here instead of in the queues themselves so we can interleave the queues without having to
+ zip the queues together. If you want to quit the server normally without sending, reset the queues
+ first.
+ */
+ void flushQueues();
+
+ //These are really only here to limit where ircqueue.h is included
+ static void _fetchRates(); ///< on server construction
+ static void _stashRates(); ///< on application exit
+ static void _resetRates(); ///< when QueueTuner says to
+
+
+ signals:
+ void destroyed(int connectionId);
+ void nicknameChanged(const QString&);
+ void serverLag(Server* server,int msec); /// will be connected to KonversationMainWindow::updateLag()
+ void tooLongLag(Server* server, int msec);/// will be connected to KonversationMainWindow::updateLag()
+ void resetLag(); ///< will be emitted when new 303 came in
+ void nicksNowOnline(Server* server,const QStringList& list,bool changed);
+ void awayState(bool away); /// will be connected to any user input panel;
+ void multiServerCommand(const QString& command, const QString& parameter);
+
+ /**
+ * Emitted when the server gains/loses connection.
+ * Will be connected to all server dependant tabs.
+ */
+ void serverOnline(bool state);
+
+ /**
+ * Emitted every time something gets sent.
+ *
+ * @param bytes The count of bytes sent to the server, before re-encoding.
+ * @param encodedBytes The count of bytes sent to the server after re-encoding.
+ */
+ void sentStat(int bytes, int encodedBytes, IRCQueue *whichQueue);
+ //FIXME can anyone who can connect to a Server signal not know about an IRCQueue?
+ void sentStat(int bytes, int encodedBytes);
+
+ //Note that these signals haven't been implemented yet.
+ /// Fires when the information in a NickInfo object changes.
+ void nickInfoChanged(Server* server, const NickInfoPtr nickInfo);
+
+ /// Fires when the mode of a nick in a channel changes.
+ void channelNickChanged(Server* server, const ChannelNickPtr channelNick);
+
+ /// Fires when a nick leaves or joins a channel. Based on joined flag, receiver could
+ /// call getJoinedChannelMembers or getUnjoinedChannelMembers, or just
+ /// getChannelMembers to get a list of all the nicks now in the channel.
+ /// parted indicates whether the nick joined or left the channel.
+ void channelMembersChanged(Server* server, const QString& channelName, bool joined, bool parted, const QString& nickname);
+
+ /// Fires when a channel is moved to/from the Joinied/Unjoined lists.
+ /// joined indicates which list it is now on. Note that if joined is False, it is
+ /// possible the channel does not exist in any list anymore.
+ void channelJoinedOrUnjoined(Server* server, const QString& channelName, bool joined);
+
+ /// Fires when a nick on the watch list goes online or offline.
+ void watchedNickChanged(Server* server, const QString& nickname, bool online);
+ ///Fires when the user switches his state to away and has enabled "Insert Remember Line on away" in his identity.
+ void awayInsertRememberLine(Server* server);
+ void sslInitFailure();
+ void sslConnected(Server* server);
+
+ void connectionStateChanged(Server* server, Konversation::ConnectionState state);
+
+ void showView(ChatWindow* view);
+ void addDccPanel();
+ void addDccChat(const QString& myNick,const QString& nick,const QStringList& arguments,bool listen);
+
+ public slots:
+ void connectToIRCServer();
+
+ /** Adds line to queue if non-empty. */
+ bool queue(const QString& line, QueuePriority priority=StandardPriority);
+ //TODO this should be an overload, not a separate name. ambiguous cases need QString() around the cstring
+ bool queueList(const QStringList& buffer, QueuePriority priority=StandardPriority);
+
+ void setNickname(const QString &newNickname);
+ /** This is called when we want to open a new query, or focus an existing one.
+ * @param nickInfo The nickinfo we want to open the query to. Must exist.
+ * @param weinitiated This is whether we initiated this - did we do /query, or somebody else sending us a message.
+ * @return A pointer to a new or already-existing query. Guaranteed to be non-null
+ */
+ Query *addQuery(const NickInfoPtr & nickInfo, bool weinitiated);
+ void closeQuery(const QString &name);
+ void closeChannel(const QString &name);
+ void quitServer();
+ void openDccChat(const QString& nickname);
+ void requestDccChat(const QString& partnerNick, const QString& numericalOwnIp, const QString& ownPort);
+ void requestBan(const QStringList& users,const QString& channel,const QString& option);
+ void requestUnban(const QString& mask,const QString& channel);
+
+ void addDccSend(const QString &recipient,KURL fileURL, const QString &altFileName = QString(), uint fileSize = 0);
+ void removeQuery(Query *query);
+ void startNotifyTimer(int msec=0);
+ void sendJoinCommand(const QString& channelName, const QString& password = QString());
+ void requestChannelList();
+ void requestWhois(const QString& nickname);
+ void requestWho(const QString& channel);
+ void requestUserhost(const QString& nicks);
+ void requestTopic(const QString& channel);
+ void resolveUserhost(const QString& nickname);
+ void addRawLog(bool show);
+ void closeRawLog();
+ void addToChannelList(const QString& channel, int users, const QString& topic);
+ void closeChannelListPanel();
+ void updateChannelQuickButtons();
+ void sendMultiServerCommand(const QString& command, const QString& parameter);
+ void executeMultiServerCommand(const QString& command, const QString& parameter);
+ void reconnect();
+ void disconnect(); //FIXME is this overriding a qobject method? do we care?
+ void showSSLDialog();
+ void sendToAllChannels(const QString& text);
+ void notifyTimeout();
+
+ void enableIdentifyMsg(bool enabled);
+ bool identifyMsgEnabled();
+ void addBan(const QString &channel, const QString &ban);
+ void removeBan(const QString &channel, const QString &ban);
+
+ /// Called when we received a PONG from the server
+ void pongReceived();
+
+ protected slots:
+ void lookupFinished();
+ void preShellCommandExited(KProcess*);
+ void ircServerConnectionSuccess();
+ void startAwayTimer();
+ void incoming();
+ void processIncomingData();
+ /// Sends the QString to the socket. No longer has any internal concept of queueing
+ void toServer(QString&, IRCQueue *);
+ /// Because KBufferedSocket has no closed(int) signal we use this slot to call broken(0)
+ void closed();
+ void broken(int state);
+ /** This is connected to the SSLSocket failed.
+ * @param reason The reason why this failed. This is already translated, ready to show the user.
+ */
+ void sslError(const QString& reason);
+ void connectionEstablished(const QString& ownHost);
+ void notifyResponse(const QString& nicksOnline);
+ void slotNewDccTransferItemQueued(DccTransfer* transfer);
+ void startReverseDccSendTransfer(const QString& sourceNick,const QStringList& dccArguments);
+ void addDccGet(const QString& sourceNick,const QStringList& dccArguments);
+ void requestDccSend(); // -> to outputFilter, dccPanel
+ // -> to outputFilter
+ void requestDccSend(const QString& recipient);
+ // -> to inputFilter
+ void resumeDccGetTransfer(const QString& sourceNick,const QStringList& dccArguments);
+ // -> to inputFilter
+ void resumeDccSendTransfer(const QString& sourceNick,const QStringList& dccArguments);
+ void dccGetDone(DccTransfer* item);
+ void dccSendDone(DccTransfer* item);
+ void dccStatusChanged(DccTransfer* item, int newStatus, int oldStatus);
+ void scriptNotFound(const QString& name);
+ void scriptExecutionError(const QString& name);
+ void userhost(const QString& nick,const QString& hostmask,bool away,bool ircOp);
+ void setTopicAuthor(const QString& channel,const QString& author, QDateTime t);
+ void endOfWho(const QString& target);
+ void invitation(const QString& nick,const QString& channel);
+ void sendToAllChannelsAndQueries(const QString& text);
+ void gotOwnResolvedHostByWelcome(KResolverResults res);
+ void gotOwnResolvedHostByUserhost(KResolverResults res);
+
+ /// Send a PING to the server so we can meassure the lag
+ void sendPing();
+ /// Updates GUI when the lag gets high
+ void updateLongPongLag();
+
+ /// Update the encoding shown in the mainwindow's actions
+ void updateEncoding();
+
+ private slots:
+ void collectStats(int bytes, int encodedBytes);
+
+ /** Called in the server constructor if the preferences are set to run a command on a new server instance.
+ * This sets up the kprocess, runs it, and connects the signals to call preShellCommandExited when done. */
+ void doPreShellCommand();
+
+ protected:
+ // constants
+ static const int BUFFER_LEN=513;
+
+ /// Initialize the timers
+ void initTimers();
+
+ /// Connect to the signals used in this class.
+ void connectSignals();
+
+ int _send_internal(QString outputline); ///< Guts of old send, isn't a slot.
+
+ /** Adds a nickname to the unjoinedChannels list.
+ * Creates new NickInfo if necessary.
+ * If needed, moves the channel from the joined list to the unjoined list.
+ * If needed, moves the nickname from the Offline to the Online list.
+ * If mode != 99 sets the mode for this nick in this channel.
+ * @param channelName The channel name. Case sensitive.
+ * @param nickname The nickname. Case sensitive.
+ * @return The NickInfo for the nickname.
+ */
+ ChannelNickPtr addNickToUnjoinedChannelsList(const QString& channelName, const QString& nickname);
+
+ /**
+ * If not already online, changes a nick to the online state by creating
+ * a NickInfo for it and emits various signals and messages for it.
+ * This method should only be called for nicks on the watch list.
+ * @param nickname The nickname that is online.
+ * @return Pointer to NickInfo for nick.
+ */
+ NickInfoPtr setWatchedNickOnline(const QString& nickname);
+
+ /**
+ * Display offline notification for a certain nickname. The function doesn't change NickInfo objects.
+ * If NickInfoPtr is given, then also the integration with KAddressBook is engaged (i.e. the
+ * nick is marked as away)
+ * @param nickname The nickname that is offline
+ * @param nickInfo Pointer to NickInfo for nick
+ */
+ void setWatchedNickOffline(const QString& nickname, const NickInfoPtr nickInfo);
+
+ /**
+ * If nickname is no longer on any channel list, or the query list, delete it altogether.
+ * Call this routine only if the nick is not on the notify list or is on the notify
+ * list but is known to be offline.
+ * @param nickname The nickname to be deleted. Case insensitive.
+ * @return True if the nickname is deleted.
+ */
+ bool deleteNickIfUnlisted(const QString &nickname);
+
+ /**
+ * If not already offline, changes a nick to the offline state.
+ * Removes it from all channels on the joined and unjoined lists.
+ * If the nick is in the watch list, and went offline, emits a signal,
+ * posts a Notify message, and posts a KNotify.
+ * If the nick is in the addressbook, and went offline, informs addressbook of change.
+ * If the nick goes offline, the NickInfo is deleted.
+ *
+ * @param nickname The nickname. Case sensitive.
+ * @return True if the nick was online.
+ */
+ bool setNickOffline(const QString& nickname);
+
+ /** Remove nickname from a channel (on joined or unjoined lists).
+ * @param channelName The channel name. Case insensitive.
+ * @param nickname The nickname. Case insensitive.
+ */
+ void removeChannelNick(const QString& channelName, const QString& nickname);
+
+ /** Remove channel from the joined list.
+ * Nicknames in the channel are added to the unjoined list if they are in the watch list.
+ * @param channelName The channel name. Case insensitive.
+ */
+ void removeJoinedChannel(const QString& channelName);
+
+ /** Renames a nickname in all NickInfo lists.
+ * @param nickInfo Pointer to existing NickInfo object.
+ * @param newname New nickname for the nick. Case sensitive.
+ */
+ void renameNickInfo(NickInfoPtr nickInfo, const QString& newname);
+
+ bool getAutoJoin() const;
+ void setAutoJoin(bool on);
+
+ QStringList getAutoJoinCommands() const { return m_autoJoinCommands; }
+ void setAutoJoinCommands(const QStringList& commands) { m_autoJoinCommands = commands; }
+
+ unsigned int m_completeQueryPosition;
+ QValueList<int> m_nickIndices;
+ QStringList m_referenceNicklist;
+
+ // TODO roll these into a QMap.
+ QString m_serverNickPrefixes; // Prefixes used by the server to indicate a mode
+ QString m_serverNickPrefixModes; // if supplied: modes related to those prefixes
+ QString m_channelPrefixes; // prefixes that indicate channel names. defaults to RFC1459 "#&"
+
+ bool m_autoJoin;
+
+ QStringList m_autoJoinCommands;
+
+ KNetwork::KStreamSocket* m_socket;
+
+ QTimer m_reconnectTimer;
+ QTimer m_incomingTimer;
+ QTimer m_notifyTimer;
+ QStringList m_notifyCache; // List of users found with ISON
+ int m_checkTime; // Time elapsed while waiting for server 303 response
+ int m_currentLag;
+
+ QCString m_inputBufferIncomplete;
+ QStringList m_inputBuffer;
+
+ QValueVector<IRCQueue *> m_queues;
+ int m_bytesSent, m_encodedBytesSent, m_linesSent, m_bytesReceived;
+
+ QString m_nickname;
+ QString m_loweredNickname;
+ QString m_ownIpByUserhost; // RPL_USERHOST
+ QString m_ownIpByWelcome; // RPL_WELCOME
+
+ QPtrList<Channel> m_channelList;
+ QPtrList<Query> m_queryList;
+
+ InputFilter m_inputFilter;
+ Konversation::OutputFilter* m_outputFilter;
+
+ QGuardedPtr<StatusPanel> m_statusView;
+ QGuardedPtr<RawLog> m_rawLog;
+ QGuardedPtr<ChannelListPanel> m_channelListPanel;
+
+ bool m_away;
+ QString m_awayReason;
+ QString m_nonAwayNick;
+ int m_awayTime;
+
+ Konversation::ConnectionState m_connectionState;
+ void updateConnectionState(Konversation::ConnectionState state);
+ bool isSocketConnected() const;
+
+ ScriptLauncher* m_scriptLauncher;
+
+ KProcess m_preShellCommand;
+
+ private:
+ /// Helper object to construct ISON (notify) list and map offline nicks to
+ /// addressbook.
+ ServerISON* m_serverISON;
+ /// All nicks known to this server. Note this is NOT a list of all nicks on the server.
+ /// Any nick appearing in this list is online, but may not necessarily appear in
+ /// any of the joined or unjoined channel lists because a WHOIS has not yet been
+ /// performed on the nick.
+ NickInfoMap m_allNicks;
+ /// List of membership lists for joined channels. A "joined" channel is a channel
+ /// that user has joined, i.e., a tab appears for the channel in the main window.
+ ChannelMembershipMap m_joinedChannels;
+ /// List of membership lists for unjoined channels. These come from WHOIS responses.
+ /// Note that this is NOT a list of all channels on the server, just those we are
+ /// interested in because of nicks in the Nick Watch List.
+ ChannelMembershipMap m_unjoinedChannels;
+ /// List of nicks in Queries.
+ NickInfoMap m_queryNicks;
+
+ QString m_allowedChannelModes;
+
+ // Blowfish key map
+ QMap<QString,QCString> m_keyMap;
+
+ bool m_identifyMsg;
+ bool m_autoIdentifyLock;
+
+ /// Used to lock incomingTimer while processing message.
+ bool m_processingIncoming;
+
+ /// Meassures the lag between PING and PONG
+ QTime m_lagTime;
+ /// Updates the gui when the lag gets too high
+ QTimer m_pingResponseTimer;
+
+ /// Previous ISON reply of the server, needed for comparison with the next reply
+ QStringList m_prevISONList;
+
+ ConnectionSettings m_connectionSettings;
+
+ static int m_availableConnectionId;
+ int m_connectionId;
+};
+
+#endif
diff --git a/konversation/src/serverdialog.cpp b/konversation/src/serverdialog.cpp
new file mode 100644
index 0000000..1c185dd
--- /dev/null
+++ b/konversation/src/serverdialog.cpp
@@ -0,0 +1,103 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#include "serverdialog.h"
+#include "serversettings.h"
+
+#include <qlayout.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qspinbox.h>
+#include <qcheckbox.h>
+#include <qwhatsthis.h>
+
+#include <klocale.h>
+#include <kmessagebox.h>
+
+
+namespace Konversation
+{
+
+ ServerDialog::ServerDialog(const QString& title, QWidget *parent, const char *name)
+ : KDialogBase(Plain, title, Ok|Cancel, Ok, parent, name)
+ {
+ QFrame* mainWidget = plainPage();
+ QGridLayout* mainLayout = new QGridLayout(mainWidget, 1, 4, 0, spacingHint());
+
+ QLabel* serverLbl = new QLabel(i18n("&Server:"), mainWidget);
+ m_serverEdit = new QLineEdit(mainWidget);
+ QWhatsThis::add(m_serverEdit, i18n("The name or IP number of the server. irchelp.org maintains a list of servers."));
+ serverLbl->setBuddy(m_serverEdit);
+
+ QLabel* portLbl = new QLabel(i18n("&Port:"), mainWidget);
+
+ m_portSBox = new QSpinBox(1, 65535, 1, mainWidget);
+ m_portSBox->setValue(6667);
+ QWhatsThis::add(m_portSBox, i18n("Enter the port number required to connect to the server. For most servers, this should be <b>6667</b>."));
+ portLbl->setBuddy(m_portSBox);
+
+ QLabel* passwordLbl = new QLabel(i18n("Pass&word:"), mainWidget);
+ m_passwordEdit = new QLineEdit(mainWidget);
+ m_passwordEdit->setEchoMode(QLineEdit::Password);
+ passwordLbl->setBuddy(m_passwordEdit);
+
+ m_sslChBox = new QCheckBox(i18n("S&ecure connection (SSL)"), mainWidget);
+ QWhatsThis::add(m_sslChBox, i18n("Check if you want to use Secure Socket Layer (SSL) protocol to communicate with the server. This protects the privacy of your communications between your computer and the IRC server. The server must support SSL protocol for this to work. In most cases, if the server does not support SSL, the connection will fail."));
+
+ mainLayout->addWidget(serverLbl, 0, 0);
+ mainLayout->addWidget(m_serverEdit, 0, 1);
+ mainLayout->addWidget(portLbl, 0, 2);
+ mainLayout->addWidget(m_portSBox, 0, 3);
+ mainLayout->addWidget(passwordLbl, 1, 0);
+ mainLayout->addMultiCellWidget(m_passwordEdit, 1, 1, 1, 3);
+ mainLayout->addMultiCellWidget(m_sslChBox, 2, 2, 0, 3);
+
+ m_serverEdit->setFocus();
+ }
+
+ ServerDialog::~ServerDialog()
+ {
+ }
+
+ void ServerDialog::setServerSettings(const ServerSettings& server)
+ {
+ m_serverEdit->setText(server.host());
+ m_portSBox->setValue(server.port());
+ m_passwordEdit->setText(server.password());
+ m_sslChBox->setChecked(server.SSLEnabled());
+ }
+
+ ServerSettings ServerDialog::serverSettings()
+ {
+ ServerSettings server;
+ server.setHost(m_serverEdit->text());
+ server.setPort(m_portSBox->value());
+ server.setPassword(m_passwordEdit->text());
+ server.setSSLEnabled(m_sslChBox->isChecked());
+
+ return server;
+ }
+
+ void ServerDialog::slotOk()
+ {
+ if (m_serverEdit->text().isEmpty())
+ {
+ KMessageBox::error(this, i18n("The server address is required."));
+ }
+ else
+ {
+ accept();
+ }
+ }
+}
+
+#include "serverdialog.moc"
diff --git a/konversation/src/serverdialog.h b/konversation/src/serverdialog.h
new file mode 100644
index 0000000..48ece84
--- /dev/null
+++ b/konversation/src/serverdialog.h
@@ -0,0 +1,48 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+#ifndef KONVERSATIONSERVERDIALOG_H
+#define KONVERSATIONSERVERDIALOG_H
+
+#include <kdialogbase.h>
+
+class QLineEdit;
+class QSpinBox;
+class QCheckBox;
+
+namespace Konversation
+{
+
+ class ServerSettings;
+
+ class ServerDialog : public KDialogBase
+ {
+ Q_OBJECT
+
+ public:
+ explicit ServerDialog(const QString& title, QWidget *parent = 0, const char *name = 0);
+ ~ServerDialog();
+
+ void setServerSettings(const ServerSettings& server);
+ ServerSettings serverSettings();
+
+ protected slots:
+ void slotOk();
+
+ private:
+ QLineEdit* m_serverEdit;
+ QSpinBox* m_portSBox;
+ QLineEdit* m_passwordEdit;
+ QCheckBox* m_sslChBox;
+ };
+
+}
+#endif
diff --git a/konversation/src/servergroupdialog.cpp b/konversation/src/servergroupdialog.cpp
new file mode 100644
index 0000000..0bfbfb2
--- /dev/null
+++ b/konversation/src/servergroupdialog.cpp
@@ -0,0 +1,418 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "servergroupdialog.h"
+#include "identity.h"
+#include "konversationapplication.h"
+#include "viewcontainer.h"
+#include "preferences.h"
+#include "serversettings.h"
+#include "serverdialog.h"
+#include "channeldialog.h"
+#include "identitydialog.h"
+#include "servergroupdialogui.h"
+
+#include <qframe.h>
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qlineedit.h>
+#include <qcombobox.h>
+#include <qgroupbox.h>
+#include <qlistbox.h>
+#include <qpushbutton.h>
+#include <qtoolbutton.h>
+#include <qcheckbox.h>
+#include <qwhatsthis.h>
+
+#include <klocale.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <kcombobox.h>
+#include <klistbox.h>
+#include <kpushbutton.h>
+
+
+namespace Konversation
+{
+
+ ServerGroupDialog::ServerGroupDialog(const QString& title, QWidget *parent, const char *name)
+ : KDialogBase(Swallow, title, Ok|Cancel, Ok, parent, name)
+ {
+ m_id = -1;
+ m_identitiesNeedsUpdate = false;
+ m_editedServer = false;
+
+ m_mainWidget = new ServerGroupDialogUI(this);
+ setMainWidget(m_mainWidget);
+
+ QWhatsThis::add(m_mainWidget->m_nameEdit, i18n("Enter the name of the Network here. You may create as many entries in the Server List screen with the same Network as you like."));
+ m_mainWidget->m_networkLabel->setBuddy(m_mainWidget->m_nameEdit);
+
+ QWhatsThis::add(m_mainWidget->m_identityCBox,i18n("Choose an existing Identity or click the Edit button to add a new Identity or edit an existing one. The Identity will identify you and determine your nickname when you connect to the network."));
+ m_mainWidget->m_identityLabel->setBuddy(m_mainWidget->m_identityCBox);
+ connect(m_mainWidget->m_editIdentityButton, SIGNAL(clicked()), this, SLOT(editIdentity()));
+
+ IdentityList identities = Preferences::identityList();
+
+ for (IdentityList::ConstIterator it = identities.begin(); it != identities.end(); ++it)
+ m_mainWidget->m_identityCBox->insertItem((*it)->getName());
+
+ QWhatsThis::add(m_mainWidget->m_commandEdit, i18n("Optional. This command will be sent to the server after connecting. Example: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode network, which requires users to register their nickname with a password and login when connecting. <i>konvirocks<i> is the password for the nickname given in Identity. You may enter more than one command by separating them with semicolons."));
+ m_mainWidget->m_commandsLabel->setBuddy(m_mainWidget->m_commandEdit);
+
+ QWhatsThis::add(m_mainWidget->m_autoConnectCBox, i18n("Check here if you want Konversation to automatically connect to this network whenever you open Konversation."));
+
+ QWhatsThis::add(m_mainWidget->m_serverLBox, i18n("This is a list of IRC Servers in the network. When connecting to the network, Konversation will attempt to connect to the top server first. If this fails, it will attempt the second server. If this fails, it will attempt the third, and so on. At least one server must be specified. Click a server to highlight it."));
+ m_mainWidget->m_removeServerButton->setIconSet(SmallIconSet("editdelete"));
+ m_mainWidget->m_removeServerButton->setTextLabel(i18n("Delete"));
+ m_mainWidget->m_upServerBtn->setIconSet(SmallIconSet("up"));
+ m_mainWidget->m_downServerBtn->setIconSet(SmallIconSet("down"));
+
+ connect(m_mainWidget->m_addServerButton, SIGNAL(clicked()), this, SLOT(addServer()));
+ connect(m_mainWidget->m_changeServerButton, SIGNAL(clicked()), this, SLOT(editServer()));
+ connect(m_mainWidget->m_removeServerButton, SIGNAL(clicked()), this, SLOT(deleteServer()));
+ connect(m_mainWidget->m_serverLBox, SIGNAL(selectionChanged()), this, SLOT(updateServerArrows()));
+ connect(m_mainWidget->m_upServerBtn, SIGNAL(clicked()), this, SLOT(moveServerUp()));
+ connect(m_mainWidget->m_downServerBtn, SIGNAL(clicked()), this, SLOT(moveServerDown()));
+
+ QWhatsThis::add(m_mainWidget->m_channelLBox, i18n("Optional. This is a list of the channels that will be automatically joined once Konversation has connected to a server. You may leave this blank if you wish to not automatically join any channels."));
+ m_mainWidget->m_removeChannelButton->setIconSet(SmallIconSet("editdelete"));
+ m_mainWidget->m_removeChannelButton->setTextLabel(i18n("Delete"));
+ m_mainWidget->m_upChannelBtn->setIconSet(SmallIconSet("up"));
+ m_mainWidget->m_downChannelBtn->setIconSet(SmallIconSet("down"));
+
+ connect(m_mainWidget->m_addChannelButton, SIGNAL(clicked()), this, SLOT(addChannel()));
+ connect(m_mainWidget->m_changeChannelButton, SIGNAL(clicked()), this, SLOT(editChannel()));
+ connect(m_mainWidget->m_removeChannelButton, SIGNAL(clicked()), this, SLOT(deleteChannel()));
+ connect(m_mainWidget->m_channelLBox, SIGNAL(selectionChanged()), this, SLOT(updateChannelArrows()));
+ connect(m_mainWidget->m_upChannelBtn, SIGNAL(clicked()), this, SLOT(moveChannelUp()));
+ connect(m_mainWidget->m_downChannelBtn, SIGNAL(clicked()), this, SLOT(moveChannelDown()));
+
+ setButtonOK(KGuiItem(i18n("&OK"), "button_ok", i18n("Change network information")));
+ setButtonCancel(KGuiItem(i18n("&Cancel"), "button_cancel", i18n("Discards all changes made")));
+
+ m_mainWidget->m_nameEdit->setFocus();
+ }
+
+ ServerGroupDialog::~ServerGroupDialog()
+ {
+ }
+
+ void ServerGroupDialog::setServerGroupSettings(ServerGroupSettingsPtr settings)
+ {
+ m_id = settings->id();
+ m_sortIndex = settings->sortIndex();
+ m_expanded = settings->expanded();
+ m_enableNotifications = settings->enableNotifications();
+ m_mainWidget->m_nameEdit->setText(settings->name());
+ m_mainWidget->m_identityCBox->setCurrentText(settings->identity()->getName());
+ m_mainWidget->m_commandEdit->setText(settings->connectCommands());
+ m_mainWidget->m_autoConnectCBox->setChecked(settings->autoConnectEnabled());
+ m_serverList = settings->serverList();
+ m_channelHistory = settings->channelHistory();
+ ServerList::iterator it;
+ m_mainWidget->m_serverLBox->clear();
+
+ for(it = m_serverList.begin(); it != m_serverList.end(); ++it)
+ {
+ m_mainWidget->m_serverLBox->insertItem((*it).host());
+ }
+
+ m_channelList = settings->channelList();
+ ChannelList::iterator it2;
+
+ for(it2 = m_channelList.begin(); it2 != m_channelList.end(); ++it2)
+ {
+ m_mainWidget->m_channelLBox->insertItem((*it2).name());
+ }
+ }
+
+ ServerGroupSettingsPtr ServerGroupDialog::serverGroupSettings()
+ {
+ ServerGroupSettingsPtr settings = new ServerGroupSettings(m_id);
+ settings->setSortIndex(m_sortIndex);
+ settings->setName(m_mainWidget->m_nameEdit->text());
+ IdentityList identities = Preferences::identityList();
+ settings->setIdentityId(identities[m_mainWidget->m_identityCBox->currentItem()]->id());
+ settings->setConnectCommands(m_mainWidget->m_commandEdit->text());
+ settings->setAutoConnectEnabled(m_mainWidget->m_autoConnectCBox->isChecked());
+ settings->setServerList(m_serverList);
+ settings->setChannelList(m_channelList);
+ settings->setChannelHistory(m_channelHistory);
+ settings->setNotificationsEnabled(m_enableNotifications);
+ settings->setExpanded(m_expanded);
+
+ return settings;
+ }
+
+ ServerSettings ServerGroupDialog::editedServer()
+ {
+ if (m_editedServer && m_editedServerIndex < m_serverList.count())
+ {
+ return m_serverList[m_editedServerIndex];
+ }
+
+ return ServerSettings("");
+ }
+
+ int ServerGroupDialog::execAndEditServer(ServerSettings server)
+ {
+ show();
+ editServer(server);
+ return exec();
+ }
+
+ void ServerGroupDialog::addServer()
+ {
+ ServerDialog dlg(i18n("Add Server"), this);
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ ServerSettings server = dlg.serverSettings();
+ m_mainWidget->m_serverLBox->insertItem(server.host());
+ m_serverList.append(server);
+ updateServerArrows();
+ }
+ }
+
+ void ServerGroupDialog::editServer()
+ {
+ uint current = m_mainWidget->m_serverLBox->currentItem();
+
+ if(current < m_serverList.count())
+ {
+ ServerDialog dlg(i18n("Edit Server"), this);
+ dlg.setServerSettings(m_serverList[current]);
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ ServerSettings server = dlg.serverSettings();
+ m_mainWidget->m_serverLBox->changeItem(server.host(), current);
+ m_serverList[current] = server;
+ }
+ }
+ }
+
+ void ServerGroupDialog::editServer(ServerSettings server)
+ {
+ // Track the server the Server List dialog told us to edit
+ // and find out which server to select in the listbox
+ m_editedServer = true;
+ m_editedServerIndex = m_serverList.findIndex(server);
+ m_mainWidget->m_serverLBox->setCurrentItem(m_editedServerIndex);
+
+ editServer();
+ }
+
+ void ServerGroupDialog::deleteServer()
+ {
+ uint current = m_mainWidget->m_serverLBox->currentItem();
+
+ if (current < m_serverList.count())
+ {
+ m_serverList.remove(m_serverList.at(current));
+ m_mainWidget->m_serverLBox->removeItem(current);
+
+ // Track the server the Server List dialog told us to edit
+ if (m_editedServer && m_editedServerIndex==current)
+ m_editedServer = false;
+ }
+
+ updateServerArrows();
+ }
+
+ void ServerGroupDialog::updateServerArrows()
+ {
+ m_mainWidget->m_upServerBtn->setEnabled( m_mainWidget->m_serverLBox->count()>1 && m_mainWidget->m_serverLBox->currentItem()>0 );
+
+ m_mainWidget->m_downServerBtn->setEnabled( m_mainWidget->m_serverLBox->count()>1 &&
+ m_mainWidget->m_serverLBox->currentItem()<m_mainWidget->m_serverLBox->numRows()-1 );
+ bool enabled = m_mainWidget->m_serverLBox->currentItem() >= 0;
+ m_mainWidget->m_removeServerButton->setEnabled(enabled);
+ m_mainWidget->m_changeServerButton->setEnabled(enabled);
+ }
+
+ void ServerGroupDialog::moveServerUp()
+ {
+ uint current = m_mainWidget->m_serverLBox->currentItem();
+
+ if (current > 0)
+ {
+ ServerSettings server = m_serverList[current];
+ m_mainWidget->m_serverLBox->removeItem(current);
+ m_mainWidget->m_serverLBox->insertItem(server.host(), current - 1);
+ m_mainWidget->m_serverLBox->setCurrentItem(current - 1);
+ ServerList::iterator it = m_serverList.remove(m_serverList.at(current));
+ --it;
+ m_serverList.insert(it, server);
+
+ // Track the server the Server List dialog told us to edit
+ if (m_editedServer && m_editedServerIndex==current)
+ m_editedServerIndex = current - 1;
+ }
+
+ updateServerArrows();
+ }
+
+ void ServerGroupDialog::moveServerDown()
+ {
+ uint current = m_mainWidget->m_serverLBox->currentItem();
+
+ if (current < (m_serverList.count() - 1))
+ {
+ ServerSettings server = m_serverList[current];
+ m_mainWidget->m_serverLBox->removeItem(current);
+ m_mainWidget->m_serverLBox->insertItem(server.host(), current + 1);
+ m_mainWidget->m_serverLBox->setCurrentItem(current + 1);
+ ServerList::iterator it = m_serverList.remove(m_serverList.at(current));
+ ++it;
+ m_serverList.insert(it, server);
+
+ // Track the server the Server List dialog told us to edit
+ if (m_editedServer && m_editedServerIndex==current)
+ m_editedServerIndex = current + 1;
+ }
+
+ updateServerArrows();
+ }
+
+ void ServerGroupDialog::addChannel()
+ {
+ ChannelDialog dlg(i18n("Add Channel"), this);
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ ChannelSettings channel = dlg.channelSettings();
+ m_mainWidget->m_channelLBox->insertItem(channel.name());
+ m_channelList.append(channel);
+ updateChannelArrows();
+ }
+ }
+
+ void ServerGroupDialog::editChannel()
+ {
+ uint current = m_mainWidget->m_channelLBox->currentItem();
+
+ if(current < m_channelList.count())
+ {
+ ChannelDialog dlg(i18n("Edit Channel"), this);
+ dlg.setChannelSettings(m_channelList[current]);
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ ChannelSettings channel = dlg.channelSettings();
+ m_mainWidget->m_channelLBox->changeItem(channel.name(), current);
+ m_channelList[current] = channel;
+ }
+ }
+ }
+
+ void ServerGroupDialog::deleteChannel()
+ {
+ uint current = m_mainWidget->m_channelLBox->currentItem();
+
+ if(current < m_channelList.count())
+ {
+ m_channelList.remove(m_channelList.at(current));
+ m_mainWidget->m_channelLBox->removeItem(current);
+ updateChannelArrows();
+ }
+ }
+
+ void ServerGroupDialog::updateChannelArrows()
+ {
+ m_mainWidget->m_upChannelBtn->setEnabled( m_mainWidget->m_channelLBox->count()>1 && m_mainWidget->m_channelLBox->currentItem()>0 );
+
+ m_mainWidget->m_downChannelBtn->setEnabled( m_mainWidget->m_channelLBox->count()>1 &&
+ m_mainWidget->m_channelLBox->currentItem()<m_mainWidget->m_channelLBox->numRows()-1 );
+ bool selected = m_mainWidget->m_channelLBox->currentItem() >= 0;
+ m_mainWidget->m_removeChannelButton->setEnabled(selected);
+ m_mainWidget->m_changeChannelButton->setEnabled(selected);
+ }
+
+ void ServerGroupDialog::moveChannelUp()
+ {
+ uint current = m_mainWidget->m_channelLBox->currentItem();
+
+ if(current > 0)
+ {
+ ChannelSettings channel = m_channelList[current];
+ m_mainWidget->m_channelLBox->removeItem(current);
+ m_mainWidget->m_channelLBox->insertItem(channel.name(), current - 1);
+ m_mainWidget->m_channelLBox->setCurrentItem(current - 1);
+ ChannelList::iterator it = m_channelList.remove(m_channelList.at(current));
+ --it;
+ m_channelList.insert(it, channel);
+ }
+
+ updateChannelArrows();
+ }
+
+ void ServerGroupDialog::moveChannelDown()
+ {
+ uint current = m_mainWidget->m_channelLBox->currentItem();
+
+ if(current < (m_channelList.count() - 1))
+ {
+ ChannelSettings channel = m_channelList[current];
+ m_mainWidget->m_channelLBox->removeItem(current);
+ m_mainWidget->m_channelLBox->insertItem(channel.name(), current + 1);
+ m_mainWidget->m_channelLBox->setCurrentItem(current + 1);
+ ChannelList::iterator it = m_channelList.remove(m_channelList.at(current));
+ ++it;
+ m_channelList.insert(it, channel);
+ }
+
+ updateChannelArrows();
+ }
+
+ void ServerGroupDialog::editIdentity()
+ {
+ IdentityDialog dlg(this);
+ dlg.setCurrentIdentity(m_mainWidget->m_identityCBox->currentItem());
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ IdentityList identities = Preferences::identityList();
+ m_mainWidget->m_identityCBox->clear();
+
+ for(IdentityList::ConstIterator it = identities.begin(); it != identities.end(); ++it)
+ {
+ m_mainWidget->m_identityCBox->insertItem((*it)->getName());
+ }
+
+ m_mainWidget->m_identityCBox->setCurrentText(dlg.currentIdentity()->getName());
+ m_identitiesNeedsUpdate = true; // and what's this for?
+ ViewContainer* vc = KonversationApplication::instance()->getMainWindow()->getViewContainer();
+ vc->updateViewEncoding(vc->getFrontView());
+ }
+ }
+
+ void ServerGroupDialog::slotOk()
+ {
+ if (m_mainWidget->m_nameEdit->text().isEmpty())
+ {
+ KMessageBox::error(this, i18n("The network name is required."));
+ }
+ else if (m_serverList.count() == 0)
+ {
+ KMessageBox::error(this, i18n("You need to add at least one server to the network."));
+ }
+ else
+ {
+ accept();
+ }
+ }
+
+}
+
+#include "servergroupdialog.moc"
diff --git a/konversation/src/servergroupdialog.h b/konversation/src/servergroupdialog.h
new file mode 100644
index 0000000..a8222d0
--- /dev/null
+++ b/konversation/src/servergroupdialog.h
@@ -0,0 +1,85 @@
+/*
+ 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.
+*/
+
+/*
+ copyright: (C) 2004 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#ifndef KONVERSATIONSERVERGROUPDIALOG_H
+#define KONVERSATIONSERVERGROUPDIALOG_H
+
+#include "servergroupsettings.h"
+
+#include <kdialogbase.h>
+
+
+class QLineEdit;
+class QComboBox;
+class QListBox;
+class QCheckBox;
+class QToolButton;
+class ServerGroupDialogUI;
+
+namespace Konversation
+{
+
+ class ServerGroupDialog : public KDialogBase
+ {
+ Q_OBJECT
+ public:
+ explicit ServerGroupDialog(const QString& title, QWidget* parent = 0, const char* name = 0);
+ ~ServerGroupDialog();
+
+ void setServerGroupSettings(ServerGroupSettingsPtr settings);
+ ServerGroupSettingsPtr serverGroupSettings();
+
+ ServerSettings editedServer();
+
+ int execAndEditServer(ServerSettings server);
+
+ bool identitiesNeedsUpdate() const { return m_identitiesNeedsUpdate; }
+
+ protected slots:
+ virtual void slotOk();
+
+ void addServer();
+ void editServer();
+ void editServer(ServerSettings server);
+ void deleteServer();
+ void updateServerArrows();
+ void moveServerUp();
+ void moveServerDown();
+
+ void addChannel();
+ void editChannel();
+ void deleteChannel();
+ void updateChannelArrows();
+ void moveChannelUp();
+ void moveChannelDown();
+
+ void editIdentity();
+
+ private:
+ ServerGroupDialogUI* m_mainWidget;
+ bool m_expanded;
+ bool m_enableNotifications;
+ bool m_configBacked;
+ int m_id;
+ int m_sortIndex;
+
+ bool m_identitiesNeedsUpdate;
+
+ bool m_editedServer;
+ uint m_editedServerIndex;
+ ServerList m_serverList;
+ ChannelList m_channelList;
+ ChannelList m_channelHistory;
+ };
+
+}
+#endif
diff --git a/konversation/src/servergroupdialogui.ui b/konversation/src/servergroupdialogui.ui
new file mode 100644
index 0000000..182147f
--- /dev/null
+++ b/konversation/src/servergroupdialogui.ui
@@ -0,0 +1,318 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ServerGroupDialogUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>ServerGroupDialogUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>491</width>
+ <height>493</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>m_networkLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Network name:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="0" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_nameEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>m_identityLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Identity:</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>m_commandsLabel</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Commands:</string>
+ </property>
+ </widget>
+ <widget class="KPushButton" row="1" column="2">
+ <property name="name">
+ <cstring>m_editIdentityButton</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Edit...</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>m_commandEdit</cstring>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>m_autoConnectCBox</cstring>
+ </property>
+ <property name="text">
+ <string>Co&amp;nnect on application start up</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="4" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>m_serverGroupBox</cstring>
+ </property>
+ <property name="title">
+ <string>Servers</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KListBox" row="0" column="0" rowspan="1" colspan="6">
+ <property name="name">
+ <cstring>m_serverLBox</cstring>
+ </property>
+ </widget>
+ <widget class="KPushButton" row="1" column="0">
+ <property name="name">
+ <cstring>m_addServerButton</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Add...</string>
+ </property>
+ </widget>
+ <widget class="KPushButton" row="1" column="1">
+ <property name="name">
+ <cstring>m_changeServerButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>E&amp;dit...</string>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="1" column="2">
+ <property name="name">
+ <cstring>m_removeServerButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="1" column="5">
+ <property name="name">
+ <cstring>m_downServerBtn</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="1" column="4">
+ <property name="name">
+ <cstring>m_upServerBtn</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="1" column="3">
+ <property name="name">
+ <cstring>serverSpacer</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
+ <widget class="QGroupBox" row="5" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>m_channelGroupBox</cstring>
+ </property>
+ <property name="title">
+ <string>Auto Join Channels</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KListBox" row="0" column="0" rowspan="1" colspan="6">
+ <property name="name">
+ <cstring>m_channelLBox</cstring>
+ </property>
+ </widget>
+ <widget class="KPushButton" row="1" column="0">
+ <property name="name">
+ <cstring>m_addChannelButton</cstring>
+ </property>
+ <property name="text">
+ <string>Add...</string>
+ </property>
+ </widget>
+ <widget class="KPushButton" row="1" column="1">
+ <property name="name">
+ <cstring>m_changeChannelButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Ed&amp;it...</string>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="1" column="5">
+ <property name="name">
+ <cstring>m_downChannelBtn</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QToolButton" row="1" column="2">
+ <property name="name">
+ <cstring>m_removeChannelButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer row="1" column="3">
+ <property name="name">
+ <cstring>channelSpacer</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>255</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QToolButton" row="1" column="4">
+ <property name="name">
+ <cstring>m_upChannelBtn</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>m_identityCBox</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>2</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>klistbox.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>klistbox.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/servergroupsettings.cpp b/konversation/src/servergroupsettings.cpp
new file mode 100644
index 0000000..e10d553
--- /dev/null
+++ b/konversation/src/servergroupsettings.cpp
@@ -0,0 +1,229 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004, 2007 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "servergroupsettings.h"
+#include "konversationapplication.h"
+
+
+namespace Konversation
+{
+
+ int ServerGroupSettings::s_availableId = 0;
+
+ ServerGroupSettings::ServerGroupSettings()
+ : KShared()
+ {
+ m_id = s_availableId;
+ s_availableId++;
+ m_sortIndex = m_id;
+ m_autoConnect = false;
+ m_identityId = 0;
+ m_enableNotifications = true;
+ }
+
+ ServerGroupSettings::ServerGroupSettings(int id)
+ : KShared()
+ {
+ if(id < 0)
+ {
+ m_id = s_availableId;
+ s_availableId++;
+ }
+ else
+ {
+ m_id = id;
+ }
+
+ m_sortIndex = m_id;
+ m_autoConnect = false;
+ m_identityId = 0;
+ m_enableNotifications = true;
+ }
+
+ ServerGroupSettings::ServerGroupSettings(const ServerGroupSettings& settings)
+ : KShared()
+ {
+ setName(settings.name());
+ setServerList(settings.serverList());
+ setIdentityId(settings.identityId());
+ setChannelList(settings.channelList());
+ setConnectCommands(settings.connectCommands());
+ setAutoConnectEnabled(settings.autoConnectEnabled());
+ setNotificationsEnabled(settings.enableNotifications());
+ m_id = settings.id();
+ m_sortIndex = settings.sortIndex();
+ }
+
+ ServerGroupSettings::ServerGroupSettings(const QString& name)
+ : KShared()
+ {
+ setName(name);
+ m_id = s_availableId;
+ s_availableId++;
+ m_sortIndex = m_id;
+ m_autoConnect = false;
+ m_identityId = 0;
+ m_enableNotifications = true;
+ }
+
+ ServerGroupSettings::~ServerGroupSettings()
+ {
+ }
+
+ void ServerGroupSettings::setServerList(const ServerList& list)
+ {
+ m_serverList.clear();
+ m_serverList = list;
+ }
+
+ void ServerGroupSettings::removeServer(const ServerSettings settings)
+ {
+ Konversation::ServerList::iterator it;
+
+ for (it = m_serverList.begin(); it != m_serverList.end(); ++it)
+ {
+ if ((*it)==settings)
+ {
+ m_serverList.remove((*it));
+
+ return;
+ }
+ }
+ }
+
+ ServerSettings ServerGroupSettings::serverByIndex(unsigned int index) const
+ {
+ ServerList servers = serverList();
+
+ if(index < servers.count())
+ {
+ return servers[index];
+ }
+
+ return ServerSettings();
+ }
+
+ void ServerGroupSettings::setChannelList(const ChannelList& list)
+ {
+ m_channelList.clear();
+ m_channelList = list;
+ }
+
+ ChannelSettings ServerGroupSettings::channelByIndex(unsigned int index) const
+ {
+ if(index < m_channelList.count())
+ {
+ return m_channelList[index];
+ }
+
+ return ChannelSettings();
+ }
+
+ void ServerGroupSettings::addChannel(const ChannelSettings& channel, const ChannelSettings& before)
+ {
+ if (before.name().isEmpty())
+ m_channelList.append(channel);
+ else
+ m_channelList.insert(m_channelList.find(before), channel);
+ }
+
+ void ServerGroupSettings::removeChannel(const ChannelSettings& channel)
+ {
+ m_channelList.remove(channel);
+ }
+
+ IdentityPtr ServerGroupSettings::identity() const
+ {
+ return Preferences::identityById(m_identityId);
+ }
+
+ void ServerGroupSettings::appendChannelHistory(const ChannelSettings& channel)
+ {
+ ChannelList::iterator endIt = m_channelHistory.end();
+
+ for(ChannelList::iterator it = m_channelHistory.begin(); it != endIt; ++it)
+ {
+ if(channel.name() == (*it).name())
+ {
+ (*it).setPassword(channel.password());
+ (*it).setNotificationsEnabled(channel.enableNotifications());
+ return;
+ }
+ }
+
+ m_channelHistory.append(channel);
+ }
+
+ ChannelSettings ServerGroupSettings::channelByNameFromHistory(const QString& channelName)
+ {
+ ChannelList::iterator endIt = m_channelHistory.end();
+
+ for(ChannelList::iterator it = m_channelHistory.begin(); it != endIt; ++it)
+ {
+ if(channelName == (*it).name())
+ {
+ return (*it);
+ }
+ }
+
+ return ChannelSettings(channelName);
+ }
+
+ //
+ // ChannelSettings
+ //
+
+ ChannelSettings::ChannelSettings()
+ {
+ setNotificationsEnabled(true);
+ }
+
+ ChannelSettings::ChannelSettings(const ChannelSettings& settings)
+ {
+ setName(settings.name());
+ setPassword(settings.password());
+ setNotificationsEnabled(settings.enableNotifications());
+ }
+
+ ChannelSettings::ChannelSettings(const QString& name)
+ {
+ setName(name);
+ setNotificationsEnabled(true);
+ }
+
+ ChannelSettings::ChannelSettings(const QString& name, const QString& password)
+ {
+ setName(name);
+ setPassword(password);
+ setNotificationsEnabled(true);
+ }
+
+ ChannelSettings::ChannelSettings(const QString& name, const QString& password, bool enableNotifications)
+ {
+ setName(name);
+ setPassword(password);
+ setNotificationsEnabled(enableNotifications);
+ }
+
+ bool ChannelSettings::operator== (const ChannelSettings& channel) const
+ {
+ if (m_name.lower() == channel.name().lower())
+ return true;
+ else
+ return false;
+ }
+
+ ChannelSettings::~ChannelSettings()
+ {
+ }
+
+}
diff --git a/konversation/src/servergroupsettings.h b/konversation/src/servergroupsettings.h
new file mode 100644
index 0000000..903725a
--- /dev/null
+++ b/konversation/src/servergroupsettings.h
@@ -0,0 +1,131 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004, 2007 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONSERVERGROUPSETTINGS_H
+#define KONVERSATIONSERVERGROUPSETTINGS_H
+
+#include "serversettings.h"
+#include "identity.h"
+
+#include <qvaluelist.h>
+#include <qstringlist.h>
+
+#include <ksharedptr.h>
+
+
+namespace Konversation
+{
+
+ class ChannelSettings
+ {
+ public:
+ ChannelSettings();
+ ChannelSettings(const ChannelSettings& settings);
+ explicit ChannelSettings(const QString& name);
+ ChannelSettings(const QString& name, const QString& password);
+ ChannelSettings(const QString& name, const QString& password, bool enableNotifications);
+ ~ChannelSettings();
+
+ void setName(const QString& name) { m_name = name; }
+ QString name() const { return m_name; }
+
+ void setPassword(const QString& password) { m_password = password; }
+ QString password() const { return m_password; }
+
+ void setNotificationsEnabled(bool enable) { m_enableNotifications = enable; }
+ bool enableNotifications() const { return m_enableNotifications; }
+
+ bool operator==(const ChannelSettings& channel) const;
+
+ private:
+ QString m_name;
+ QString m_password;
+
+ bool m_enableNotifications;
+ };
+
+ class ServerGroupSettings;
+ typedef KSharedPtr<ServerGroupSettings> ServerGroupSettingsPtr;
+ typedef QValueList<ServerGroupSettingsPtr> ServerGroupList;
+ typedef QValueList<ServerSettings> ServerList;
+ typedef QValueList<ChannelSettings> ChannelList;
+
+ class ServerGroupSettings : public KShared
+ {
+ public:
+ ServerGroupSettings();
+ ServerGroupSettings(int id);
+ ServerGroupSettings(const ServerGroupSettings& settings);
+ ServerGroupSettings(const QString& name);
+ ~ServerGroupSettings();
+
+ void setName(const QString& name) { m_name = name; }
+ QString name() const { return m_name; }
+
+ void setServerList(const ServerList& list);
+ void addServer(const ServerSettings& settings) { m_serverList.append(settings); }
+ void removeServer(const ServerSettings settings);
+ ServerList serverList() const { return m_serverList; }
+ ServerSettings serverByIndex(unsigned int index) const;
+
+
+ void setIdentityId(int identityId) { m_identityId = identityId; }
+ int identityId() const { return m_identityId; }
+ IdentityPtr identity() const;
+
+ void setChannelList(const ChannelList& list);
+ void addChannel(const ChannelSettings& channel) { m_channelList.append(channel); }
+ void addChannel(const ChannelSettings& channel, const ChannelSettings& before);
+ void removeChannel(const ChannelSettings& channel);
+ ChannelList channelList() const { return m_channelList; }
+ ChannelSettings channelByIndex(unsigned int index) const;
+
+ void setConnectCommands(const QString& commands) { m_connectCommands = commands; }
+ QString connectCommands() const { return m_connectCommands; }
+
+ void setAutoConnectEnabled(bool enabled) { m_autoConnect = enabled; }
+ bool autoConnectEnabled() const { return m_autoConnect; }
+
+ int id() const { return m_id; }
+
+ void setSortIndex(int sortIndex) { m_sortIndex = sortIndex; }
+ int sortIndex() const { return m_sortIndex; }
+
+ void setChannelHistory(const ChannelList& list) { m_channelHistory = list; }
+ void appendChannelHistory(const ChannelSettings& channel);
+ ChannelList channelHistory() const { return m_channelHistory; }
+ ChannelSettings channelByNameFromHistory(const QString& channelName);
+
+ void setNotificationsEnabled(bool enable) { m_enableNotifications = enable; }
+ bool enableNotifications() const { return m_enableNotifications; }
+
+ void setExpanded(bool enable) { m_expanded = enable; }
+ bool expanded() const { return m_expanded; }
+
+ private:
+ static int s_availableId;
+ int m_sortIndex;
+ QString m_name;
+ ServerList m_serverList;
+ int m_identityId;
+ ChannelList m_channelList;
+ ChannelList m_channelHistory;
+ QString m_connectCommands;
+ bool m_autoConnect;
+ QString m_group;
+ int m_id;
+ bool m_enableNotifications;
+ bool m_expanded;
+ };
+
+}
+#endif
diff --git a/konversation/src/serverison.cpp b/konversation/src/serverison.cpp
new file mode 100644
index 0000000..b2d66a2
--- /dev/null
+++ b/konversation/src/serverison.cpp
@@ -0,0 +1,242 @@
+/*
+ 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.
+*/
+
+/*
+ serverison.h - Class to give a list of all the nicks known to the
+ addressbook and watchednick list that are on this
+ server. There is one instance of this class for
+ each Server object.
+ begin: Fri Sep 03 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+#include "serverison.h"
+#include "server.h"
+#include "addressbook.h"
+#include "konversationapplication.h"
+#include "nickinfo.h"
+#include "viewcontainer.h"
+
+#include <qmap.h>
+#include <qstring.h>
+#include <qstringlist.h>
+#include <kabc/addressbook.h>
+#include <kabc/stdaddressbook.h>
+
+
+ServerISON::ServerISON(Server* server) : m_server(server)
+{
+ m_ISONList_invalid = true;
+ //We need to know when the addressbook changes because if the info for an offline nick changes,
+ //we won't get a nickInfoChanged signal.
+ connect( Konversation::Addressbook::self()->getAddressBook(), SIGNAL( addressBookChanged( AddressBook * ) ),
+ this, SLOT( addressbookChanged() ) );
+ connect( Konversation::Addressbook::self(), SIGNAL(addresseesChanged()),
+ this, SLOT(addressbookChanged()));
+ connect( m_server, SIGNAL(nickInfoChanged(Server*, const NickInfoPtr)),
+ this, SLOT(nickInfoChanged(Server*, const NickInfoPtr)));
+ connect( m_server,
+ SIGNAL(channelMembersChanged(Server*, const QString&, bool, bool, const QString& )),
+ this,
+ SLOT(slotChannelMembersChanged(Server*, const QString&, bool, bool, const QString& )));
+ connect( m_server,
+ SIGNAL(channelJoinedOrUnjoined(Server*, const QString&, bool )),
+ this,
+ SLOT(slotChannelJoinedOrUnjoined(Server*, const QString&, bool )));
+ connect(KonversationApplication::instance(), SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)),
+ this, SLOT(slotServerGroupsChanged()));
+}
+
+QStringList ServerISON::getWatchList()
+{
+ if(m_ISONList_invalid)
+ recalculateAddressees();
+ return m_watchList;
+}
+
+QStringList ServerISON::getISONList()
+{
+ if(m_ISONList_invalid)
+ recalculateAddressees();
+ return m_ISONList;
+}
+
+QStringList ServerISON::getAddressees()
+{
+ if(m_ISONList_invalid)
+ recalculateAddressees();
+ return m_addresseesISON;
+}
+
+KABC::Addressee ServerISON::getOfflineNickAddressee(QString& nickname)
+{
+ QString lcNickname = nickname.lower();
+ if(m_ISONList_invalid)
+ recalculateAddressees();
+ if (m_offlineNickToAddresseeMap.contains(lcNickname))
+ return m_offlineNickToAddresseeMap[lcNickname];
+ else
+ return KABC::Addressee();
+}
+
+void ServerISON::recalculateAddressees()
+{
+ // If not watching nicks, no need to build notify list.
+ if (Preferences::useNotify())
+ {
+ // Get all nicks known to be online.
+ const NickInfoMap* allNicks = m_server->getAllNicks();
+ // Build a map of online nicknames with associated addressbook entry,
+ // indexed by KABC::Addressee uid.
+ // Note that there can be more than one nick associated with an addressee.
+ QMap<QString,QStringList> addresseeToOnlineNickMap;
+ NickInfoMap::ConstIterator nickInfoItEnd = allNicks->constEnd();
+ for(NickInfoMap::ConstIterator nickInfoIt=allNicks->constBegin();
+ nickInfoIt != nickInfoItEnd; ++nickInfoIt)
+ {
+ NickInfoPtr nickInfo = nickInfoIt.data();
+ KABC::Addressee addressee = nickInfo->getAddressee();
+ if (!addressee.isEmpty())
+ {
+ QString uid = addressee.uid();
+ QStringList nicknames = addresseeToOnlineNickMap[uid];
+ nicknames.append(nickInfo->getNickname());
+ addresseeToOnlineNickMap[uid] = nicknames;
+ }
+ }
+
+ // Lowercase server name and server group.
+ QString lserverName = m_server->getServerName().lower();
+ QString lserverGroup = m_server->getDisplayName().lower();
+
+ // Build notify list from nicks in addressbook, eliminating dups (case insensitive).
+ QMap<QString,QString> ISONMap;
+ m_offlineNickToAddresseeMap.clear();
+ for( KABC::AddressBook::ConstIterator it =
+ Konversation::Addressbook::self()->getAddressBook()->begin();
+ it != Konversation::Addressbook::self()->getAddressBook()->end(); ++it )
+ {
+ if(Konversation::Addressbook::self()->hasAnyNicks(*it))
+ {
+ QString uid = (*it).uid();
+ // First check if we already know that this addressee is online.
+ // If so, add all the nicks of the addressee that are online, but do not
+ // add the offline nicks. There is no point in monitoring such nicks.
+ if (addresseeToOnlineNickMap.contains(uid))
+ {
+ QStringList nicknames = addresseeToOnlineNickMap[uid];
+ QStringList::iterator itEnd = nicknames.end();
+
+ for(QStringList::iterator it = nicknames.begin(); it != itEnd; ++it)
+ {
+ ISONMap.insert((*it).lower(), (*it), true);
+ }
+ }
+ else
+ {
+ // If addressee is not known to be online, add all of the nicknames
+ // of the addressee associated with this server or server group (if any)
+ // to the notify list.
+ // Simultaneously, build a map of all offline nicks and corresponding
+ // KABC::Addressee, indexed by lowercase nickname.
+ QStringList nicks = QStringList::split( QChar( 0xE000 ),
+ (*it).custom("messaging/irc", "All") );
+ QStringList::ConstIterator nicksItEnd = nicks.constEnd();
+ for( QStringList::ConstIterator nicksIt = nicks.constBegin();
+ nicksIt != nicksItEnd; ++nicksIt )
+ {
+ QString lserverOrGroup = (*nicksIt).section(QChar(0xE120),1).lower();
+ if(lserverOrGroup == lserverName || lserverOrGroup == lserverGroup ||
+ lserverOrGroup.isEmpty())
+ {
+ QString nickname = (*nicksIt).section(QChar(0xE120),0,0);
+ QString lcNickname = nickname.lower();
+ ISONMap.insert(lcNickname, nickname, true);
+ m_offlineNickToAddresseeMap.insert(lcNickname, *it, true);
+ }
+ }
+ }
+ }
+ }
+ // The part of the ISON list due to the addressbook.
+ m_addresseesISON = ISONMap.values();
+ // Merge with watch list from prefs, eliminating dups (case insensitive).
+ // TODO: Don't add nick on user watch list if nick is known to be online
+ // under a different nickname?
+ QStringList prefsWatchList =
+ Preferences::notifyListByGroupName(m_server->getDisplayName());
+ QStringList::iterator itEnd = prefsWatchList.end();
+
+ for(QStringList::iterator it = prefsWatchList.begin(); it != itEnd; ++it)
+ {
+ ISONMap.insert((*it).lower(), (*it), true);
+ }
+
+ // Build final watch list.
+ m_watchList = ISONMap.values();
+ // Eliminate nicks that are online in a joined channel, since there is no point
+ // in doing an ISON on such nicks.
+ m_ISONList.clear();
+ itEnd = m_watchList.end();
+
+ for(QStringList::iterator it = m_watchList.begin(); it != itEnd; ++it)
+ {
+ if (m_server->getNickJoinedChannels(*it).isEmpty())
+ {
+ m_ISONList.append(*it);
+ }
+ }
+ }
+ else
+ {
+ m_addresseesISON.clear();
+ m_ISONList.clear();
+ }
+
+ m_ISONList_invalid = false;
+}
+
+// When user changes preferences and has nick watching turned on, rebuild notify list.
+void ServerISON::slotServerGroupsChanged()
+{
+ kdDebug() << "ServerISON::slotServerGroupsChanged" << endl;
+ m_ISONList_invalid = true;
+}
+
+void ServerISON::nickInfoChanged(Server* /*server*/, const NickInfoPtr /*nickInfo*/) {
+//We need to call recalculateAddressees before returning m_ISONList
+
+//Maybe we could do something like:
+//if(m_ISONList.contains(nickInfo->getNickName())) return;
+m_ISONList_invalid = true;
+}
+
+void ServerISON::addressbookChanged()
+{
+ //We need to call recalculateAddressees before returning m_ISONList
+ m_ISONList_invalid = true;
+}
+
+void ServerISON::slotChannelMembersChanged(Server* /*server*/, const QString& /*channelName*/,
+bool joined, bool parted, const QString& nickname)
+{
+ // Whenever a nick on the watch list leaves the last joined channel, must recalculate lists.
+ // The nick will be added to the ISON list.
+ if (joined && parted && m_watchList.contains(nickname))
+ if (m_server->getNickJoinedChannels(nickname).isEmpty()) m_ISONList_invalid = true;
+}
+
+void ServerISON::slotChannelJoinedOrUnjoined(Server* /*server*/,
+const QString& /*channelName*/, bool /*joined*/)
+{
+ // If user left or joined a channel, need to recalculate lists, since watched nicks
+ // may need to be moved from/to ISON list.
+ m_ISONList_invalid = true;
+}
+
+#include "serverison.moc"
diff --git a/konversation/src/serverison.h b/konversation/src/serverison.h
new file mode 100644
index 0000000..4500564
--- /dev/null
+++ b/konversation/src/serverison.h
@@ -0,0 +1,113 @@
+/*
+ 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.
+*/
+
+/*
+ serverison.h - Class to give a list of all the nicks known to the
+ addressbook and watchednick list that are on this
+ server. There is one instance of this class for
+ each Server object.
+ begin: Fri Sep 03 2004
+ copyright: (C) 2004 by John Tapsell
+ email: john@geola.co.uk
+*/
+
+/**
+ * @author John Tapsell <john@geola.co.uk>
+ * @author Gary Cramblitt <garycramblitt@comcast.net>
+ */
+
+#ifndef SERVERISON_H
+#define SERVERISON_H
+
+#include "nickinfo.h"
+
+
+class Server;
+
+typedef QMap<QString,KABC::Addressee> OfflineNickToAddresseeMap;
+
+class ServerISON : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit ServerISON(Server* server);
+ /**
+ * Returns a list of nicks that we want to know whether they are online
+ * of offline.
+ *
+ * Calls getAddressees() and merges with the Watch List from preferences.
+ * The resulting nicks don't have the servername/servergroup attached.
+ *
+ * @returns A list of nicks that we want to know if they are on or not.
+ *
+ * @see getAddressees()
+ */
+ QStringList getWatchList();
+ /**
+ * The same list as getWatchList, but with nicks in joined channels eliminated.
+ * There is no point in performing an ISON on such nicks because we already
+ * know they are online. This function is called, and the result sent to the
+ * server as an /ISON command.
+ */
+ QStringList getISONList();
+
+ /**
+ * Returns _some_ of the nicks that the addressees have.
+ * It loops through all the addressees that have nickinfos.
+ *
+ * - If that addressee has some nicks, and at least one of them is in a
+ * channel we are in, then we know they are online, so don't add.
+ * - Otherwise, if that addressee has some nicks, and we think they are
+ * online, add the nick that they are currently online with. This does
+ * mean that if they change their nick, they will appear offline for the
+ * duration between ISON's.
+ * - Otherwise, add all the nicks we know the addressee has.
+ */
+ QStringList getAddressees();
+
+ /**
+ * Given the nickname of nick that is offline (or at least not known to be online),
+ * returns the addressbook entry (if any) for the nick.
+ * @param nickname Desired nickname. Case insensitive.
+ * @return Addressbook entry of the nick or empty if not found.
+ */
+ KABC::Addressee getOfflineNickAddressee(QString& nickname);
+
+ private slots:
+ void addressbookChanged();
+ void nickInfoChanged(Server* server, const NickInfoPtr nickInfo);
+ void slotServerGroupsChanged();
+ void slotChannelMembersChanged(Server* server, const QString& channelName, bool joined, bool parted, const QString& nickname);
+ void slotChannelJoinedOrUnjoined(Server* server, const QString& channelName, bool joined);
+
+ private:
+ /** Map of all offline nicks in the addressbook associated with this server
+ * or server group and their addressbook entry, indexed by lowercase nickname.
+ */
+ OfflineNickToAddresseeMap m_offlineNickToAddresseeMap;
+
+ /// A pointer to the server we are a member of.
+ Server* m_server;
+ /// List of nicks to watch that come from addressbook.
+ QStringList m_addresseesISON;
+ /// List from above merged with Watch List from preferences.
+ QStringList m_watchList;
+ /// List from above but with nicks that are in joined channels eliminated.
+ /// There is no point in doing an ISON on such nicks because we know they are
+ /// online in one of the channels the user is in.
+ QStringList m_ISONList;
+ /// If this is true, then we need to call recalculateAddressee before returning m_ISONList
+ bool m_ISONList_invalid;
+ /**
+ * Rebuilds list of nicks to watch whenever an addressbook change occurs
+ * or preferences change (whenever m_ISONLIst_invalid is true).
+ */
+ void recalculateAddressees();
+
+};
+#endif
diff --git a/konversation/src/serverlistdialog.cpp b/konversation/src/serverlistdialog.cpp
new file mode 100644
index 0000000..92a4a80
--- /dev/null
+++ b/konversation/src/serverlistdialog.cpp
@@ -0,0 +1,564 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004, 2007 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "serverlistdialog.h"
+#include "preferences.h"
+#include "konversationapplication.h"
+#include "servergroupdialog.h"
+#include "connectionsettings.h"
+
+#include <qpushbutton.h>
+#include <qframe.h>
+#include <qlayout.h>
+#include <qstringlist.h>
+#include <qwhatsthis.h>
+#include <qheader.h>
+#include <qcheckbox.h>
+
+#include <klocale.h>
+#include <kdebug.h>
+#include <kguiitem.h>
+#include <kmessagebox.h>
+
+
+namespace Konversation
+{
+ //
+ // ServerListItem
+ //
+
+ ServerListItem::ServerListItem(KListView* parent, int serverGroupId, int sortIndex,
+ const QString& serverGroup, const QString& identity, const QString& channels)
+ : KListViewItem(parent, serverGroup, identity, channels)
+ {
+ m_serverGroupId = serverGroupId;
+ m_sortIndex = sortIndex;
+ m_name = serverGroup;
+ m_isServer = false;
+ }
+
+ ServerListItem::ServerListItem(QListViewItem* parent, int serverGroupId, int sortIndex,
+ const QString& name, const ServerSettings& server)
+ : KListViewItem(parent, name)
+ {
+ m_serverGroupId = serverGroupId;
+ m_sortIndex = sortIndex;
+ m_name = name;
+ m_server = server;
+ m_isServer = true;
+ }
+
+ int ServerListItem::selectedChildrenCount()
+ {
+ int count = 0;
+
+ QListViewItem* item = firstChild();
+
+ while (item)
+ {
+ if (item->isSelected())
+ ++count;
+
+ item = item->nextSibling();
+ }
+
+ return count;
+ }
+
+ int ServerListItem::compare(QListViewItem *i, int col, bool ascending) const
+ {
+ ServerListItem* item = static_cast<ServerListItem*>(i);
+
+ if (col==0)
+ {
+ if (!item->server().host().isEmpty())
+ {
+ if (sortIndex() == item->sortIndex())
+ return 0;
+ else if (sortIndex() < item->sortIndex())
+ return ascending ? -1 : 1;
+ else
+ return ascending ? 1 : -1;
+ }
+
+ if (sortIndex() == item->sortIndex())
+ return 0;
+ else if (sortIndex() < item->sortIndex())
+ return -1;
+ else
+ return 1;
+ }
+
+ return key( col, ascending ).localeAwareCompare( i->key( col, ascending ) );
+ }
+
+ ServerListDialog::ServerListDialog(QWidget *parent, const char *name)
+ : KDialogBase(Plain, i18n("Server List"), Ok|Close, Ok, parent, name, false)
+ {
+ setButtonOK(KGuiItem(i18n("C&onnect"), "connect_creating", i18n("Connect to the server"), i18n("Click here to connect to the selected IRC network and channel.")));
+
+ QFrame* mainWidget = plainPage();
+
+ m_serverList = new ServerListView(mainWidget);
+ QWhatsThis::add(m_serverList, i18n("This shows the listof configured IRC networks. An IRC network is a collection of cooperating servers. You need only connect to one of the servers in the network to be connected to the entire IRC network. Once connected, Konversation will automatically join the channels shown. When Konversation is started for the first time, the Freenode network and the <i>#kde</i> channel are already entered for you."));
+ m_serverList->setAllColumnsShowFocus(true);
+ m_serverList->setRootIsDecorated(true);
+ m_serverList->setResizeMode(QListView::AllColumns);
+ m_serverList->addColumn(i18n("Network"));
+ m_serverList->addColumn(i18n("Identity"));
+ m_serverList->addColumn(i18n("Channels"));
+ m_serverList->setSelectionModeExt(KListView::Extended);
+ m_serverList->setShowSortIndicator(true);
+ m_serverList->setSortColumn(0);
+ m_serverList->setDragEnabled(true);
+ m_serverList->setAcceptDrops(true);
+ m_serverList->setDropVisualizer(true);
+ m_serverList->header()->setMovingEnabled(false);
+
+ m_addButton = new QPushButton(i18n("&New..."), mainWidget);
+ QWhatsThis::add(m_addButton, i18n("Click here to define a new Network, including the server to connect to, and the Channels to automatically join once connected."));
+ m_editButton = new QPushButton(i18n("&Edit..."), mainWidget);
+ m_delButton = new QPushButton(i18n("&Delete"), mainWidget);
+
+ QCheckBox* showAtStartup = new QCheckBox(i18n("Show at application startup"), mainWidget);
+ showAtStartup->setChecked(Preferences::showServerList());
+ connect(showAtStartup, SIGNAL(toggled(bool)), this, SLOT(setShowAtStartup(bool)));
+
+ QGridLayout* layout = new QGridLayout(mainWidget, 5, 2, 0, spacingHint());
+
+ layout->addMultiCellWidget(m_serverList, 0, 3, 0, 0);
+ layout->addWidget(m_addButton, 0, 1);
+ layout->addWidget(m_editButton, 1, 1);
+ layout->addWidget(m_delButton, 2, 1);
+ layout->addMultiCellWidget(showAtStartup, 4, 4, 0, 1);
+ layout->setRowStretch(3, 10);
+
+ m_serverList->setFocus();
+
+ m_selectedItem = false;
+ m_selectedServer = ServerSettings("");
+
+ // Load server list
+ updateServerList();
+
+ connect(m_serverList, SIGNAL(aboutToMove()), this, SLOT(slotAboutToMove()));
+ connect(m_serverList, SIGNAL(moved()), this, SLOT(slotMoved()));
+ connect(m_serverList, SIGNAL(doubleClicked(QListViewItem *, const QPoint&, int)), this, SLOT(slotOk()));
+ connect(m_serverList, SIGNAL(selectionChanged()), this, SLOT(updateButtons()));
+ connect(m_serverList, SIGNAL(expanded(QListViewItem*)), this, SLOT(slotSetGroupExpanded(QListViewItem*)));
+ connect(m_serverList, SIGNAL(collapsed(QListViewItem*)), this, SLOT(slotSetGroupCollapsed(QListViewItem*)));
+ connect(m_addButton, SIGNAL(clicked()), this, SLOT(slotAdd()));
+ connect(m_editButton, SIGNAL(clicked()), this, SLOT(slotEdit()));
+ connect(m_delButton, SIGNAL(clicked()), this, SLOT(slotDelete()));
+
+ updateButtons();
+
+ KConfig* config = kapp->config();
+ config->setGroup("ServerListDialog");
+ QSize newSize = size();
+ newSize = config->readSizeEntry("Size", &newSize);
+ resize(newSize);
+
+ m_serverList->setSelected(m_serverList->firstChild(), true);
+ }
+
+ ServerListDialog::~ServerListDialog()
+ {
+ KConfig* config = kapp->config();
+ config->setGroup("ServerListDialog");
+ config->writeEntry("Size", size());
+ }
+
+ void ServerListDialog::slotClose()
+ {
+ slotApply();
+ accept();
+ }
+
+ void ServerListDialog::slotOk()
+ {
+ QPtrList<QListViewItem> selected = m_serverList->selectedItems();
+ ServerListItem * item = static_cast<ServerListItem*>(selected.first());
+
+ while (item)
+ {
+ if (item->isServer())
+ {
+ ConnectionSettings settings;
+
+ settings.setServerGroup(Preferences::serverGroupById(item->serverGroupId()));
+
+ settings.setServer(item->server());
+
+ emit connectTo(Konversation::PromptToReuseConnection, settings);
+ }
+ else
+ emit connectTo(Konversation::PromptToReuseConnection, item->serverGroupId());
+
+ item = static_cast<ServerListItem*>(selected.next());
+ }
+ }
+
+ void ServerListDialog::slotAdd()
+ {
+ ServerGroupDialog dlg(i18n("New Network"), this);
+
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ addServerGroup(dlg.serverGroupSettings());
+
+ emit serverGroupsChanged(dlg.serverGroupSettings());
+ }
+ }
+
+ void ServerListDialog::slotEdit()
+ {
+ ServerListItem* item = static_cast<ServerListItem*>(m_serverList->selectedItems().first());
+
+ if (item)
+ {
+ Konversation::ServerGroupSettingsPtr serverGroup = Preferences::serverGroupById(item->serverGroupId());
+
+ if (serverGroup)
+ {
+ ServerGroupDialog dlg(i18n("Edit Network"), this);
+
+ dlg.setServerGroupSettings(serverGroup);
+
+ if (item->isServer())
+ {
+ if(dlg.execAndEditServer(item->server()) == KDialog::Accepted)
+ {
+ delete item;
+
+ m_selectedItem = true;
+ m_selectedServerGroupId = serverGroup->id();
+ m_selectedServer = dlg.editedServer();
+
+ *serverGroup = *(dlg.serverGroupSettings());
+
+ emit serverGroupsChanged(serverGroup);
+ }
+ }
+ else
+ {
+ if(dlg.exec() == KDialog::Accepted)
+ {
+ delete item;
+
+ m_selectedItem = true;
+ m_selectedServerGroupId = serverGroup->id();
+ m_selectedServer = ServerSettings("");
+
+ *serverGroup = *(dlg.serverGroupSettings());
+
+ emit serverGroupsChanged(serverGroup);
+ }
+ }
+ }
+ }
+ }
+
+ void ServerListDialog::slotDelete()
+ {
+ QPtrList<QListViewItem> selectedItems = m_serverList->selectedServerListItems();
+
+ if (selectedItems.isEmpty())
+ return;
+
+ ServerListItem* item = static_cast<ServerListItem*>(selectedItems.first());
+ ServerListItem* parent = 0;
+
+ // Make sure we're not deleting a network's only servers
+ while (item)
+ {
+ if (item->isServer())
+ {
+ parent = static_cast<ServerListItem*>(item->parent());
+
+ if (parent && parent->childCount() == 1)
+ {
+ KMessageBox::error(this, i18n("You cannot delete %1.\n\nThe network %2 needs to have at least one server.").arg(item->name()).arg(parent->name()));
+ return;
+ }
+ else if (parent && parent->childCount() == parent->selectedChildrenCount())
+ {
+ KMessageBox::error(this, i18n("You cannot delete the selected servers.\n\nThe network %1 needs to have at least one server.").arg(parent->name()));
+ return;
+ }
+ }
+
+ item = static_cast<ServerListItem*>(selectedItems.next());
+ }
+
+ // Reset item
+ item = static_cast<ServerListItem*>(selectedItems.first());
+
+ // Ask the user if he really wants to delete what he selected
+ QString question;
+
+ if (selectedItems.count()>1)
+ question = i18n("Do you really want to delete the selected entries?");
+ else
+ question = i18n("Do you really want to delete %1?").arg(item->name());
+
+ if (KMessageBox::warningContinueCancel(this,question) == KMessageBox::Cancel)
+ {
+ return;
+ }
+
+ QListViewItem* itemBelow = 0;
+ QListViewItem* itemAbove = 0;
+
+ // Have fun deleting
+ while (item)
+ {
+ itemBelow = item->nextSibling();
+ itemAbove = item->itemAbove();
+
+ if (item->isServer())
+ {
+ Konversation::ServerGroupSettingsPtr serverGroup = Preferences::serverGroupById(item->serverGroupId());
+ serverGroup->removeServer(item->server());
+ delete item;
+ }
+ else
+ {
+ Preferences::removeServerGroup(item->serverGroupId());
+ delete item;
+ }
+
+ item = static_cast<ServerListItem*>(selectedItems.next());
+ }
+
+ if (itemBelow)
+ {
+ m_serverList->setSelected(itemBelow,true);
+ m_serverList->setCurrentItem(itemBelow);
+ }
+ else if (itemAbove)
+ {
+ m_serverList->setSelected(itemAbove,true);
+ m_serverList->setCurrentItem(itemAbove);
+ }
+ else
+ {
+ if (m_serverList->firstChild())
+ {
+ m_serverList->setSelected(m_serverList->firstChild(),true);
+ m_serverList->setCurrentItem(m_serverList->firstChild());
+ }
+ }
+
+ emit serverGroupsChanged();
+ }
+
+ void ServerListDialog::slotSetGroupExpanded(QListViewItem* item)
+ {
+ ServerListItem* listItem = static_cast<ServerListItem*>(item);
+ Konversation::ServerGroupSettingsPtr serverGroup = Preferences::serverGroupById(listItem->serverGroupId());
+ serverGroup->setExpanded(true);
+ }
+
+ void ServerListDialog::slotSetGroupCollapsed(QListViewItem* item)
+ {
+ ServerListItem* listItem = static_cast<ServerListItem*>(item);
+ Konversation::ServerGroupSettingsPtr serverGroup = Preferences::serverGroupById(listItem->serverGroupId());
+ serverGroup->setExpanded(false);
+ }
+
+ void ServerListDialog::slotAboutToMove()
+ {
+ m_lastSortColumn = m_serverList->sortColumn();
+ m_lastSortOrder = m_serverList->sortOrder();
+ m_serverList->setSortColumn(-1);
+ }
+
+ void ServerListDialog::slotMoved()
+ {
+ Konversation::ServerGroupList newServerGroupList;
+
+ ServerListItem* item = static_cast<ServerListItem*>(m_serverList->firstChild());
+ int newSortIndex = 0;
+
+ while (item)
+ {
+ Konversation::ServerGroupSettingsPtr serverGroup = Preferences::serverGroupById(item->serverGroupId());
+ serverGroup->setSortIndex(newSortIndex);
+
+ newServerGroupList.append(serverGroup);
+
+ item->setSortIndex(newSortIndex);
+
+ ++newSortIndex;
+ item = static_cast<ServerListItem*>(item->nextSibling());
+ }
+
+ Preferences::setServerGroupList(newServerGroupList);
+
+ m_serverList->setSortColumn(m_lastSortColumn);
+ m_serverList->setSortOrder(m_lastSortOrder);
+
+ emit serverGroupsChanged();
+ }
+
+ void ServerListDialog::updateButtons()
+ {
+ int count = m_serverList->selectedItems().count();
+ bool enable = (count > 0);
+
+ enableButtonOK(enable);
+ m_delButton->setEnabled(enable);
+
+ enable = (count == 1);
+ m_editButton->setEnabled(enable);
+ }
+
+ void ServerListDialog::addServerGroup(ServerGroupSettingsPtr serverGroup)
+ {
+ if (m_serverList->lastChild())
+ {
+ ServerListItem* lastChild = static_cast<ServerListItem*>(m_serverList->lastChild());
+ serverGroup->setSortIndex(lastChild->sortIndex() + 1);
+ }
+
+ Preferences::addServerGroup(serverGroup);
+ QListViewItem* item = insertServerGroup(serverGroup);
+ m_serverList->clearSelection();
+ m_serverList->setSelected(item,true);
+ m_serverList->setCurrentItem(item);
+ m_serverList->ensureItemVisible(item);
+ }
+
+ void ServerListDialog::updateServerList()
+ {
+ if (!m_selectedItem && m_serverList->currentItem())
+ {
+ ServerListItem* item = static_cast<ServerListItem*>(m_serverList->currentItem());
+
+ m_selectedItem = true;
+ m_selectedServerGroupId = item->serverGroupId();
+
+ if (item->isServer())
+ m_selectedServer = item->server();
+ else
+ m_selectedServer = ServerSettings("");
+ }
+
+ m_serverList->setUpdatesEnabled(false);
+ m_serverList->clear();
+
+ Konversation::ServerGroupList serverGroups = Preferences::serverGroupList();
+ Konversation::ServerGroupList::iterator it;
+
+ QListViewItem* networkItem = 0;
+
+ for(it = serverGroups.begin(); it != serverGroups.end(); ++it)
+ {
+ networkItem = insertServerGroup((*it));
+
+ // The method was called by slotEdit() ... initialize a pointer to the new
+ // location of the edited server group
+ if (m_selectedItem && m_selectedServer.host().isEmpty() && (*it)->id()==m_selectedServerGroupId)
+ {
+ m_selectedItemPtr = networkItem;
+ }
+ }
+
+ // Highlight the last edited item
+ if (m_selectedItem)
+ {
+ m_serverList->setSelected(m_selectedItemPtr,true);
+ m_serverList->setCurrentItem(m_selectedItemPtr);
+ m_selectedItem = false;
+ }
+
+ m_serverList->setUpdatesEnabled(true);
+ m_serverList->repaint();
+ }
+
+ QListViewItem* ServerListDialog::insertServerGroup(ServerGroupSettingsPtr serverGroup)
+ {
+ // Produce a list of this server group's channels
+ QString channels;
+
+ Konversation::ChannelList channelList = serverGroup->channelList();
+ Konversation::ChannelList::iterator channelIt;
+ Konversation::ChannelList::iterator begin = channelList.begin();
+
+ for(channelIt = begin; channelIt != channelList.end(); ++channelIt)
+ {
+ if (channelIt != begin)
+ channels += ", ";
+
+ channels += (*channelIt).name();
+ }
+
+ QListViewItem* networkItem = 0;
+
+ // Insert the server group into the list
+ networkItem = new ServerListItem(m_serverList,
+ serverGroup->id(),
+ serverGroup->sortIndex(),
+ serverGroup->name(),
+ serverGroup->identity()->getName(),
+ channels);
+
+ // Recreate expanded/collapsed state
+ if (serverGroup->expanded())
+ networkItem->setOpen(true);
+
+ // Produce a list of this server group's servers and iterate over it
+ Konversation::ServerList serverList = serverGroup->serverList();
+ Konversation::ServerList::iterator serverIt;
+
+ QListViewItem* serverItem = 0;
+ int i = 0;
+
+ for (serverIt = serverList.begin(); serverIt != serverList.end(); ++serverIt)
+ {
+ // Produce a string representation of the server object
+ QString name = (*serverIt).host();
+
+ if ((*serverIt).port() != 6667)
+ name += ':' + QString::number((*serverIt).port());
+
+ if ((*serverIt).SSLEnabled())
+ name += + " (SSL)";
+
+ // Insert the server into the list, as child of the server group list item
+ serverItem = new ServerListItem(networkItem,
+ serverGroup->id(),
+ i,
+ name,
+ (*serverIt));
+
+ // The listview shouldn't allow this to be dragged
+ serverItem->setDragEnabled(false);
+
+ // Initialize a pointer to the new location of the last edited server
+ if (m_selectedItem && m_selectedServer==(*serverIt))
+ m_selectedItemPtr = serverItem;
+
+ ++i;
+ }
+
+ return networkItem;
+ }
+
+ void ServerListDialog::setShowAtStartup(bool show)
+ {
+ Preferences::setShowServerList(show);
+ }
+}
+
+#include "serverlistdialog.moc"
diff --git a/konversation/src/serverlistdialog.h b/konversation/src/serverlistdialog.h
new file mode 100644
index 0000000..909f235
--- /dev/null
+++ b/konversation/src/serverlistdialog.h
@@ -0,0 +1,110 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONSERVERLISTDIALOG_H
+#define KONVERSATIONSERVERLISTDIALOG_H
+
+#include "serverlistview.h"
+#include "common.h"
+#include "servergroupsettings.h"
+
+#include <kdialogbase.h>
+
+class ConnectionSettings;
+class Preferences;
+class QPushButton;
+class QStringList;
+
+namespace Konversation
+{
+ class ServerListItem : public KListViewItem
+ {
+ public:
+ ServerListItem(KListView* parent, int serverGroupId, int sortIndex,
+ const QString& serverGroup, const QString& identity, const QString& channels);
+ ServerListItem(QListViewItem* parent, int serverGroupId, int sortIndex,
+ const QString& name, const ServerSettings& server);
+
+ int serverGroupId() const { return m_serverGroupId; }
+
+ void setSortIndex(int id) { m_sortIndex = id; }
+ int sortIndex() const { return m_sortIndex; }
+
+ ServerSettings server() const { return m_server; }
+ QString name() const { return m_name; }
+ bool isServer() const { return m_isServer; }
+
+ int selectedChildrenCount();
+
+ int compare(QListViewItem *i, int col, bool ascending) const;
+
+ private:
+ int m_serverGroupId;
+ int m_sortIndex;
+ QString m_name;
+ ServerSettings m_server;
+ bool m_isServer;
+ };
+
+ class ServerListDialog : public KDialogBase
+ {
+ Q_OBJECT
+
+ public:
+ explicit ServerListDialog(QWidget *parent = 0, const char *name = 0);
+ ~ServerListDialog();
+
+ public slots:
+ void updateServerList();
+
+ signals:
+ void connectTo(Konversation::ConnectionFlag flag, int serverGroupId);
+ void connectTo(Konversation::ConnectionFlag flag, ConnectionSettings& connectionSettings);
+ void serverGroupsChanged(const Konversation::ServerGroupSettings* serverGroup = 0);
+
+ protected slots:
+ virtual void slotOk();
+ void slotClose();
+ void slotAdd();
+ void slotEdit();
+ void slotDelete();
+
+ void slotSetGroupExpanded(QListViewItem* item);
+ void slotSetGroupCollapsed(QListViewItem* item);
+
+ void slotAboutToMove();
+ void slotMoved();
+
+ void updateButtons();
+
+ void setShowAtStartup(bool show);
+
+ protected:
+ QListViewItem* insertServerGroup(ServerGroupSettingsPtr serverGroup);
+ void addServerGroup(ServerGroupSettingsPtr serverGroup);
+
+ private:
+ ServerListView* m_serverList;
+ QPushButton* m_addButton;
+ QPushButton* m_editButton;
+ QPushButton* m_delButton;
+
+ bool m_selectedItem;
+ int m_selectedServerGroupId;
+ ServerSettings m_selectedServer;
+ QListViewItem* m_selectedItemPtr;
+
+ int m_lastSortColumn;
+ SortOrder m_lastSortOrder;
+ };
+}
+#endif
diff --git a/konversation/src/serverlistview.cpp b/konversation/src/serverlistview.cpp
new file mode 100644
index 0000000..dbae9a9
--- /dev/null
+++ b/konversation/src/serverlistview.cpp
@@ -0,0 +1,114 @@
+/*
+ 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.
+*/
+
+/*
+ ServerListView is derived from KListView and implements custom
+ drag'n'drop behavior needed in ServerListDialog.
+
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "serverlistview.h"
+
+#include <qdragobject.h>
+#include <kdebug.h>
+
+
+ServerListView::ServerListView(QWidget *parent)
+ : KListView(parent)
+{
+}
+
+ServerListView::~ServerListView()
+{
+}
+
+QPtrList<QListViewItem> ServerListView::selectedServerListItems()
+{
+
+ QPtrList<QListViewItem> selectedItems = KListView::selectedItems();
+ QPtrList<QListViewItem> selectedServerListItems;
+
+ QListViewItem* item = selectedItems.first();
+
+ while (item)
+ {
+ if (item->parent())
+ {
+ if (!item->parent()->isSelected())
+ selectedServerListItems.append(item);
+ }
+ else
+ {
+ selectedServerListItems.append(item);
+ }
+
+ item = selectedItems.next();
+ }
+
+ return selectedServerListItems;
+}
+
+void ServerListView::findDrop(const QPoint &pos, QListViewItem *&parent, QListViewItem *&after)
+{
+ QPoint p (contentsToViewport(pos));
+
+ // Get the position to put it in
+ QListViewItem *atpos = itemAt(p);
+
+ QListViewItem *above;
+ if (!atpos) // put it at the end
+ above = lastItem();
+ else
+ {
+ // Get the closest item before us ('atpos' or the one above, if any)
+ if (p.y() - itemRect(atpos).topLeft().y() < (atpos->height()/2))
+ above = atpos->itemAbove();
+ else
+ above = atpos;
+ }
+
+ if (above)
+ {
+ if (above->firstChild())
+ {
+ after = above;
+ parent = after->parent();
+ return;
+ }
+ else
+ {
+ after = above->parent();
+ parent = after ? after->parent() : 0L;
+ return;
+ }
+ }
+ // set as sibling
+ after = above;
+ parent = after ? after->parent() : 0L;
+}
+
+QDragObject* ServerListView::dragObject()
+{
+ if (!currentItem())
+ return 0;
+
+ QPtrList<QListViewItem> selected = selectedItems();
+ QListViewItem* item = selected.first();
+
+ while (item)
+ {
+ if (!item->dragEnabled())
+ return 0;
+
+ item = selected.next();
+ }
+
+ return new QStoredDrag("application/x-qlistviewitem", viewport());
+}
+
+#include "serverlistview.moc"
diff --git a/konversation/src/serverlistview.h b/konversation/src/serverlistview.h
new file mode 100644
index 0000000..08153a8
--- /dev/null
+++ b/konversation/src/serverlistview.h
@@ -0,0 +1,38 @@
+/*
+ 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.
+*/
+
+/*
+ ServerListView is derived from KListView and implements custom
+ drag'n'drop behavior needed in ServerListDialog.
+
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef SERVERLISTVIEW_H
+#define SERVERLISTVIEW_H
+
+#include <klistview.h>
+
+
+class QDragObject;
+
+class ServerListView : public KListView
+{
+ Q_OBJECT
+
+ public:
+ explicit ServerListView(QWidget *parent);
+ ~ServerListView();
+
+ QPtrList<QListViewItem> selectedServerListItems();
+
+ protected:
+ void findDrop(const QPoint &pos, QListViewItem *&parent, QListViewItem *&after);
+ QDragObject* dragObject();
+};
+
+#endif
diff --git a/konversation/src/serversettings.cpp b/konversation/src/serversettings.cpp
new file mode 100644
index 0000000..de5214e
--- /dev/null
+++ b/konversation/src/serversettings.cpp
@@ -0,0 +1,66 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#include "serversettings.h"
+
+
+namespace Konversation
+{
+
+ ServerSettings::ServerSettings()
+ {
+ setPort(6667);
+ setSSLEnabled(false);
+ }
+
+ ServerSettings::ServerSettings(const ServerSettings& settings)
+ {
+ setHost(settings.host());
+ setPort(settings.port());
+ setPassword(settings.password());
+ setSSLEnabled(settings.SSLEnabled());
+ }
+
+ ServerSettings::ServerSettings(const QString& host)
+ {
+ setHost(host);
+ setPort(6667);
+ setSSLEnabled(false);
+ }
+
+ ServerSettings::~ServerSettings()
+ {
+ }
+
+ bool ServerSettings::operator==(const ServerSettings& settings) const
+ {
+ if (m_host.lower() == settings.host().lower()
+ && m_port == settings.port()
+ && m_password == settings.password()
+ && m_SSLEnabled == settings.SSLEnabled())
+ {
+ return true;
+ }
+ else
+ return false;
+ }
+
+ void ServerSettings::setHost(const QString& host)
+ {
+ m_host = host.stripWhiteSpace();
+ }
+
+ void ServerSettings::setPassword(const QString& password)
+ {
+ m_password = password.stripWhiteSpace();
+ }
+}
diff --git a/konversation/src/serversettings.h b/konversation/src/serversettings.h
new file mode 100644
index 0000000..d1eec69
--- /dev/null
+++ b/konversation/src/serversettings.h
@@ -0,0 +1,52 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONSERVERSETTINGS_H
+#define KONVERSATIONSERVERSETTINGS_H
+
+#include <qstring.h>
+
+namespace Konversation
+{
+
+ class ServerSettings
+ {
+ public:
+ ServerSettings();
+ ServerSettings(const ServerSettings& settings);
+ explicit ServerSettings(const QString& host);
+ ~ServerSettings();
+
+ void setHost(const QString& host);
+ QString host() const { return m_host; }
+
+ void setPort(int port) { m_port = port; }
+ int port() const { return m_port;}
+
+ void setPassword(const QString& password);
+ QString password() const { return m_password; }
+
+ void setSSLEnabled(bool enabled) { m_SSLEnabled = enabled; }
+ bool SSLEnabled() const { return m_SSLEnabled; }
+
+ bool operator== (const ServerSettings& settings) const;
+
+ private:
+ QString m_host;
+ int m_port;
+ QString m_password;
+ bool m_SSLEnabled;
+
+ };
+
+}
+#endif
diff --git a/konversation/src/ssllabel.cpp b/konversation/src/ssllabel.cpp
new file mode 100644
index 0000000..593acbe
--- /dev/null
+++ b/konversation/src/ssllabel.cpp
@@ -0,0 +1,29 @@
+/*
+ Copyright (c) 2004 by İsmail Dönmez <ismail.donmez@boun.edu.tr>
+
+ *************************************************************************
+ * *
+ * 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. *
+ * *
+ *************************************************************************
+
+ */
+
+#include "ssllabel.h"
+
+
+SSLLabel::SSLLabel(QWidget* parent,const char* name)
+: QLabel(parent,name)
+{
+}
+
+void SSLLabel::mouseReleaseEvent(QMouseEvent *e)
+{
+ Q_UNUSED(e);
+ emit clicked();
+}
+
+#include "ssllabel.moc"
diff --git a/konversation/src/ssllabel.h b/konversation/src/ssllabel.h
new file mode 100644
index 0000000..d96223e
--- /dev/null
+++ b/konversation/src/ssllabel.h
@@ -0,0 +1,33 @@
+#ifndef SSLLABEL_H
+#define SSLLABEL_H
+
+/*
+ Copyright (c) 2004 by İsmail Dönmez <ismail.donmez@boun.edu.tr>
+
+ *************************************************************************
+ * *
+ * 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. *
+ * *
+ *************************************************************************
+
+ */
+
+#include <qlabel.h>
+
+class SSLLabel : public QLabel
+{
+ Q_OBJECT
+
+ public:
+ SSLLabel(QWidget* parent, const char* name);
+
+ protected:
+ void mouseReleaseEvent(QMouseEvent *e);
+
+ signals:
+ void clicked();
+};
+#endif
diff --git a/konversation/src/sslsocket.cpp b/konversation/src/sslsocket.cpp
new file mode 100644
index 0000000..189a504
--- /dev/null
+++ b/konversation/src/sslsocket.cpp
@@ -0,0 +1,358 @@
+/*
+ Copyright (c) 2004,2005 by İsmail Dönmez <ismail.donmez@boun.edu.tr>
+
+ based on the code by :
+ Copyright (c) 2004 by Jason Keirstead <jason@keirstead.org>
+ Kopete (c) 2002-2003 by the Kopete developers <kopete-devel@kde.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. *
+* *
+*************************************************************************
+*/
+
+#include "sslsocket.h"
+
+#include <klocale.h>
+#include <kdebug.h>
+#include <kssl.h>
+#include <ksslinfodlg.h>
+#include <ksslpeerinfo.h>
+#include <ksslcertchain.h>
+#include <ksslcertificatecache.h>
+#include <kmessagebox.h>
+#include <ksocketdevice.h>
+
+
+struct SSLSocketPrivate
+{
+ int m_sslCertState;
+ QString remoteHost;
+ QString url;
+ QString m_sslCertErrors;
+
+ KSSL* kssl;
+ KSSLCertificateCache* cc;
+};
+
+SSLSocket::SSLSocket(QWidget* serverParent, QObject* parent, const char* name)
+: KStreamSocket(0L,0L,parent,name), m_serverParent(serverParent)
+{
+ d = new SSLSocketPrivate;
+ d->kssl = 0L;
+ d->cc = new KSSLCertificateCache;
+ d->cc->reload();
+
+}
+
+SSLSocket::~SSLSocket()
+{
+ // Close stream socket
+ close();
+
+ // close ssl socket
+ if( d->kssl ) d->kssl->close();
+
+ delete d->kssl;
+ delete d->cc;
+ delete d;
+}
+
+Q_LONG SSLSocket::writeBlock(const char *data, Q_ULONG len)
+{
+ if (d->kssl && KSSL::doesSSLWork() && state() == KNetwork::KClientSocketBase::Connected)
+ return d->kssl->write( data,len );
+ else
+ return 0;
+}
+
+Q_LONG SSLSocket::readBlock(char *data, Q_ULONG maxlen)
+{
+ int err = d->kssl->read( data, maxlen );
+ return err;
+}
+
+void SSLSocket::stateChanging(KClientSocketBase::SocketState newState)
+{
+ if(newState == KClientSocketBase::Connected)
+ {
+ KClientSocketBase::stateChanging(KClientSocketBase::Connected);
+ connected();
+ }
+ else
+ KClientSocketBase::stateChanging(newState);
+}
+
+const QString SSLSocket::details()
+{
+ int strength = d->kssl->connectionInfo().getCipherUsedBits();
+
+ QString details = i18n("Connection is secured with %1 bit SSL.").arg(strength);
+
+ return details;
+}
+
+void SSLSocket::connected()
+{
+
+ if( KSSL::doesSSLWork() )
+ {
+ if( !d->kssl )
+ {
+ d->kssl = new KSSL();
+ if( d->kssl->connect( socketDevice()->socket() ) )
+ {
+ if( verifyCertificate() != 1 )
+ {
+ close();
+ }
+ else
+ emit sslInitDone();
+ }
+ }
+ else
+ {
+ d->kssl->reInitialize();
+ }
+ }
+ else
+ {
+ kdError() << "SSL not functional!" << endl;
+ emit sslFailure(i18n("The functionality to connect to servers using encrypted SSL communications is not available to Konversation because OpenSSL support was not enabled at compile time. You will need to get new version of KDE that has SSL support."));
+ close();
+ }
+}
+
+void SSLSocket::showInfoDialog()
+{
+ if( state() == KNetwork::KClientSocketBase::Connected )
+ {
+ showSSLInfoDialog();
+ }
+}
+
+void SSLSocket::showSSLInfoDialog()
+{
+
+ KSSLInfoDlg* sslInfoDlg = new KSSLInfoDlg(true, m_serverParent, "sslInfoDlg", true);
+ sslInfoDlg->setCertState( d->m_sslCertErrors );
+ sslInfoDlg->setup( *(d->kssl),
+ (const QString&) d->remoteHost,
+ (const QString&) d->url
+ );
+ sslInfoDlg->exec();
+}
+
+int SSLSocket::verifyCertificate()
+{
+ int rc = 0;
+ int result;
+ bool permacache = false;
+ bool ipMatchesCN = false;
+ bool doAddHost = false;
+ QString hostname;
+ KSSLCertificate::KSSLValidation validation;
+
+ d->remoteHost = peerAddress().nodeName();
+ d->url = "irc://"+d->remoteHost+':'+peerAddress().serviceName();
+
+ KSSLCertificate& peerCertificate = d->kssl->peerInfo().getPeerCertificate();
+
+ validation = peerCertificate.validate();
+ if(validation == KSSLCertificate::Unknown )
+ {
+ emit sslFailure(i18n("The SSL certificate returned from the server was not recognized. Maybe this server does not support SSL on the given port? If this server supports normal, non-SSL communications as well, then SSL will be on a different port."));
+ return 0;
+ }
+
+ KSSLX509Map certinfo(peerCertificate.getSubject());
+ hostname = certinfo.getValue("CN");
+
+ KSSLCertificate::KSSLValidationList validationList
+ = peerCertificate.validateVerbose(KSSLCertificate::SSLServer);
+
+ ipMatchesCN = d->kssl->peerInfo().certMatchesAddress();
+
+ validation = KSSLCertificate::Ok;
+
+ if (!validationList.isEmpty())
+ validation = validationList.first();
+
+ for(KSSLCertificate::KSSLValidationList::ConstIterator it = validationList.begin();
+ it != validationList.end(); ++it)
+ {
+ d->m_sslCertErrors += QString::number(*it)+':';
+ }
+
+ if (peerCertificate.chain().isValid() && peerCertificate.chain().depth() > 1)
+ {
+ QString theChain;
+ QPtrList<KSSLCertificate> chain = peerCertificate.chain().getChain();
+ for (KSSLCertificate *c = chain.first(); c; c = chain.next())
+ {
+ theChain += c->toString();
+ theChain += '\n';
+ }
+ }
+
+ d->m_sslCertState = validation;
+
+ if (validation == KSSLCertificate::Ok)
+ rc = 1;
+
+ // - Read from cache and see if there is a policy for this
+ KSSLCertificateCache::KSSLCertificatePolicy cp = d->cc->getPolicyByCertificate(peerCertificate);
+
+ // - validation code
+ if (validation != KSSLCertificate::Ok)
+ {
+ if( cp == KSSLCertificateCache::Unknown || cp == KSSLCertificateCache::Ambiguous)
+ {
+ cp = KSSLCertificateCache::Prompt;
+ }
+ else
+ {
+ // A policy was already set so let's honor that.
+ permacache = d->cc->isPermanent(peerCertificate);
+ }
+
+ if (!ipMatchesCN && cp == KSSLCertificateCache::Accept )
+ {
+ do
+ {
+ QString msg = i18n("The IP address of the host %1 "
+ "does not match the one the "
+ "certificate was issued to.");
+ result = KMessageBox::warningYesNoCancel( m_serverParent,
+ msg.arg(hostname),
+ i18n("Server Authentication"),
+ KGuiItem(i18n("Details")),
+ KGuiItem(i18n("Continue")),
+ "SslIpCNMismatch");
+ if(result == KMessageBox::Yes)
+ showInfoDialog();
+ else if(result == KMessageBox::Cancel)
+ {
+ return 0;
+ }
+ }
+ while ( result == KMessageBox::Yes );
+
+ }
+
+ // Precondition: cp is one of Reject, Accept or Prompt
+ switch (cp)
+ {
+ case KSSLCertificateCache::Accept:
+ rc = 1;
+ break;
+
+ case KSSLCertificateCache::Reject:
+ rc = -1;
+ break;
+
+ case KSSLCertificateCache::Prompt:
+ {
+ do
+ {
+ if (validation == KSSLCertificate::InvalidHost)
+ {
+ QString msg = i18n("The IP address of the host %1 "
+ "does not match the one the "
+ "certificate was issued to.");
+ result = KMessageBox::warningYesNoCancel( m_serverParent,
+ msg.arg(hostname),
+ i18n("Server Authentication"),
+ KGuiItem(i18n("Details")),
+ KGuiItem(i18n("Continue")),
+ QString::null,
+ KMessageBox::Dangerous);
+ }
+ else
+ {
+ QString msg = i18n("The server (%1) certificate failed the "
+ "authenticity test.");
+ result = KMessageBox::warningYesNoCancel( m_serverParent,
+ msg.arg(hostname),
+ i18n("Server Authentication"),
+ KGuiItem(i18n("Details")),
+ KGuiItem(i18n("Continue")),
+ QString::null,
+ KMessageBox::Dangerous);
+ }
+
+ if (result == KMessageBox::Yes)
+ {
+ showInfoDialog();
+ }
+ else if(result == KMessageBox::Cancel)
+ {
+ return 0;
+ }
+ }
+ while (result == KMessageBox::Yes);
+
+ if (result == KMessageBox::No)
+ {
+ rc = 1;
+ cp = KSSLCertificateCache::Accept;
+ doAddHost = true;
+ result = KMessageBox::warningYesNo( m_serverParent,
+ i18n("Would you like to accept this "
+ "certificate forever without "
+ "being prompted?"),
+ i18n("Server Authentication"),
+ KGuiItem(i18n("&Forever")),
+ KGuiItem(i18n("&Current Sessions Only"))
+ );
+
+ if (result == KMessageBox::Yes)
+ permacache = true;
+ else
+ permacache = false;
+ }
+ else
+ {
+ rc = -1;
+ cp = KSSLCertificateCache::Prompt;
+ }
+
+ break;
+ }
+ default:
+ kdDebug() << "SSL error in cert code." << endl;
+ break;
+ }
+ }
+
+ // - cache the results
+ d->cc->addCertificate(peerCertificate, cp, permacache);
+ if (doAddHost)
+ d->cc->addHost(peerCertificate, d->remoteHost);
+
+ if (rc == -1)
+ return rc;
+ /*
+ kdDebug() << "SSL connection information follows:" << endl
+ << "+-----------------------------------------------" << endl
+ << "| Cipher: " << d->kssl->connectionInfo().getCipher() << endl
+ << "| Description: " << d->kssl->connectionInfo().getCipherDescription() << endl
+ << "| Version: " << d->kssl->connectionInfo().getCipherVersion() << endl
+ << "| Strength: " << d->kssl->connectionInfo().getCipherUsedBits()
+ << " of " << d->kssl->connectionInfo().getCipherBits()
+ << " bits used." << endl
+ << "| PEER:" << endl
+ << "| Subject: " << d->kssl->peerInfo().getPeerCertificate().getSubject() << endl
+ << "| Issuer: " << d->kssl->peerInfo().getPeerCertificate().getIssuer() << endl
+ << "| Validation: " << (int) validation << endl
+ << "+-----------------------------------------------"
+ << endl;
+ */
+ return rc;
+}
+
+#include "sslsocket.moc"
diff --git a/konversation/src/sslsocket.h b/konversation/src/sslsocket.h
new file mode 100644
index 0000000..aa15de0
--- /dev/null
+++ b/konversation/src/sslsocket.h
@@ -0,0 +1,60 @@
+#ifndef SSL_SOCKET_H
+#define SSL_SOCKET_H
+/*
+ KDE SSL Socket
+
+ Copyright (c) 2004,2005 by İsmail Dönmez <ismail.donmez@boun.edu.tr>
+
+ based on the code by:
+ Copyright (c) 2004 by Jason Keirstead <jason@keirstead.org>
+ Kopete (c) 2002-2003 by the Kopete developers <kopete-devel@kde.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. *
+* *
+*************************************************************************
+*/
+
+#include <kstreamsocket.h>
+using namespace KNetwork;
+
+struct SSLSocketPrivate;
+
+class SSLSocket : public KStreamSocket
+{
+ Q_OBJECT
+
+ public:
+ explicit SSLSocket(QWidget* serverParent, QObject* parent = 0L, const char* name = 0L);
+ ~SSLSocket();
+
+ void showInfoDialog();
+ const QString details();
+
+ Q_LONG writeBlock (const char *data, Q_ULONG len);
+ Q_LONG readBlock (char *data, Q_ULONG maxlen);
+
+ protected:
+ void stateChanging (KClientSocketBase::SocketState newState);
+
+ signals:
+ /** Emitted when there is a problem with SSL
+ * @param reason An error string that has already been through i18n
+ */
+ void sslFailure(const QString& reason);
+ void sslInitDone();
+
+ private:
+ void connected();
+ int verifyCertificate();
+ void showSSLInfoDialog();
+
+ QWidget* m_serverParent;
+
+ SSLSocketPrivate* d;
+};
+#endif
diff --git a/konversation/src/statuspanel.cpp b/konversation/src/statuspanel.cpp
new file mode 100644
index 0000000..f593559
--- /dev/null
+++ b/konversation/src/statuspanel.cpp
@@ -0,0 +1,398 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "statuspanel.h"
+#include "channel.h"
+#include "konversationapplication.h"
+#include "ircinput.h"
+#include "ircview.h"
+#include "ircviewbox.h"
+#include "server.h"
+
+#include <qpushbutton.h>
+#include <qcombobox.h>
+#include <qlabel.h>
+#include <qhbox.h>
+#include <qtextcodec.h>
+#include <qlineedit.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+
+
+StatusPanel::StatusPanel(QWidget* parent) : ChatWindow(parent)
+{
+ setType(ChatWindow::Status);
+
+ setChannelEncodingSupported(true);
+
+ awayChanged=false;
+ awayState=false;
+
+ // set up text view, will automatically take care of logging
+ IRCViewBox* ircBox = new IRCViewBox(this, 0); // Server will be set later in setServer()
+ setTextView(ircBox->ircView());
+
+ QHBox* commandLineBox=new QHBox(this);
+ commandLineBox->setSpacing(spacing());
+ commandLineBox->setMargin(0);
+
+ nicknameCombobox=new QComboBox(commandLineBox);
+ nicknameCombobox->setEditable(true);
+ nicknameCombobox->insertStringList(Preferences::nicknameList());
+ oldNick=nicknameCombobox->currentText();
+
+ awayLabel=new QLabel(i18n("(away)"),commandLineBox);
+ awayLabel->hide();
+ statusInput=new IRCInput(commandLineBox);
+
+ getTextView()->installEventFilter(statusInput);
+ statusInput->installEventFilter(this);
+
+ setLog(Preferences::log());
+
+ connect(getTextView(),SIGNAL (gotFocus()),statusInput,SLOT (setFocus()) );
+
+ connect(getTextView(),SIGNAL (sendFile()),this,SLOT (sendFileMenu()) );
+ connect(getTextView(),SIGNAL (autoText(const QString&)),this,SLOT (sendStatusText(const QString&)) );
+
+ connect(statusInput,SIGNAL (submit()),this,SLOT(statusTextEntered()) );
+ connect(statusInput,SIGNAL (textPasted(const QString&)),this,SLOT(textPasted(const QString&)) );
+ connect(getTextView(), SIGNAL(textPasted(bool)), statusInput, SLOT(paste(bool)));
+ connect(getTextView(), SIGNAL(popupCommand(int)), this, SLOT(popupCommand(int)));
+
+ connect(nicknameCombobox,SIGNAL (activated(int)),this,SLOT(nicknameComboboxChanged()));
+ Q_ASSERT(nicknameCombobox->lineEdit()); //it should be editedable. if we design it so it isn't, remove these lines.
+ if(nicknameCombobox->lineEdit())
+ connect(nicknameCombobox->lineEdit(), SIGNAL (lostFocus()),this,SLOT(nicknameComboboxChanged()));
+
+ updateAppearance();
+}
+
+StatusPanel::~StatusPanel()
+{
+}
+
+void StatusPanel::serverSaysClose()
+{
+ closeYourself(false);
+}
+
+void StatusPanel::setNickname(const QString& newNickname)
+{
+ nicknameCombobox->setCurrentText(newNickname);
+}
+
+void StatusPanel::childAdjustFocus()
+{
+ statusInput->setFocus();
+}
+
+void StatusPanel::sendStatusText(const QString& sendLine)
+{
+ // create a work copy
+ QString outputAll(sendLine);
+ // replace aliases and wildcards
+ if(m_server->getOutputFilter()->replaceAliases(outputAll))
+ {
+ outputAll = m_server->parseWildcards(outputAll, m_server->getNickname(), QString(), QString(), QString(), QString());
+ }
+
+ // Send all strings, one after another
+ QStringList outList=QStringList::split('\n',outputAll);
+ for(unsigned int index=0;index<outList.count();index++)
+ {
+ QString output(outList[index]);
+
+ // encoding stuff is done in Server()
+ Konversation::OutputFilterResult result = m_server->getOutputFilter()->parse(m_server->getNickname(), output, QString());
+
+ if(!result.output.isEmpty())
+ {
+ appendServerMessage(result.typeString, result.output);
+ }
+ m_server->queue(result.toServer);
+ } // for
+}
+
+void StatusPanel::statusTextEntered()
+{
+ QString line=statusInput->text();
+ statusInput->setText("");
+
+ if(line.lower()==Preferences::commandChar()+"clear") textView->clear();
+ else
+ {
+ if(line.length()) sendStatusText(line);
+ }
+}
+
+void StatusPanel::textPasted(const QString& text)
+{
+ if(m_server)
+ {
+ QStringList multiline=QStringList::split('\n',text);
+ for(unsigned int index=0;index<multiline.count();index++)
+ {
+ QString line=multiline[index];
+ QString cChar(Preferences::commandChar());
+ // make sure that lines starting with command char get escaped
+ if(line.startsWith(cChar)) line=cChar+line;
+ sendStatusText(line);
+ }
+ }
+}
+
+void StatusPanel::updateAppearance()
+{
+ QColor fg;
+ QColor bg;
+ if(Preferences::inputFieldsBackgroundColor())
+ {
+ fg=Preferences::color(Preferences::ChannelMessage);
+ bg=Preferences::color(Preferences::TextViewBackground);
+ }
+ else
+ {
+ fg=colorGroup().foreground();
+ bg=colorGroup().base();
+ }
+
+ statusInput->unsetPalette();
+ statusInput->setPaletteForegroundColor(fg);
+ statusInput->setPaletteBackgroundColor(bg);
+
+ getTextView()->unsetPalette();
+
+ if(Preferences::showBackgroundImage())
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ Preferences::backgroundImage());
+ }
+ else
+ {
+ getTextView()->setViewBackground(Preferences::color(Preferences::TextViewBackground),
+ QString());
+ }
+
+ if (Preferences::customTextFont())
+ {
+ getTextView()->setFont(Preferences::textFont());
+ statusInput->setFont(Preferences::textFont());
+ nicknameCombobox->setFont(Preferences::textFont());
+ }
+ else
+ {
+ getTextView()->setFont(KGlobalSettings::generalFont());
+ statusInput->setFont(KGlobalSettings::generalFont());
+ nicknameCombobox->setFont(KGlobalSettings::generalFont());
+ }
+
+ showNicknameBox(Preferences::showNicknameBox());
+
+ ChatWindow::updateAppearance();
+}
+
+void StatusPanel::setName(const QString& newName)
+{
+ ChatWindow::setName(newName);
+ setLogfileName(newName.lower());
+}
+
+void StatusPanel::updateName()
+{
+ QString newName = getServer()->getDisplayName();
+ setName(newName);
+ setLogfileName(newName.lower());
+}
+
+void StatusPanel::sendFileMenu()
+{
+ emit sendFile();
+}
+
+void StatusPanel::indicateAway(bool show)
+{
+ // QT does not redraw the label properly when they are not on screen
+ // while getting hidden, so we remember the "soon to be" state here.
+ if(isHidden())
+ {
+ awayChanged=true;
+ awayState=show;
+ }
+ else
+ {
+ if(show)
+ awayLabel->show();
+ else
+ awayLabel->hide();
+ }
+}
+
+// fix Qt's broken behavior on hidden QListView pages
+void StatusPanel::showEvent(QShowEvent*)
+{
+ if(awayChanged)
+ {
+ awayChanged=false;
+ indicateAway(awayState);
+ }
+}
+
+QString StatusPanel::getTextInLine() { return statusInput->text(); }
+
+bool StatusPanel::canBeFrontView() { return true; }
+bool StatusPanel::searchView() { return true; }
+
+void StatusPanel::setNotificationsEnabled(bool enable)
+{
+ if (m_server->getServerGroup()) m_server->getServerGroup()->setNotificationsEnabled(enable);
+
+ m_notificationsEnabled = enable;
+}
+
+bool StatusPanel::closeYourself(bool confirm)
+{
+ int result;
+
+ //FIXME: Show "Do you really want to close ..." warnings in
+ // disconnected state instead of closing directly. Can't do
+ // that due to string freeze at the moment.
+ if (confirm && !m_server->isConnected())
+ {
+ result = KMessageBox::warningContinueCancel(this, i18n("Do you really want to close '%1'?\n\n All associated tabs will be closed as well.").arg(getName()),
+ i18n("Close Tab"), i18n("Close"), "QuitServerTab");
+ }
+ else
+ {
+ result = KMessageBox::warningContinueCancel(
+ this,
+ i18n("Do you want to disconnect from '%1'?\n\n All associated tabs will be closed as well.").arg(m_server->getServerName()),
+ i18n("Disconnect From Server"),
+ i18n("Disconnect"),
+ "QuitServerTab");
+ }
+
+ if (result==KMessageBox::Continue)
+ {
+ if (m_server->getServerGroup()) m_server->getServerGroup()->setNotificationsEnabled(notificationsEnabled());
+ m_server->quitServer();
+ // This will delete the status view as well.
+ m_server->deleteLater();
+ m_server = 0;
+ return true;
+ }
+ return false;
+}
+
+void StatusPanel::nicknameComboboxChanged()
+{
+ QString newNick=nicknameCombobox->currentText();
+ oldNick=m_server->getNickname();
+ if(oldNick!=newNick)
+ {
+ nicknameCombobox->setCurrentText(oldNick);
+ m_server->queue("NICK "+newNick);
+ }
+ // return focus to input line
+ statusInput->setFocus();
+}
+
+void StatusPanel::changeNickname(const QString& newNickname)
+{
+ m_server->queue("NICK "+newNickname);
+}
+
+void StatusPanel::emitUpdateInfo()
+{
+ emit updateInfo(getServer()->getDisplayName());
+}
+
+void StatusPanel::appendInputText(const QString& text, bool fromCursor)
+{
+ if(!fromCursor)
+ {
+ statusInput->append(text);
+ }
+ else
+ {
+ int para = 0, index = 0;
+ statusInput->getCursorPosition(&para, &index);
+ statusInput->insertAt(text, para, index);
+ statusInput->setCursorPosition(para, index + text.length());
+ }
+}
+
+ // virtual
+void StatusPanel::setChannelEncoding(const QString& encoding)
+{
+ Preferences::setChannelEncoding(m_server->getDisplayName(), ":server", encoding);
+}
+
+QString StatusPanel::getChannelEncoding() // virtual
+{
+ return Preferences::channelEncoding(m_server->getDisplayName(), ":server");
+}
+
+ // virtual
+QString StatusPanel::getChannelEncodingDefaultDesc()
+{
+ return i18n("Identity Default ( %1 )").arg(getServer()->getIdentity()->getCodecName());
+}
+
+//Used to disable functions when not connected
+void StatusPanel::serverOnline(bool online)
+{
+ //statusInput->setEnabled(online);
+ getTextView()->setNickAndChannelContextMenusEnabled(online);
+ nicknameCombobox->setEnabled(online);
+}
+
+void StatusPanel::showNicknameBox(bool show)
+{
+ if(show)
+ {
+ nicknameCombobox->show();
+ }
+ else
+ {
+ nicknameCombobox->hide();
+ }
+}
+
+void StatusPanel::setIdentity(const IdentityPtr identity)
+{
+ if (identity)
+ {
+ nicknameCombobox->clear();
+ nicknameCombobox->insertStringList(identity->getNicknameList());
+ }
+}
+
+void StatusPanel::popupCommand(int command)
+{
+ switch(command)
+ {
+ case Konversation::Join:
+ m_server->queue("JOIN " + getTextView()->currentChannel());
+ break;
+ case Konversation::Topic:
+ m_server->requestTopic(getTextView()->currentChannel());
+ break;
+ case Konversation::Names:
+ m_server->queue("NAMES " + getTextView()->currentChannel(), Server::LowPriority);
+ break;
+ }
+}
+
+#include "statuspanel.moc"
diff --git a/konversation/src/statuspanel.h b/konversation/src/statuspanel.h
new file mode 100644
index 0000000..3704361
--- /dev/null
+++ b/konversation/src/statuspanel.h
@@ -0,0 +1,96 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2003 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef STATUSPANEL_H
+#define STATUSPANEL_H
+
+#include "chatwindow.h"
+
+#include <qstring.h>
+
+
+class QPushButton;
+class QCheckBox;
+class QLabel;
+class QComboBox;
+
+class IRCInput;
+class NickChangeDialog;
+
+class StatusPanel : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit StatusPanel(QWidget* parent);
+ ~StatusPanel();
+
+ virtual void setName(const QString& newName);
+
+ virtual QString getTextInLine();
+ virtual bool closeYourself(bool askForConfirmation=true);
+ virtual bool canBeFrontView();
+ virtual bool searchView();
+
+ virtual void setChannelEncoding(const QString& encoding);
+ virtual QString getChannelEncoding();
+ virtual QString getChannelEncodingDefaultDesc();
+ virtual void emitUpdateInfo();
+
+ void setIdentity(const IdentityPtr identity);
+
+ virtual bool isInsertSupported() { return true; }
+
+ virtual void setNotificationsEnabled(bool enable);
+
+ signals:
+ void sendFile();
+
+ public slots:
+ void setNickname(const QString& newNickname);
+ virtual void indicateAway(bool show);
+ void showNicknameBox(bool show);
+ void updateAppearance();
+ virtual void appendInputText(const QString&, bool fromCursor);
+ void updateName();
+ void serverSaysClose();
+
+ protected slots:
+ void sendFileMenu();
+ void statusTextEntered();
+ void sendStatusText(const QString& line);
+ // connected to IRCInput::textPasted() - used for large/multiline pastes
+ void textPasted(const QString& text);
+ void changeNickname(const QString& newNickname);
+ void nicknameComboboxChanged();
+ //Used to disable functions when not connected
+ virtual void serverOnline(bool online);
+
+ void popupCommand(int command);
+
+ protected:
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+
+ bool awayChanged;
+ bool awayState;
+
+ void showEvent(QShowEvent* event);
+
+ QComboBox* nicknameCombobox;
+ QLabel* awayLabel;
+ IRCInput* statusInput;
+ QCheckBox* logCheckBox;
+ QString oldNick;
+};
+#endif
diff --git a/konversation/src/tabnotifications_preferences.ui b/konversation/src/tabnotifications_preferences.ui
new file mode 100644
index 0000000..337b010
--- /dev/null
+++ b/konversation/src/tabnotifications_preferences.ui
@@ -0,0 +1,407 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>TabNotifications_Config</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>TabNotifications_Config</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>278</width>
+ <height>418</height>
+ </rect>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox4</cstring>
+ </property>
+ <property name="title">
+ <string>Look</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsText</cstring>
+ </property>
+ <property name="text">
+ <string>Use colored text</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsLeds</cstring>
+ </property>
+ <property name="text">
+ <string>Use colored LEDs</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox5</cstring>
+ </property>
+ <property name="title">
+ <string>Notifications</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsSystem</cstring>
+ </property>
+ <property name="text">
+ <string>Application event</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Application events occur in Konsole tabs, the DCC Status tab and other application tabs not used directly for chatting.</string>
+ </property>
+ </widget>
+ <spacer row="5" column="3">
+ <property name="name">
+ <cstring>spacer45_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="5" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsSystemColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsMsgs</cstring>
+ </property>
+ <property name="text">
+ <string>Message</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="0" column="1" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>spacer42</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="0" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsMsgsColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="defaultColor">
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </property>
+ </widget>
+ <spacer row="1" column="3">
+ <property name="name">
+ <cstring>spacer42_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>60</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsPrivate</cstring>
+ </property>
+ <property name="text">
+ <string>Private message</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="1" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsPrivateColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="defaultColor">
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsNick</cstring>
+ </property>
+ <property name="text">
+ <string>Current nick used</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="2" column="3">
+ <property name="name">
+ <cstring>spacer44</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <spacer row="3" column="1" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>spacer45</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>21</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="2" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsNickColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="KColorButton" row="3" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsHighlightsColor</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsEvents</cstring>
+ </property>
+ <property name="text">
+ <string>Channel event</string>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Channel events are mode changes or users joining/leaving a channel.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="3" column="0">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsHighlights</cstring>
+ </property>
+ <property name="text">
+ <string>Highlight</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer row="4" column="2" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>spacer43</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>50</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="KColorButton" row="4" column="4">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsEventsColor</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>groupBox10</cstring>
+ </property>
+ <property name="title">
+ <string>Options</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox" row="0" column="0">
+ <property name="name">
+ <cstring>kcfg_TabNotificationsOverride</cstring>
+ </property>
+ <property name="text">
+ <string>Give precedence to chat window highlight colors</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>If you select this, the colors you chose in the Highlights preferences page will override the colors for "Current nick used" and "Highlight".</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer47</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>21</width>
+ <height>60</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>kcfg_TabNotificationsMsgs</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabNotificationsMsgsColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_TabNotificationsEvents</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabNotificationsEventsColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_TabNotificationsNick</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabNotificationsNickColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_TabNotificationsHighlights</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabNotificationsHighlightsColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_TabNotificationsSystem</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_TabNotificationsSystemColor</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_TabNotificationsText</tabstop>
+ <tabstop>kcfg_TabNotificationsLeds</tabstop>
+ <tabstop>kcfg_TabNotificationsMsgs</tabstop>
+ <tabstop>kcfg_TabNotificationsMsgsColor</tabstop>
+ <tabstop>kcfg_TabNotificationsPrivate</tabstop>
+ <tabstop>kcfg_TabNotificationsPrivateColor</tabstop>
+ <tabstop>kcfg_TabNotificationsNick</tabstop>
+ <tabstop>kcfg_TabNotificationsNickColor</tabstop>
+ <tabstop>kcfg_TabNotificationsHighlights</tabstop>
+ <tabstop>kcfg_TabNotificationsHighlightsColor</tabstop>
+ <tabstop>kcfg_TabNotificationsEvents</tabstop>
+ <tabstop>kcfg_TabNotificationsEventsColor</tabstop>
+ <tabstop>kcfg_TabNotificationsSystem</tabstop>
+ <tabstop>kcfg_TabNotificationsSystemColor</tabstop>
+ <tabstop>kcfg_TabNotificationsOverride</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+ <includehint>kcolorbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/tabs_preferences.cpp b/konversation/src/tabs_preferences.cpp
new file mode 100644
index 0000000..80815b3
--- /dev/null
+++ b/konversation/src/tabs_preferences.cpp
@@ -0,0 +1,59 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "tabs_preferences.h"
+#include "tabs_preferencesui.h"
+
+#include <qcombobox.h>
+#include <qcheckbox.h>
+
+
+Tabs_Config::Tabs_Config(QWidget *parent, const char *name)
+ : Tabs_PreferencesUI(parent, name)
+{
+ connect(kcfg_TabPlacement, SIGNAL(activated(int)), this, SLOT(toggleCheckBoxes(int)));
+}
+
+Tabs_Config::~Tabs_Config()
+{
+}
+
+void Tabs_Config::show()
+{
+ QWidget::show();
+
+ if (kcfg_TabPlacement->currentItem() == 0 || kcfg_TabPlacement->currentItem() == 1)
+ {
+ kcfg_ShowTabBarCloseButton->setEnabled(true);
+ kcfg_UseMaxSizedTabs->setEnabled(true);
+ }
+ else
+ {
+ kcfg_ShowTabBarCloseButton->setEnabled(false);
+ kcfg_UseMaxSizedTabs->setEnabled(false);
+ }
+}
+
+void Tabs_Config::toggleCheckBoxes(int activated)
+{
+ if (activated == 0 || activated == 1)
+ {
+ kcfg_ShowTabBarCloseButton->setEnabled(true);
+ kcfg_UseMaxSizedTabs->setEnabled(true);
+ }
+ else
+ {
+ kcfg_ShowTabBarCloseButton->setEnabled(false);
+ kcfg_UseMaxSizedTabs->setEnabled(false);
+ }
+}
+
+#include "tabs_preferences.moc"
diff --git a/konversation/src/tabs_preferences.h b/konversation/src/tabs_preferences.h
new file mode 100644
index 0000000..de78817
--- /dev/null
+++ b/konversation/src/tabs_preferences.h
@@ -0,0 +1,33 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef TABS_PREFERENCES_H
+#define TABS_PREFERENCES_H
+
+#include "tabs_preferencesui.h"
+
+
+class Tabs_Config : public Tabs_PreferencesUI
+{
+ Q_OBJECT
+
+ public:
+ explicit Tabs_Config(QWidget *parent = 0, const char *name = 0);
+ ~Tabs_Config();
+
+ public slots:
+ virtual void show();
+
+ protected slots:
+ void toggleCheckBoxes(int activated);
+};
+
+#endif
diff --git a/konversation/src/tabs_preferencesui.ui b/konversation/src/tabs_preferencesui.ui
new file mode 100644
index 0000000..a0063f7
--- /dev/null
+++ b/konversation/src/tabs_preferencesui.ui
@@ -0,0 +1,192 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Tabs_PreferencesUI</class>
+<comment>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.</comment>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Tabs_PreferencesUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>337</width>
+ <height>495</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>TabBar_Config</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>lookGBox</cstring>
+ </property>
+ <property name="title">
+ <string>Look</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLayoutWidget">
+ <property name="name">
+ <cstring>layout2</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>placementLabel</cstring>
+ </property>
+ <property name="text">
+ <string>Placement:</string>
+ </property>
+ </widget>
+ <widget class="QComboBox">
+ <item>
+ <property name="text">
+ <string>Top</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Bottom</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string>Left</string>
+ </property>
+ </item>
+ <property name="name">
+ <cstring>kcfg_TabPlacement</cstring>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>111</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_CloseButtons</cstring>
+ </property>
+ <property name="text">
+ <string>Show &amp;close button on tabs</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_ShowTabBarCloseButton</cstring>
+ </property>
+ <property name="text">
+ <string>Show a close button on the &amp;right side of the tab bar</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_UseMaxSizedTabs</cstring>
+ </property>
+ <property name="text">
+ <string>Limit the &amp;size of the tab labels to fit all on screen</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>focusGBox</cstring>
+ </property>
+ <property name="title">
+ <string>Focus</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_BringToFront</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Focus new tabs</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_FocusNewQueries</cstring>
+ </property>
+ <property name="text">
+ <string>Focus new &amp;queries</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>mouseGBox</cstring>
+ </property>
+ <property name="title">
+ <string>Mouse</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QCheckBox">
+ <property name="name">
+ <cstring>kcfg_MiddleClickClose</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Middle-click on a tab to close it</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer1</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>100</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+</UI>
diff --git a/konversation/src/theme_preferences.cpp b/konversation/src/theme_preferences.cpp
new file mode 100644
index 0000000..35f93d2
--- /dev/null
+++ b/konversation/src/theme_preferences.cpp
@@ -0,0 +1,307 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2007 Eike Hein <hein@kde.org>
+*/
+
+#include "theme_preferences.h"
+#include "preferences_base.h"
+#include "images.h"
+#include "common.h"
+#include "konversationapplication.h"
+
+#include <qlabel.h>
+#include <qlayout.h>
+#include <qhbox.h>
+#include <qpushbutton.h>
+#include <qvbox.h>
+#include <qfileinfo.h>
+#include <qstringlist.h>
+#include <qbitmap.h>
+#include <qpainter.h>
+#include <qtooltip.h>
+
+#include <klistbox.h>
+#include <kurl.h>
+#include <kdebug.h>
+#include <kmessagebox.h>
+#include <kstandarddirs.h>
+#include <klocale.h>
+#include <kio/job.h>
+#include <kio/netaccess.h>
+#include <kfiledialog.h>
+#include <ktar.h>
+#include <kdesktopfile.h>
+#include <kconfigdialog.h>
+
+#include <unistd.h> // unlink()
+
+
+using namespace Konversation;
+
+Theme_Config::Theme_Config(QWidget* parent, const char* name)
+ : Theme_ConfigUI( parent, name)
+{
+ m_defaultThemeIndex = -1;
+
+ // load the current settings
+ loadSettings();
+
+ connect(iconThemeIndex,SIGNAL(highlighted(int)),this,SLOT(updatePreview(int)));
+ connect(iconThemeIndex,SIGNAL(selectionChanged()),this,SLOT(updateButtons()));
+ connect(iconThemeIndex,SIGNAL(selectionChanged()),this,SIGNAL(modified()));
+ connect(installButton,SIGNAL(clicked()),this,SLOT(installTheme()));
+ connect(removeButton,SIGNAL(clicked()),this,SLOT(removeTheme()));
+}
+
+Theme_Config::~Theme_Config()
+{
+}
+
+void Theme_Config::loadSettings()
+{
+ QString themeName, themeComment, themeDir;
+ QString currentTheme = Preferences::iconTheme();
+ int currentThemeIndex = 0;
+
+ // get list of theme dirs
+ m_dirs = KGlobal::dirs()->findAllResources("data","konversation/themes/*/index.desktop");
+
+ // if we have any themes
+ if(m_dirs.count() > 0)
+ {
+ m_dirs.sort();
+
+ // clear listview
+ iconThemeIndex->clear();
+ // initialize index counter
+ int i = 0;
+ // iterate through all found theme directories
+ for(QStringList::ConstIterator it = m_dirs.begin(); it != m_dirs.end(); ++it)
+ {
+ KDesktopFile themeRC(*it);
+ // get the name and comment from the theme
+ themeName = themeRC.readName();
+ themeComment = themeRC.readComment();
+
+ // extract folder name
+ themeDir=(*it).section('/',-2,-2);
+ // is this our currently used theme?
+ if (themeDir==currentTheme)
+ {
+ // remember for hasChanged()
+ m_oldTheme=themeDir;
+ // remember for updatePreview()
+ currentThemeIndex = i;
+ }
+
+ if (themeDir=="default")
+ m_defaultThemeIndex= i;
+
+ // if there was a comment to the theme, add it to the listview entry string
+ if(!themeComment.isEmpty())
+ themeName = themeName+" ("+themeComment+')';
+
+ // insert entry into the listview
+ iconThemeIndex->insertItem(themeName);
+
+ // increment index counter
+ ++i;
+ }
+ // highlight currently active theme and update preview box
+ iconThemeIndex->setSelected(currentThemeIndex, true);
+ updatePreview(currentThemeIndex);
+ }
+
+ // if there was no currently used theme found, use the default theme
+ // If anyone knows how to get the default value from this, please change this!
+ if(m_oldTheme.isEmpty())
+ m_oldTheme = "default";
+
+ // update enabled/disabled state of buttons
+ updateButtons();
+}
+
+bool Theme_Config::hasChanged()
+{
+ // return true if the theme selected is different from the saved theme
+ return ( m_oldTheme != m_currentTheme );
+}
+
+void Theme_Config::saveSettings()
+{
+ // if there are any themes in the listview ...
+ if(iconThemeIndex->count())
+ {
+ // and if anything has changed ...
+ if(hasChanged())
+ {
+ // save icon theme name
+ KConfig* config = kapp->config();
+ config->setGroup("Themes");
+ config->writeEntry("IconTheme",m_currentTheme);
+ // set in-memory theme to the saved theme
+ Preferences::setIconTheme(m_currentTheme);
+ // update theme on runtime
+ KonversationApplication::instance()->images()->initializeNickIcons();
+
+ // remember current theme for hasChanged()
+ m_oldTheme = m_currentTheme;
+ }
+ }
+}
+
+void Theme_Config::restorePageToDefaults()
+{
+ if (m_defaultThemeIndex != -1)
+ iconThemeIndex->setSelected(m_defaultThemeIndex, true);
+}
+
+void Theme_Config::installTheme()
+{
+ KURL themeURL = KFileDialog::getOpenURL(QString(),
+ i18n("*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"),
+ NULL,
+ i18n("Select Theme Package")
+ );
+
+ if(themeURL.isEmpty())
+ return;
+
+ QString themesDir(locateLocal("data", "konversation/themes/"));
+ QString tmpThemeFile;
+
+ if(!KIO::NetAccess::download(themeURL, tmpThemeFile, NULL))
+ {
+ KMessageBox::error(0L,
+ KIO::NetAccess::lastErrorString(),
+ i18n("Failed to Download Theme"),
+ KMessageBox::Notify
+ );
+ return;
+ }
+
+ QDir themeInstallDir(tmpThemeFile);
+
+ if(themeInstallDir.exists()) // We got a directory not a file
+ {
+ if(themeInstallDir.exists("index.desktop"))
+ KIO::NetAccess::dircopy(KURL(tmpThemeFile),KURL(themesDir),0L);
+ else
+ {
+ KMessageBox::error(0L,
+ i18n("Theme archive is invalid."),
+ i18n("Cannot Install Theme"),
+ KMessageBox::Notify
+ );
+ }
+ }
+ else // we got a file
+ {
+
+ KTar themeArchive(tmpThemeFile);
+ themeArchive.open(IO_ReadOnly);
+ kapp->processEvents();
+
+ const KArchiveDirectory* themeDir = themeArchive.directory();;
+ QStringList allEntries = themeDir->entries();
+
+ for(QStringList::ConstIterator it=allEntries.begin(); it != allEntries.end(); ++it)
+ {
+ if(themeDir->entry(*it+"/index.desktop") == NULL)
+ {
+ KMessageBox::error(0L,
+ i18n("Theme archive is invalid."),
+ i18n("Cannot Install Theme"),
+ KMessageBox::Notify
+ );
+ break;
+ }
+ else
+ themeDir->copyTo(themesDir);
+
+ }
+ themeArchive.close();
+ }
+
+ loadSettings();
+ KIO::NetAccess::removeTempFile(tmpThemeFile);
+
+}
+
+void Theme_Config::removeTheme()
+{
+ QString dir;
+ QString themeName = iconThemeIndex->currentText();
+
+ dir = m_dirs[iconThemeIndex->currentItem()];
+
+ int remove = KMessageBox::warningContinueCancel(0L,
+ i18n("Do you want to remove %1 ?").arg(themeName),
+ i18n("Remove Theme"),
+ KStdGuiItem::del(),
+ "warningRemoveTheme"
+ );
+
+ if(remove == KMessageBox::Continue)
+ {
+ unlink(QFile::encodeName(dir));
+ KIO::DeleteJob* job = KIO::del(KURL(dir.remove("index.desktop")));
+ connect(job, SIGNAL(result(KIO::Job*)), this, SLOT(postRemoveTheme(KIO::Job*)));
+ }
+}
+
+void Theme_Config::postRemoveTheme(KIO::Job* /* delete_job */)
+{
+ loadSettings();
+}
+
+void Theme_Config::updatePreview(int id)
+{
+ QString dir;
+ dir = m_dirs[id];
+ dir.remove("/index.desktop");
+ QPixmap normal(dir+"/irc_normal.png");
+
+ previewLabel1->setPixmap(normal);
+ previewLabel2->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_away.png")));
+ previewLabel3->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_voice.png")));
+ previewLabel4->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_halfop.png")));
+ previewLabel5->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_op.png")));
+ previewLabel6->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_admin.png")));
+ previewLabel7->setPixmap(overlayPixmaps(normal,QPixmap(dir+"/irc_owner.png")));
+}
+
+void Theme_Config::updateButtons()
+{
+ // don't allow clicking "remove" if there is only one or even no theme installed
+ if(iconThemeIndex->count() < 2)
+ {
+ removeButton->setEnabled(false);
+ return;
+ }
+
+ // get directory of current theme
+ QString dir = m_dirs[iconThemeIndex->currentItem()];
+ QFile themeRC(dir);
+ // get name for directory
+ m_currentTheme = dir.section('/',-2,-2);
+
+ // allow delete action only for themes that have been installed by the user
+ if(!themeRC.open(IO_ReadOnly | IO_WriteOnly))
+ removeButton->setEnabled(false);
+ else
+ removeButton->setEnabled(true);
+
+ themeRC.close();
+}
+
+#include "theme_preferences.moc"
diff --git a/konversation/src/theme_preferences.h b/konversation/src/theme_preferences.h
new file mode 100644
index 0000000..2027910
--- /dev/null
+++ b/konversation/src/theme_preferences.h
@@ -0,0 +1,56 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2007 Eike Hein <hein@kde.org>
+*/
+
+#ifndef PREFSPAGETHEMES_H
+#define PREFSPAGETHEMES_H
+
+#include "theme_preferencesui.h"
+#include "konvisettingspage.h"
+
+#include <kio/job.h>
+
+
+class QStringList;
+
+class Theme_Config : public Theme_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Theme_Config(QWidget* parent, const char* name=NULL);
+ ~Theme_Config();
+
+ virtual void restorePageToDefaults();
+ virtual void saveSettings();
+ virtual void loadSettings();
+
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void updatePreview(int id);
+ void updateButtons();
+ void installTheme();
+ void removeTheme();
+ void postRemoveTheme(KIO::Job* delete_job);
+
+ private:
+ QStringList m_dirs;
+ QString m_oldTheme;
+ QString m_currentTheme;
+ int m_defaultThemeIndex;
+};
+#endif
diff --git a/konversation/src/theme_preferencesui.ui b/konversation/src/theme_preferencesui.ui
new file mode 100644
index 0000000..ae2624d
--- /dev/null
+++ b/konversation/src/theme_preferencesui.ui
@@ -0,0 +1,222 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Theme_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Theme_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>541</width>
+ <height>556</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Theme_Config</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="KListBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>iconThemeIndex</cstring>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>layout17</cstring>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>installButton</cstring>
+ </property>
+ <property name="text">
+ <string>I&amp;nstall Theme...</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Remove Theme</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <spacer row="1" column="2">
+ <property name="name">
+ <cstring>spacer172</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>131</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QFrame" row="1" column="1">
+ <property name="name">
+ <cstring>frame3_2</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="0" column="0">
+ <property name="name">
+ <cstring>previewLabel1</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for normal users</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="1">
+ <property name="name">
+ <cstring>previewLabel2</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for away users</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="2">
+ <property name="name">
+ <cstring>previewLabel3</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for users with voice</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="3">
+ <property name="name">
+ <cstring>previewLabel4</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for users with half-operator privileges</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="4">
+ <property name="name">
+ <cstring>previewLabel5</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for users with operator privileges</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="5">
+ <property name="name">
+ <cstring>previewLabel6</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for users with admin privileges</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="0" column="6">
+ <property name="name">
+ <cstring>previewLabel7</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="toolTip" stdset="0">
+ <string>Icon for users with owner privileges</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>textLabel2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Preview:</string>
+ </property>
+ </widget>
+ </grid>
+</widget>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klistbox.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/topiccombobox.cpp b/konversation/src/topiccombobox.cpp
new file mode 100644
index 0000000..2b71e9a
--- /dev/null
+++ b/konversation/src/topiccombobox.cpp
@@ -0,0 +1,50 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Don Nov 21 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "topiccombobox.h"
+
+
+TopicComboBox::TopicComboBox(QWidget* parent) :
+KComboBox(parent,"topic_combo_box")
+{
+ connect(this,SIGNAL(activated(int)),this,SLOT(topicActivated(int)));
+ connect(this,SIGNAL(returnPressed(const QString&)),this,SLOT(topicActivated(const QString&)));
+}
+
+TopicComboBox::~TopicComboBox()
+{
+}
+
+void TopicComboBox::topicActivated(const QString& newTopic)
+{
+ emit topicChanged(newTopic);
+}
+
+void TopicComboBox::topicActivated(int index)
+{
+ emit topicChanged(text(index).section(' ',1));
+}
+
+void TopicComboBox::insertStringList(const QStringList& list)
+{
+ KComboBox::insertStringList(list);
+
+ setEditText(list[0].section(' ',1));
+}
+
+void TopicComboBox::wheelEvent(QWheelEvent *ev)
+{
+ ev->ignore();
+}
+
+#include "topiccombobox.moc"
diff --git a/konversation/src/topiccombobox.h b/konversation/src/topiccombobox.h
new file mode 100644
index 0000000..5ccc193
--- /dev/null
+++ b/konversation/src/topiccombobox.h
@@ -0,0 +1,39 @@
+/*
+ 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.
+*/
+
+/*
+ begin: Don Nov 21 2002
+ copyright: (C) 2002 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef TOPICCOMBOBOX_H
+#define TOPICCOMBOBOX_H
+
+#include <kcombobox.h>
+
+
+class TopicComboBox : public KComboBox
+{
+ Q_OBJECT
+
+ public:
+ explicit TopicComboBox(QWidget* parent);
+ ~TopicComboBox();
+ void insertStringList(const QStringList& list);
+
+ protected:
+ void wheelEvent(QWheelEvent *ev);
+
+ signals:
+ void topicChanged(const QString& newTopic);
+
+ protected slots:
+ void topicActivated(const QString& newTopic);
+ void topicActivated(int index);
+};
+#endif
diff --git a/konversation/src/topiclabel.cpp b/konversation/src/topiclabel.cpp
new file mode 100644
index 0000000..b9fdd87
--- /dev/null
+++ b/konversation/src/topiclabel.cpp
@@ -0,0 +1,385 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "topiclabel.h"
+#include "konversationapplication.h"
+#include "connectionmanager.h"
+#include "server.h"
+#include "common.h"
+#include "channel.h"
+
+#include <qsimplerichtext.h>
+#include <qtooltip.h>
+#include <qclipboard.h>
+
+#include <krun.h>
+#include <kprocess.h>
+#include <kshell.h>
+#include <kurldrag.h>
+#include <kstringhandler.h>
+#include <kglobal.h>
+#include <kdebug.h>
+#include <kpopupmenu.h>
+#include <kiconloader.h>
+#include <kbookmarkmanager.h>
+#include <kdeversion.h>
+
+
+namespace Konversation
+{
+
+ TopicLabel::TopicLabel(QWidget *parent, const char *name)
+ : KActiveLabel(parent, name)
+ {
+ setWrapPolicy(QTextEdit::AtWordOrDocumentBoundary);
+ setFocusPolicy(QWidget::ClickFocus);
+
+ m_isOnChannel = false;
+ m_copyUrlMenu = false;
+ mousePressed=false;
+
+ m_popup = new QPopupMenu(this,"topiclabel_context_menu");
+ m_popup->insertItem(SmallIconSet("editcopy"),i18n("&Copy"),Copy);
+ m_popup->insertItem(i18n("Select All"),SelectAll);
+
+ setupChannelPopupMenu();
+
+ connect(this, SIGNAL(highlighted(const QString&)), this, SLOT(highlightedSlot(const QString&)));
+ }
+
+ TopicLabel::~TopicLabel()
+ {
+ }
+
+ QSize TopicLabel::minimumSizeHint() const
+ {
+ int minHeight = fontMetrics().lineSpacing() + fontMetrics().descent();
+ return QSize(0, minHeight);
+ }
+
+ QSize TopicLabel::sizeHint() const
+ {
+ int minHeight = fontMetrics().lineSpacing() + fontMetrics().descent();
+ return QSize(0, minHeight);
+ }
+
+ void TopicLabel::setServer(Server* server)
+ {
+ m_server = server;
+ }
+
+ void TopicLabel::contentsMousePressEvent(QMouseEvent *e)
+ {
+ if (e->button()==QMouseEvent::LeftButton)
+ {
+ pressPosition=e->pos();
+ urlToDrag = anchorAt(pressPosition);
+ // HACK Replace % with \x03 in the url to keep Qt from doing stupid things
+ urlToDrag = urlToDrag.replace ('\x03', "%");
+ // Hack to counter the fact that we're given an decoded url
+ urlToDrag = KURL::fromPathOrURL(urlToDrag).url();
+ if (!urlToDrag.isNull())
+ {
+ mousePressed=true;
+ return;
+ }
+ }
+ KActiveLabel::contentsMousePressEvent(e);
+ }
+
+ void TopicLabel::contentsMouseReleaseEvent(QMouseEvent *e)
+ {
+ if (e->button()==QMouseEvent::LeftButton)
+ {
+ if (mousePressed) openLink(urlToDrag);
+ mousePressed=false;
+ }
+ KActiveLabel::contentsMouseReleaseEvent(e);
+ }
+
+ void TopicLabel::contentsMouseMoveEvent(QMouseEvent *e)
+ {
+ if (mousePressed && (pressPosition-e->pos()).manhattanLength() > QApplication::startDragDistance())
+ {
+ mousePressed=false;
+ removeSelection();
+ KURL ux = KURL::fromPathOrURL(urlToDrag);
+ //FIXME consistent IRC URL serialization
+ if (urlToDrag.startsWith("##")) ux=QString("irc://%1:%2/%3").arg(m_server->getServerName()).
+ arg(m_server->getPort()).arg(urlToDrag.mid(2));
+ KURLDrag* u=new KURLDrag(ux,viewport());
+ u->drag();
+ }
+ KActiveLabel::contentsMouseMoveEvent(e);
+ }
+
+ void TopicLabel::leaveEvent(QEvent*)
+ {
+ emit clearStatusBarTempText();
+ m_lastStatusText = QString();
+ }
+
+ void TopicLabel::openLink(const QString& link)
+ {
+ if (!link.isEmpty())
+ {
+ if (link.startsWith("irc://"))
+ {
+ KonversationApplication* konvApp = static_cast<KonversationApplication*>(kapp);
+ konvApp->getConnectionManager()->connectTo(Konversation::SilentlyReuseConnection, link);
+ }
+ else if (link.startsWith("#") && m_server && m_server->isConnected())
+ {
+ QString channel(link);
+ channel.replace("##","#");
+ m_server->sendJoinCommand(channel);
+ }
+ // Always use KDE default mailer.
+ else if (!Preferences::useCustomBrowser() || link.lower().startsWith("mailto:"))
+ {
+ new KRun(KURL::fromPathOrURL(link));
+ }
+ else
+ {
+ QString cmd = Preferences::webBrowserCmd();
+ cmd.replace("%u",KURL::fromPathOrURL(link).url());
+ KProcess *proc = new KProcess;
+ QStringList cmdAndArgs = KShell::splitArgs(cmd);
+ *proc << cmdAndArgs;
+ // This code will also work, but starts an extra shell process.
+ // kdDebug() << "IRCView::linkClickSlot(): cmd = " << cmd << endl;
+ // *proc << cmd;
+ // proc->setUseShell(true);
+ proc->start(KProcess::DontCare);
+ delete proc;
+ }
+ }
+ }
+
+ void TopicLabel::contentsContextMenuEvent(QContextMenuEvent* ev)
+ {
+ bool block = contextMenu(ev);
+
+ if(!block)
+ {
+ KActiveLabel::contentsContextMenuEvent(ev);
+ }
+ }
+
+ bool TopicLabel::contextMenu(QContextMenuEvent* ce)
+ {
+ if (m_isOnChannel)
+ {
+ m_channelPopup->exec(ce->globalPos());
+ m_isOnChannel = false;
+ }
+ else
+ {
+ m_popup->setItemEnabled(Copy,(hasSelectedText()));
+
+ int r = m_popup->exec(ce->globalPos());
+
+ switch(r)
+ {
+ case -1:
+ // dummy. -1 means, no entry selected. we don't want -1to go in default, so
+ // we catch it here
+ break;
+ case Copy:
+ copy();
+ break;
+ case CopyUrl:
+ {
+ QClipboard *cb = KApplication::kApplication()->clipboard();
+ cb->setText(m_urlToCopy,QClipboard::Selection);
+ cb->setText(m_urlToCopy,QClipboard::Clipboard);
+ break;
+ }
+ case SelectAll:
+ selectAll();
+ break;
+ case Bookmark:
+ {
+ KBookmarkManager* bm = KBookmarkManager::userBookmarksManager();
+ KBookmarkGroup bg = bm->addBookmarkDialog(m_urlToCopy, QString());
+ bm->save();
+ bm->emitChanged(bg);
+ break;
+ }
+ default:
+ break;
+ }
+ }
+ return true;
+ }
+
+ void TopicLabel::setupChannelPopupMenu()
+ {
+ m_channelPopup = new KPopupMenu(this,"channel_context_menu");
+ m_channelPopupId = m_channelPopup->insertTitle(m_currentChannel);
+ m_channelPopup->insertItem(i18n("&Join"),Konversation::Join);
+ m_channelPopup->insertItem(i18n("Get &user list"),Konversation::Names);
+ m_channelPopup->insertItem(i18n("Get &topic"),Konversation::Topic);
+
+ connect(m_channelPopup, SIGNAL(activated(int)), this, SIGNAL(popupCommand(int)));
+ }
+
+ void TopicLabel::setText(const QString& text)
+ {
+ m_fullText = text;
+ updateSqueezedText();
+ }
+
+ void TopicLabel::updateSqueezedText()
+ {
+ QToolTip::remove(this);
+
+ if (m_fullText.isEmpty())
+ {
+ KActiveLabel::setText(QString::null);
+
+ return;
+ }
+
+ QFontMetrics fm(currentFont());
+ QString text = m_fullText;
+ // text.replace("&", "&amp;"). Not needed as we do it in tagURLs
+ text.replace("<", "\x0blt;"). // tagUrls will replace \x0b with &
+ replace(">", "\x0bgt;");
+ text = tagURLs(text, "", false);
+
+ if(height() < (fm.lineSpacing() * 2))
+ {
+ text = rPixelSqueeze(text, visibleWidth() - 10);
+ setWordWrap(NoWrap);
+ QToolTip::add(this, "<qt>" + QStyleSheet::escape(m_fullText) + "</qt>");
+ }
+ else
+ {
+ setWordWrap(WidgetWidth);
+
+ if(height() < contentsHeight())
+ {
+ QToolTip::add(this, "<qt>" + QStyleSheet::escape(m_fullText) + "</qt>");
+ }
+ }
+
+ KActiveLabel::setText("<qt>" + text + "</qt>");
+ }
+
+ void TopicLabel::resizeEvent(QResizeEvent* ev)
+ {
+ KActiveLabel::resizeEvent(ev);
+ updateSqueezedText();
+ }
+
+ QString TopicLabel::rPixelSqueeze(const QString& text, uint maxPixels)
+ {
+ QFontMetrics fm(currentFont());
+ uint tw = textWidth(text, fm);
+
+ if(tw > maxPixels)
+ {
+ QString tmp = text;
+ const uint em = fm.maxWidth();
+ maxPixels -= fm.width("...");
+ int len, delta;
+
+ while((tw > maxPixels) && !tmp.isEmpty())
+ {
+ len = tmp.length();
+ delta = (tw - maxPixels) / em;
+ delta = kClamp(delta, 1, len);
+
+ tmp.remove(len - delta, delta);
+ tw = textWidth(tmp, fm);
+ }
+
+ return tmp.append("...");
+ }
+
+ return text;
+ }
+
+ uint TopicLabel::textWidth(const QString& text, const QFontMetrics& fm)
+ {
+ QSimpleRichText richText("<qt>" + text + "</qt>", currentFont());
+ richText.setWidth(fm.width(text));
+
+ return richText.widthUsed();
+ }
+
+ void TopicLabel::highlightedSlot(const QString& _link)
+ {
+ QString link = KURL::fromPathOrURL(_link).url();
+ //we just saw this a second ago. no need to reemit.
+ if (link == m_lastStatusText && !link.isEmpty())
+ return;
+
+ // remember current URL to overcome link clicking problems in QTextBrowser
+ m_highlightedURL = link;
+
+ if (link.isEmpty())
+ {
+ if (!m_lastStatusText.isEmpty())
+ {
+ emit clearStatusBarTempText();
+ m_lastStatusText = QString();
+ }
+ } else {
+ m_lastStatusText = link;
+ }
+
+ if (!link.startsWith("#"))
+ {
+ m_isOnChannel = false;
+
+ if (!link.isEmpty()) {
+ //link therefore != m_lastStatusText so emit with this new text
+ emit setStatusBarTempText(link);
+ }
+ if (link.isEmpty() && m_copyUrlMenu)
+ {
+ m_popup->removeItem(CopyUrl);
+ m_popup->removeItem(Bookmark);
+ m_copyUrlMenu = false;
+ }
+ else if (!link.isEmpty() && !m_copyUrlMenu)
+ {
+ m_popup->insertItem(SmallIcon("editcopy"), i18n("Copy URL to Clipboard"), CopyUrl, 0);
+ m_popup->insertItem(SmallIcon("bookmark"), i18n("Add to Bookmarks"), Bookmark, 1);
+ m_copyUrlMenu = true;
+ m_urlToCopy = link;
+ }
+ }
+ else if (link.startsWith("##"))
+ {
+ m_currentChannel = link.mid(1);
+
+ emit currentChannelChanged(m_currentChannel);
+
+ QString prettyId = m_currentChannel;
+
+ if (prettyId.length()>15)
+ {
+ prettyId.truncate(15);
+ prettyId.append("...");
+ }
+
+ m_channelPopup->changeTitle(m_channelPopupId,prettyId);
+ m_isOnChannel = true;
+ emit setStatusBarTempText(i18n("Join the channel %1").arg(m_currentChannel));
+ }
+ }
+}
+
+#include "topiclabel.moc"
diff --git a/konversation/src/topiclabel.h b/konversation/src/topiclabel.h
new file mode 100644
index 0000000..06c472f
--- /dev/null
+++ b/konversation/src/topiclabel.h
@@ -0,0 +1,90 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2004 Peter Simonsson <psn@linux.se>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef KONVERSATIONTOPICLABEL_H
+#define KONVERSATIONTOPICLABEL_H
+
+#include <kactivelabel.h>
+#include <klocale.h>
+
+
+class QFontMetrics;
+class Server;
+class KPopupMenu;
+
+namespace Konversation
+{
+
+ class TopicLabel : public KActiveLabel
+ {
+ Q_OBJECT
+
+ public:
+ explicit TopicLabel(QWidget *parent = 0, const char *name = 0);
+ ~TopicLabel();
+
+ QSize minimumSizeHint() const;
+ QSize sizeHint() const;
+ void setServer(Server* server);
+
+ enum PopupIDs { Copy,CopyUrl,SelectAll,Bookmark };
+
+ public slots:
+ virtual void openLink(const QString& link);
+ void setText(const QString& text);
+
+ signals:
+ void setStatusBarTempText(const QString&);
+ void clearStatusBarTempText();
+ void popupCommand(int);
+ void currentChannelChanged(const QString&);
+
+ protected:
+ void updateSqueezedText();
+ QString rPixelSqueeze(const QString& text, uint maxPixels);
+ uint textWidth(const QString& text, const QFontMetrics& fm);
+ virtual void contentsMousePressEvent(QMouseEvent *e);
+ virtual void contentsMouseReleaseEvent(QMouseEvent *e);
+ virtual void contentsMouseMoveEvent(QMouseEvent *e);
+ virtual void leaveEvent (QEvent*);
+ virtual void contentsContextMenuEvent(QContextMenuEvent* ev);
+ void resizeEvent(QResizeEvent*);
+ bool contextMenu(QContextMenuEvent* ce);
+
+ void setupChannelPopupMenu();
+
+ protected slots:
+ void highlightedSlot(const QString&);
+
+ private:
+ Server* m_server;
+
+ QPopupMenu* m_popup;
+ KPopupMenu* m_channelPopup;
+
+ QString m_fullText;
+ bool mousePressed;
+ QString urlToDrag;
+ QPoint pressPosition;
+ QString m_lastStatusText;
+ QString m_highlightedURL;
+ QString m_currentChannel;
+ bool m_isOnChannel;
+ int m_nickPopupId;
+ int m_channelPopupId;
+ bool m_copyUrlMenu;
+ QString m_urlToCopy;
+
+ };
+
+}
+#endif
diff --git a/konversation/src/trayicon.cpp b/konversation/src/trayicon.cpp
new file mode 100644
index 0000000..e4b3007
--- /dev/null
+++ b/konversation/src/trayicon.cpp
@@ -0,0 +1,99 @@
+/*
+ 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 class handles the system tray icon
+ begin: Sun Nov 9 2003
+ copyright: (C) 2003 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#include "trayicon.h"
+#include "konversationapplication.h"
+#include "channel.h"
+#include "server.h"
+#include "chatwindow.h"
+#include "config/preferences.h"
+
+#include <qtimer.h>
+#include <qtooltip.h>
+
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+
+
+namespace Konversation
+{
+
+ TrayIcon::TrayIcon(QWidget* parent) : KSystemTray(parent)
+ {
+ m_notificationEnabled = false;
+ m_blinkTimer = new QTimer(this);
+ connect(m_blinkTimer, SIGNAL(timeout()), SLOT(blinkTimeout()));
+
+ updateAppearance();
+
+ QToolTip::add(this,i18n("Konversation - IRC Client"));
+ }
+
+ TrayIcon::~TrayIcon()
+ {
+ }
+
+ void TrayIcon::startNotification()
+ {
+ if(!m_notificationEnabled)
+ {
+ return;
+ }
+
+ if(Preferences::trayNotifyBlink())
+ {
+ if(!m_blinkTimer->isActive())
+ {
+ setPixmap(m_messagePix);
+ m_blinkOn = true;
+ m_blinkTimer->start(500);
+ }
+ }
+ else
+ {
+ setPixmap(m_messagePix);
+ m_blinkTimer->stop();
+ }
+ }
+
+ void TrayIcon::endNotification()
+ {
+ m_blinkTimer->stop();
+ setPixmap(m_nomessagePix);
+ }
+
+ void TrayIcon::blinkTimeout()
+ {
+ m_blinkOn = !m_blinkOn;
+
+ if(m_blinkOn)
+ {
+ setPixmap(m_messagePix);
+ }
+ else
+ {
+ setPixmap(m_nomessagePix);
+ }
+ }
+
+ void TrayIcon::updateAppearance()
+ {
+ m_nomessagePix = loadIcon("konversation");
+ m_messagePix = loadIcon("konv_message");
+ setPixmap(m_nomessagePix);
+ }
+}
+
+#include "trayicon.moc"
diff --git a/konversation/src/trayicon.h b/konversation/src/trayicon.h
new file mode 100644
index 0000000..a4d61b8
--- /dev/null
+++ b/konversation/src/trayicon.h
@@ -0,0 +1,60 @@
+/*
+ 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 class handles the system tray icon
+ begin: Sun Nov 9 2003
+ copyright: (C) 2003 by Peter Simonsson
+ email: psn@linux.se
+*/
+
+#ifndef TRAYICON_H
+#define TRAYICON_H
+
+#include <qptrlist.h>
+#include <qpixmap.h>
+
+#include <ksystemtray.h>
+
+
+class QTimer;
+class Server;
+
+namespace Konversation
+{
+
+ class TrayIcon : public KSystemTray
+ {
+ Q_OBJECT
+
+ public:
+ explicit TrayIcon(QWidget* parent = 0);
+ ~TrayIcon();
+
+ bool notificationEnabled() { return m_notificationEnabled; }
+
+ public slots:
+ void startNotification();
+ void endNotification();
+ void setNotificationEnabled(bool notify) { m_notificationEnabled = notify; }
+ void updateAppearance();
+
+ protected slots:
+ void blinkTimeout();
+
+ private:
+ QTimer* m_blinkTimer;
+ bool m_blinkOn;
+
+ bool m_notificationEnabled;
+
+ QPixmap m_nomessagePix;
+ QPixmap m_messagePix;
+ };
+
+}
+#endif
diff --git a/konversation/src/unicode.cpp b/konversation/src/unicode.cpp
new file mode 100644
index 0000000..650775b
--- /dev/null
+++ b/konversation/src/unicode.cpp
@@ -0,0 +1,145 @@
+/*
+ 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.
+*/
+
+/*
+ The Original Code is mozilla.org code.
+ See http://lxr.mozilla.org/mozilla/source/modules/rdf/src/utils.c#540
+
+ Copyright (C) 1998 Netscape Communications Corporation
+ Copyright (C) 2005 Ismail Donmez <ismail@kde.org>
+*/
+
+#define kLeft1BitMask 0x80
+#define kLeft2BitsMask 0xC0
+#define kLeft3BitsMask 0xE0
+#define kLeft4BitsMask 0xF0
+#define kLeft5BitsMask 0xF8
+#define kLeft6BitsMask 0xFC
+#define kLeft7BitsMask 0xFE
+
+#define k2BytesLeadByte kLeft2BitsMask
+#define k3BytesLeadByte kLeft3BitsMask
+#define k4BytesLeadByte kLeft4BitsMask
+#define k5BytesLeadByte kLeft5BitsMask
+#define k6BytesLeadByte kLeft6BitsMask
+#define kTrialByte kLeft1BitMask
+
+#define UTF8_1Byte(c) ( 0 == ((c) & kLeft1BitMask))
+#define UTF8_2Bytes(c) ( k2BytesLeadByte == ((c) & kLeft3BitsMask))
+#define UTF8_3Bytes(c) ( k3BytesLeadByte == ((c) & kLeft4BitsMask))
+#define UTF8_4Bytes(c) ( k4BytesLeadByte == ((c) & kLeft5BitsMask))
+#define UTF8_5Bytes(c) ( k5BytesLeadByte == ((c) & kLeft6BitsMask))
+#define UTF8_6Bytes(c) ( k6BytesLeadByte == ((c) & kLeft7BitsMask))
+#define UTF8_ValidTrialByte(c) ( kTrialByte == ((c) & kLeft2BitsMask))
+
+
+bool isUtf8(const QCString& text)
+{
+ int i;
+ int j;
+ int clen = 0;
+ int len = text.length();
+
+ JapaneseCode* jc = new JapaneseCode();
+
+ JapaneseCode::Type result = jc->guess_jp(text, len);
+
+ switch(result)
+ {
+ case JapaneseCode::SJIS:
+ case JapaneseCode::JIS:
+ delete jc;
+ return false;
+ default:
+ delete jc;
+ break;
+ }
+
+ for(i=0; i < len; i += clen)
+ {
+ if(UTF8_1Byte(text[i]))
+ {
+ clen = 1;
+ }
+ else if(UTF8_2Bytes(text[i]))
+ {
+ clen = 2;
+
+ /* No enough trail bytes */
+ if( (i + clen) > len)
+ return false;
+
+ /* 0000 0000 - 0000 007F : should encode in less bytes */
+ if(0 == (text[i] & 0x1E ))
+ return false;
+ }
+ else if(UTF8_3Bytes(text[i]))
+ {
+ clen = 3;
+
+ /* No enough trail bytes */
+ if( (i + clen) > len)
+ return false;
+
+ /* a single Surrogate should not show in 3 bytes UTF8, instead, the pair should be intepreted
+ as one single UCS4 char and encoded UTF8 in 4 bytes */
+ if((QChar(0xED) == text[i] ) && (0xA0 == (text[i+1] & 0xA0 ) ))
+ return false;
+
+ /* 0000 0000 - 0000 07FF : should encode in less bytes */
+ if((0 == (text[i] & 0x0F )) && (0 == (text[i+1] & 0x20 ) ))
+ return false;
+ }
+ else if(UTF8_4Bytes(text[i]))
+ {
+ clen = 4;
+
+ /* No enough trail bytes */
+ if( (i + clen) > len)
+ return false;
+
+ /* 0000 0000 - 0000 FFFF : should encode in less bytes */
+ if((0 == (text[i] & 0x07 )) && (0 == (text[i+1] & 0x30 )) )
+ return false;
+ }
+ else if(UTF8_5Bytes(text[i]))
+ {
+ clen = 5;
+
+ /* No enough trail bytes */
+ if( (i + clen) > len)
+ return false;
+
+ /* 0000 0000 - 001F FFFF : should encode in less bytes */
+ if((0 == (text[i] & 0x03 )) && (0 == (text[i+1] & 0x38 )) )
+ return false;
+ }
+ else if(UTF8_6Bytes(text[i]))
+ {
+ clen = 6;
+
+ /* No enough trail bytes */
+ if( (i + clen) > len)
+ return false;
+
+ /* 0000 0000 - 03FF FFFF : should encode in less bytes */
+ if((0 == (text[i] & 0x01 )) && (0 == (text[i+1] & 0x3E )) )
+ return false;
+ }
+ else
+ {
+ return false;
+ }
+
+ for(j = 1; j<clen ;++j)
+ {
+ if(! UTF8_ValidTrialByte(text[i+j])) /* Trail bytes invalid */
+ return false;
+ }
+ }
+ return true;
+}
diff --git a/konversation/src/urlcatcher.cpp b/konversation/src/urlcatcher.cpp
new file mode 100644
index 0000000..142d5f2
--- /dev/null
+++ b/konversation/src/urlcatcher.cpp
@@ -0,0 +1,233 @@
+/*
+ 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.
+*/
+
+/*
+ shows all URLs found by the client
+ begin: Die Mai 27 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#include "urlcatcher.h"
+#include "channel.h"
+#include "server.h"
+#include "konversationapplication.h"
+#include "viewcontainer.h"
+
+#include <qhbox.h>
+#include <qpushbutton.h>
+#include <qregexp.h>
+#include <qclipboard.h>
+#include <qwhatsthis.h>
+#include <qlayout.h>
+
+#include <kapplication.h>
+#include <kactionclasses.h>
+#include <klocale.h>
+#include <kdebug.h>
+#include <klistview.h>
+#include <krun.h>
+#include <kfiledialog.h>
+#include <kprocess.h>
+#include <kdeversion.h>
+#include <kshell.h>
+#include <klistviewsearchline.h>
+
+
+UrlCatcher::UrlCatcher(QWidget* parent) : ChatWindow(parent)
+{
+ layout()->setAutoAdd(false);
+ setName(i18n("URL Catcher"));
+ setType(ChatWindow::UrlCatcher);
+
+ urlListView=new KListView(this,"url_list_view");
+ urlListView->addColumn(i18n("Nick"));
+ urlListView->addColumn(i18n("URL"));
+ urlListView->setFullWidth(true);
+ urlListView->setAllColumnsShowFocus(true);
+ QString urlListViewWT = i18n(
+ "List of Uniform Resource Locators mentioned in any of the Konversation windows "
+ "during this session.");
+ QWhatsThis::add(urlListView, urlListViewWT);
+
+ searchWidget = new KListViewSearchLineWidget(urlListView, this, "search_line");
+ searchWidget->setEnabled(false);
+
+ QHBox* buttonBox=new QHBox(this);
+ buttonBox->setSpacing(spacing());
+
+ openUrlButton=new QPushButton(i18n("&Open URL"),buttonBox,"open_url_button");
+ QString openUrlButtonWT = i18n(
+ "<p>Select a <b>URL</b> above, then click this button to launch the "
+ "application associated with the mimetype of the URL.</p>"
+ "<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>, "
+ "you can specify a custom web browser for web URLs.</p>");
+ QWhatsThis::add(openUrlButton, openUrlButtonWT);
+ copyUrlButton=new QPushButton(i18n("&Copy URL"),buttonBox,"copy_url_button");
+ QString copyUrlButtonWT = i18n(
+ "Select a <b>URL</b> above, then click this button to copy the URL to the clipboard.");
+ QWhatsThis::add(copyUrlButton, copyUrlButtonWT);
+ deleteUrlButton=new QPushButton(i18n("&Delete URL"),buttonBox,"delete_url_button");
+ QString deleteUrlButtonWT = i18n(
+ "Select a <b>URL</b> above, then click this button to delete the URL from the list.");
+ QWhatsThis::add(deleteUrlButton, deleteUrlButtonWT);
+ saveListButton=new QPushButton(i18n("Sa&ve List..."),buttonBox,"save_list_button");
+ QString saveListButtonWT = i18n(
+ "Click to save the entire list to a file.");
+ QWhatsThis::add(saveListButton, saveListButtonWT);
+ clearListButton=new QPushButton(i18n("C&lear List"),buttonBox,"clear_list_button");
+ QString clearListButtonWT = i18n(
+ "Click to erase the entire list.");
+ QWhatsThis::add(clearListButton, clearListButtonWT);
+
+ connect(urlListView,SIGNAL (executed(QListViewItem*)),this,SLOT (openUrl(QListViewItem*)) );
+ connect(urlListView,SIGNAL (selectionChanged()),this,SLOT (urlSelected()) );
+
+ connect(openUrlButton,SIGNAL (clicked()),this,SLOT (openUrlClicked()) );
+ connect(copyUrlButton,SIGNAL (clicked()),this,SLOT (copyUrlClicked()) );
+ connect(deleteUrlButton,SIGNAL (clicked()),this,SLOT (deleteUrlClicked()) );
+ connect(saveListButton,SIGNAL (clicked()),this,SLOT (saveListClicked()) );
+ connect(clearListButton,SIGNAL (clicked()),this,SLOT (clearListClicked()) );
+
+ saveListButton->setEnabled(false);
+ clearListButton->setEnabled(false);
+
+ layout()->add(searchWidget);
+ layout()->add(urlListView);
+ layout()->add(buttonBox);
+
+ urlSelected();
+}
+
+
+UrlCatcher::~UrlCatcher()
+{
+}
+
+void UrlCatcher::urlSelected()
+{
+ QListViewItem* item=urlListView->selectedItem();
+ if(item)
+ {
+ openUrlButton->setEnabled(true);
+ copyUrlButton->setEnabled(true);
+ deleteUrlButton->setEnabled(true);
+ }
+ else
+ {
+ openUrlButton->setEnabled(false);
+ copyUrlButton->setEnabled(false);
+ deleteUrlButton->setEnabled(false);
+ }
+}
+
+void UrlCatcher::addUrl(const QString& who,const QString& url)
+{
+ new KListViewItem(urlListView,who,url);
+ clearListButton->setEnabled(true);
+ saveListButton->setEnabled(true);
+ searchWidget->setEnabled(true);
+}
+
+void UrlCatcher::openUrl(QListViewItem* item)
+{
+ QString url = item->text(1);
+ if (!Preferences::useCustomBrowser() || url.lower().startsWith("mailto:") )
+ {
+ new KRun(KURL(url));
+ }
+ else
+ {
+ QString cmd = Preferences::webBrowserCmd();
+ cmd.replace("%u", url);
+ KProcess *proc = new KProcess;
+ QStringList cmdAndArgs = KShell::splitArgs(cmd);
+ *proc << cmdAndArgs;
+ // This code will also work, but starts an extra shell process.
+ // kdDebug() << "UrlCatcher::openUrl(): cmd = " << cmd << endl;
+ // *proc << cmd;
+ // proc->setUseShell(true);
+ proc->start(KProcess::DontCare);
+ delete proc;
+ }
+}
+
+void UrlCatcher::openUrlClicked()
+{
+ QListViewItem* item=urlListView->selectedItem();
+ if(item) openUrl(item);
+}
+
+void UrlCatcher::copyUrlClicked()
+{
+ QListViewItem* item=urlListView->selectedItem();
+ if(item)
+ {
+ QClipboard *cb=KApplication::kApplication()->clipboard();
+ cb->setText(item->text(1),QClipboard::Selection);
+ cb->setText(item->text(1),QClipboard::Clipboard);
+ }
+}
+
+void UrlCatcher::deleteUrlClicked()
+{
+ QListViewItem* item=urlListView->selectedItem();
+ if(item)
+ {
+ emit deleteUrl(item->text(0),item->text(1));
+ delete item;
+ // select next item
+ item=urlListView->currentItem();
+ if(item) urlListView->setSelected(item,true);
+ else
+ {
+ saveListButton->setEnabled(false);
+ clearListButton->setEnabled(false);
+ searchWidget->setEnabled(false);
+ }
+ }
+}
+
+void UrlCatcher::clearListClicked()
+{
+ urlListView->clear();
+ saveListButton->setEnabled(false);
+ clearListButton->setEnabled(false);
+ urlSelected();
+ emit clearUrlList();
+}
+
+void UrlCatcher::saveListClicked()
+{
+ // Ask user for file name
+ QString fileName=KFileDialog::getSaveFileName(
+ QString(),
+ QString(),
+ this,
+ i18n("Save URL List"));
+
+ if(!fileName.isEmpty())
+ {
+ // now save the list to disk
+ QFile listFile(fileName);
+ listFile.open(IO_WriteOnly);
+ // wrap the file into a stream
+ QTextStream stream(&listFile);
+ QListViewItem* item=urlListView->itemAtIndex(0);
+ while(item)
+ {
+ stream << item->text(0) << ": " << item->text(1) << endl;
+ item=item->itemBelow();
+ } // while
+ }
+}
+
+void UrlCatcher::childAdjustFocus()
+{
+}
+
+#include "urlcatcher.moc"
diff --git a/konversation/src/urlcatcher.h b/konversation/src/urlcatcher.h
new file mode 100644
index 0000000..b713a4d
--- /dev/null
+++ b/konversation/src/urlcatcher.h
@@ -0,0 +1,66 @@
+/*
+ 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.
+*/
+
+/*
+ shows all URLs found by the client
+ begin: Die Mai 27 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef URLCATCHER_H
+#define URLCATCHER_H
+
+#include "chatwindow.h"
+
+
+class KListView;
+class QListViewItem;
+class QPushButton;
+class ViewContainer;
+class KListViewSearchLineWidget;
+
+class UrlCatcher : public ChatWindow
+{
+ Q_OBJECT
+
+ public:
+ explicit UrlCatcher(QWidget* parent);
+ ~UrlCatcher();
+
+ virtual bool canBeFrontView() { return true; }
+
+ signals:
+ void deleteUrl(const QString& who,const QString& url);
+ void clearUrlList();
+
+ public slots:
+ void addUrl(const QString& who,const QString& url);
+
+ protected slots:
+ void urlSelected();
+ void openUrl(QListViewItem* item);
+
+ void openUrlClicked();
+ void copyUrlClicked();
+ void deleteUrlClicked();
+ void saveListClicked();
+ void clearListClicked();
+
+ protected:
+ KListView* urlListView;
+ KListViewSearchLineWidget* searchWidget;
+
+ /** Called from ChatWindow adjustFocus */
+ virtual void childAdjustFocus();
+ QPushButton* openUrlButton;
+ QPushButton* copyUrlButton;
+ QPushButton* deleteUrlButton;
+ QPushButton* saveListButton;
+ QPushButton* clearListButton;
+};
+#endif
diff --git a/konversation/src/valuelistviewitem.cpp b/konversation/src/valuelistviewitem.cpp
new file mode 100644
index 0000000..262e43d
--- /dev/null
+++ b/konversation/src/valuelistviewitem.cpp
@@ -0,0 +1,40 @@
+/*
+ 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.
+*/
+
+/*
+ List view item that carries an arbitrary value
+ begin: Fre Apr 25 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+
+*/
+
+#include "valuelistviewitem.h"
+
+
+ValueListViewItem::ValueListViewItem(int newValue, KListView* parent, const QString& label)
+: KListViewItem(parent,label)
+{
+ m_value=newValue;
+ enforceSortOrder();
+}
+
+ValueListViewItem::ValueListViewItem(int newValue, KListView* parent, QListViewItem* after, const QString& label)
+: KListViewItem(parent,after,label)
+{
+ m_value=newValue;
+ enforceSortOrder();
+}
+
+ValueListViewItem::~ValueListViewItem()
+{
+}
+
+int ValueListViewItem::getValue() const
+{
+ return m_value;
+}
diff --git a/konversation/src/valuelistviewitem.h b/konversation/src/valuelistviewitem.h
new file mode 100644
index 0000000..b56021d
--- /dev/null
+++ b/konversation/src/valuelistviewitem.h
@@ -0,0 +1,33 @@
+/*
+ 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.
+*/
+
+/*
+ List view item that carries an arbitrary value
+ begin: Fre Apr 25 2003
+ copyright: (C) 2003 by Dario Abatianni
+ email: eisfuchs@tigress.com
+*/
+
+#ifndef VALUELISTVIEWITEM_H
+#define VALUELISTVIEWITEM_H
+
+#include <klistview.h>
+
+
+class ValueListViewItem : public KListViewItem
+{
+ public:
+ ValueListViewItem(int newValue, KListView* parent, const QString& label);
+ ValueListViewItem(int newValue, KListView* parent, QListViewItem* after, const QString& label);
+ ~ValueListViewItem();
+
+ int getValue() const;
+
+ protected:
+ int m_value;
+};
+#endif
diff --git a/konversation/src/version.h b/konversation/src/version.h
new file mode 100644
index 0000000..cb57f70
--- /dev/null
+++ b/konversation/src/version.h
@@ -0,0 +1,3 @@
+#ifndef KONVI_VERSION
+#define KONVI_VERSION "1.1"
+#endif
diff --git a/konversation/src/viewcontainer.cpp b/konversation/src/viewcontainer.cpp
new file mode 100644
index 0000000..9fbcb09
--- /dev/null
+++ b/konversation/src/viewcontainer.cpp
@@ -0,0 +1,2454 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#include "viewcontainer.h"
+#include "queuetuner.h"
+#include "viewtree.h"
+#include "konversationapplication.h"
+#include "notificationhandler.h"
+#include "images.h"
+#include "irccharsets.h"
+#include "ircview.h"
+#include "logfilereader.h"
+#include "konsolepanel.h"
+#include "urlcatcher.h"
+#include "dcctransferpanel.h"
+#include "dcctransfermanager.h"
+#include "dccchat.h"
+#include "statuspanel.h"
+#include "channel.h"
+#include "query.h"
+#include "rawlog.h"
+#include "channellistpanel.h"
+#include "nicksonline.h"
+#include "insertchardialog.h"
+#include "irccolorchooser.h"
+#include "joinchanneldialog.h"
+#include "servergroupsettings.h"
+
+#include <qsplitter.h>
+#include <qpopupmenu.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <ktabwidget.h>
+#include <kpushbutton.h>
+#include <kiconloader.h>
+#include <kmessagebox.h>
+#include <kglobalsettings.h>
+
+
+ViewContainer::ViewContainer(KonversationMainWindow* window):
+ m_vbox(0), m_queueTuner(0)
+{
+ m_window = window;
+
+ images = KonversationApplication::instance()->images();
+
+ m_tabWidget = 0;
+ m_viewTree = 0;
+
+ m_urlCatcherPanel = 0;
+ m_nicksOnlinePanel = 0;
+
+ m_insertCharDialog = 0;
+
+ m_queryViewCount = 0;
+
+ m_viewTreeSplitter = new QSplitter(m_window, "view_tree_splitter");
+ m_viewTreeSplitter->setOpaqueResize(KGlobalSettings::opaqueResize());
+ m_saveSplitterSizesLock = true;
+
+ // The tree needs to be initialized before the tab widget so that it
+ // may assume a leading role in view selection management.
+ if (Preferences::tabPlacement()==Preferences::Left) setupViewTree();
+
+ setupTabWidget();
+
+ initializeSplitterSizes();
+
+ m_dccPanel = new DccTransferPanel(m_tabWidget);
+ m_dccPanel->hide();
+ m_dccPanelOpen = false;
+ connect(m_dccPanel, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+}
+
+ViewContainer::~ViewContainer()
+{
+}
+
+void ViewContainer::showQueueTuner(bool p)
+{
+ if (p)
+ m_queueTuner->open();
+ else
+ m_queueTuner->close();
+}
+
+///Use this instead of setting m_frontServer directly so we can emit the frontServerChanging signal easily.
+void ViewContainer::setFrontServer(Server* newserver)
+{
+ if (m_frontServer == QGuardedPtr<Server>(newserver))
+ return;
+ emit frontServerChanging(newserver);
+ m_frontServer = newserver;
+}
+
+void ViewContainer::prepareShutdown()
+{
+ if (!m_tabWidget) return;
+
+ deleteDccPanel();
+ closeNicksOnlinePanel();
+
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ m_tabWidget->page(i)->blockSignals(true);
+
+ m_tabWidget->blockSignals(true);
+
+ m_tabWidget = 0;
+}
+
+void ViewContainer::initializeSplitterSizes()
+{
+ if (m_viewTree && !m_viewTree->isHidden())
+ {
+ QValueList<int> sizes = Preferences::treeSplitterSizes();
+
+ if (sizes.isEmpty())
+ sizes << 145 << (m_window->width()-145);
+ m_viewTreeSplitter->setSizes(sizes);
+
+ m_saveSplitterSizesLock = false;
+ }
+}
+
+void ViewContainer::saveSplitterSizes()
+{
+ if (!m_saveSplitterSizesLock)
+ {
+ Preferences::setTreeSplitterSizes(m_viewTreeSplitter->sizes());
+ m_saveSplitterSizesLock = false;
+ }
+}
+
+void ViewContainer::setupTabWidget()
+{
+ m_popupViewIndex = -1;
+
+ m_vbox = new QVBox(m_viewTreeSplitter, "main_window_right_side");
+ m_tabWidget = new KTabWidget(m_vbox, "main_window_tab_widget");
+ m_queueTuner = new QueueTuner(m_vbox, this);
+ m_queueTuner->hide();
+
+ m_tabWidget->setTabReorderingEnabled(true);
+ m_tabWidget->setTabCloseActivatePrevious(true);
+
+ m_vbox->hide(); //m_tabWidget->hide();
+
+ KPushButton* closeBtn = new KPushButton(m_tabWidget);
+ closeBtn->setPixmap(KGlobal::iconLoader()->loadIcon("tab_remove", KIcon::Small));
+ closeBtn->resize(22, 22);
+ closeBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ m_tabWidget->setCornerWidget(closeBtn);
+ connect(closeBtn, SIGNAL(clicked()), this, SLOT(closeCurrentView()));
+
+ connect(m_tabWidget, SIGNAL(currentChanged(QWidget*)), this, SLOT (switchView(QWidget*)));
+ connect(m_tabWidget, SIGNAL(closeRequest(QWidget*)), this, SLOT(closeView(QWidget*)));
+ connect(m_tabWidget, SIGNAL(contextMenu(QWidget*, const QPoint&)), this, SLOT(showViewContextMenu(QWidget*, const QPoint&)));
+ connect(m_tabWidget, SIGNAL(mouseMiddleClick(QWidget*)), this, SLOT(closeViewMiddleClick(QWidget*)));
+
+ updateTabWidgetAppearance();
+}
+
+void ViewContainer::setupViewTree()
+{
+ m_viewTree = new ViewTree(m_viewTreeSplitter);
+ m_viewTreeSplitter->setResizeMode(m_viewTree, QSplitter::KeepSize);
+ m_viewTree->hide();
+
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), m_viewTree, SLOT(updateAppearance()));
+ connect(this, SIGNAL(viewChanged(ChatWindow*)), m_viewTree, SLOT(selectView(ChatWindow*)));
+ connect(this, SIGNAL(removeView(ChatWindow*)), m_viewTree, SLOT(removeView(ChatWindow*)));
+ connect(this, SIGNAL(contextMenuClosed()), m_viewTree, SLOT(unHighlight()));
+ connect(m_viewTree, SIGNAL(setViewTreeShown(bool)), this, SLOT(setViewTreeShown(bool)));
+ connect(m_viewTree, SIGNAL(showView(ChatWindow*)), this, SLOT(showView(ChatWindow*)));
+ connect(m_viewTree, SIGNAL(closeView(ChatWindow*)), this, SLOT(closeView(ChatWindow*)));
+ connect(m_viewTree, SIGNAL(showViewContextMenu(QWidget*, const QPoint&)), this, SLOT(showViewContextMenu(QWidget*, const QPoint&)));
+ connect(m_viewTree, SIGNAL(sizeChanged()), this, SLOT(saveSplitterSizes()));
+ connect(m_viewTree, SIGNAL(syncTabBarToTree()), this, SLOT(syncTabBarToTree()));
+
+ KAction* action;
+
+ action = actionCollection()->action("move_tab_left");
+
+ if (action)
+ {
+ action->setText(i18n("Move Tab Up"));
+ action->setIcon("1uparrow");
+ }
+
+ action = actionCollection()->action("move_tab_right");
+
+ if (action)
+ {
+ action->setText(i18n("Move Tab Down"));
+ action->setIcon("1downarrow");
+ }
+
+ // If the tab widget already exists we may need to sync the ViewTree
+ // with an already-populated tab bar.
+ if (m_tabWidget)
+ {
+ // Explicitly move to the left since we've been added after the
+ // tab widget.
+ m_viewTreeSplitter->moveToFirst(m_viewTree);
+
+ if (m_tabWidget->count() > 0)
+ {
+ // Add StatusPanels first, or curious tab bar sortings may break
+ // the tree hierarchy.
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (view->getType() == ChatWindow::Status)
+ {
+ if (view == m_frontView)
+ m_viewTree->addView(view->getName(), view, m_tabWidget->tabIconSet(view), true);
+ else
+ m_viewTree->addView(view->getName(), view, m_tabWidget->tabIconSet(view));
+ }
+ }
+
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (!view->getType() == ChatWindow::Status)
+ {
+ if (view == m_frontView)
+ m_viewTree->addView(view->getName(), view, m_tabWidget->tabIconSet(view), true);
+ else
+ m_viewTree->addView(view->getName(), view, m_tabWidget->tabIconSet(view));
+ }
+ }
+
+ syncTabBarToTree();
+ }
+ }
+ else
+ {
+ // Since the ViewTree was created before the tab widget, it
+ // is free to select the first view added to the tree. Other-
+ // wise the currently focused view would have been selected
+ // by the tabbar/viewtree sync loop above. This ensures a
+ // properly selected list item in the tree on app startup.
+ m_viewTree->selectFirstView(true);
+ }
+}
+
+void ViewContainer::setViewTreeShown(bool show)
+{
+ if (m_viewTree)
+ {
+ if (!show)
+ {
+ m_saveSplitterSizesLock = true;
+ m_viewTree->hide();
+ }
+ else
+ {
+ m_viewTree->show();
+ initializeSplitterSizes();
+ m_saveSplitterSizesLock = false;
+ }
+ }
+}
+
+void ViewContainer::removeViewTree()
+{
+ disconnect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), m_viewTree, SLOT(updateAppearance()));
+ disconnect(this, SIGNAL(viewChanged(ChatWindow*)), m_viewTree, SLOT(selectView(ChatWindow*)));
+ disconnect(this, SIGNAL(removeView(ChatWindow*)), m_viewTree, SLOT(removeView(ChatWindow*)));
+ disconnect(this, SIGNAL(contextMenuClosed()), m_viewTree, SLOT(unHighlight()));
+ disconnect(m_viewTree, SIGNAL(setViewTreeShown(bool)), this, SLOT(setViewTreeShown(bool)));
+ disconnect(m_viewTree, SIGNAL(showView(ChatWindow*)), this, SLOT(showView(ChatWindow*)));
+ disconnect(m_viewTree, SIGNAL(closeView(ChatWindow*)), this, SLOT(closeView(ChatWindow*)));
+ disconnect(m_viewTree, SIGNAL(showViewContextMenu(QWidget*, const QPoint&)), this, SLOT(showViewContextMenu(QWidget*, const QPoint&)));
+ disconnect(m_viewTree, SIGNAL(sizeChanged()), this, SLOT(saveSplitterSizes()));
+ disconnect(m_viewTree, SIGNAL(syncTabBarToTree()), this, SLOT(syncTabBarToTree()));
+
+ KAction* action;
+
+ action = actionCollection()->action("move_tab_left");
+
+ if (action)
+ {
+ action->setText(i18n("Move Tab Left"));
+ action->setIcon("1leftarrow");
+ }
+
+ action = actionCollection()->action("move_tab_right");
+
+ if (action)
+ {
+ action->setText(i18n("Move Tab Right"));
+ action->setIcon("1rightarrow");
+ }
+
+ delete m_viewTree;
+ m_viewTree = 0;
+}
+
+void ViewContainer::syncTabBarToTree()
+{
+ QPtrList<ChatWindow> viewList = m_viewTree->getSortedViewList();
+
+ if (m_tabWidget && !viewList.isEmpty())
+ {
+ QPtrListIterator<ChatWindow> it(viewList);
+ ChatWindow* view;
+ int index = 0;
+ int oldIndex = 0;
+
+ while ((view = it.current()) != 0)
+ {
+ ++it;
+
+ oldIndex = m_tabWidget->indexOf(view);
+
+ if (!(oldIndex == index))
+ m_tabWidget->moveTab(oldIndex, index);
+
+ ++index;
+ }
+ }
+
+ updateViewActions(m_tabWidget->currentPageIndex());
+}
+
+void ViewContainer::updateAppearance()
+{
+ if (Preferences::tabPlacement()==Preferences::Left && m_viewTree == 0)
+ {
+ m_saveSplitterSizesLock = true;
+ setupViewTree();
+ }
+
+ if (!(Preferences::tabPlacement()==Preferences::Left) && m_viewTree)
+ {
+ m_saveSplitterSizesLock = true;
+ removeViewTree();
+ }
+
+ updateViews();
+ updateTabWidgetAppearance();
+
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("hide_nicknamelist"));
+ action->setChecked(!Preferences::showNickList());
+
+ if(m_insertCharDialog)
+ {
+ QFont font;
+
+ if (Preferences::customTextFont())
+ font = Preferences::textFont();
+ else
+ font = KGlobalSettings::generalFont();
+
+ m_insertCharDialog->setFont(font);
+ }
+}
+
+void ViewContainer::updateTabWidgetAppearance()
+{
+ if (!m_tabWidget) return;
+
+ m_tabWidget->setTabBarHidden((Preferences::tabPlacement()==Preferences::Left));
+
+ if (Preferences::customTabFont())
+ m_tabWidget->setFont(Preferences::tabFont());
+ else
+ m_tabWidget->setFont(KGlobalSettings::generalFont());
+
+ m_tabWidget->setTabPosition((Preferences::tabPlacement()==Preferences::Top) ?
+ QTabWidget::Top : QTabWidget::Bottom);
+
+ if (Preferences::showTabBarCloseButton() && !(Preferences::tabPlacement()==Preferences::Left))
+ m_tabWidget->cornerWidget()->show();
+ else
+ m_tabWidget->cornerWidget()->hide();
+
+ m_tabWidget->setHoverCloseButton(Preferences::closeButtons());
+
+ #if KDE_IS_VERSION(3,4,0)
+ m_tabWidget->setAutomaticResizeTabs(Preferences::useMaxSizedTabs());
+ #endif
+}
+
+void ViewContainer::updateViewActions(int index)
+{
+ if (!m_tabWidget) return;
+
+ KAction* action;
+
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(index));
+
+ if (m_tabWidget->count() > 0 && view)
+ {
+ ChatWindow::WindowType viewType = view->getType();
+ Server* server = view->getServer();
+ bool insertSupported = view->isInsertSupported();
+
+ if (m_viewTree)
+ {
+ action = actionCollection()->action("move_tab_left");
+ if (action) action->setEnabled(m_viewTree->canMoveViewUp(view));
+
+ action = actionCollection()->action("move_tab_right");
+ if (action) action->setEnabled(m_viewTree->canMoveViewDown(view));
+ }
+ else if (m_tabWidget)
+ {
+ action = actionCollection()->action("move_tab_left");
+ if (action) action->setEnabled(index > 0);
+
+ action = actionCollection()->action("move_tab_right");
+ if (action) action->setEnabled(index < (m_tabWidget->count() - 1));
+ }
+
+ if (server && (viewType == ChatWindow::Status || server == m_frontServer))
+ {
+ action = actionCollection()->action("reconnect_server");
+ if (action) action->setEnabled(true);
+
+
+ action = actionCollection()->action("disconnect_server");
+ if (action) action->setEnabled(server->isConnected());
+
+
+ action = actionCollection()->action("join_channel");
+ if (action) action->setEnabled(server->isConnected());
+ }
+ else
+ {
+ action = actionCollection()->action("reconnect_server");
+ if (action) action->setEnabled(false);
+
+
+ action = actionCollection()->action("disconnect_server");
+ if (action) action->setEnabled(false);
+
+
+ action = actionCollection()->action("join_channel");
+ if (action) action->setEnabled(false);
+ }
+
+ KToggleAction* notifyAction = static_cast<KToggleAction*>(actionCollection()->action("tab_notifications"));
+ if (notifyAction)
+ {
+ notifyAction->setEnabled(viewType == ChatWindow::Channel || viewType == ChatWindow::Query ||
+ viewType == ChatWindow::Status || viewType == ChatWindow::Konsole ||
+ viewType == ChatWindow::DccTransferPanel || viewType == ChatWindow::RawLog);
+ notifyAction->setChecked(view->notificationsEnabled());
+ }
+
+ KToggleAction* autoJoinAction = static_cast<KToggleAction*>(actionCollection()->action("tab_autojoin"));
+ Channel* channel = static_cast<Channel*>(view);
+ if (autoJoinAction && viewType == ChatWindow::Channel && channel->getServer()->getServerGroup())
+ {
+ autoJoinAction->setEnabled(true);
+ autoJoinAction->setChecked(channel->autoJoin());
+ }
+ else if (!(viewType != ChatWindow::Channel && index != m_tabWidget->currentPageIndex()))
+ {
+ autoJoinAction->setEnabled(false);
+ autoJoinAction->setChecked(false);
+ }
+
+ action = actionCollection()->action("rejoin_channel");
+ if (action) action->setEnabled(viewType == ChatWindow::Channel && channel->rejoinable());
+
+ action = actionCollection()->action("close_queries");
+ if (action) action->setEnabled(m_queryViewCount > 0);
+
+ action = actionCollection()->action("clear_tabs");
+ if (action) action->setEnabled(true);
+
+ action = actionCollection()->action("toggle_away");
+ if (action) action->setEnabled(true);
+
+ action = actionCollection()->action("next_tab");
+ if (action) action->setEnabled(true);
+
+ action = actionCollection()->action("previous_tab");
+ if (action) action->setEnabled(true);
+
+ action = actionCollection()->action("next_active_tab");
+ if (action) action->setEnabled(true);
+
+ action = actionCollection()->action("close_tab");
+ if (action) action->setEnabled(true);
+
+ if (index == m_tabWidget->currentPageIndex())
+ {
+ // The following only need to be updated when this run is related
+ // to the active tab, e.g. when it was just changed.
+
+ action = actionCollection()->action("insert_marker_line");
+ if (action) action->setEnabled(insertSupported);
+
+ action = actionCollection()->action("insert_character");
+ if (action) action->setEnabled(insertSupported);
+
+ action = actionCollection()->action("irc_colors");
+ if (action) action->setEnabled(insertSupported);
+
+ action = actionCollection()->action("clear_lines");
+ if (action) action->setEnabled(insertSupported && view->getTextView()->hasLines());
+
+ action = actionCollection()->action("clear_window");
+ if (action) action->setEnabled(insertSupported);
+
+ action = actionCollection()->action("edit_find");
+ if (action)
+ {
+ action->setText(i18n("Find Text..."));
+ action->setEnabled(view->searchView());
+ action->setToolTip(i18n("Search for text in the current tab"));
+ }
+
+ action = actionCollection()->action("edit_find_next");
+ if (action) action->setEnabled(view->searchView());
+
+ action = actionCollection()->action("edit_find_last");
+ if (action) action->setEnabled(view->searchView());
+
+ KToggleAction* channelListAction = static_cast<KToggleAction*>(actionCollection()->action("open_channel_list"));
+ if (channelListAction)
+ {
+ if (m_frontServer)
+ {
+ QString name = m_frontServer->getDisplayName();
+ name = name.replace('&', "&&");
+ channelListAction->setEnabled(true);
+ channelListAction->setChecked(m_frontServer->getChannelListPanel());
+ channelListAction->setText(i18n("Channel &List for %1").arg(name));
+ }
+ else
+ {
+ channelListAction->setEnabled(false);
+ channelListAction->setChecked(false);
+ channelListAction->setText(i18n("Channel &List"));
+ }
+ }
+
+ action = actionCollection()->action("open_logfile");
+ if (action)
+ {
+ action->setEnabled(!view->logFileName().isEmpty());
+ if (view->logFileName().isEmpty())
+ action->setText(i18n("&Open Logfile"));
+ else
+ {
+ QString name = view->getName();
+ name = name.replace('&', "&&");
+ action->setText(i18n("&Open Logfile for %1").arg(name));
+ }
+ }
+
+ action = actionCollection()->action("hide_nicknamelist");
+ if (action) action->setEnabled(view->getType() == ChatWindow::Channel);
+
+ action = actionCollection()->action("channel_settings");
+ if (action && view->getType() == ChatWindow::Channel)
+ {
+ action->setEnabled(true);
+ action->setText(i18n("&Channel Settings for %1...").arg(view->getName()));
+ }
+ else if (action)
+ {
+ action->setEnabled(false);
+ action->setText(i18n("&Channel Settings..."));
+ }
+ }
+ }
+ else
+ {
+ action = actionCollection()->action("move_tab_left");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("move_tab_right");
+ if(action) action->setEnabled(false);
+
+ action = actionCollection()->action("next_tab");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("previous_tab");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("close_tab");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("next_active_tab");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("tab_notifications");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("tab_autojoin");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("rejoin_channel");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("insert_marker_line");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("insert_character");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("irc_colors");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("clear_lines");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("clear_window");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("clear_tabs");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("edit_find");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("edit_find_next");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("edit_find_last");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("open_channel_list");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("open_logfile");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("toggle_away");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("join_channel");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("disconnect_server");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("reconnect_server");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("hide_nicknamelist");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("channel_settings");
+ if (action) action->setEnabled(false);
+
+ action = actionCollection()->action("close_queries");
+ if (action) action->setEnabled(false);
+ }
+}
+
+void ViewContainer::updateFrontView()
+{
+ if (!m_tabWidget) return;
+
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->currentPage());
+
+ if (!view) return;
+
+ // Make sure that only views with info output get to be the m_frontView
+ if (m_frontView)
+ {
+ disconnect(m_frontView, SIGNAL(updateInfo(const QString &)), this, SIGNAL(setStatusBarInfoLabel(const QString &)));
+ }
+
+ if (view->canBeFrontView())
+ {
+ m_frontView = view;
+
+ connect(view, SIGNAL(updateInfo(const QString &)), this, SIGNAL(setStatusBarInfoLabel(const QString &)));
+ view->emitUpdateInfo();
+ }
+ else
+ {
+ QString viewName = Konversation::removeIrcMarkup(view->getName());
+
+ if(viewName != "ChatWindowObject")
+ emit setStatusBarInfoLabel(viewName);
+ else
+ emit clearStatusBarInfoLabel();
+ }
+
+ switch (view->getType())
+ {
+ case ChatWindow::Channel:
+ case ChatWindow::Query:
+ case ChatWindow::Status:
+ case ChatWindow::ChannelList:
+ case ChatWindow::RawLog:
+ emit setStatusBarLagLabelShown(true);
+ break;
+
+ default:
+ emit setStatusBarLagLabelShown(false);
+ break;
+ }
+
+ // Make sure that only text views get to be the m_searchView
+ if (view->searchView()) m_searchView = view;
+
+ updateViewActions(m_tabWidget->currentPageIndex());
+}
+
+void ViewContainer::updateViews(const Konversation::ServerGroupSettings* serverGroup)
+{
+ if (!m_tabWidget) return;
+
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (serverGroup)
+ {
+ if (view->getType() == ChatWindow::Status && view->getServer()->getServerGroup() == serverGroup)
+ {
+ QString label = view->getServer()->getDisplayName();
+
+ if (!label.isEmpty() && m_tabWidget->tabLabel(view) != label)
+ {
+ if (m_tabWidget) m_tabWidget->setTabLabel(view, label);
+ if (m_viewTree) m_viewTree->setViewName(view, label);
+
+ if (view == m_frontView)
+ {
+ emit setStatusBarInfoLabel(label);
+ emit setWindowCaption(label);
+ }
+
+ static_cast<StatusPanel*>(view)->updateName();
+ }
+ }
+
+ if (i == m_tabWidget->currentPageIndex())
+ updateViewActions(m_tabWidget->currentPageIndex());
+ }
+
+ if (m_viewTree)
+ {
+ if (!Preferences::tabNotificationsLeds() && !Preferences::closeButtons())
+ m_viewTree->setViewIcon(view, QIconSet());
+
+ if (Preferences::closeButtons() && !Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getCloseIcon());
+
+
+ if (!Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, m_window->colorGroup().foreground());
+ }
+ else if (m_tabWidget)
+ {
+ if (!Preferences::tabNotificationsLeds() && !Preferences::closeButtons())
+ m_tabWidget->setTabIconSet(view, QIconSet());
+
+ if (Preferences::closeButtons() && !Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getCloseIcon());
+
+ if (!Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, m_window->colorGroup().foreground());
+ }
+
+ if (Preferences::tabNotificationsLeds() || Preferences::tabNotificationsText())
+ {
+ if (view->currentTabNotification()==Konversation::tnfNone)
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfNormal && !Preferences::tabNotificationsMsgs())
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfPrivate && !Preferences::tabNotificationsPrivate())
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfSystem && !Preferences::tabNotificationsSystem())
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfControl && !Preferences::tabNotificationsEvents())
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfNick && !Preferences::tabNotificationsNick())
+ unsetViewNotification(view);
+ else if (view->currentTabNotification()==Konversation::tnfHighlight && !Preferences::tabNotificationsHighlights())
+ unsetViewNotification(view);
+ else if (view==m_tabWidget->currentPage())
+ unsetViewNotification(view);
+ else
+ setViewNotification(view, view->currentTabNotification());
+ }
+ }
+}
+
+void ViewContainer::updateViewIcons()
+{
+ if (!m_tabWidget) return;
+
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (Preferences::closeButtons() && !Preferences::tabNotificationsLeds())
+ {
+ if (m_viewTree)
+ m_viewTree->setViewIcon(view, images->getCloseIcon());
+ else if (m_tabWidget)
+ m_tabWidget->setTabIconSet(view, images->getCloseIcon());
+ }
+ }
+}
+
+void ViewContainer::setViewNotification(ChatWindow* view, const Konversation::TabNotifyType& type)
+{
+ if (!view || view == m_tabWidget->currentPage())
+ return;
+
+ if (type < Konversation::tnfControl && (m_activeViewOrderList.find(view) == m_activeViewOrderList.end()))
+ m_activeViewOrderList.append(view);
+
+ if (!Preferences::tabNotificationsLeds() && !Preferences::tabNotificationsText())
+ return;
+
+ if (m_viewTree)
+ {
+ switch (type)
+ {
+ case Konversation::tnfNormal:
+ if (Preferences::tabNotificationsMsgs())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getMsgsLed(true));
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsMsgsColor());
+ }
+ break;
+
+ case Konversation::tnfPrivate:
+ if (Preferences::tabNotificationsPrivate())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getPrivateLed(true));
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsPrivateColor());
+ }
+ break;
+
+ case Konversation::tnfSystem:
+ if (Preferences::tabNotificationsSystem())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getSystemLed(true));
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsSystemColor());
+ }
+ break;
+
+ case Konversation::tnfControl:
+ if (Preferences::tabNotificationsEvents())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getEventsLed());
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsEventsColor());
+ }
+ break;
+
+ case Konversation::tnfNick:
+ if (Preferences::tabNotificationsNick())
+ {
+ if (Preferences::tabNotificationsOverride() && Preferences::highlightNick())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getLed(Preferences::highlightNickColor(),true));
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::highlightNickColor());
+ }
+ else
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getNickLed());
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsNickColor());
+ }
+ }
+ else
+ {
+ setViewNotification(view,Konversation::tnfNormal);
+ }
+ break;
+
+ case Konversation::tnfHighlight:
+ if (Preferences::tabNotificationsHighlights())
+ {
+ if (Preferences::tabNotificationsOverride() && view->highlightColor().isValid())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getLed(view->highlightColor(),true));
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, view->highlightColor());
+ }
+ else
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_viewTree->setViewIcon(view, images->getHighlightsLed());
+ if (Preferences::tabNotificationsText())
+ m_viewTree->setViewColor(view, Preferences::tabNotificationsHighlightsColor());
+ }
+ }
+ else
+ {
+ setViewNotification(view,Konversation::tnfNormal);
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+ else if (m_tabWidget)
+ {
+ switch (type)
+ {
+ case Konversation::tnfNormal:
+ if (Preferences::tabNotificationsMsgs())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getMsgsLed(true));
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsMsgsColor());
+ }
+ break;
+
+ case Konversation::tnfPrivate:
+ if (Preferences::tabNotificationsPrivate())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getPrivateLed(true));
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsPrivateColor());
+ }
+ break;
+
+ case Konversation::tnfSystem:
+ if (Preferences::tabNotificationsSystem())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getSystemLed(true));
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsSystemColor());
+ }
+ break;
+
+ case Konversation::tnfControl:
+ if (Preferences::tabNotificationsEvents())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getEventsLed());
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsEventsColor());
+ }
+ break;
+
+ case Konversation::tnfNick:
+ if (Preferences::tabNotificationsNick())
+ {
+ if (Preferences::tabNotificationsOverride() && Preferences::highlightNick())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getLed(Preferences::highlightNickColor(),true));
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::highlightNickColor());
+ }
+ else
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getNickLed());
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsNickColor());
+ }
+ }
+ else
+ {
+ setViewNotification(view,Konversation::tnfNormal);
+ }
+ break;
+
+ case Konversation::tnfHighlight:
+ if (Preferences::tabNotificationsHighlights())
+ {
+ if (Preferences::tabNotificationsOverride() && view->highlightColor().isValid())
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getLed(view->highlightColor(),true));
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, view->highlightColor());
+ }
+ else
+ {
+ if (Preferences::tabNotificationsLeds())
+ m_tabWidget->setTabIconSet(view, images->getHighlightsLed());
+ if (Preferences::tabNotificationsText())
+ m_tabWidget->setTabColor(view, Preferences::tabNotificationsHighlightsColor());
+ }
+ }
+ else
+ {
+ setViewNotification(view,Konversation::tnfNormal);
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+}
+
+void ViewContainer::unsetViewNotification(ChatWindow* view)
+{
+ if (m_viewTree)
+ {
+ if (Preferences::tabNotificationsLeds())
+ {
+ switch (view->getType())
+ {
+ case ChatWindow::Channel:
+ case ChatWindow::DccChat:
+ m_viewTree->setViewIcon(view, images->getMsgsLed(false));
+ break;
+
+ case ChatWindow::Query:
+ m_viewTree->setViewIcon(view, images->getPrivateLed(false));
+ break;
+
+ case ChatWindow::Status:
+ m_viewTree->setViewIcon(view, images->getServerLed(false));
+ break;
+
+ default:
+ m_viewTree->setViewIcon(view, images->getSystemLed(false));
+ break;
+ }
+ }
+
+ QColor textColor = (Preferences::inputFieldsBackgroundColor()
+ ? Preferences::color(Preferences::ChannelMessage) : m_window->colorGroup().foreground());
+
+ if (view->getType() == ChatWindow::Channel)
+ {
+ Channel *channel = static_cast<Channel*>(view);
+
+ if (!channel->joined())
+ textColor = KonversationApplication::instance()->palette(m_viewTree).disabled().text();
+ }
+ else if (view->getType() == ChatWindow::Query)
+ {
+ if (!view->getServer()->isConnected())
+ textColor = KonversationApplication::instance()->palette(m_tabWidget).disabled().text();
+ }
+
+ m_viewTree->setViewColor(view, textColor);
+ }
+ else if (m_tabWidget)
+ {
+ if (Preferences::tabNotificationsLeds())
+ {
+ switch (view->getType())
+ {
+ case ChatWindow::Channel:
+ case ChatWindow::DccChat:
+ m_tabWidget->setTabIconSet(view, images->getMsgsLed(false));
+ break;
+
+ case ChatWindow::Query:
+ m_tabWidget->setTabIconSet(view, images->getPrivateLed(false));
+ break;
+
+ case ChatWindow::Status:
+ m_tabWidget->setTabIconSet(view, images->getServerLed(false));
+ break;
+
+ default:
+ m_tabWidget->setTabIconSet(view, images->getSystemLed(false));
+ break;
+ }
+ }
+
+ QColor textColor = m_window->colorGroup().foreground();
+
+ if (view->getType() == ChatWindow::Channel)
+ {
+ Channel *channel = static_cast<Channel*>(view);
+
+ if (!channel->joined())
+ textColor = KonversationApplication::instance()->palette(m_tabWidget).disabled().text();
+ }
+ else if (view->getType() == ChatWindow::Query)
+ {
+ if (!view->getServer()->isConnected())
+ textColor = KonversationApplication::instance()->palette(m_tabWidget).disabled().text();
+ }
+
+ m_tabWidget->setTabColor(view, textColor);
+ }
+
+ QValueList<ChatWindow*>::iterator it = m_activeViewOrderList.find(view);
+
+ if (it != m_activeViewOrderList.end())
+ m_activeViewOrderList.remove(it);
+}
+
+void ViewContainer::toggleViewNotifications()
+{
+ ChatWindow* view = 0;
+
+ if (m_popupViewIndex == -1)
+ view = static_cast<ChatWindow*>(m_tabWidget->currentPage());
+ else
+ view = static_cast<ChatWindow*>(m_tabWidget->page(m_popupViewIndex));
+
+ if (view)
+ {
+ if (!view->notificationsEnabled())
+ {
+ view->setNotificationsEnabled(true);
+ updateViews();
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("tab_notifications"));
+ if (action) action->setChecked(view->notificationsEnabled());
+ }
+ else
+ {
+ view->setNotificationsEnabled(false);
+ unsetViewNotification(view);
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("tab_notifications"));
+ if (action) action->setChecked(view->notificationsEnabled());
+ }
+ }
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::toggleAutoJoin()
+{
+ Channel* channel = 0;
+
+ if (m_popupViewIndex == -1)
+ channel = static_cast<Channel*>(m_tabWidget->currentPage());
+ else
+ channel = static_cast<Channel*>(m_tabWidget->page(m_popupViewIndex));
+
+ if (channel && channel->getType() == ChatWindow::Channel)
+ {
+ bool autoJoin = channel->autoJoin();
+
+ channel->setAutoJoin(!autoJoin);
+
+ emit autoJoinToggled(channel->getServer()->getServerGroup());
+ }
+}
+
+void ViewContainer::addView(ChatWindow* view, const QString& label, bool weinitiated)
+{
+ ChatWindow *tmp_ChatWindow;
+ int placement = -1;
+ ChatWindow::WindowType wtype;
+ QIconSet iconSet;
+
+ connect(KonversationApplication::instance(), SIGNAL(appearanceChanged()), view, SLOT(updateAppearance()));
+ connect(view, SIGNAL(setStatusBarTempText(const QString&)), this, SIGNAL(setStatusBarTempText(const QString&)));
+ connect(view, SIGNAL(clearStatusBarTempText()), this, SIGNAL(clearStatusBarTempText()));
+ connect(view, SIGNAL(closing(ChatWindow*)), this, SIGNAL(removeView(ChatWindow*)));
+ connect(view, SIGNAL(closing(ChatWindow*)), this, SLOT(cleanupAfterClose(ChatWindow*)));
+
+ // Please be careful about changing any of the grouping behavior in here,
+ // because it needs to match up with the sorting behavior of the tree list,
+ // otherwise they may become out of sync, wreaking havoc with the move
+ // actions. Yes, this would do well with a more reliable approach in the
+ // future. Then again, while this is ugly, it's also very fast.
+ switch (view->getType())
+ {
+ case ChatWindow::Channel:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getMsgsLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(sindex));
+
+ if (tmp_ChatWindow->getType() == ChatWindow::Status && tmp_ChatWindow->getServer() == view->getServer())
+ {
+ for (int index = sindex + 1; index < m_tabWidget->count(); index++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(index));
+ wtype = tmp_ChatWindow->getType();
+
+ if (wtype != ChatWindow::Channel && wtype != ChatWindow::RawLog)
+ {
+ placement = index;
+ break;
+ }
+ }
+
+ break;
+ }
+ }
+
+ break;
+
+ case ChatWindow::RawLog:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getSystemLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(sindex));
+
+ if (tmp_ChatWindow->getType() == ChatWindow::Status && tmp_ChatWindow->getServer() == view->getServer())
+ {
+ placement = sindex + 1;
+ break;
+ }
+ }
+
+ break;
+
+ case ChatWindow::Query:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getPrivateLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(sindex));
+
+ if (tmp_ChatWindow->getType() == ChatWindow::Status && tmp_ChatWindow->getServer() == view->getServer())
+ {
+ for (int index = sindex + 1; index < m_tabWidget->count(); index++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(index));
+ wtype = tmp_ChatWindow->getType();
+
+ if (wtype != ChatWindow::Channel && wtype != ChatWindow::RawLog && wtype != ChatWindow::Query)
+ {
+ placement = index;
+ break;
+ }
+ }
+
+ break;
+ }
+ }
+
+ break;
+
+ case ChatWindow::DccChat:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getMsgsLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow*>(m_tabWidget->page(sindex));
+ wtype = tmp_ChatWindow->getType();
+
+ if (wtype != ChatWindow::Status && wtype != ChatWindow::Channel
+ && wtype != ChatWindow::RawLog && wtype != ChatWindow::Query
+ && wtype != ChatWindow::DccChat && wtype != ChatWindow::ChannelList)
+ {
+ placement = sindex;
+ break;
+ }
+ }
+ break;
+
+ case ChatWindow::Status:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getServerLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ if (m_viewTree)
+ {
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(sindex));
+
+ if (tmp_ChatWindow->getType() != ChatWindow::Channel
+ && tmp_ChatWindow->getType() != ChatWindow::Status
+ && tmp_ChatWindow->getType() != ChatWindow::RawLog
+ && tmp_ChatWindow->getType() != ChatWindow::Query
+ && tmp_ChatWindow->getType() != ChatWindow::DccChat)
+ {
+ placement = sindex;
+ break;
+ }
+ }
+ }
+ break;
+
+ case ChatWindow::ChannelList:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getSystemLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+
+ for (int sindex = 0; sindex < m_tabWidget->count(); sindex++)
+ {
+ tmp_ChatWindow = static_cast<ChatWindow *>(m_tabWidget->page(sindex));
+
+ if (tmp_ChatWindow->getServer() == view->getServer())
+ placement = sindex + 1;
+ }
+
+ break;
+
+ default:
+ if (Preferences::tabNotificationsLeds())
+ iconSet = images->getSystemLed(false);
+ else if (Preferences::closeButtons())
+ iconSet = images->getCloseIcon();
+ break;
+ }
+
+ m_tabWidget->insertTab(view, iconSet, label, placement);
+ m_vbox->show();//m_tabWidget->show();
+
+ if (m_viewTree)
+ {
+ if (placement != -1 && m_tabWidget->page(placement-1))
+ {
+ ChatWindow* after = static_cast<ChatWindow*>(m_tabWidget->page(placement-1));
+ m_viewTree->addView(label, view, iconSet, false, after);
+ }
+ else
+ m_viewTree->addView(label, view, iconSet);
+ }
+
+ // Check, if user was typing in old input line
+ bool doBringToFront=false;
+
+ if (Preferences::focusNewQueries() && view->getType()==ChatWindow::Query && !weinitiated)
+ doBringToFront = true;
+
+ if (Preferences::bringToFront() && view->getType()!=ChatWindow::RawLog)
+ doBringToFront = true;
+
+ // make sure that bring to front only works when the user wasn't typing something
+ if (m_frontView && view->getType() != ChatWindow::UrlCatcher && view->getType() != ChatWindow::Konsole)
+ {
+ if (!m_frontView->getTextInLine().isEmpty())
+ doBringToFront = false;
+ }
+
+ if (doBringToFront) showView(view);
+
+ updateViewActions(m_tabWidget->currentPageIndex());
+}
+
+void ViewContainer::switchView(QWidget* newView)
+{
+ ChatWindow* view = static_cast<ChatWindow*>(newView);
+
+ emit viewChanged(view);
+
+ if (m_frontView)
+ {
+ m_frontView->resetTabNotification();
+
+ disconnect(m_frontView, SIGNAL(updateInfo(const QString &)), this, SIGNAL(setStatusBarInfoLabel(const QString &)));
+
+ if (Preferences::automaticRememberLine() && m_frontView->isInsertSupported())
+ m_frontView->getTextView()->insertRememberLine();
+ }
+
+ m_frontView = 0;
+ m_searchView = 0;
+
+ setFrontServer(view->getServer());
+
+ // display this server's lag time
+ if (m_frontServer)
+ {
+ updateStatusBarSSLLabel(m_frontServer);
+ updateStatusBarLagLabel(m_frontServer, m_frontServer->getLag());
+ }
+
+ emit clearStatusBarTempText();
+
+ updateFrontView();
+
+ unsetViewNotification(view);
+
+ view->resetTabNotification();
+
+ if (!m_viewTree || !m_viewTree->hasFocus()) view->adjustFocus();
+
+ if (view->isInsertSupported()) view->getTextView()->cancelRememberLine();
+
+ updateViewEncoding(view);
+
+ QString tabName = Konversation::removeIrcMarkup(view->getName());
+
+ if (tabName != "ChatWindowObject")
+ emit setWindowCaption(tabName);
+ else
+ emit setWindowCaption(QString());
+}
+
+void ViewContainer::showView(ChatWindow* view)
+{
+ // Don't bring Tab to front if TabWidget is hidden. Otherwise QT gets confused
+ // and shows the Tab as active but will display the wrong pane
+ if (m_tabWidget && m_tabWidget->isVisible())
+ m_tabWidget->showPage(view);
+}
+
+void ViewContainer::goToView(int page)
+{
+ if (page == m_tabWidget->currentPageIndex())
+ return;
+
+ if (page > m_tabWidget->count())
+ return;
+
+ if (page >= m_tabWidget->count())
+ page = 0;
+ else if (page < 0)
+ page = m_tabWidget->count() - 1;
+
+ if (page >= 0)
+ m_tabWidget->setCurrentPage(page);
+
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::showNextView()
+{
+ goToView(m_tabWidget->currentPageIndex()+1);
+}
+
+void ViewContainer::showPreviousView()
+{
+ goToView(m_tabWidget->currentPageIndex()-1);
+}
+
+void ViewContainer::moveViewLeft()
+{
+ int index;
+
+ if (m_popupViewIndex == -1)
+ index = m_tabWidget->currentPageIndex();
+ else
+ index = m_popupViewIndex;
+
+ if (index)
+ {
+ if (m_viewTree)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(index));
+ m_viewTree->moveViewUp(view);
+ syncTabBarToTree();
+ }
+ else if (m_tabWidget)
+ {
+ m_tabWidget->moveTab(index, index - 1);
+ updateViewActions(index - 1);
+ }
+ }
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::moveViewRight()
+{
+ int index;
+
+ if (m_popupViewIndex == -1)
+ index = m_tabWidget->currentPageIndex();
+ else
+ index = m_popupViewIndex;
+
+ if (index < (m_tabWidget->count() - 1))
+ {
+ if (m_viewTree)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(index));
+ m_viewTree->moveViewDown(view);
+ syncTabBarToTree();
+ }
+ else if (m_tabWidget)
+ {
+ m_tabWidget->moveTab(index, index + 1);
+ updateViewActions(index + 1);
+ }
+ }
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::closeView(QWidget* view)
+{
+ ChatWindow* viewToClose = static_cast<ChatWindow*>(view);
+
+ closeView(viewToClose);
+}
+
+void ViewContainer::closeView(ChatWindow* view)
+{
+ if (view)
+ {
+ ChatWindow::WindowType viewType = view->getType();
+
+ bool closeConfirmed = true;
+
+ switch (viewType)
+ {
+ case ChatWindow::DccTransferPanel:
+ closeDccPanel();
+ break;
+ case ChatWindow::UrlCatcher:
+ closeUrlCatcher();
+ break;
+ case ChatWindow::NicksOnline:
+ closeNicksOnlinePanel();
+ break;
+ default:
+ closeConfirmed = view->closeYourself();
+ break;
+ }
+ }
+}
+
+void ViewContainer::cleanupAfterClose(ChatWindow* view)
+{
+ if (view == m_frontView) m_frontView = 0;
+
+ if (m_tabWidget)
+ {
+ m_tabWidget->removePage(view);
+ emit removeView(view);
+
+ if (m_tabWidget->count() <= 0)
+ {
+ m_saveSplitterSizesLock = true;
+ m_vbox->hide();
+ emit resetStatusBar();
+ emit setWindowCaption(QString::null);
+ }
+ }
+
+ // Remove the view from the active view list if it's still on it
+ QValueList<ChatWindow*>::iterator it = m_activeViewOrderList.find(view);
+
+ if (it != m_activeViewOrderList.end())
+ m_activeViewOrderList.remove(it);
+
+ if (view->getType() == ChatWindow::Query)
+ --m_queryViewCount;
+
+ if (m_queryViewCount == 0 && actionCollection())
+ {
+ KAction* action = actionCollection()->action("close_queries");
+ if (action) action->setEnabled(false);
+ }
+}
+
+void ViewContainer::closeViewMiddleClick(QWidget* view)
+{
+ if (Preferences::middleClickClose())
+ closeView(view);
+}
+
+void ViewContainer::closeCurrentView()
+{
+ if (m_popupViewIndex == -1)
+ closeView(m_tabWidget->currentPage());
+ else
+ closeView(m_tabWidget->page(m_popupViewIndex));
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::changeViewCharset(int index)
+{
+ ChatWindow* chatWin;
+
+ if (m_popupViewIndex == -1)
+ chatWin = static_cast<ChatWindow*>(m_tabWidget->currentPage());
+ else
+ chatWin = static_cast<ChatWindow*>(m_tabWidget->page(m_popupViewIndex));
+
+ if (chatWin)
+ {
+ if (index == 0)
+ chatWin->setChannelEncoding(QString());
+ else
+ chatWin->setChannelEncoding(Konversation::IRCCharsets::self()->availableEncodingShortNames()[index - 1]);
+ }
+
+ m_popupViewIndex = -1;
+}
+
+void ViewContainer::updateViewEncoding(ChatWindow* view)
+{
+ if (view)
+ {
+ ChatWindow::WindowType viewType = view->getType();
+ KSelectAction* codecAction = static_cast<KSelectAction*>(actionCollection()->action("tab_encoding"));
+
+ if (codecAction)
+ {
+ if(viewType == ChatWindow::Channel || viewType == ChatWindow::Query || viewType == ChatWindow::Status)
+ {
+ codecAction->setEnabled(view->isChannelEncodingSupported());
+ QString encoding = view->getChannelEncoding();
+
+ if(m_frontServer)
+ {
+ codecAction->changeItem(0, i18n("Default encoding", "Default ( %1 )").arg(m_frontServer->getIdentity()->getCodecName()));
+ }
+
+ if(encoding.isEmpty())
+ {
+ codecAction->setCurrentItem(0);
+ }
+ else
+ {
+ codecAction->setCurrentItem(Konversation::IRCCharsets::self()->shortNameToIndex(encoding) + 1);
+ }
+ }
+ else
+ {
+ codecAction->setEnabled(false);
+ }
+ }
+ }
+}
+
+void ViewContainer::showViewContextMenu(QWidget* tab, const QPoint& pos)
+{
+ m_popupViewIndex = m_tabWidget->indexOf(tab);
+
+ updateViewActions(m_popupViewIndex);
+ QPopupMenu* menu = static_cast<QPopupMenu*>(m_window->factory()->container("tabContextMenu", m_window));
+
+ if (!menu) return;
+
+ ChatWindow* view = static_cast<ChatWindow*>(tab);
+ KToggleAction* autoJoinAction = static_cast<KToggleAction*>(actionCollection()->action("tab_autojoin"));
+ KAction* rejoinAction = actionCollection()->action("rejoin_channel");
+
+ if (view)
+ {
+ ChatWindow::WindowType viewType = view->getType();
+
+ updateViewEncoding(view);
+
+ if (viewType == ChatWindow::Channel)
+ {
+ autoJoinAction->plug(menu, 1);
+
+ Channel *channel = static_cast<Channel*>(view);
+ if (channel->rejoinable() && rejoinAction)
+ {
+ rejoinAction->plug(menu, 0);
+ rejoinAction->setEnabled(true);
+ }
+ }
+
+ if (viewType == ChatWindow::Status)
+ {
+ QPtrList<KAction> serverActions;
+ KAction* action = actionCollection()->action("disconnect_server");
+ if (action) serverActions.append(action);
+ action = actionCollection()->action("reconnect_server");
+ if (action) serverActions.append(action);
+ action = actionCollection()->action("join_channel");
+ if (action) serverActions.append(action);
+ action = new KActionSeparator();
+ if (action) serverActions.append(action);
+ m_window->plugActionList("server_actions", serverActions);
+ m_contextServer = view->getServer();
+ }
+ else
+ m_contextServer = 0;
+ }
+
+ if (menu->exec(pos) == -1)
+ {
+ m_popupViewIndex = -1;
+ view = static_cast<ChatWindow*>(m_tabWidget->currentPage());
+
+ if (view) updateViewEncoding(view);
+ }
+
+ autoJoinAction->unplug(menu);
+ rejoinAction->unplug(menu);
+
+ m_window->unplugActionList("server_actions");
+
+ emit contextMenuClosed();
+
+ updateViewActions(m_tabWidget->currentPageIndex());
+}
+
+QString ViewContainer::currentViewTitle()
+{
+ if (m_frontServer)
+ {
+ if (m_frontView && m_frontView->getType() == ChatWindow::Channel)
+ return m_frontView->getName();
+ else
+ return m_frontServer->getDisplayName();
+ }
+ else
+ {
+ return QString();
+ }
+}
+
+QString ViewContainer::currentViewURL(bool passNetwork)
+{
+ QString url;
+ QString channel;
+ QString port;
+ QString server;
+
+ if (m_frontServer && m_frontView)
+ {
+ updateFrontView();
+
+ if (m_frontView->getType() == ChatWindow::Channel)
+ channel = m_frontView->getName();
+
+ if (passNetwork)
+ server = m_frontServer->getDisplayName();
+ else
+ {
+ server = m_frontServer->getServerName();
+ port = ':'+QString::number(m_frontServer->getPort());
+ }
+
+ if (server.contains(':')) // IPv6
+ server = '['+server+']';
+
+ url = "irc://"+server+port+'/'+channel;
+ }
+
+ return url;
+}
+
+int ViewContainer::getViewIndex(QWidget* widget)
+{
+ return m_tabWidget->indexOf(widget);
+}
+
+void ViewContainer::clearView()
+{
+ if (m_frontView) m_frontView->getTextView()->clear();
+}
+
+void ViewContainer::clearAllViews()
+{
+ int total=m_tabWidget->count()-1;
+ ChatWindow* nextPage;
+
+ for(int i=0;i<=total;i++)
+ {
+ nextPage=static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if(nextPage && nextPage->getTextView())
+ nextPage->getTextView()->clear();
+ }
+}
+
+void ViewContainer::findText()
+{
+ if (!m_searchView)
+ {
+ KMessageBox::sorry(m_window,
+ i18n("You can only search in text fields."),
+ i18n("Find Text Information"));
+ }
+ else
+ {
+ m_searchView->getTextView()->search();
+ }
+}
+
+void ViewContainer::findNextText()
+{
+ if (m_searchView) m_searchView->getTextView()->searchAgain();
+}
+
+void ViewContainer::findPrevText()
+{
+ if (m_searchView) m_searchView->getTextView()->searchNext(true);
+}
+
+void ViewContainer::appendToFrontmost(const QString& type,const QString& message,ChatWindow* serverView, bool parseURL)
+{
+ if (!m_tabWidget) return;
+
+ if (!serverView) // e.g. DCOP info call
+ {
+ if (m_frontView) // m_frontView == NULL if canBeFrontView() == false for active ChatWindow
+ serverView = m_frontView->getServer()->getStatusView();
+ else if (m_frontServer) // m_fronView == NULL && m_frontServer != NULL if ChannelListPanel is active.
+ serverView = m_frontServer->getStatusView();
+ }
+
+ // This might happen if canBeFrontView() is false for active ChatWindow
+ // and the view does not belong to any server (e.g. DCC Status View).
+ // Discard message in this case.
+ if (!serverView) return;
+
+ updateFrontView();
+
+ if (!m_frontView || // Check if the m_frontView can actually display text or ...
+ // if it does not belong to this server or...
+ serverView->getServer()!=m_frontView->getServer() ||
+ // if the user decided to force it.
+ Preferences::redirectServerAndAppMsgToStatusPane())
+ {
+ // if not, take server specified fallback view instead
+ serverView->appendServerMessage(type, message, parseURL);
+ // FIXME: this signal should be sent from the status panel instead, so it
+ // can be using the correct highlight color, would be more consistent
+ // anyway!
+ // FIXME newText(serverView,QString::null,true);
+ }
+ else
+ m_frontView->appendServerMessage(type, message, parseURL);
+}
+
+void ViewContainer::insertCharacter()
+{
+ QFont font;
+
+ if (Preferences::customTextFont())
+ font = Preferences::textFont();
+ else
+ font = KGlobalSettings::generalFont();
+
+ if (!m_insertCharDialog)
+ {
+ m_insertCharDialog = new Konversation::InsertCharDialog(font.family(), m_window);
+ connect(m_insertCharDialog, SIGNAL(insertChar(const QChar&)), this, SLOT(insertChar(const QChar&)));
+ }
+
+ m_insertCharDialog->setFont(font);
+ m_insertCharDialog->show();
+}
+
+void ViewContainer::insertChar(const QChar& chr)
+{
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->currentPage());
+
+ if (view) view->appendInputText(chr, true/*fromCursor*/);
+}
+
+void ViewContainer::insertIRCColor()
+{
+ IRCColorChooser dlg(m_window);
+
+ if (dlg.exec() == KDialog::Accepted) m_frontView->appendInputText(dlg.color(), true/*fromCursor*/);
+}
+
+void ViewContainer::clearViewLines()
+{
+ if (m_frontView && m_frontView->isInsertSupported())
+ {
+ m_frontView->getTextView()->clearLines();
+
+ KAction* action = actionCollection()->action("clear_lines");
+ if (action) action->setEnabled(false);
+ }
+}
+
+void ViewContainer::insertRememberLine()
+{
+ if (Preferences::automaticRememberLine())
+ {
+ if (m_frontView && m_frontView->isInsertSupported())
+ m_frontView->getTextView()->insertRememberLine();
+ }
+}
+
+void ViewContainer::insertRememberLines(Server* server)
+{
+ for (int i = 0; i < m_tabWidget->count(); ++i)
+ {
+ ChatWindow* view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (view->getServer() == server && view->isInsertSupported())
+ view->getTextView()->insertRememberLine();
+ }
+}
+
+void ViewContainer::cancelRememberLine()
+{
+ if (m_frontView && m_frontView->isInsertSupported())
+ {
+ m_frontView->getTextView()->cancelRememberLine();
+
+ KAction* action = actionCollection()->action("clear_lines");
+ if (action) action->setEnabled(m_frontView->getTextView()->hasLines());
+ }
+}
+
+void ViewContainer::insertMarkerLine()
+{
+ if (Preferences::markerLineInAllViews())
+ {
+ int total = m_tabWidget->count()-1;
+ ChatWindow* view;
+
+ for (int i = 0; i <= total; ++i)
+ {
+ view = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (view->isInsertSupported()) view->getTextView()->insertMarkerLine();
+ }
+ }
+ else
+ {
+ if (m_frontView && m_frontView->isInsertSupported())
+ m_frontView->getTextView()->insertMarkerLine();
+ }
+
+ if (m_frontView && m_frontView->isInsertSupported())
+ {
+ KAction* action = actionCollection()->action("clear_lines");
+ if (action) action->setEnabled(m_frontView->getTextView()->hasLines());
+ }
+}
+
+void ViewContainer::openLogFile()
+{
+ if (m_frontView)
+ {
+ ChatWindow* view=static_cast<ChatWindow*>(m_frontView);
+ ChatWindow::WindowType viewType=view->getType();
+ if (viewType==ChatWindow::Channel || viewType==ChatWindow::Query ||
+ viewType==ChatWindow::Status || viewType==ChatWindow::DccChat)
+ {
+ openLogFile(view->getName(), view->logFileName());
+ }
+ }
+}
+
+void ViewContainer::openLogFile(const QString& caption, const QString& file)
+{
+ if (!file.isEmpty())
+ {
+ LogfileReader* logReader = new LogfileReader(m_tabWidget, file);
+ addView(logReader, i18n("Logfile of %1").arg(caption));
+ logReader->setServer(0);
+ }
+}
+
+void ViewContainer::addKonsolePanel()
+{
+ KonsolePanel* panel=new KonsolePanel(m_tabWidget);
+ panel->setName(i18n("Konsole"));
+ addView(panel, i18n("Konsole"));
+ connect(panel, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+ connect(panel, SIGNAL(closeView(ChatWindow*)), this, SLOT(closeView(ChatWindow*)));
+}
+
+void ViewContainer::addUrlCatcher()
+{
+ // if the panel wasn't open yet
+ if (m_urlCatcherPanel==0)
+ {
+ m_urlCatcherPanel=new UrlCatcher(m_tabWidget);
+ addView(m_urlCatcherPanel, i18n("URL Catcher"));
+ KonversationApplication *konvApp=static_cast<KonversationApplication *>(KApplication::kApplication());
+ connect(konvApp,SIGNAL(catchUrl(const QString&,const QString&)),
+ m_urlCatcherPanel, SLOT(addUrl(const QString&,const QString&)) );
+ connect(m_urlCatcherPanel, SIGNAL(deleteUrl(const QString&,const QString&)),
+ konvApp, SLOT(deleteUrl(const QString&,const QString&)) );
+ connect(m_urlCatcherPanel, SIGNAL(clearUrlList()),
+ konvApp, SLOT(clearUrlList()));
+
+ QStringList urlList=konvApp->getUrlList();
+ for(unsigned int index=0;index<urlList.count();index++)
+ {
+ QString urlItem=urlList[index];
+ m_urlCatcherPanel->addUrl(urlItem.section(' ',0,0),urlItem.section(' ',1,1));
+ } // for
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_url_catcher")))->setChecked(true);
+ }
+ else
+ closeUrlCatcher();
+}
+
+void ViewContainer::closeUrlCatcher()
+{
+ // if there actually is a dcc panel
+ if (m_urlCatcherPanel)
+ {
+ delete m_urlCatcherPanel;
+ m_urlCatcherPanel = 0;
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_url_catcher")))->setChecked(false);
+ }
+}
+
+void ViewContainer::toggleDccPanel()
+{
+ if (m_dccPanel==0 || !m_dccPanelOpen)
+ addDccPanel();
+ else
+ closeDccPanel();
+}
+
+void ViewContainer::addDccPanel()
+{
+ if (!m_dccPanelOpen)
+ {
+ addView(m_dccPanel, i18n("DCC Status"));
+ m_dccPanelOpen=true;
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_dccstatus_window")))->setChecked(true);
+ }
+}
+
+void ViewContainer::closeDccPanel()
+{
+ // if there actually is a dcc panel
+ if (m_dccPanel)
+ {
+ // hide it from view, does not delete it
+ emit removeView(m_dccPanel);
+ if (m_tabWidget) m_tabWidget->removePage(m_dccPanel);
+ m_dccPanelOpen=false;
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_dccstatus_window")))->setChecked(false);
+ }
+}
+
+void ViewContainer::deleteDccPanel()
+{
+ if (m_dccPanel)
+ {
+ closeDccPanel();
+ delete m_dccPanel;
+ m_dccPanel=0;
+ }
+}
+
+DccTransferPanel* ViewContainer::getDccPanel()
+{
+ return m_dccPanel;
+}
+
+void ViewContainer::addDccChat(const QString& myNick,const QString& nick,const QStringList& arguments,bool listen)
+{
+ if (!listen) // Someone else initiated dcc chat
+ {
+ KonversationApplication* konv_app=static_cast<KonversationApplication*>(KApplication::kApplication());
+ konv_app->notificationHandler()->dccChat(m_frontView, nick);
+ }
+
+ if (m_frontServer)
+ {
+ DccChat* dccChatPanel=listen
+ ? new DccChat(m_tabWidget, listen, m_frontServer, myNick, nick )
+ : new DccChat(m_tabWidget, listen, m_frontServer, myNick, nick, arguments[1], arguments[2].toInt() );
+
+ connect(dccChatPanel, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+
+ // This needs to be here as addView will change m_frontServer if focus new tabs is enabled.
+ addView(dccChatPanel, dccChatPanel->getName());
+ }
+}
+
+StatusPanel* ViewContainer::addStatusView(Server* server)
+{
+ StatusPanel* statusView = new StatusPanel(m_tabWidget);
+
+ statusView->setServer(server);
+ statusView->setIdentity(server->getIdentity());
+
+ if (server->getServerGroup()) statusView->setNotificationsEnabled(server->getServerGroup()->enableNotifications());
+
+ // Get group name for tab if available
+ QString label = server->getDisplayName();
+ statusView->setName(label);
+
+ QObject::connect(server, SIGNAL(sslInitFailure()), this, SIGNAL(removeStatusBarSSLLabel()));
+ QObject::connect(server, SIGNAL(sslConnected(Server*)), this, SIGNAL(updateStatusBarSSLLabel(Server*)));
+
+ // ... then put it into the tab widget, otherwise we'd have a race with server member
+ addView(statusView, label);
+
+ connect(statusView, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)),
+ this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+ connect(statusView, SIGNAL(sendFile()), server, SLOT(requestDccSend()));
+ connect(server, SIGNAL(awayState(bool)), statusView, SLOT(indicateAway(bool)) );
+
+ // make sure that m_frontServer gets set on adding the first status panel, too,
+ // since there won't be a switchView happening
+ if (!m_frontServer) setFrontServer(server);
+
+ return statusView;
+}
+
+RawLog* ViewContainer::addRawLog(Server* server)
+{
+ RawLog* rawLog = new RawLog(m_tabWidget);
+ rawLog->setServer(server);
+ rawLog->setLog(false);
+
+ if (server->getServerGroup()) rawLog->setNotificationsEnabled(server->getServerGroup()->enableNotifications());
+
+ addView(rawLog, i18n("Raw Log"));
+
+ connect(rawLog, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)),
+ this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+
+ return rawLog;
+}
+
+void ViewContainer::reconnectFrontServer()
+{
+ Server* server = 0;
+
+ if (m_contextServer)
+ server = m_contextServer;
+ else
+ server = m_frontServer;
+
+ if (server) server->reconnect();
+}
+
+void ViewContainer::disconnectFrontServer()
+{
+ Server* server = 0;
+
+ if (m_contextServer)
+ server = m_contextServer;
+ else
+ server = m_frontServer;
+
+ if (server && server->isConnected())
+ server->disconnect();
+}
+
+void ViewContainer::showJoinChannelDialog()
+{
+ Server* server = 0;
+
+ if (m_contextServer)
+ server = m_contextServer;
+ else
+ server = m_frontServer;
+
+ if (!server)
+ return;
+
+ Konversation::JoinChannelDialog dlg(server, m_window);
+
+ if (dlg.exec() == QDialog::Accepted)
+ server->sendJoinCommand(dlg.channel(), dlg.password());
+}
+
+void ViewContainer::connectionStateChanged(Server* server, Konversation::ConnectionState state)
+{
+ Server* updateServer = 0;
+
+ if (m_contextServer)
+ updateServer = m_contextServer;
+ else
+ updateServer = m_frontServer;
+
+ if (updateServer && updateServer == server)
+ {
+ KAction* action = actionCollection()->action("disconnect_server");
+ if (action)
+ action->setEnabled(state == Konversation::SSConnected);
+
+ action = actionCollection()->action("join_channel");
+ if (action)
+ action->setEnabled(state == Konversation::SSConnected);
+
+ if (m_frontView && m_frontView->getServer() == server
+ && m_frontView->getType() == ChatWindow::Channel)
+ {
+ ChatWindow* view = m_frontView;
+ Channel* channel = static_cast<Channel*>(view);
+
+ action = actionCollection()->action("rejoin_channel");
+ if (action) action->setEnabled(state == Konversation::SSConnected && channel->rejoinable());
+ }
+ }
+}
+
+void ViewContainer::channelJoined(Channel* channel)
+{
+ ChatWindow* view = m_frontView;
+
+ if (view == channel)
+ {
+ KAction* action = actionCollection()->action("rejoin_channel");
+ if (action) action->setEnabled(false);
+ }
+}
+
+Channel* ViewContainer::addChannel(Server* server, const QString& name)
+{
+ Channel* channel=new Channel(m_tabWidget, name);
+ channel->setServer(server);
+ channel->setName(name); //still have to do this for now
+ addView(channel, name);
+
+ connect(this, SIGNAL(updateChannelAppearance()), channel, SLOT(updateAppearance()));
+ connect(channel, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+ connect(server, SIGNAL(awayState(bool)), channel, SLOT(indicateAway(bool)) );
+ connect(channel, SIGNAL(joined(Channel*)), this, SLOT(channelJoined(Channel*)));
+
+ return channel;
+}
+
+void ViewContainer::rejoinChannel()
+{
+ Channel* channel = 0;
+
+ if (m_popupViewIndex == -1)
+ channel = static_cast<Channel*>(m_tabWidget->currentPage());
+ else
+ channel = static_cast<Channel*>(m_tabWidget->page(m_popupViewIndex));
+
+ if (channel && channel->getType() == ChatWindow::Channel)
+ channel->rejoin();
+}
+
+void ViewContainer::openChannelSettings()
+{
+ if (m_frontView->getType() == ChatWindow::Channel)
+ {
+ Channel* channel = static_cast<Channel*>(m_tabWidget->currentPage());
+ channel->showOptionsDialog();
+ }
+}
+
+void ViewContainer::toggleChannelNicklists()
+{
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("hide_nicknamelist"));
+
+ if (action)
+ {
+ Preferences::setShowNickList(!action->isChecked());
+ Preferences::writeConfig();
+
+ emit updateChannelAppearance();
+ }
+}
+
+Query* ViewContainer::addQuery(Server* server, const NickInfoPtr& nickInfo, bool weinitiated)
+{
+ QString name = nickInfo->getNickname();
+ Query* query=new Query(m_tabWidget, name);
+ query->setServer(server);
+ query->setNickInfo(nickInfo); //still have to do this
+ addView(query, name, weinitiated);
+
+ // About to increase the number of queries, so enable the close action
+ if (m_queryViewCount == 0)
+ actionCollection()->action("close_queries")->setEnabled(true);
+
+ ++m_queryViewCount;
+
+ connect(query, SIGNAL(updateTabNotification(ChatWindow*,const Konversation::TabNotifyType&)), this, SLOT(setViewNotification(ChatWindow*,const Konversation::TabNotifyType&)));
+ connect(query, SIGNAL(updateQueryChrome(ChatWindow*, const QString &)), this, SLOT(updateQueryChrome(ChatWindow*, const QString &)));
+ connect(server, SIGNAL(awayState(bool)), query, SLOT(indicateAway(bool)));
+
+ return query;
+}
+
+void ViewContainer::updateQueryChrome(ChatWindow* view, const QString& name)
+{
+ //FIXME: updateQueryChrome is a last minute fix for 0.19 because
+ // the updateInfo mess is indecipherable. Replace with a sane and
+ // encompassing system.
+
+ QString newName = Konversation::removeIrcMarkup(name);
+
+ if (!newName.isEmpty() && m_tabWidget->tabLabel(view) != newName)
+ {
+ if (m_viewTree) m_viewTree->setViewName(view, newName);
+ if (m_tabWidget) m_tabWidget->setTabLabel(view, newName);
+ }
+
+ if (!newName.isEmpty() && view==m_frontView)
+ emit setWindowCaption(newName);
+}
+
+void ViewContainer::closeQueries()
+{
+ int total=m_tabWidget->count()-1;
+ int operations = 0;
+ ChatWindow* nextPage;
+
+ for (int i=0; i <=total; i++)
+ {
+ if (operations > total)
+ break;
+
+ nextPage = static_cast<ChatWindow*>(m_tabWidget->page(i));
+
+ if (nextPage && nextPage->getType()==ChatWindow::Query)
+ {
+ closeView(nextPage);
+ if (m_tabWidget->indexOf(nextPage) == -1) --i;
+ }
+ ++operations;
+ }
+
+ m_queryViewCount = 0;
+
+ actionCollection()->action("close_queries")->setEnabled(false);
+}
+
+ChannelListPanel* ViewContainer::addChannelListPanel(Server* server)
+{
+ ChannelListPanel* channelListPanel=new ChannelListPanel(m_tabWidget);
+ channelListPanel->setServer(server);
+ addView(channelListPanel, i18n("Channel List"));
+
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("open_channel_list"));
+ if ((server == m_frontServer) && action) action->setChecked(true);
+
+ return channelListPanel;
+}
+
+void ViewContainer::openChannelList(const QString& filter, bool getList)
+{
+ if (m_frontServer)
+ {
+ ChannelListPanel* panel = m_frontServer->getChannelListPanel();
+
+ if (panel)
+ {
+ closeView(panel);
+ KToggleAction* action = static_cast<KToggleAction*>(actionCollection()->action("open_channel_list"));
+ if (action) action->setChecked(false);
+ }
+ else
+ {
+ int ret = KMessageBox::Continue;
+
+ if (filter.isEmpty())
+ {
+ ret = KMessageBox::warningContinueCancel(m_window,i18n("Using this function may result in a lot "
+ "of network traffic. If your connection is not fast "
+ "enough, it is possible that your client will be "
+ "disconnected by the server."), i18n("Channel List Warning"),
+ KStdGuiItem::cont(), "ChannelListWarning");
+ }
+
+ if (ret != KMessageBox::Continue) return;
+
+ panel = m_frontServer->addChannelListPanel();
+
+ panel->setFilter(filter);
+
+ if(getList) panel->applyFilterClicked();
+ }
+ }
+ else
+ {
+ KMessageBox::information(m_window,
+ i18n(
+ "The channel list can only be opened from a "
+ "query, channel or status window to find out, "
+ "which server this list belongs to."
+ ),
+ i18n("Channel List"),
+ "ChannelListNoServerSelected");
+ }
+}
+
+void ViewContainer::openNicksOnlinePanel()
+{
+ if (!m_nicksOnlinePanel)
+ {
+ m_nicksOnlinePanel=new NicksOnline(m_window);
+ addView(m_nicksOnlinePanel, i18n("Watched Nicks Online"));
+ connect(m_nicksOnlinePanel, SIGNAL(editClicked()), m_window, SLOT(openNotify()));
+ connect(m_nicksOnlinePanel, SIGNAL(doubleClicked(const QString&,const QString&)), m_window, SLOT(notifyAction(const QString&,const QString&)));
+ connect(m_nicksOnlinePanel, SIGNAL(showView(ChatWindow*)), this, SLOT(showView(ChatWindow*)));
+ connect(m_window, SIGNAL(nicksNowOnline(Server*)), m_nicksOnlinePanel, SLOT(updateServerOnlineList(Server*)));
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_nicksonline_window")))->setChecked(true);
+ }
+ else
+ {
+ closeNicksOnlinePanel();
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_nicksonline_window")))->setChecked(false);
+ }
+
+}
+
+void ViewContainer::closeNicksOnlinePanel()
+{
+ if(m_nicksOnlinePanel)
+ {
+ delete m_nicksOnlinePanel;
+ m_nicksOnlinePanel = 0;
+ }
+ (dynamic_cast<KToggleAction*>(actionCollection()->action("open_nicksonline_window")))->setChecked(false);
+}
+
+void ViewContainer::showNextActiveView()
+{
+ if (!m_activeViewOrderList.isEmpty())
+ {
+ ChatWindow* prev = m_activeViewOrderList.first();
+ ChatWindow* view = prev;
+
+ QValueList<ChatWindow*>::ConstIterator it;
+
+ for (it = m_activeViewOrderList.begin(); it != m_activeViewOrderList.end(); ++it)
+ {
+ if ((*it)->currentTabNotification() < prev->currentTabNotification())
+ view = (*it);
+ }
+
+ m_tabWidget->setCurrentPage(m_tabWidget->indexOf(view));
+ }
+}
+
+/*!
+ \fn ViewContainer::frontServerChanging(Server *newServer)
+
+ This signal is emitted immediately before the front server is changed.
+
+ If the server is being removed this will fire with a null pointer.
+*/
+
+#include "viewcontainer.moc"
diff --git a/konversation/src/viewcontainer.h b/konversation/src/viewcontainer.h
new file mode 100644
index 0000000..bacedf4
--- /dev/null
+++ b/konversation/src/viewcontainer.h
@@ -0,0 +1,229 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+#ifndef VIEWCONTAINER_H
+#define VIEWCONTAINER_H
+
+#include "konversationmainwindow.h"
+#include "common.h"
+#include "server.h"
+
+#include <qobject.h>
+#include <qguardedptr.h>
+
+
+class QSplitter;
+
+class KTabWidget;
+class KActionCollection;
+
+class KonversationMainWindow;
+class ViewTree;
+class ChatWindow;
+class Server;
+class Images;
+class UrlCatcher;
+class DccTransferPanel;
+class NicksOnline;
+class QueueTuner;
+
+namespace Konversation
+{
+ class InsertCharDialog;
+ class ServerGroupSettings;
+}
+
+class ViewContainer : public QObject
+{
+ Q_OBJECT
+
+ public:
+ explicit ViewContainer(KonversationMainWindow* window);
+ ~ViewContainer();
+
+ QSplitter* getWidget() { return m_viewTreeSplitter; }
+ KonversationMainWindow* getWindow() { return m_window; }
+ KActionCollection* actionCollection() { return m_window->actionCollection(); }
+
+ QGuardedPtr<ChatWindow> getFrontView() { return m_frontView; }
+ Server* getFrontServer() { return m_frontServer; }
+
+ void prepareShutdown();
+
+ QString currentViewTitle();
+ QString currentViewURL(bool passNetwork);
+
+ void appendToFrontmost(const QString& type,const QString& message,ChatWindow* serverView,
+ bool parseURL = true);
+
+ void showQueueTuner(bool);
+
+ int getViewIndex(QWidget* widget);
+
+ public slots:
+ void updateAppearance();
+ void saveSplitterSizes();
+ void setViewTreeShown(bool show);
+ void syncTabBarToTree();
+
+ void updateViews(const Konversation::ServerGroupSettings* serverGroup = 0);
+ void updateViewIcons();
+ void setViewNotification(ChatWindow* widget, const Konversation::TabNotifyType& type);
+ void unsetViewNotification(ChatWindow* view);
+ void toggleViewNotifications();
+ void toggleAutoJoin();
+
+ void switchView(QWidget* newView);
+ void showView(ChatWindow* view);
+
+ void goToView(int page);
+ void showNextView();
+ void showPreviousView();
+ void moveViewLeft();
+ void moveViewRight();
+
+ void closeView(QWidget* view);
+ void closeView(ChatWindow* view);
+ void closeViewMiddleClick(QWidget* view);
+ void closeCurrentView();
+ void cleanupAfterClose(ChatWindow* view);
+
+ void changeViewCharset(int index);
+ void updateViewEncoding(ChatWindow* view);
+
+ void showViewContextMenu(QWidget* tab, const QPoint& pos);
+
+ void clearView();
+ void clearAllViews();
+
+ void findText();
+ void findNextText();
+ void findPrevText();
+
+ void insertCharacter();
+ void insertChar(const QChar& chr);
+ void insertIRCColor();
+
+ void clearViewLines();
+ void insertRememberLine();
+ void cancelRememberLine();
+ void insertMarkerLine();
+ void insertRememberLines(Server* server);
+
+ void openLogFile();
+ void openLogFile(const QString& caption, const QString& file);
+
+ void addKonsolePanel();
+
+ void addUrlCatcher();
+ void closeUrlCatcher();
+
+ void toggleDccPanel();
+ void addDccPanel();
+ void closeDccPanel();
+ void deleteDccPanel();
+ DccTransferPanel* getDccPanel();
+
+ void addDccChat(const QString& myNick,const QString& nick,const QStringList& arguments,bool listen);
+
+ StatusPanel* addStatusView(Server* server);
+ RawLog* addRawLog(Server* server);
+ void disconnectFrontServer();
+ void reconnectFrontServer();
+ void showJoinChannelDialog();
+ void connectionStateChanged(Server* server, Konversation::ConnectionState state);
+ void channelJoined(Channel* channel);
+
+ Channel* addChannel(Server* server, const QString& name);
+ void rejoinChannel();
+ void openChannelSettings();
+ void toggleChannelNicklists();
+
+ Query* addQuery(Server* server,const NickInfoPtr & name, bool weinitiated=true);
+ void updateQueryChrome(ChatWindow* view, const QString& name);
+ void closeQueries();
+
+ ChannelListPanel* addChannelListPanel(Server* server);
+ void openChannelList(const QString& filter = QString(), bool getList = false);
+
+ void openNicksOnlinePanel();
+ void closeNicksOnlinePanel();
+
+ void showNextActiveView();
+
+ signals:
+ void viewChanged(ChatWindow* view);
+ void removeView(ChatWindow* view);
+ void setWindowCaption(const QString& caption);
+ void updateChannelAppearance();
+ void contextMenuClosed();
+ void resetStatusBar();
+ void setStatusBarTempText(const QString& text);
+ void clearStatusBarTempText();
+ void setStatusBarInfoLabel(const QString& text);
+ void clearStatusBarInfoLabel();
+ void setStatusBarLagLabelShown(bool shown);
+ void updateStatusBarLagLabel(Server* server, int msec);
+ void resetStatusBarLagLabel();
+ void setStatusBarLagLabelTooLongLag(Server* server, int msec);
+ void updateStatusBarSSLLabel(Server* server);
+ void removeStatusBarSSLLabel();
+ void autoJoinToggled(const Konversation::ServerGroupSettings*);
+
+ void frontServerChanging(Server *);
+
+ private:
+ void setupTabWidget();
+ void setupViewTree();
+ void removeViewTree();
+ void updateTabWidgetAppearance();
+
+ void addView(ChatWindow* view, const QString& label, bool weinitiated=true);
+
+ void updateViewActions(int index);
+ void updateSwitchViewAction();
+ void updateFrontView();
+
+ void setFrontServer(Server *);
+
+ void initializeSplitterSizes();
+ bool m_saveSplitterSizesLock;
+
+ KonversationMainWindow* m_window;
+
+ QSplitter* m_viewTreeSplitter;
+ KTabWidget* m_tabWidget;
+ ViewTree* m_viewTree;
+ QVBox *m_vbox;
+ QueueTuner *m_queueTuner;
+
+ Images* images;
+
+ QGuardedPtr<Server> m_frontServer;
+ QGuardedPtr<Server> m_contextServer;
+ QGuardedPtr<ChatWindow> m_frontView;
+ QGuardedPtr<ChatWindow> m_searchView;
+
+ UrlCatcher* m_urlCatcherPanel;
+ NicksOnline* m_nicksOnlinePanel;
+
+ DccTransferPanel* m_dccPanel;
+ bool m_dccPanelOpen;
+
+ Konversation::InsertCharDialog* m_insertCharDialog;
+
+ int m_popupViewIndex;
+ int m_queryViewCount;
+
+ QValueList<ChatWindow*> m_activeViewOrderList;
+};
+
+#endif
diff --git a/konversation/src/viewtree.cpp b/konversation/src/viewtree.cpp
new file mode 100644
index 0000000..7d40ce8
--- /dev/null
+++ b/konversation/src/viewtree.cpp
@@ -0,0 +1,973 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "viewtree.h"
+#include "viewtreeitem.h"
+#include "preferences.h"
+#include "chatwindow.h"
+#include "server.h"
+#include "channel.h"
+#include "ircview.h"
+#include "konsolepanel.h"
+
+#include <qheader.h>
+#include <qdragobject.h>
+#include <qlistview.h>
+#include <qptrlist.h>
+#include <qpoint.h>
+#include <qpainter.h>
+#include <qtooltip.h>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kglobalsettings.h>
+#include <kapplication.h>
+
+
+class ViewTree::ToolTip : public QToolTip
+{
+ public:
+ ToolTip(QWidget *parent, KListView *viewTree);
+ virtual ~ToolTip() {}
+
+ protected:
+ virtual void maybeTip(const QPoint &pos);
+
+ private:
+ KListView* viewTree;
+};
+
+ViewTree::ToolTip::ToolTip(QWidget *parent, KListView *viewTree)
+ : QToolTip(parent), viewTree(viewTree)
+{
+}
+
+void ViewTree::ToolTip::maybeTip (const QPoint &pos)
+{
+ if (!parentWidget() || !viewTree) return;
+
+ ViewTreeItem* view = static_cast<ViewTreeItem*>(viewTree->itemAt(pos));
+
+ if (view && view->isTruncated()) tip(viewTree->itemRect(view), view->getName());
+}
+
+
+ViewTree::ViewTree(QWidget *parent)
+ : KListView(parent)
+{
+ header()->hide();
+ setHScrollBarMode(QScrollView::AlwaysOff);
+
+ addColumn(i18n("Tabs"));
+ setSortColumn(0);
+ setSortOrder(Qt::Ascending);
+
+ setResizeMode(QListView::AllColumns);
+ setSelectionModeExt(KListView::Single);
+ setRootIsDecorated(false);
+
+ setDragEnabled(true);
+ setAcceptDrops(true);
+ setDropVisualizer(true);
+
+ setShowToolTips(false);
+ m_toolTip = new ViewTree::ToolTip(viewport(), this);
+
+ // Controls whether or not to select the first view added
+ // to the tree. Don't do so by default; only when told to
+ // by the ViewContainer.
+ m_selectFirstView = false;
+
+ m_separator = 0;
+ m_specialViewCount = 0;
+
+ m_closeButtonItem = 0;
+ m_enableCloseButtonTimer = new QTimer(this);
+
+ m_middleClickItem = 0;
+
+ connect(m_enableCloseButtonTimer, SIGNAL(timeout()), SLOT(enableCloseButton()));
+ connect(this, SIGNAL(selectionChanged(QListViewItem*)), SLOT(announceSelection(QListViewItem*)));
+ connect(this, SIGNAL(aboutToMove()), SLOT(slotAboutToMoveView()));
+ connect(this, SIGNAL(moved()), SLOT(slotMovedView()));
+}
+
+ViewTree::~ViewTree()
+{
+ delete m_toolTip;
+ m_toolTip = 0;
+ emit setViewTreeShown(false);
+}
+
+void ViewTree::updateAppearance()
+{
+ if (Preferences::customTabFont())
+ setFont(Preferences::tabFont());
+ else
+ setFont(KGlobalSettings::generalFont());
+
+ QColor fg, bg;
+
+ if (Preferences::inputFieldsBackgroundColor())
+ {
+ fg = Preferences::color(Preferences::ChannelMessage);
+ bg = Preferences::color(Preferences::TextViewBackground);
+ }
+ else
+ {
+ bg = KGlobalSettings::baseColor();
+ fg = KGlobalSettings::textColor();
+ }
+
+ setPalette(KApplication::palette());
+ setPaletteForegroundColor(fg);
+ setPaletteBackgroundColor(bg);
+}
+
+void ViewTree::addView(const QString& name, ChatWindow* view, const QIconSet &iconset, bool select, ChatWindow* afterView)
+{
+ ViewTreeItem* item = 0;
+ ViewTreeItem* parent = 0;
+
+ if (view->getType() != ChatWindow::DccChat)
+ parent = getParentItemForView(view);
+
+ if (parent)
+ {
+ if (afterView)
+ {
+ ViewTreeItem* afterItem = getItemForView(afterView);
+ slotAboutToMoveView();
+ item = new ViewTreeItem(parent, afterItem, name, view);
+ slotMovedView();
+ }
+ else
+ item = new ViewTreeItem(parent, name, view);
+ }
+ else
+ item = new ViewTreeItem(this, name, view);
+
+ if (item)
+ {
+ if (item->sortLast()) ++m_specialViewCount;
+
+ item->setIcon(iconset.pixmap());
+
+ if (select || m_selectFirstView)
+ {
+ setSelected(item, true);
+
+ // The work is done - the first view is selected.
+ m_selectFirstView = false;
+ }
+
+ toggleSeparator();
+
+ // The tree may have been hidden previously as the last
+ // view was closed.
+ if (isHidden()) emit setViewTreeShown(true);
+ }
+}
+
+void ViewTree::toggleSeparator()
+{
+ if (m_separator == 0 && m_specialViewCount > 0 && !(childCount() == m_specialViewCount))
+ m_separator = new ViewTreeItem(this);
+
+ if (m_separator && m_specialViewCount == 0)
+ {
+ delete m_separator;
+ m_separator = 0;
+ }
+
+ if (m_separator && childCount() == (m_specialViewCount + 1))
+ {
+ delete m_separator;
+ m_separator = 0;
+ }
+
+ sort();
+}
+
+void ViewTree::removeView(ChatWindow* view)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item)
+ {
+ // During the short delay between a close button-induced view deletion
+ // and the actual removal from the list, mouse events may cause our
+ // m_enableCloseButtonTimer to be activated again, and removeView() to
+ // finish just before its timeout(), causing enableCloseButton() to hit
+ // a dangling pointer. Hence, if the item to be deleted is identical to
+ // m_closeButtonItem, stop the timer and set the pointer to 0.
+ if (item == m_closeButtonItem)
+ {
+ m_enableCloseButtonTimer->stop();
+ m_closeButtonItem = 0;
+ }
+
+ if (item->sortLast()) --m_specialViewCount;
+
+ if (item->childCount() > 0)
+ {
+ while (item->firstChild() != 0)
+ {
+ ViewTreeItem* firstChild = static_cast<ViewTreeItem*>(item->firstChild());
+
+ delete firstChild;
+ }
+
+ delete item;
+ }
+ else
+ delete item;
+
+
+ toggleSeparator();
+
+ // Hide empty tree.
+ if (childCount() == 0)
+ {
+ emit setViewTreeShown(false);
+ m_selectFirstView = true;
+ }
+ }
+}
+
+void ViewTree::selectView(ChatWindow* view)
+{
+ // Repaint everything.
+ triggerUpdate();
+
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item && !item->isSelected())
+ setSelected(item, true);
+}
+
+void ViewTree::selectFirstView(bool select)
+{
+ m_selectFirstView = select;
+}
+
+void ViewTree::setViewName(ChatWindow* view, const QString& name)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item) item->setName(name);
+}
+
+
+void ViewTree::setViewColor(ChatWindow* view, QColor color)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item) item->setColor(color);
+}
+
+void ViewTree::setViewIcon(ChatWindow* view, const QIconSet &iconset)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item) item->setIcon(iconset.pixmap());
+}
+
+void ViewTree::announceSelection(QListViewItem* item)
+{
+ unHighlight();
+
+ ViewTreeItem* newItem = static_cast<ViewTreeItem*>(item);
+
+ emit showView(newItem->getView());
+}
+
+bool ViewTree::canMoveViewUp(ChatWindow* view)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item)
+ return canMoveItemUp(item);
+
+ return false;
+}
+
+bool ViewTree::canMoveViewDown(ChatWindow* view)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (item)
+ return canMoveItemDown(item);
+
+ return false;
+}
+
+bool ViewTree::canMoveItemUp(ViewTreeItem* item)
+{
+ if (item->isSeparator())
+ return false;
+
+ if (!item->itemAbove())
+ return false;
+
+ ViewTreeItem* itemAbove = static_cast<ViewTreeItem*>(item->itemAbove());
+
+ if (item->sortLast() && !itemAbove->sortLast())
+ return false;
+
+ if (item->sortLast() && itemAbove->isSeparator())
+ return false;
+
+ if (item->depth() > 0 && itemAbove->depth() != item->depth())
+ return false;
+
+ return true;
+}
+
+bool ViewTree::canMoveItemDown(ViewTreeItem* item)
+{
+ if (item->isSeparator())
+ return false;
+
+ if (!item->itemBelow())
+ return false;
+
+ ViewTreeItem* itemBelow = static_cast<ViewTreeItem*>(item->itemBelow());
+
+ if (!item->sortLast() && itemBelow->sortLast())
+ return false;
+
+ if (item->depth() > 0 && itemBelow->depth() != item->depth())
+ return false;
+
+ if (item->depth() == 0 && !item->sortLast() && itemBelow->depth() > 0)
+ {
+ int companionsBelow = 0;
+
+ while ((itemBelow = static_cast<ViewTreeItem*>(itemBelow->itemBelow())) != 0)
+ {
+ if (!itemBelow->sortLast() && itemBelow->depth() == item->depth())
+ ++companionsBelow;
+ }
+
+ if (!companionsBelow)
+ return false;
+ }
+
+ return true;
+}
+
+void ViewTree::moveViewUp(ChatWindow* view)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (canMoveItemUp(item))
+ {
+ ViewTreeItem* itemAbove = static_cast<ViewTreeItem*>(item->itemAbove());
+
+ if (item->depth() == itemAbove->depth())
+ {
+ int newSortIndex = itemAbove->getSortIndex();
+ int oldSortIndex = item->getSortIndex();
+
+ item->setSortIndex(newSortIndex);
+ itemAbove->setSortIndex(oldSortIndex);
+
+ sort();
+ }
+ else if (item->depth() < itemAbove->depth())
+ {
+ ViewTreeItem* parent = static_cast<ViewTreeItem*>(itemAbove->parent());
+
+ if (parent)
+ {
+ int newSortIndex = parent->getSortIndex();
+ int oldSortIndex = item->getSortIndex();
+
+ item->setSortIndex(newSortIndex);
+ parent->setSortIndex(oldSortIndex);
+
+ sort();
+ }
+ }
+ }
+}
+
+void ViewTree::moveViewDown(ChatWindow* view)
+{
+ ViewTreeItem* item = getItemForView(view);
+
+ if (canMoveItemDown(item))
+ {
+ ViewTreeItem* itemBelow = static_cast<ViewTreeItem*>(item->itemBelow());
+
+ if (item->depth() == itemBelow->depth())
+ {
+ int newSortIndex = itemBelow->getSortIndex();
+ int oldSortIndex = item->getSortIndex();
+
+ item->setSortIndex(newSortIndex);
+ itemBelow->setSortIndex(oldSortIndex);
+
+ sort();
+ }
+ else if (item->depth() < itemBelow->depth())
+ {
+ while ((itemBelow = static_cast<ViewTreeItem*>(itemBelow->itemBelow())) != 0)
+ {
+ if (!itemBelow->sortLast() && itemBelow->depth() == item->depth())
+ break;
+ }
+
+ int newSortIndex = itemBelow->getSortIndex();
+ int oldSortIndex = item->getSortIndex();
+
+ item->setSortIndex(newSortIndex);
+ itemBelow->setSortIndex(oldSortIndex);
+
+ sort();
+ }
+ }
+}
+
+void ViewTree::slotAboutToMoveView()
+{
+ setSortColumn(-1);
+}
+
+void ViewTree::slotMovedView()
+{
+ int newSortIndex = 0;
+
+ ViewTreeItem* tempItem = static_cast<ViewTreeItem*>(this->firstChild());
+
+ while (tempItem)
+ {
+ tempItem->setSortIndex(newSortIndex);
+ ++newSortIndex;
+ tempItem = static_cast<ViewTreeItem*>(tempItem->itemBelow());
+ }
+
+ setSortColumn(0);
+
+ triggerUpdate();
+
+ emit syncTabBarToTree();
+}
+
+void ViewTree::unHighlight()
+{
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(firstChild());
+
+ while (item)
+ {
+ item->setHighlighted(false);
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+}
+
+void ViewTree::hideCloseButtons(ViewTreeItem* exception)
+{
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(firstChild());
+
+ if (exception)
+ {
+ while (item)
+ {
+ if (item != exception) item->setCloseButtonShown(false);
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+ }
+ else
+ {
+ while (item)
+ {
+ item->setCloseButtonShown(false);
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+ }
+}
+
+void ViewTree::enableCloseButton()
+{
+ if (m_closeButtonItem) m_closeButtonItem->setCloseButtonEnabled();
+}
+
+bool ViewTree::isAboveIcon(QPoint point, ViewTreeItem* item)
+{
+ QPoint inItem = point - itemRect(item).topLeft();
+
+ int MARGIN = 2;
+ int LED_ICON_SIZE = 14;
+
+ int horizOffset = MARGIN + depthToPixels(item->depth());
+ int vertOffset = (item->height() - LED_ICON_SIZE) / 2;
+
+ if ((inItem.x() > horizOffset && inItem.x() < (LED_ICON_SIZE + horizOffset))
+ && (inItem.y() > vertOffset && inItem.y() < (LED_ICON_SIZE + vertOffset)))
+ {
+ return true;
+ }
+ else
+ return false;
+}
+
+void ViewTree::contentsMousePressEvent(QMouseEvent* e)
+{
+ QPoint vp = contentsToViewport(e->pos());
+
+ // Don't allow selecting the separator via the mouse.
+ if (itemAt(vp) == m_separator)
+ return;
+
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(itemAt(vp));
+
+ // Prevent selection being undone by a stray click into
+ // the empty area of the widget by only passing on the
+ // mouse event if it's on a list item.
+ if (item)
+ {
+ // Don't change the selected item when the user only
+ // wants to get the context menu for a non-selected
+ // item.
+ if (e->button() == RightButton && !item->isSelected())
+ return;
+
+ if (Preferences::closeButtons() && e->button() == LeftButton && isAboveIcon(vp, item))
+ {
+ m_pressedAboveCloseButton = true;
+ if (!item->getCloseButtonEnabled()) KListView::contentsMousePressEvent(e);
+ }
+ else
+ {
+ m_pressedAboveCloseButton = false;
+ KListView::contentsMousePressEvent(e);
+ }
+ m_middleClickItem = (Preferences::middleClickClose() && e->button() == MidButton) ? item : 0;
+ }
+}
+
+void ViewTree::contentsMouseReleaseEvent(QMouseEvent* e)
+{
+ QPoint vp = contentsToViewport(e->pos());
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(itemAt(vp));
+
+ if (!item && e->button() == RightButton)
+ return;
+
+ if (item)
+ {
+ if (Preferences::closeButtons() && e->button() == LeftButton
+ && isAboveIcon(vp, item) && m_pressedAboveCloseButton
+ && item->getCloseButtonEnabled())
+ {
+ emit closeView(item->getView());
+ }
+
+ if (Preferences::middleClickClose() && e->button() == MidButton
+ && item == m_middleClickItem)
+ {
+ emit closeView(item->getView());
+
+ m_middleClickItem = 0;
+ }
+ }
+ else
+ KListView::contentsMouseReleaseEvent(e);
+}
+
+void ViewTree::contentsMouseMoveEvent(QMouseEvent* e)
+{
+ QPoint vp = contentsToViewport(e->pos());
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(itemAt(vp));
+
+ if (item && item->isSeparator())
+ return;
+
+ // Cancel middle-click close.
+ if (item != m_middleClickItem) m_middleClickItem = 0;
+
+ // Allow dragging only with the middle mouse button, just
+ // like for the tab bar.
+ if ((e->state() & MidButton) == MidButton)
+ KListView::contentsMouseMoveEvent(e);
+ else if ((e->state() & LeftButton) == LeftButton)
+ {
+ if (item && (item != selectedItem()) && !item->isSeparator())
+ setSelected(item, true);
+ }
+
+ if (Preferences::closeButtons())
+ {
+ if (!(e->state() & LeftButton) && !(e->state() & MidButton) && !(e->state() & RightButton))
+ {
+ if (item)
+ {
+ hideCloseButtons(item);
+
+ if (isAboveIcon(vp, item))
+ {
+ item->setCloseButtonShown(true);
+ m_closeButtonItem = item;
+ if (!m_enableCloseButtonTimer->isActive())
+ m_enableCloseButtonTimer->start(QApplication::doubleClickInterval(), true);
+ }
+ else
+ {
+ m_closeButtonItem = 0;
+ item->setCloseButtonShown(false);
+ m_enableCloseButtonTimer->stop();
+ }
+ }
+ else
+ {
+ hideCloseButtons();
+ }
+ }
+ }
+}
+
+void ViewTree::contentsContextMenuEvent(QContextMenuEvent* e)
+{
+ QPoint vp = contentsToViewport(e->pos());
+ ViewTreeItem* atpos = static_cast<ViewTreeItem*>(itemAt(vp));
+
+ if (atpos && !atpos->isSeparator())
+ {
+ if (!atpos->isSelected()) atpos->setHighlighted(true);
+ emit showViewContextMenu(atpos->getView(),e->globalPos());
+ }
+
+ KListView::contentsContextMenuEvent(e);
+}
+
+void ViewTree::contentsWheelEvent(QWheelEvent* e)
+{
+ if (e->delta() > 0)
+ selectUpper(true);
+ else
+ selectLower(true);
+
+ if (selectedItem())
+ {
+ ChatWindow* view = static_cast<ViewTreeItem*>(selectedItem())->getView();
+ if (view) view->adjustFocus();
+ }
+}
+
+void ViewTree::keyPressEvent(QKeyEvent* e)
+{
+ if (e->key() == Key_Up)
+ selectUpper();
+ else if (e->key() == Key_Down)
+ selectLower();
+ else
+ {
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(selectedItem());
+ if (item && item->getView() && item->getView()->isInsertSupported())
+ {
+ KApplication::sendEvent(item->getView()->getTextView(), e);
+ item->getView()->adjustFocus();
+ }
+ else if (item && item->getView() && item->getView()->getType() == ChatWindow::Konsole)
+ {
+ KonsolePanel* panel = static_cast<KonsolePanel*>(item->getView());
+ KApplication::sendEvent(panel->getWidget(), e);
+ item->getView()->adjustFocus();
+ }
+ }
+}
+
+void ViewTree::selectUpper(bool wrap)
+{
+ if (!selectedItem()) return;
+
+ ViewTreeItem* itemAbove = static_cast<ViewTreeItem*>(selectedItem()->itemAbove());
+
+ if (itemAbove)
+ {
+ if (itemAbove->isSeparator())
+ itemAbove = static_cast<ViewTreeItem*>(m_separator->itemAbove());
+
+ setSelected(itemAbove, true);
+ }
+ else
+ {
+ if (wrap) setSelected(lastItem(), true);
+ }
+
+ ensureItemVisible(selectedItem());
+}
+
+void ViewTree::selectLower(bool wrap)
+{
+ if (!selectedItem()) return;
+
+ ViewTreeItem* itemBelow = static_cast<ViewTreeItem*>(selectedItem()->itemBelow());
+
+ if (itemBelow)
+ {
+ if (itemBelow->isSeparator())
+ itemBelow = static_cast<ViewTreeItem*>(m_separator->itemBelow());
+
+ setSelected(itemBelow, true);
+ }
+ else
+ {
+ if (wrap) setSelected(firstChild(), true);
+ }
+
+ ensureItemVisible(selectedItem());
+}
+
+void ViewTree::resizeEvent(QResizeEvent* e)
+{
+ KListView::resizeEvent(e);
+
+ emit sizeChanged();
+}
+
+void ViewTree::findDrop(const QPoint &pos, QListViewItem *&parent, QListViewItem *&after)
+{
+ QPoint p (contentsToViewport(pos));
+
+ QListViewItem *atpos = itemAt(p);
+
+ QListViewItem *above;
+
+ if (!atpos)
+ above = lastItem();
+ else
+ {
+ // Get the closest item before us ('atpos' or the one above, if any).
+ if (p.y() - itemRect(atpos).topLeft().y() < (atpos->height()/2))
+ above = atpos->itemAbove();
+ else
+ above = atpos;
+ }
+
+ ViewTreeItem* itemAbove = static_cast<ViewTreeItem*>(above);
+ ViewTreeItem* dragItem = static_cast<ViewTreeItem*>(selectedItem());
+
+ if (above)
+ {
+ if (dragItem->sortLast())
+ {
+ if (itemAbove->sortLast())
+ {
+ after = itemAbove;
+ parent = after->parent();
+ return;
+
+ }
+ else
+ {
+ after = m_separator;
+ parent = after->parent();
+ return;
+ }
+ }
+ else if (dragItem->depth() == 0)
+ {
+ if (itemAbove->sortLast())
+ {
+ after = m_separator->itemAbove();
+ after = (!after || after->depth() == 0) ? after : after->parent();
+ parent = 0L;
+ return;
+ }
+ else if (above->depth() == dragItem->depth())
+ {
+ after = above;
+ parent = 0L;
+ return;
+ }
+ else
+ {
+ after = above->parent();
+ parent = 0L;
+ return;
+ }
+ }
+ else
+ {
+ if (!itemAbove->getView() || itemAbove->sortLast())
+ {
+ after = getLastChild(dragItem->parent());
+ parent = after ? after->parent() : 0L;
+ return;
+ }
+ else if (itemAbove->getView()->getServer() != dragItem->getView()->getServer())
+ {
+ if (itemIndex(itemAbove) > itemIndex(dragItem))
+ {
+ after = getLastChild(dragItem->parent());
+ parent = after ? after->parent() : 0L;
+ return;
+ }
+ else
+ {
+ after = 0L;
+ parent = dragItem->parent();
+ return;
+ }
+ }
+ else
+ {
+ if (above == dragItem->parent())
+ after = 0L;
+ else
+ after = above;
+
+ parent = dragItem->parent();
+ return;
+ }
+ }
+ }
+ else
+ {
+ if (dragItem->sortLast())
+ {
+ after = m_separator;
+ parent = after->parent();
+ return;
+ }
+ else if (dragItem->depth() == 0)
+ {
+ after = 0L;
+ parent = 0L;
+ return;
+ }
+ else
+ {
+ after = 0L;
+ parent = dragItem->parent();
+ return;
+ }
+ }
+
+ after = 0L;
+ parent = 0L;
+}
+
+QDragObject* ViewTree::dragObject()
+{
+ if (!currentItem())
+ return 0;
+
+ QListViewItem* item = selectedItem();
+
+ if (!item->dragEnabled())
+ return 0;
+
+ return new QStoredDrag("application/x-qlistviewitem", viewport());
+}
+
+QPtrList<ChatWindow> ViewTree::getSortedViewList()
+{
+ QPtrList<ChatWindow> viewList;
+
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(firstChild());
+
+ while (item)
+ {
+ if (!item->isSeparator()) viewList.append(item->getView());
+
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+
+ return viewList;
+}
+
+ViewTreeItem* ViewTree::getItemForView(ChatWindow* view)
+{
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(firstChild());
+
+ while (item)
+ {
+ if (item->getView() && item->getView()==view)
+ {
+ return item;
+ break;
+ }
+
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+
+ return 0;
+}
+
+ViewTreeItem* ViewTree::getParentItemForView(ChatWindow* view)
+{
+ Server* server = view->getServer();
+
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(firstChild());
+
+ while (item)
+ {
+ if (item->getViewType() == ChatWindow::Status
+ && item->getView()
+ && item->getView()->getServer() == server)
+ {
+ return item;
+ break;
+ }
+
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+
+ return 0;
+}
+
+ViewTreeItem* ViewTree::getLastChild(QListViewItem* parent)
+{
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(parent);
+ Server* server = item->getView()->getServer();
+ ViewTreeItem* lastChild = 0;
+
+ while (item->getView() && item->getView()->getServer() == server)
+ {
+ lastChild = item;
+ item = static_cast<ViewTreeItem*>(item->itemBelow());
+ }
+
+ return lastChild;
+}
+
+void ViewTree::paintEmptyArea(QPainter* p, const QRect& rect)
+{
+ KListView::paintEmptyArea(p, rect);
+
+ ViewTreeItem* last = static_cast<ViewTreeItem*>(lastItem());
+
+ if (last && last->isSelected())
+ {
+ int y = last->itemPos() + last->height();
+ int x = visibleWidth();
+
+ if (!rect.contains(x-1, y+2))
+ return;
+
+ QColor bgColor = paletteBackgroundColor();
+ QColor selColor = KGlobalSettings::highlightColor();
+ QColor midColor = last->mixColor(bgColor, selColor);
+
+ p->setPen(selColor);
+ p->drawPoint(x - 1, y);
+ p->drawPoint(x - 2, y);
+ p->drawPoint(x - 1, y + 1);
+ p->setPen(midColor);
+ p->drawPoint(x - 3, y);
+ p->drawPoint(x - 1, y + 2);
+ }
+}
+
+#include "viewtree.moc"
diff --git a/konversation/src/viewtree.h b/konversation/src/viewtree.h
new file mode 100644
index 0000000..948326c
--- /dev/null
+++ b/konversation/src/viewtree.h
@@ -0,0 +1,112 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef VIEWTREE_H
+#define VIEWTREE_H
+
+#include <klistview.h>
+
+
+class ViewTreeItem;
+class ChatWindow;
+
+class ViewTree : public KListView
+{
+ Q_OBJECT
+
+ public:
+ explicit ViewTree(QWidget *parent);
+ ~ViewTree();
+
+ void selectFirstView(bool select);
+ void addView(const QString& name, ChatWindow* view, const QIconSet &iconset, bool select = false, ChatWindow* afterView = 0);
+ void setViewName(ChatWindow* view, const QString& name);
+ void setViewColor(ChatWindow* view, QColor color);
+ void setViewIcon(ChatWindow* view, const QIconSet &iconset);
+
+ void moveViewUp(ChatWindow* view);
+ void moveViewDown(ChatWindow* view);
+ bool canMoveViewUp(ChatWindow* view);
+ bool canMoveViewDown(ChatWindow* view);
+
+ QPtrList<ChatWindow> getSortedViewList();
+
+ public slots:
+ void updateAppearance();
+ void removeView(ChatWindow* view);
+ void selectView(ChatWindow* view);
+ void unHighlight();
+
+ signals:
+ void setViewTreeShown(bool show);
+ void showView(ChatWindow* view);
+ void closeView(ChatWindow* view);
+ void showViewContextMenu(QWidget* widget, const QPoint& point);
+ void sizeChanged();
+ void syncTabBarToTree();
+
+ protected:
+ void contentsMousePressEvent(QMouseEvent* e);
+ void contentsMouseReleaseEvent(QMouseEvent* e);
+ void contentsMouseMoveEvent(QMouseEvent* e);
+ void contentsWheelEvent(QWheelEvent* e);
+ void contentsContextMenuEvent(QContextMenuEvent* e);
+ void keyPressEvent(QKeyEvent* e);
+
+ void resizeEvent(QResizeEvent* e);
+
+ void findDrop(const QPoint &pos, QListViewItem *&parent, QListViewItem *&after);
+ QDragObject* dragObject();
+
+ void paintEmptyArea(QPainter* p, const QRect& rect);
+
+ private slots:
+ void announceSelection(QListViewItem* item);
+ void slotAboutToMoveView();
+ void slotMovedView();
+ void enableCloseButton();
+
+ private:
+ class ToolTip;
+ ViewTree::ToolTip* m_toolTip;
+
+ void toggleSeparator();
+ void selectUpper(bool wrap = false);
+ void selectLower(bool wrap = false);
+
+ ViewTreeItem* getItemForView(ChatWindow* view);
+ ViewTreeItem* getParentItemForView(ChatWindow* view);
+ ViewTreeItem* getLastChild(QListViewItem* parent);
+
+ bool canMoveItemUp(ViewTreeItem* item);
+ bool canMoveItemDown(ViewTreeItem* item);
+
+ bool isAboveIcon(QPoint point, ViewTreeItem* item);
+ void hideCloseButtons(ViewTreeItem* exception = 0);
+
+ ViewTreeItem* m_separator;
+ int m_specialViewCount;
+
+ // Controls whether or not to select the first view added
+ // to the tree.
+ bool m_selectFirstView;
+
+ // Used in mouse handling to determine whether both the press
+ // and the release event occurred over a close button.
+ bool m_pressedAboveCloseButton;
+ ViewTreeItem* m_closeButtonItem;
+ QTimer* m_enableCloseButtonTimer;
+
+ // Used for middle-click close.
+ ViewTreeItem* m_middleClickItem;
+};
+
+#endif
diff --git a/konversation/src/viewtreeitem.cpp b/konversation/src/viewtreeitem.cpp
new file mode 100644
index 0000000..c53699c
--- /dev/null
+++ b/konversation/src/viewtreeitem.cpp
@@ -0,0 +1,490 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#include "viewtreeitem.h"
+#include "konversationapplication.h"
+#include "chatwindow.h"
+#include "preferences.h"
+#include "images.h"
+
+
+#include <qpainter.h>
+#include <qpixmap.h>
+#include <qimage.h>
+#include <qtimer.h>
+
+#include <kdebug.h>
+#include <kglobalsettings.h>
+#include <kstringhandler.h>
+
+
+int ViewTreeItem::s_availableSortIndex = 0;
+
+ViewTreeItem::ViewTreeItem(QListView* parent, const QString& name, ChatWindow* view)
+ : QListViewItem(parent, name)
+{
+ m_sortIndex = s_availableSortIndex;
+ s_availableSortIndex++;
+
+ setView(view);
+ setViewType(view->getType());
+
+ m_color = KGlobalSettings::textColor();
+ m_customColorSet = false;
+
+ setOpen(true);
+ setDragEnabled(true);
+
+ m_isSeparator = false;
+ m_isHighlighted = false;
+ m_isTruncated = false;
+
+ images = KonversationApplication::instance()->images();
+ m_closeButtonShown = false;
+ m_closeButtonEnabled = false;
+}
+
+ViewTreeItem::ViewTreeItem(QListViewItem* parent, const QString& name, ChatWindow* view, int sortIndex)
+ : QListViewItem(parent, name)
+{
+ if (sortIndex != -1)
+ setSortIndex(sortIndex);
+ else
+ {
+ m_sortIndex = s_availableSortIndex;
+ s_availableSortIndex++;
+ }
+
+ setView(view);
+ setViewType(view->getType());
+
+ m_color = KGlobalSettings::textColor();
+ m_customColorSet = false;
+
+ setOpen(true);
+ setDragEnabled(true);
+
+ m_isSeparator = false;
+ m_isHighlighted = false;
+ m_isTruncated = false;
+ m_customColorSet = false;
+
+ images = KonversationApplication::instance()->images();
+ m_closeButtonShown = false;
+ m_closeButtonEnabled = false;
+}
+
+ViewTreeItem::ViewTreeItem(QListViewItem* parent, QListViewItem* afterItem, const QString& name, ChatWindow* view)
+ : QListViewItem(parent, afterItem, name)
+{
+ m_sortIndex = s_availableSortIndex;
+ s_availableSortIndex++;
+
+ setView(view);
+ setViewType(view->getType());
+
+ m_color = KGlobalSettings::textColor();
+ m_customColorSet = false;
+
+ setOpen(true);
+ setDragEnabled(true);
+
+ m_isSeparator = false;
+ m_isHighlighted = false;
+ m_isTruncated = false;
+ m_customColorSet = false;
+
+ images = KonversationApplication::instance()->images();
+ m_closeButtonShown = false;
+ m_closeButtonEnabled = false;
+}
+
+ViewTreeItem::ViewTreeItem(QListView* parent) : QListViewItem(parent)
+{
+ setView(0);
+ setOpen(true);
+ setDragEnabled(false);
+
+ m_isSeparator = true;
+ m_isHighlighted = false;
+ m_isTruncated = false;
+}
+
+ViewTreeItem::~ViewTreeItem()
+{
+}
+
+void ViewTreeItem::setSortIndex(int newSortIndex)
+{
+ m_sortIndex = newSortIndex;
+}
+
+int ViewTreeItem::getSortIndex() const
+{
+ return m_sortIndex;
+}
+
+void ViewTreeItem::setName(const QString& name)
+{
+ setText(0, name);
+}
+
+QString ViewTreeItem::getName() const
+{
+ return text(0);
+}
+
+bool ViewTreeItem::isTruncated() const
+{
+ return m_isTruncated;
+}
+
+void ViewTreeItem::setView(ChatWindow* view)
+{
+ m_view = view;
+}
+
+ChatWindow* ViewTreeItem::getView() const
+{
+ return m_view;
+}
+
+void ViewTreeItem::setViewType(ChatWindow::WindowType viewType)
+{
+ m_viewType = viewType;
+}
+
+ChatWindow::WindowType ViewTreeItem::getViewType() const
+{
+ return m_viewType;
+}
+
+void ViewTreeItem::setColor(QColor color)
+{
+ if (color != m_color)
+ {
+ m_color = color;
+ m_customColorSet = true;
+ repaint();
+ }
+}
+
+QColor ViewTreeItem::getColor() const
+{
+ if (!m_customColorSet)
+ {
+ if (Preferences::inputFieldsBackgroundColor())
+ return Preferences::color(Preferences::ChannelMessage);
+ else
+ return KGlobalSettings::textColor();
+ }
+ else
+ return m_color;
+}
+
+void ViewTreeItem::setIcon(const QPixmap& pm)
+{
+ m_oldPixmap = pm;
+ if (!m_closeButtonShown) setPixmap(0, pm);
+}
+
+void ViewTreeItem::setHighlighted(bool highlight)
+{
+ if (m_isHighlighted != highlight)
+ {
+ m_isHighlighted = highlight;
+ repaint();
+ }
+}
+
+void ViewTreeItem::setCloseButtonShown(bool show)
+{
+ if (!show && !m_closeButtonShown)
+ return;
+
+ if (show && m_closeButtonShown)
+ return;
+
+ if (show && !m_closeButtonShown)
+ {
+ setPixmap(0, images->getDisabledCloseIcon());
+ m_closeButtonShown = true;
+ m_closeButtonEnabled = false;
+ }
+
+ if (!show && m_closeButtonShown)
+ {
+ setPixmap(0, m_oldPixmap);
+ m_closeButtonShown = false;
+ m_closeButtonEnabled = false;
+ }
+}
+
+void ViewTreeItem::setCloseButtonEnabled()
+{
+ if (m_closeButtonShown)
+ {
+ m_closeButtonEnabled = true;
+ setPixmap(0, images->getCloseIcon());
+ }
+}
+
+bool ViewTreeItem::getCloseButtonEnabled()
+{
+ return m_closeButtonEnabled;
+}
+
+bool ViewTreeItem::sortLast() const
+{
+ if (!m_isSeparator)
+ {
+ if (getViewType() == ChatWindow::Status
+ || getViewType() == ChatWindow::Channel
+ || getViewType() == ChatWindow::Query
+ || getViewType() == ChatWindow::RawLog
+ || getViewType() == ChatWindow::DccChat
+ || getViewType() == ChatWindow::ChannelList)
+ {
+ return false;
+ }
+ else
+ return true;
+ }
+ else
+ {
+ return true;
+ }
+}
+
+bool ViewTreeItem::isSeparator() const
+{
+ return m_isSeparator;
+}
+
+int ViewTreeItem::compare(QListViewItem *i, int /* col */, bool /* ascending */) const
+{
+ ViewTreeItem* item = static_cast<ViewTreeItem*>(i);
+
+ if (sortLast() == item->sortLast())
+ {
+ if (isSeparator() && !item->isSeparator())
+ return -1;
+ if (!isSeparator() && item->isSeparator())
+ return 1;
+ else
+ {
+ if (getSortIndex() == item->getSortIndex())
+ return 0;
+ else if (getSortIndex() < item->getSortIndex())
+ return -1;
+ else
+ return 1;
+ }
+ }
+ else if (sortLast())
+ return 1;
+ else
+ return -1;
+}
+
+void ViewTreeItem::setup()
+{
+ widthChanged();
+
+ if (!m_isSeparator)
+ {
+ int LED_ICON_SIZE = 14;
+ int MARGIN = 2;
+
+ QRect textRect = listView()->fontMetrics().boundingRect(0, 0, /*width=*/1, 500000, Qt::AlignAuto | Qt::AlignTop | Qt::ShowPrefix, text(/*column=*/0));
+ int height = MARGIN + kMax(LED_ICON_SIZE, textRect.height()) + MARGIN;
+ setHeight(height);
+ }
+ else
+ setHeight(11);
+}
+
+QColor ViewTreeItem::mixColor(const QColor &color1, const QColor &color2)
+{
+ QColor mixedColor;
+ mixedColor.setRgb( (color1.red() + color2.red()) / 2,
+ (color1.green() + color2.green()) / 2,
+ (color1.blue() + color2.blue()) / 2 );
+ return mixedColor;
+}
+
+void ViewTreeItem::paintFocus(QPainter* /* p */, const QColorGroup& /* cg */, const QRect& /* r */)
+{
+ // Do nothing.
+ return;
+}
+
+void ViewTreeItem::paintCell(QPainter* p, const QColorGroup& /* cg */, int /* column */, int width, int /* align */)
+{
+ // Workaround a Qt bug:
+ // When the splitter is moved to hide the tree view and then the application is restarted,
+ // Qt try to draw items with a negative size.
+ if (width <= 0) return;
+
+ int LED_ICON_SIZE = 14;
+ int MARGIN = 2;
+
+ // Bufferize the drawing of items.
+ QPixmap buffer(width, height());
+ QPainter painter(&buffer);
+
+ QColor textColor = isSelected() ? KGlobalSettings::highlightedTextColor() : getColor();
+ QColor background = isSelected() ? KGlobalSettings::highlightColor() : listView()->paletteBackgroundColor();
+ if (m_isHighlighted) background = Preferences::inputFieldsBackgroundColor()
+ ? Preferences::color(Preferences::AlternateBackground) : KGlobalSettings::alternateBackgroundColor();
+
+ // Fill in background.
+ painter.fillRect(0, 0, width, height(), background);
+
+ QColor bgColor = listView()->paletteBackgroundColor();
+ QColor selColor = m_isHighlighted ? background : KGlobalSettings::highlightColor();
+ QColor midColor = mixColor(bgColor, selColor);
+
+ int iconWidth = pixmap(0) ? LED_ICON_SIZE : 0;
+ int textWidth = width - MARGIN - iconWidth - MARGIN - MARGIN;
+
+ if (!m_isSeparator)
+ {
+ // Draw the rounded rectangle.
+ QRect textRect = listView()->fontMetrics().boundingRect(0, 0, /*width=*/1, 500000, Qt::AlignAuto | Qt::AlignTop | Qt::ShowPrefix, text(/*column=*/0));
+ int xRound = MARGIN;
+ int yRound = MARGIN;
+ int hRound = height() - 2 * MARGIN;
+ int wRound = kMin(LED_ICON_SIZE + MARGIN + textRect.width() + hRound/2, width - MARGIN - MARGIN);
+
+ if (wRound > 0)
+ {
+ QPixmap buffer(wRound * 2, hRound * 2);
+ buffer.fill(background);
+ QPainter pBuffer(&buffer);
+ QColor colorRound = background;
+ pBuffer.setPen(colorRound);
+ pBuffer.setBrush(colorRound);
+
+ // If the rectangle is higher than wide, don't overlap ellipses.
+ if (wRound > hRound)
+ {
+ pBuffer.drawEllipse(0, 0, hRound * 2, hRound * 2);
+ pBuffer.drawEllipse(wRound * 2 - hRound * 2, 0, hRound * 2, hRound * 2);
+ pBuffer.fillRect(hRound*2/2, 0, wRound * 2 - hRound * 2, hRound * 2, colorRound);
+ }
+ else
+ pBuffer.drawEllipse(0, 0, wRound * 2, hRound * 2);
+
+ pBuffer.end();
+ QImage imageToScale = buffer.convertToImage();
+ QPixmap pmScaled;
+ pmScaled.convertFromImage(imageToScale.smoothScale(wRound, hRound));
+ painter.drawPixmap(xRound, yRound, pmScaled);
+ textWidth -= hRound/2;
+ }
+
+ if (isSelected() || m_isHighlighted)
+ {
+ painter.setPen(bgColor);
+ painter.drawPoint(0, 0);
+ painter.drawPoint(1, 0);
+ painter.drawPoint(0, 1);
+ painter.drawPoint(0, height() - 1);
+ painter.drawPoint(1, height() - 1);
+ painter.drawPoint(0, height() - 2);
+ painter.setPen(midColor);
+ painter.drawPoint(2, 0);
+ painter.drawPoint(0, 2);
+ painter.drawPoint(2, height() - 1);
+ painter.drawPoint(0, height() - 3);
+ }
+ }
+
+ if (m_isHighlighted)
+ {
+ selColor = KGlobalSettings::highlightColor();
+ midColor = mixColor(bgColor, selColor);
+ }
+
+ if (itemBelow() && itemBelow()->isSelected())
+ {
+ painter.setPen(selColor);
+ painter.drawPoint(width - 1, height() - 1);
+ painter.drawPoint(width - 2, height() - 1);
+ painter.drawPoint(width - 1, height() - 2);
+ painter.setPen(midColor);
+ painter.drawPoint(width - 3, height() - 1);
+ painter.drawPoint(width - 1, height() - 3);
+ }
+
+ if (itemAbove() && itemAbove()->isSelected())
+ {
+ painter.setPen(selColor);
+ painter.drawPoint(width - 1, 0);
+ painter.drawPoint(width - 2, 0);
+ painter.drawPoint(width - 1, 1);
+ painter.setPen(midColor);
+ painter.drawPoint(width - 3, 0);
+ painter.drawPoint(width - 1, 2);
+ }
+
+ if (!m_isSeparator)
+ {
+ // Draw icon.
+ if (pixmap(0))
+ {
+ int yPixmap = (height() - pixmap(0)->height()) / 2;
+
+ int xPixmap = MARGIN;
+
+ if (pixmap(0)->width() < LED_ICON_SIZE)
+ xPixmap = MARGIN + ((LED_ICON_SIZE - pixmap(0)->width()) / 2);
+
+ painter.drawPixmap(xPixmap, yPixmap, *pixmap(0));
+ }
+
+ // Enough space left to draw icon and text?
+ if (textWidth > 0)
+ {
+ int xText = MARGIN;
+
+ // Shift by icon width.
+ if (pixmap(0))
+ xText = MARGIN + LED_ICON_SIZE + MARGIN;
+
+ QString text = getName();
+
+ if (p->fontMetrics().width(text) > textWidth)
+ {
+ m_isTruncated = true;
+ text = KStringHandler::rPixelSqueeze(text, p->fontMetrics(), textWidth);
+ }
+ else
+ m_isTruncated = false;
+
+ painter.setPen(textColor);
+ painter.setFont(listView()->font());
+ painter.drawText(xText, 0, textWidth, height(), Qt::AlignAuto | Qt::AlignVCenter, text);
+ }
+ }
+ else
+ {
+ QColor lineColor = Preferences::inputFieldsBackgroundColor()
+ ? Preferences::color(Preferences::AlternateBackground) : KGlobalSettings::alternateBackgroundColor();
+ painter.setPen(lineColor);
+ painter.drawLine(0, 5, width, 5);
+ }
+
+ painter.end();
+
+ p->drawPixmap(0, 0, buffer);
+}
diff --git a/konversation/src/viewtreeitem.h b/konversation/src/viewtreeitem.h
new file mode 100644
index 0000000..2d5312b
--- /dev/null
+++ b/konversation/src/viewtreeitem.h
@@ -0,0 +1,92 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Eike Hein <hein@kde.org>
+*/
+
+#ifndef VIEWTREEITEM_H
+#define VIEWTREEITEM_H
+
+#include "chatwindow.h"
+
+#include <qobject.h>
+#include <qlistview.h>
+#include <qtooltip.h>
+#include <qguardedptr.h>
+#include <qpixmap.h>
+
+
+class ChatWindow;
+class Images;
+
+class ViewTreeItem : public QListViewItem
+{
+
+ public:
+ ViewTreeItem(QListView* parent, const QString& name, ChatWindow* view);
+ ViewTreeItem(QListViewItem* parent, const QString& name, ChatWindow* view, int sortIndex = -1);
+ ViewTreeItem(QListViewItem* parent, QListViewItem* afterItem, const QString& name, ChatWindow* view);
+ // Minimal constructor for separator items.
+ explicit ViewTreeItem(QListView* parent);
+ ~ViewTreeItem();
+
+ void setSortIndex(int newSortIndex);
+ int getSortIndex() const;
+
+ void setName(const QString& name);
+ QString getName() const;
+ bool isTruncated() const;
+
+ void setView(ChatWindow* view);
+ ChatWindow* getView() const;
+
+ ChatWindow::WindowType getViewType() const;
+ void setViewType(ChatWindow::WindowType);
+
+ void setColor(QColor color);
+ QColor getColor() const;
+
+ void setIcon(const QPixmap& pm);
+
+ void setHighlighted(bool highlight);
+ void setCloseButtonShown(bool show);
+ void setCloseButtonEnabled();
+ bool getCloseButtonEnabled();
+
+ bool sortLast() const;
+ bool isSeparator() const;
+ int compare(QListViewItem* i, int col, bool ascending) const;
+
+ void setup();
+ void paintFocus(QPainter* p, const QColorGroup& cg, const QRect& r);
+ void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align);
+
+ QColor mixColor(const QColor &color1, const QColor &color2);
+
+ private:
+ uint m_sortIndex;
+ static int s_availableSortIndex;
+ QGuardedPtr<ChatWindow> m_view;
+ ChatWindow::WindowType m_viewType;
+ QColor m_color;
+
+ bool m_isSeparator;
+ bool m_isHighlighted;
+ bool m_isTruncated;
+ bool m_customColorSet;
+
+ Images* images;
+
+ QPixmap m_closeButton;
+ QPixmap m_disabledCloseButton;
+ QPixmap m_oldPixmap;
+ bool m_closeButtonShown;
+ bool m_closeButtonEnabled;
+};
+
+#endif
diff --git a/konversation/src/warnings_preferences.cpp b/konversation/src/warnings_preferences.cpp
new file mode 100644
index 0000000..c775ba7
--- /dev/null
+++ b/konversation/src/warnings_preferences.cpp
@@ -0,0 +1,185 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+ Copyright (C) 2006-2008 Eike Hein <hein@kde.org>
+*/
+
+
+#include "warnings_preferences.h"
+#include "konviconfigdialog.h"
+
+#include <qlistview.h>
+
+#include <kdebug.h>
+#include <kapplication.h>
+#include <kconfig.h>
+#include <klocale.h>
+#include <klistview.h>
+
+
+Warnings_Config::Warnings_Config( QWidget* parent, const char* name, WFlags fl )
+ : Warnings_ConfigUI( parent, name, fl )
+{
+ dialogListView->setSorting(1);
+ loadSettings();
+ connect(dialogListView, SIGNAL(clicked(QListViewItem *)), this, SIGNAL(modified()));
+}
+
+Warnings_Config::~Warnings_Config()
+{
+}
+
+void Warnings_Config::restorePageToDefaults()
+{
+
+ QCheckListItem* item=static_cast<QCheckListItem*>(dialogListView->itemAtIndex(0));
+ bool changed=false;
+ while(item)
+ {
+ if(!item->isOn()) {
+ item->setOn(true);
+ changed=true;
+ }
+ item=static_cast<QCheckListItem*>(item->itemBelow());
+ }
+ if(changed) {
+ emit modified();
+ }
+}
+
+void Warnings_Config::saveSettings()
+{
+ KConfig* config = kapp->config();
+ config->setGroup("Notification Messages");
+
+ // prepare list
+ QString warningsChecked;
+
+ QCheckListItem* item=static_cast<QCheckListItem*>(dialogListView->itemAtIndex(0));
+ int i = 0;
+ while(item)
+ {
+ // save state of this item in hasChanged() list
+ warningsChecked+=item->isOn();
+
+ if (item->text(2) == "LargePaste" || item->text(2) == "Invitation")
+ {
+ if (item->isOn())
+ {
+ config->writeEntry(item->text(2), 1);
+ }
+ else
+ {
+ QString state = config->readEntry(item->text(2));
+
+ if (!state.isEmpty() && (state == "yes" || state == "no"))
+ config->writeEntry(item->text(2), state);
+ else
+ config->writeEntry(item->text(2), "yes");
+ }
+ }
+ else
+ {
+ config->writeEntry(item->text(2),item->isOn() ? "1" : "0");
+ }
+
+ item=static_cast<QCheckListItem*>(item->itemBelow());
+ ++i;
+ }
+
+ // remember checkbox state for hasChanged()
+ m_oldWarningsChecked=warningsChecked;
+}
+
+void Warnings_Config::loadSettings()
+{
+ QStringList dialogDefinitions;
+ QString flagNames = "Invitation,SaveLogfileNote,ClearLogfileQuestion,CloseQueryAfterIgnore,ReconnectWithDifferentServer,ReuseExistingConnection,QuitServerTab,QuitChannelTab,QuitQueryTab,ChannelListNoServerSelected,HideMenuBarWarning,ChannelListWarning,LargePaste,systemtrayquitKonversation,IgnoreNick,UnignoreNick,QuitWithActiveDccTransfers";
+ dialogDefinitions.append(i18n("Automatically join channel on invite"));
+ dialogDefinitions.append(i18n("Notice that saving logfiles will save whole file"));
+ dialogDefinitions.append(i18n("Ask before deleting logfile contents"));
+ dialogDefinitions.append(i18n("Ask about closing queries after ignoring the nickname"));
+ dialogDefinitions.append(i18n("Ask before switching a connection to a network to a different server"));
+ dialogDefinitions.append(i18n("Ask before creating another connection to the same network or server"));
+ dialogDefinitions.append(i18n("Close server tab"));
+ dialogDefinitions.append(i18n("Close channel tab"));
+ dialogDefinitions.append(i18n("Close query tab"));
+ dialogDefinitions.append(i18n("The channel list can only be opened from server-aware tabs"));
+ dialogDefinitions.append(i18n("Warning on hiding the main window menu"));
+ dialogDefinitions.append(i18n("Warning on high traffic with channel list"));
+ dialogDefinitions.append(i18n("Warning on pasting large portions of text"));
+ dialogDefinitions.append(i18n("Warning on quitting Konversation"));
+ dialogDefinitions.append(i18n("Ignore"));
+ dialogDefinitions.append(i18n("Unignore"));
+ dialogDefinitions.append(i18n("Warn before quitting with active DCC file transfers"));
+ QCheckListItem *item;
+ dialogListView->clear();
+
+ KConfig* config = kapp->config();
+ config->setGroup("Notification Messages");
+ QString flagName;
+ for(unsigned int i=0; i<dialogDefinitions.count() ;i++)
+ {
+ item=new QCheckListItem(dialogListView,dialogDefinitions[i],QCheckListItem::CheckBox);
+ item->setText(1,dialogDefinitions[i]);
+ flagName = flagNames.section(",",i,i);
+ item->setText(2,flagName);
+
+ if (flagName == "LargePaste" || flagName == "Invitation")
+ {
+ QString state = config->readEntry(flagName);
+
+ if (state == "yes" || state == "no")
+ item->setOn(false);
+ else
+ item->setOn(true);
+ }
+ else
+ {
+ item->setOn(config->readBoolEntry(flagName,true));
+ }
+ }
+ // remember checkbox state for hasChanged()
+ m_oldWarningsChecked=currentWarningsChecked();
+}
+
+// get a list of checked/unchecked items for hasChanged()
+QString Warnings_Config::currentWarningsChecked()
+{
+ // prepare list
+ QString newList;
+
+ // get first checklist item
+ QListViewItem* item=dialogListView->firstChild();
+ while(item)
+ {
+ // save state of this item in hasChanged() list
+ newList+=(static_cast<QCheckListItem*>(item)->isOn()) ? "1" : "0";
+ item=item->itemBelow();
+ }
+ // return list
+ return newList;
+}
+
+bool Warnings_Config::hasChanged()
+{
+ return(m_oldWarningsChecked!=currentWarningsChecked());
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void Warnings_Config::languageChange()
+{
+ loadSettings();
+}
+
+#include "warnings_preferences.moc"
diff --git a/konversation/src/warnings_preferences.h b/konversation/src/warnings_preferences.h
new file mode 100644
index 0000000..4d783cd
--- /dev/null
+++ b/konversation/src/warnings_preferences.h
@@ -0,0 +1,48 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+ Copyright (C) 2006 John Tapsell <johnflux@gmail.com>
+*/
+
+#ifndef WARNINGS_CONFIG_H
+#define WARNINGS_CONFIG_H
+
+#include "warnings_preferencesui.h"
+#include "konvisettingspage.h"
+
+class KListView;
+class QListViewItem;
+
+class Warnings_Config : public Warnings_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit Warnings_Config( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~Warnings_Config();
+
+ virtual void restorePageToDefaults();
+ virtual void saveSettings();
+ virtual void loadSettings();
+
+ virtual bool hasChanged();
+
+ public slots:
+ virtual void languageChange();
+
+ protected:
+ QString currentWarningsChecked(); // for hasChanged()
+
+ QString m_oldWarningsChecked; // for hasChanged()
+
+ signals:
+ void modified();
+};
+
+#endif // WARNINGS_CONFIG_H
diff --git a/konversation/src/warnings_preferencesui.ui b/konversation/src/warnings_preferencesui.ui
new file mode 100644
index 0000000..2f189cc
--- /dev/null
+++ b/konversation/src/warnings_preferencesui.ui
@@ -0,0 +1,50 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>Warnings_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>Warnings_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>570</width>
+ <height>500</height>
+ </rect>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="KListView">
+ <column>
+ <property name="text">
+ <string>Warning Dialogs to Show</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>dialogListView</cstring>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+</widget>
+<tabstops>
+ <tabstop>dialogListView</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+ <includehint>klistview.h</includehint>
+</includehints>
+</UI>
diff --git a/konversation/src/watchednicknames_preferences.cpp b/konversation/src/watchednicknames_preferences.cpp
new file mode 100644
index 0000000..74f94ec
--- /dev/null
+++ b/konversation/src/watchednicknames_preferences.cpp
@@ -0,0 +1,420 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#include "watchednicknames_preferences.h"
+#include "watchednicknames_preferencesui.h"
+#include "config/preferences.h"
+#include "konversationapplication.h"
+#include "konversationmainwindow.h"
+#include "valuelistviewitem.h"
+
+#include <qlabel.h>
+#include <qcombobox.h>
+#include <qcheckbox.h>
+
+#include <kapplication.h>
+#include <kconfig.h>
+#include <kpushbutton.h>
+#include <klineedit.h>
+#include <klocale.h>
+#include <kdebug.h>
+
+
+WatchedNicknames_Config::WatchedNicknames_Config(QWidget *parent, const char *name)
+ : WatchedNicknames_ConfigUI(parent, name)
+{
+ notifyListView->setRenameable(0,false);
+ notifyListView->setSorting(-1);
+ // reset flag to defined state (used to block signals when just selecting a new item)
+ newItemSelected=false;
+
+ loadSettings();
+
+ connect(kcfg_UseNotify,SIGNAL (toggled(bool)),this,SLOT (checkIfEmptyListview(bool)) );
+ connect(newButton,SIGNAL (clicked()),this,SLOT (newNotify()) );
+ connect(removeButton,SIGNAL (clicked()),this,SLOT (removeNotify()) );
+ connect(notifyListView,SIGNAL (selectionChanged(QListViewItem*)),this,SLOT (entrySelected(QListViewItem*)) );
+ connect(notifyListView,SIGNAL (clicked(QListViewItem*)),this,SLOT (entrySelected(QListViewItem*)) );
+
+ connect(networkDropdown,SIGNAL (activated(const QString&)),this,SLOT (networkChanged(const QString&)) );
+ connect(nicknameInput,SIGNAL (textChanged(const QString&)),this,SLOT (nicknameChanged(const QString&)) );
+
+ connect(KonversationApplication::instance(), SIGNAL(serverGroupsChanged(const Konversation::ServerGroupSettings*)),
+ this, SLOT(updateNetworkNames()));
+}
+
+WatchedNicknames_Config::~WatchedNicknames_Config()
+{
+}
+
+void WatchedNicknames_Config::restorePageToDefaults()
+{
+}
+
+// fill in the notify listview with groups and nicknames
+void WatchedNicknames_Config::loadSettings()
+{
+ // cleanup, so we won't add duplicate items
+ notifyListView->clear();
+ networkDropdown->clear();
+ // make sure all widgets are disabled
+ notifyListView->clearSelection();
+ enableEditWidgets(false);
+
+ // get list of server networks
+ Konversation::ServerGroupList serverGroupList = Preferences::serverGroupList();
+
+ // iterate through all networks in the server group list
+ for(unsigned int gIndex=0;gIndex<serverGroupList.count();gIndex++)
+ {
+ // add server group branch to the notify listview so we can add notify items
+ addNetworkBranch(serverGroupList[gIndex]);
+ }
+ // remember current list for hasChanged()
+ m_oldNotifyList=currentNotifyList();
+}
+
+// adds a new network branch to the listview
+void WatchedNicknames_Config::addNetworkBranch(Konversation::ServerGroupSettingsPtr serverGroupList)
+{
+ // get the current notify list and an iterator
+ QMap<int, QStringList> notifyList = Preferences::notifyList();
+
+ ValueListViewItem* groupItem=new ValueListViewItem(serverGroupList->id(),notifyListView,notifyListView->lastChild(),serverGroupList->name());
+ // get the group iterator to find all servers in the group
+ QMapConstIterator<int, QStringList> groupIt=notifyList.find(serverGroupList->id());
+
+ // get list of nicks for the current group
+ QStringList nicks=groupIt.data();
+ // add group to dropdown list
+ networkDropdown->insertItem(serverGroupList->name(),0);
+ // add nicknames to group branch (reverse order again)
+ for(unsigned int index=nicks.count();index;index--)
+ {
+ new KListViewItem(groupItem,nicks[index-1]);
+ } // for
+ // unfold group branch
+ notifyListView->setOpen(groupItem,true);
+}
+
+// save list of notifies permanently, taken from the listview
+void WatchedNicknames_Config::saveSettings()
+{
+ // create new in-memory notify structure
+ QMap<int,QStringList> notifyList;
+
+ // get first notify group
+ KListView* listView=notifyListView;
+ QListViewItem* group=listView->firstChild();
+
+ // loop as long as there are more groups in the listview
+ while(group)
+ {
+ int groupId=static_cast<ValueListViewItem*>(group)->getValue();
+
+ // later contains all nicks separated by blanks
+ QString nicks;
+ // get first nick in the group
+ QListViewItem* nick=group->firstChild();
+ // loop as long as there are still nicks in this group
+ while(nick)
+ {
+ // add nick to string container and add a blank
+ nicks+=nick->text(0)+' ';
+ // get next nick in the group
+ nick=nick->nextSibling();
+ } // while
+
+ // write nick list to in-memory notify qstringlist
+ notifyList.insert(groupId,QStringList::split(' ',nicks.stripWhiteSpace()));
+ // get next group
+ group=group->nextSibling();
+ } // while
+
+ // update in-memory notify list
+ Preferences::setNotifyList(notifyList);
+ static_cast<KonversationApplication*>(kapp)->saveOptions(false);
+
+ // remember current list for hasChanged()
+ m_oldNotifyList=currentNotifyList();
+}
+
+// returns the currently edited notify list
+QStringList WatchedNicknames_Config::currentNotifyList()
+{
+ // prepare list
+ QStringList newList;
+
+ // get first item
+ KListView* listView=notifyListView;
+ QListViewItem* item=listView->firstChild();
+
+ // loop as long as there are more groups in the listview
+ while(item)
+ {
+ newList.append(item->text(0));
+ item=item->itemBelow();
+ } // while
+
+ // return list
+ return newList;
+}
+
+bool WatchedNicknames_Config::hasChanged()
+{
+ // return true if something has changed
+ return(m_oldNotifyList!=currentNotifyList());
+}
+
+// slots
+
+void WatchedNicknames_Config::updateNetworkNames()
+{
+ // get first notify group
+ KListView* listView=notifyListView;
+ QListViewItem* group=listView->firstChild();
+
+ // make sure all widgets are disabled
+ listView->clearSelection();
+ enableEditWidgets(false);
+
+ // kill dropdown list, the networks might have been renamed
+ networkDropdown->clear();
+
+ // loop as long as there are more groups in the listview
+ while(group)
+ {
+ // get the group id from the listview item
+ int groupId=static_cast<ValueListViewItem*>(group)->getValue();
+ // get the name of the group by having a look at the serverGroupSettings
+ Konversation::ServerGroupSettingsPtr serverGroup=Preferences::serverGroupById(groupId);
+
+ // check if the server group still exists
+ if(serverGroup)
+ {
+ // get the new name of the server group
+ QString serverGroupName=serverGroup->name();
+
+ // update the name of the group in the listview
+ group->setText(0,serverGroupName);
+
+ // re-add group to dropdown list
+ networkDropdown->insertItem(serverGroupName,-1);
+ // get next group
+ group=group->nextSibling();
+ }
+ else
+ {
+ // get the next group from the listview
+ QListViewItem* tmp=group->nextSibling();
+ // remove the group
+ delete group;
+ // set the current group
+ group=tmp;
+ }
+ } // while
+
+ // get list of server networks
+ Konversation::ServerGroupList serverGroupList = Preferences::serverGroupList();
+
+ // iterate through all networks in the server group list in reverse order
+ // to find if any new networks have been added
+ for(unsigned int gIndex=serverGroupList.count();gIndex;gIndex--)
+ {
+ // try to find the network id in the listview
+ if(!getItemById(listView,serverGroupList[gIndex-1]->id()))
+ // add new server group branch to the notify listview
+ addNetworkBranch(serverGroupList[gIndex-1]);
+ }
+ // remember current list for hasChanged()
+ m_oldNotifyList=currentNotifyList();
+
+}
+
+// check if an item with the given id exists in the listview
+QListViewItem* WatchedNicknames_Config::getItemById(QListView* listView,int id)
+{
+ // get the first item in the listview
+ QListViewItem* lookItem=listView->firstChild();
+ // look for an item with the given id
+ while(lookItem)
+ {
+ // return item if it matches
+ if(static_cast<ValueListViewItem*>(lookItem)->getValue()==id) return lookItem;
+ // otherwise jump to the next group
+ lookItem=lookItem->nextSibling();
+ } // while
+
+ // not found, return 0
+ return 0;
+}
+
+// helper function to disable "New" button on empty listview
+void WatchedNicknames_Config::checkIfEmptyListview(bool state)
+{
+ // only enable "New" button if there is at least one group in the list
+ if(!notifyListView->childCount()) state=false;
+ newButton->setEnabled(state);
+}
+
+// add new notify entry
+void WatchedNicknames_Config::newNotify()
+{
+ // get listview object and possible first selected item
+ KListView* listView=notifyListView;
+ QListViewItem* item=listView->selectedItem();
+
+ // if there was an item selected, try to find the group it belongs to,
+ // so the newly created item will go into the same group, otherwise
+ // just create the new entry inside of the first group
+ if(item)
+ {
+ if(item->parent()) item=item->parent();
+ }
+ else
+ item=listView->firstChild();
+
+ // finally insert new item
+ item=new QListViewItem(item,i18n("New"));
+ // make this item the current and selected item
+ item->setSelected(true);
+ listView->setCurrentItem(item);
+ // update network and nickname inputs
+ entrySelected(item);
+ // unfold group branch in case it was empty before
+ listView->ensureItemVisible(item);
+ nicknameInput->setFocus();
+ nicknameInput->selectAll();
+ // tell the config system that something has changed
+ emit modified();
+}
+
+// remove a notify entry from the listview
+void WatchedNicknames_Config::removeNotify()
+{
+ // get listview pointer and the selected item
+ KListView* listView=notifyListView;
+ QListViewItem* item=listView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // check which item to highlight after we deleted the chosen one
+ QListViewItem* itemAfter=item->itemBelow();
+ if(!itemAfter) itemAfter=item->itemAbove();
+ delete(item);
+
+ // if there was an item, highlight it
+ if(itemAfter)
+ {
+ itemAfter->setSelected(true);
+ listView->setCurrentItem(itemAfter);
+ // update input widgets
+ entrySelected(itemAfter);
+ }
+ // tell the config system that something has changed
+ emit modified();
+ }
+}
+
+// what to do when the user selects an entry
+void WatchedNicknames_Config::entrySelected(QListViewItem* notifyEntry)
+{
+ // play it safe, assume disabling all widgets first
+ bool enabled=false;
+
+ // if there actually was an entry selected ...
+ if(notifyEntry)
+ {
+ // is this entry a nickname?
+ QListViewItem* group=notifyEntry->parent();
+ if(group)
+ {
+ // all edit widgets may be enabled
+ enabled=true;
+ // tell all now emitted signals that we just clicked on a new item, so they should
+ // not emit the modified() signal.
+ newItemSelected=true;
+ // copy network name and nickname to edit widgets
+ nicknameInput->setText(notifyEntry->text(0));
+ networkDropdown->setCurrentText(group->text(0));
+ // all signals will now emit the modified() signal again
+ newItemSelected=false;
+ }
+ }
+ enableEditWidgets(enabled);
+}
+
+// enable/disable edit widgets
+void WatchedNicknames_Config::enableEditWidgets(bool enabled)
+{
+ removeButton->setEnabled(enabled);
+ networkLabel->setEnabled(enabled);
+ networkDropdown->setEnabled(enabled);
+ nicknameLabel->setEnabled(enabled);
+ nicknameInput->setEnabled(enabled);
+}
+
+// user changed the network this nickname is on
+void WatchedNicknames_Config::networkChanged(const QString& newNetwork)
+{
+ // get listview pointer and selected entry
+ KListView* listView=notifyListView;
+ QListViewItem* item=listView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // get group the nickname is presently associated to
+ QListViewItem* group=item->parent();
+ // did the user actually change anything?
+ if(group && group->text(0)!=newNetwork)
+ {
+ // find the branch the new network is in
+ QListViewItem* lookGroup=listView->firstChild();
+ while(lookGroup && (lookGroup->text(0)!=newNetwork)) lookGroup=lookGroup->nextSibling();
+ // if it was found (should never fail)
+ if(lookGroup)
+ {
+ // deselect nickname, unlink it and relink it to the new network
+ item->setSelected(false);
+ group->takeItem(item);
+ lookGroup->insertItem(item);
+ // make the moved nickname current and selected item
+ item->setSelected(true);
+ listView->setCurrentItem(item);
+ // unfold group branch in case it was empty before
+ listView->setOpen(lookGroup,true);
+ // tell the config system that something has changed
+ if(!newItemSelected) emit modified();
+ }
+ }
+ }
+}
+
+// the user edited the nickname
+void WatchedNicknames_Config::nicknameChanged(const QString& newNickname)
+{
+ // get listview pointer and selected item
+ KListView* listView=notifyListView;
+ QListViewItem* item=listView->selectedItem();
+
+ // sanity check
+ if(item)
+ {
+ // rename item
+ item->setText(0,newNickname);
+ // tell the config system that something has changed
+ if(!newItemSelected) emit modified();
+ }
+}
+
+#include "watchednicknames_preferences.moc"
diff --git a/konversation/src/watchednicknames_preferences.h b/konversation/src/watchednicknames_preferences.h
new file mode 100644
index 0000000..71b8be7
--- /dev/null
+++ b/konversation/src/watchednicknames_preferences.h
@@ -0,0 +1,59 @@
+/*
+ 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.
+*/
+
+/*
+ Copyright (C) 2006 Dario Abatianni <eisfuchs@tigress.com>
+*/
+
+#ifndef WATCHEDNICKNAMES_CONFIG_H
+#define WATCHEDNICKNAMES_CONFIG_H
+
+#include "konvisettingspage.h"
+#include "servergroupsettings.h"
+#include "watchednicknames_preferencesui.h"
+
+
+class QListView;
+class QListViewItem;
+
+class WatchedNicknames_Config : public WatchedNicknames_ConfigUI, public KonviSettingsPage
+{
+ Q_OBJECT
+
+ public:
+ explicit WatchedNicknames_Config(QWidget *parent = 0, const char *name = 0);
+ ~WatchedNicknames_Config();
+
+ virtual void saveSettings();
+ virtual void loadSettings();
+ virtual void restorePageToDefaults();
+
+ virtual bool hasChanged();
+
+ signals:
+ void modified();
+
+ protected slots:
+ void checkIfEmptyListview(bool state);
+ void newNotify();
+ void removeNotify();
+ void entrySelected(QListViewItem* notifyEntry);
+ void networkChanged(const QString& newNetwork);
+ void nicknameChanged(const QString& newNickname);
+ void updateNetworkNames();
+
+ protected:
+ void enableEditWidgets(bool enabled);
+ QStringList currentNotifyList(); // for hasChanged()
+ void addNetworkBranch(Konversation::ServerGroupSettingsPtr group);
+ QListViewItem* getItemById(QListView* listView,int id);
+
+ bool newItemSelected;
+ QStringList m_oldNotifyList;
+};
+
+#endif
diff --git a/konversation/src/watchednicknames_preferencesui.ui b/konversation/src/watchednicknames_preferencesui.ui
new file mode 100644
index 0000000..3195e64
--- /dev/null
+++ b/konversation/src/watchednicknames_preferencesui.ui
@@ -0,0 +1,415 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>WatchedNicknames_ConfigUI</class>
+<widget class="QWidget">
+ <property name="name">
+ <cstring>WatchedNicknames_ConfigUI</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>623</width>
+ <height>418</height>
+ </rect>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel" row="2" column="0">
+ <property name="name">
+ <cstring>notifyActionLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Command e&amp;xecuted when nickname is double clicked:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NotifyDoubleClickAction</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;When you double click a nickname in the &lt;b&gt;Nicks Online&lt;/b&gt; window, this
+command is placed in the &lt;b&gt;Input Line&lt;/b&gt; on the server window.&lt;/p&gt;
+&lt;p&gt;The following symbols can be used in the command:&lt;/p&gt;&lt;ul&gt;
+&lt;li&gt;%u: The nickname double clicked.&lt;/li&gt;
+&lt;li&gt;%K: Server password.&lt;/li&gt;
+&lt;li&gt;%n: Send command directly to the server instead of your input line.&lt;/li&gt;"
+&lt;/ul&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="2" column="1" rowspan="1" colspan="2">
+ <property name="name">
+ <cstring>kcfg_NotifyDoubleClickAction</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;When you double click a nickname in the &lt;b&gt;Nicks Online&lt;/b&gt; window, this
+ command is placed in the &lt;b&gt;Input Line&lt;/b&gt; on the server window.&lt;/p&gt;
+&lt;p&gt;The following symbols can be used in the command:&lt;/p&gt;&lt;ul&gt;
+&lt;li&gt;%u: The nickname double clicked.&lt;/li&gt;
+&lt;li&gt;%K: Server password.&lt;/li&gt;
+&lt;li&gt;%n: Send command directly to the server instead of your input line.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="3" column="0">
+ <property name="name">
+ <cstring>notifyDelayLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>&amp;Update interval:</string>
+ </property>
+ <property name="buddy" stdset="0">
+ <cstring>kcfg_NotifyDelay</cstring>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Konversation will check the status of the nicknames listed below at this interval.</string>
+ </property>
+ </widget>
+ <spacer row="3" column="2">
+ <property name="name">
+ <cstring>spacer36</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>150</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QSpinBox" row="3" column="1">
+ <property name="name">
+ <cstring>kcfg_NotifyDelay</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="suffix">
+ <string> seconds</string>
+ </property>
+ <property name="maxValue">
+ <number>1000</number>
+ </property>
+ <property name="minValue">
+ <number>5</number>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Konversation will check the status of the nicknames listed below at this interval.</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_OpenWatchedNicksAtStartup</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Show watched nicks online tab on &amp;application startup</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;When checked, the &lt;b&gt;Nicks Online&lt;/b&gt; window will be automatically opened when starting Konversation.&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>kcfg_UseNotify</cstring>
+ </property>
+ <property name="text">
+ <string>Enable nic&amp;kname watcher</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;
+When the nickname watcher is turned on, you will be notified when the nicknames appearing in the &lt;b&gt;Watched Networks/Nicknames&lt;/b&gt; list come online or go offline.&lt;/p&gt;
+&lt;p&gt;You can also open the &lt;b&gt;Nicks Online&lt;/b&gt; window to see the status of all the watched nicknames.&lt;/p&gt;
+&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox" row="4" column="0" rowspan="1" colspan="3">
+ <property name="name">
+ <cstring>listGroupBox</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="title">
+ <string>Watched Nicknames</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QLabel" row="1" column="0">
+ <property name="name">
+ <cstring>networkLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Network:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The irc server network (such as 'freenode') that the selected user to watch is on.</string>
+ </property>
+ </widget>
+ <widget class="QComboBox" row="1" column="1">
+ <property name="name">
+ <cstring>networkDropdown</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The irc server network (such as 'freenode') that the selected user to watch is on.</string>
+ </property>
+ </widget>
+ <widget class="QLabel" row="1" column="2">
+ <property name="name">
+ <cstring>nicknameLabel</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Nickname:</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The nick (username) of the selected person to watch</string>
+ </property>
+ </widget>
+ <widget class="KLineEdit" row="1" column="3">
+ <property name="name">
+ <cstring>nicknameInput</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>The nick (username) of the selected person to watch</string>
+ </property>
+ </widget>
+ <widget class="KListView" row="0" column="0" rowspan="1" colspan="4">
+ <column>
+ <property name="text">
+ <string>Watched Networks/Nicknames</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>notifyListView</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>7</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="rootIsDecorated">
+ <bool>true</bool>
+ </property>
+ <property name="fullWidth">
+ <bool>true</bool>
+ </property>
+ <property name="itemsRenameable">
+ <bool>true</bool>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>&lt;qt&gt;
+&lt;p&gt;
+When the nickname watcher is turned on, you will be notified when the nicknames appearing in the &lt;b&gt;Watched Networks/Nicknames&lt;/b&gt; list come online or go offline.&lt;/p&gt;
+&lt;p&gt;You can also open the &lt;b&gt;Nicks Online&lt;/b&gt; window to see the status of all the watched nicknames.&lt;/p&gt;&lt;/qt&gt;</string>
+ </property>
+ </widget>
+ <widget class="QLayoutWidget" row="0" column="4" rowspan="2" colspan="1">
+ <property name="name">
+ <cstring>layout3</cstring>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>newButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;New...</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Click to add a nickname to the list.</string>
+ </property>
+ </widget>
+ <widget class="KPushButton">
+ <property name="name">
+ <cstring>removeButton</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>&amp;Remove</string>
+ </property>
+ <property name="whatsThis" stdset="0">
+ <string>Click to remove the selected nickname from the list.</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer34</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>20</width>
+ <height>160</height>
+ </size>
+ </property>
+ </spacer>
+ </vbox>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_OpenWatchedNicksAtStartup</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_NotifyDelay</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>notifyListView</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>notifyDelayLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>notifyActionLabel</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>kcfg_NotifyDoubleClickAction</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>kcfg_UseNotify</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>listGroupBox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+</connections>
+<tabstops>
+ <tabstop>kcfg_UseNotify</tabstop>
+ <tabstop>kcfg_OpenWatchedNicksAtStartup</tabstop>
+ <tabstop>kcfg_NotifyDoubleClickAction</tabstop>
+ <tabstop>kcfg_NotifyDelay</tabstop>
+ <tabstop>notifyListView</tabstop>
+ <tabstop>networkDropdown</tabstop>
+ <tabstop>nicknameInput</tabstop>
+ <tabstop>newButton</tabstop>
+ <tabstop>removeButton</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
+<includehints>
+ <includehint>klineedit.h</includehint>
+ <includehint>klineedit.h</includehint>
+ <includehint>klistview.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+ <includehint>kpushbutton.h</includehint>
+</includehints>
+</UI>
diff --git a/po/Makefile.am b/po/Makefile.am
new file mode 100644
index 0000000..54cb7de
--- /dev/null
+++ b/po/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = $(AUTODIRS)
diff --git a/po/ar/Makefile.am b/po/ar/Makefile.am
new file mode 100644
index 0000000..f01035c
--- /dev/null
+++ b/po/ar/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ar
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ar/konversation.po b/po/ar/konversation.po
new file mode 100644
index 0000000..97694d5
--- /dev/null
+++ b/po/ar/konversation.po
@@ -0,0 +1,7541 @@
+# translation of konversation.po to Arabic
+# translation of konversation.po to
+#
+# Youssef Chahibi <chahibi@gmail.com>, 2006.
+# محمد سعد Mohamed SAAD <metehyi@free.fr>, 2006.
+# Khaled Hosny <khaledhosny@eglug.org>
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-12-31 17:24+0100\n"
+"Last-Translator: محمد سعد Mohamed SAAD <metehyi@free.fr>\n"
+"Language-Team: Arabic <doc@arabeyes.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "إعدادات القناة ل‍ %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "إ&خفاء الأنماط المتقدمة <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "إ&ظهار الأنماط المتقدمة >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "جديد"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "مجهول"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "المعلومات المتوفرة للملف %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "معلومات الملف"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "لم توجد معلومات مفصلة عن هذا الملف."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "ارسال"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "استقبال"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "في الانتظار"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "جاري الإستعداد"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "جاري الاتصال"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "استقبال"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "إرسال"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "انتهى"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "فشل"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "بطل"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/ثانية"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "منح صفة المعامل"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "سحب صفة المعامل"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "منح صفة شبه المعامل"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "سحب صفة شبه المعامل"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "منح الصوت"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "نزع الصوت"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "أنماط"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "ركل"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "إقصاء بالركل"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "إقصاء الاسم المستعار"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "إقصاء *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "إقصاء *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "إقصاء *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "إقصاء *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "إقصاء*!*@*.host بالركل"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "إقصاء *!*@domain بالركل "
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "إقصاء *!user@*.host بالركل "
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "إقصاء *!ser@domain بالركل "
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "ركل / إقصاء"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "تجاهل"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "عدم التجاهل"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "إفتح &نداء"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "إفتح م&حادثة ب‍ DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "أرسل م&لف..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "أ&رسل رسالة إلكترونية..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "إرتباطات مذكرة العناوين"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "إضافة إلى الاسماء المستعارة المراقبة"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>يظهر هذا كل من على القناة. يظهر الاسم المستعار لكل شخص."
+"<br> يفترض أن تظهر قرب كل اسم أيقونة توضح حالة حامل الاسم، لكن يبدو أنك لم تثبت "
+"أية سمة أيقونات. انظر إعدادات محادثك - <i>تشكيل محادثك</i> أسفل القائمة <i>"
+"إعدادات</i>. بعد ذلك، افتح صفحة <i>سمات</i> في <i>مظهر</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>هذا يريك كل الناس الموجودين في القناة. كما ترى الإسم المستعار لكل شخص و "
+"رسمة تدلك على حالتهم."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>يملك هذا الشخص إمتيازات إدارية.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>هذا الشخص يملك قناة.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>هذا الشخص هو معامل قناة.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>هذا الشخص هو معامل قناة جزئي .</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>هذا الشخص يملك صوت و بِإستطاعته التكلّم في القناة المراقب من قبل مدير.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>ليس لهذا الشخص أي إمتيازات خاصة.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>هذا يشير إلى أنّ هذا الشخص غائب حالياً.</td></tr></table>"
+"<p>إنّ معنى مدير ، مالك و معامل جزئي يختلف حسب الخوادِم IRC المختلفة."
+"<p>الحوم على إسم مستعار سوف يريك وضعه الحالي كما سيريك أي معلومات عنه في دفتر "
+"العناوين. راجع كُتيّب Konversation لمعلومات أكثر.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "حرر المراسِل..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "إختر/ غيير الارتباطات..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "إختر المراسِل..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "غيير الارتباط..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "إنشاء مراسِل جديد..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "حذف الارتباط"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "قناة"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "نداء"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "إشعار"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "إستثناء"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "ألسنة"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "اليوم"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "البارحة"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (معرّف)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "بريد إلكتروني"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "قناع المضيف:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "رسالة الغياب:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(مجهول)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "متصل منذ:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "انقر لإختيار محرر التعبير المنتظم (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "انقر لإختيار محرر التعبير المنتظم (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "خارج"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "داخل"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "كلاً من الإثنينً"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "الإنضمام إلى قناة في %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "إتصال سريع"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "ال&خادم المضيف:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "أدخل مضيف الشبكة هنا."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "الم&نفذ:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "المنفذ الذي يستعمله خادم IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "ال&إسم المستعار:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "اإاسم المستعار الذي تريد إستعماله."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "كلمة ال&مرور:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"إذا طلب خادم IRC كلمة مرور، أدخلها هنا ( معظم الخوادم لا تتطلّب كلمة مرور. )"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "إست&عمال SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "إتّ&صال"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "إتصل بالخادم"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "لا يمكن فتح مقبس"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "تقديم إتصال محادثة DCC إلى %1 على المنفذ %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "محادثة DCC مع %1 على المنفذ %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "إنشاء إتصال محادثة DCC مع %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "محادثة DCC مع %1 على %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "تمّ إنشاء إتصال محادثة DCC ب‍ %1"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "إنقطع الإتصال، رمز الخطأ %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "استقبلتُ طلب CTCP-%1 من %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "لم أتمكن من قبول الزبون."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "الإقتراضي ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "لائحة الخوادم"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "أنقر هنا للاتصال بشبكة الـ IRC والقناة المنتقتين"
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"يظهر هذا قائمة بشبكات IRC المعدّة. شبكة IRC هي مجموعة من الخوادم المتعاونة. "
+"تحتاج فقط للإتصال بخادم واحد على الشبكة لتصبح متصلا بكامل شبكة IRC. بمجرد "
+"اتصالك سينضم \"محادثتك\" تلقائيا للقنوات المعروضة. عند بدأ \"محادثتك\" للمرة "
+"اﻷولى، ستكون شبكة Freenode وقناة <i>#kde</i> قد أدخلت بالفعل من أجلك."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "الشبكة"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "الهوية"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "القنوات"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&جديد..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"أنقر هنا لتعريف شبكة جديدة، بما فيه الخادم المتصل به والقنوات المنضم إليها "
+"تلقائياً بعد الإتصال."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&حرّر..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "اتصال عند بدء التطبيق"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "الشبكة الجديدة"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "حرّر الشبكة"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"لا تسطيع محو %1.\n"
+"\n"
+"تتطلب الشبكة %2 خادماً واحداً على الأقل."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"لا يمكنك محو الخوادم المنتقاة.\n"
+"\n"
+"تتطلب الشبكة %1 خادماً واحداً على الأقل."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "هل تريد حقا محو الخانات المنتقاة ؟"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "هل تريد حقا أن تحذف %1 ؟"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "إظهار الأخير:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"إستعمل هذا الصندوق لتعيين الحجم الأقصى لملف تسجيل الوقائع. لن يُأخذ هذا التغيير "
+"بعين الإعتبار إلا عند إعادة تشغيل \"محادثتك\". لكل سجل وقائع تعيينات مختلِفة "
+"منفردة."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " ك. بايت"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "أمحي سجل الوقائع"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"تعرض الرسائل الموجودة في ملف سجل الوقائع هنا. توجد أقدمها أعلاه وأحدثها أسفله."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "هل تريد حقا رمي كل معلموات سجل الوقائع من هذا الملف ؟"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"ملاحظة: بحفظ ملف سجل الوقائع ستقوم بحفظ كل بيانات الملف ، وليس فقط الجزء الذي "
+"تراه في هذا المعاين."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "إحفظ سجل الوقائع"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "إختر المجلد الهدف"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "معلومات"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "تقديم إتصال محادثة DCC إلى %1 على المنفذ %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "محاولات إعادة الإتصال:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "إنك متصل من قبل ب‍ %1. هل تريد فك الاتصال من %2 والاتصال ب‍ %3؟"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "متصل من قيل ب‍ %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "إتصال"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr "إنك متصل من قبل ب‍ %1. هل تريد فك الاتصال من %2 والاتصال ب‍ %3؟"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "تحرير الخادم"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "الرجاء إملاء <b>هوية</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "الرجاء إملاء <b>اسمك الحقيقي</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "الرجاء إعطاء <b>اسم مستعار</b> واحد على الأقل."
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>هويتك \"%1\" ليست مُعِدة بِشكل سليم:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "إعدادات الهوية"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "تحرير الهوية..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "الهويات"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "ال&هوية:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "ازدواج"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "إعادة تسمية"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "عام"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "الاسم ال&حقيقي:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"أدخل إسمك الحقيقي هنا. IRC ليس ﻹخفائك من أصدقائك أو أعدائك. ضع هذا في اﻹعتبار "
+"عندما تنوي التصرف بشكل سيء. اختيار \"اسم حقيقي\" مزيف قد يكون طريقة جيدة ﻹخفاء "
+"حقيقتك عن الموجودين، لكن من الممكن تتبع حاسوبك مما يعني أنك لا يمكن أن تكون "
+"مجهول الهوية بحق."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "الاسم المستعار"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"هذه قائمة بأسماؤك المستعارة. الإسم المستعار هو اﻹسم الذي سيعرفك به المستخدمين "
+"اﻵخرين. يمكن استخدام أي اسم تريده. يجب أن يكون المحرف اﻷول حرفا.\n"
+"\n"
+"حيث أن اﻷسماء المستعارة يجب أن تكون فريدة عبر كامل شبكة IRC، ربما يرفض الخادم "
+"اﻹسم الذي اخترته ﻷن شخصا آخر يستخدم هذا الإسم المستعار. أدخل أسماء مستعارة أخرى "
+"لك. لو رفض الخادم اختيارك اﻷول، سيجرب \"محادثتك\" اﻹسم المستعار التالي."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "إضافة..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "تحرير..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "تعريف تلقائي"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "الخ&دمة:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"إسم الخدمة يمكن ان يكون <b><i>إسم مستعار للخدمة</i></b> "
+"أو إسم معتمد على الشبكة مثل <b><i>إسم مستعار@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "كلمة الم&رور:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "غائب"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"إذا إخترت هذا الصندوق ، سيظهر خط أفقي في القناة تحديداً للحظة غيابك عندما "
+"تدخِل الأمر <b>/away غائب</b> . لن يرى المستخدمون الآخرون لِلــ IRC هذا الخط "
+"الأفقي."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "الاسم المستعار عند الغياب:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"ادخل اسما مستعارا يوضح أنك غائب. عندما تؤدي أمر <b>/away msg</b> "
+"في أي قناة انضممت إليها بهذه الهوية، سيغير \"محادثتك\" اسمك المستعار إلى هذا "
+"اﻹسم. سيعرف اﻵخرون أنك بعيد عن حاسوبك. عندما تؤدي أمر <b>/away</b> "
+"في أي قناة أنت غائب فيها، سيغير \"محادثتك\" اسمك المستعار آليا إلى اﻹسم اﻷصلي. "
+"إذا لم ترغب في تغير اسمك آليا عند غيابك، اتركها خالية."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " أسطر"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr ""
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "متابعة التنزيل ت&لقائياً"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "رسالة الغياب:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"إذا اخترت هذا المربع. سيرسل \"محادثتك\" تلقائيا رسالة غياب لقل القنوات التي "
+"انضممت إليها بهذه الهوية. ستستبدل <b>%s</b>بـ <b>msg</b>. عندما تؤدي أمر <b>"
+"/away</b>، ستعرض رسالة عودة في كل القنوات التي انضممت إليها بهذه الهوية."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "رسالة ال&غياب:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "رسالة ال&عودة:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "متقدم"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&أمر قبل الصدفة:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"يمكنك هنا إدخال أمر لتنفيذه قبل بِدء إتصالك بِلخادم."
+"<br> إذا كان لديك عِدة خوادِم تعمل بِهذه الهوية سيتم تنفيذ هذا الأمر على كل من "
+"الخوادِم."
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "الم&عرف:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"العديد من الخوادِم يطلب من جهازك جواب IDENT عندما تبدء الإتصال. إذا كان جهازك "
+"لا ينفذ خادِم IDENT ، سيقوم البرنامج بِلرد. لا فراغات مسموحة."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "ال&ترميز:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"يؤثر هذا اﻹعداد على كيفية ترميز المحارف التي تكتبها ﻹرسالها للخادم. كما تؤثر "
+"على كيفية عرض الرسائل. عند فتحك \"لمحادثتك\" للمرة اﻷولى، سيحصل على هذه القيمة "
+"تلقائيا من نظام التشغيل. إذا حدث وواجهت مشاكل في عرض رسائل اﻵخرين بشكل صحيح، "
+"جرب تغيير هذا اﻹعداد."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "سبب ال&ذهاب:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "عند مغادرتك قناة ما، تظهر هذه الرسالة"
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "سبب ال&ذهاب:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "عند مغادرتك قناة ما، تظهر هذه الرسالة"
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "سبب الر&كل:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"في كل مرة يتم ركلك من القناة ( عادتاً من قِبل معامل الــ IRC ) يجري إرسال هذه "
+"الرسالة إلى القناة."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "غيير معلومات الهوية:"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "تلغي كل التغييرات"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "عليك إضافة إسم مستعار واحِد على الأقل إلى هويتك."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "إضافة إسم مستعار"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "الإسم المستعار:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "حرر الإسم المستعار:"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "إضافة هوية"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "إسم الهوية"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "عليك تسمية الهوية."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "إعادة تسمية الهوية"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"هذه الهوية هي قيد الإستعمال ، إذا محوتها سترجع تعيينات الشبكة إلى الهوية "
+"الإفتراضية. هل تريد محوها حتماً ؟"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "هل انت اكيد انك تريد محو كل المعلومات لِهذه الهوية ؟"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "حذف الهوية"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "إزدواج الهوية"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "مستخدمون عاديون"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "صوت (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "نصف مديرين (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "مديرون (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "مشرفون على القناة (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "مالكو القناة (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "إدراج محرف"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "إدراج محرف"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "محرر علامات محادثك"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "لا منفذ فارغ"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "لا يمكن فتح مقبس"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "بحث عن نص..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "نسخ الوصلة إلى الحافظة"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "إضافة إلى العلامات"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "&إحفظ اللائحة..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "فتح حوار خاص ب‍ %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "انضمام إلى القناة %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "كلمة الترحيب اليومية"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "إنذار"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "انضمام"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "مغادرة"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "فتح حوار خاص"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&انضمام"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "حصول على قائمة ال&مستخدمين"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "الحصول على الم&وضوع"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "لا مطابقات من أجل \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "&إحفظ اللائحة..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "قائمة ال&خوادم..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "إدارة الشبكات والخوادم"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "اتصال &سريع..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "اكتب عنوان خادم IRC جديد تريد الاتصال به:"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "إ&عادة اتصال"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "إعادة الاتصال بالخادم الحالي."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&قطع الاتصال"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "فك التصال من الخادم الحالي.4"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&هويّات..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "إدارة اسمك المستعار وحالة الغياب وإعدادات أخرى للهويّة"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "الأسماء المستعارة الم&راقبة المتصلة"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "حالة &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&فتح السجل"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "فتح التاريخ المعلوم لهذه القناة في لسان جديد"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "إعدادات ال&قناة..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "فتح حوار إعدادات القناة لهذا اللسان"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "لائ&حة القنوات"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "لاقت وصلات &URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "سرد كل وصلات URL التي ذكرت مؤخرا في لسان جديد"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "م&طراف Konsole جديد"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "فتح طرفية في لسان جديد"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "اللسان ال&تالي"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "اللسان ال&سابق"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "غلق ال&لسان"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "اللسان ال&تالي"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "تحريك اللسان للأعلى"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "تحريك اللسان نحو الأسفل"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "تحريك اللسان لليمين"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "تحريك اللسان لليسار"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&إنضِمام إلى قناة"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "تمكين التنبيهات"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&إنضِمام إلى قناة"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "إختيار الترميز"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "إذهب إلى اللسان %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "م&حو اللائحة"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "محو محتويات اللسان الحالي"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&محو النافذة"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "محو محتويات اللسان الحالي"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "محو &كل النوافذ"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "محو محتويات كل الألسنة المفتوحة"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "ان&ضمام إلى القناة..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "لون &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "ضبط لون رسالتك IRC الحالية"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&تذكر السطر"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "إدراج سطر أفقي في اللسان الحالي لا يراه إلا أنت"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&رموز خاصة..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "إدراج أي محرف في رسالتك IRC"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "غلق &كل المساءلات المفتوحة"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "إخفاء قائمة الأسماء المستعارة"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt> هل انت أكيد انك تريد الإنتهاء من <b>\"محادثتك\"</b> ؟ </qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "تأكيد الإنتهاء"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt> هل انت أكيد انك تريد الإنتهاء من <b>\"محادثتك\"</b> ؟ </qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>إغلاق النافِذة الرئيسية سيجعل \"محادثتك\" يتابع الإجراء في صينية النظام. "
+"إستعمِل <b>إنهاء</b> في قائمة <b>\"محادثتك\"</b> لإنهاء التطبيق.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "وضع في صحن النظام"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt> سيخفي هذا شريط القائمة تماماً. يمكنك إظهاره مجدداً عند كِتابة %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "قلب التنبيهات"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "قلب الغياب العام"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "إدارج لون &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "إدراح م&حرف خاص..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "إدارج سطر ت&ذكاري"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "لائحة ال&قنوات"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "حالة &غياب عامة"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "خام"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "الاستعمال: %1JOIN <channel> [كلمة-المرور]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "الاستعمال: %1KICK <nick> [السبب]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr ""
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "لا يعمل المغادرة %1PART بدون معلمة إلا من داخل قناة أو مساءلة."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "لا تعمل المغادرة %1PART بدون اسم قناة إلا من داخل قناة."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "لا يعمل تحديد الموضوع %1TOPIC بدون معلمات إلا من داخل قناة."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "لا يعمل تحديد الموضوع %1TOPIC بدون اسم قناة إلا من داخل قناة."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"قد يؤدي استعمال %1NAMES دون هدف إلى فك اتصالك بالخادم. حدد '*' إذا كنت تريد هذا "
+"حقا."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "الاستعمال: %1NOTICE <المستقبِل> <الرسالة>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "إرسال الإشعار \"%2\" إلى %1."
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "الاستعمال: %1AME text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "جاري إرسال طلب CTCP-%1 إلى %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "الملف \"%1\" غير موجود."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "الاستعمال %1DCC [SEND nickname filename]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "الاستعمال: %1DCC [CHAT nickname]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "الأمر %1DCC %2 غير معروف. الأوامر الممكنة هي SEND و CHAT و CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "الاستعمال: %1INVITE <nick> [channel]"
+
+#: src/outputfilter.cpp:1011
+#, fuzzy
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 ليست قناة."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "الاستعمال: %1EXEC <script> [parameter list]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "لا يمكن أن يحتوي المخطوط على \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "الاستعمال: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "قائمة التنبيه التالية فارغة."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "قائمة التنيه الحالية: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "أدخل اسم المستخدم وكلمة المرور لصلاحيات مدير IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "كلمة مرور مدير IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "لا يعمل الطرد %1BAN دون اسم قناة إلا من داخل قناة."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "لا يعمل الطرد بالركل %1KICKBAN دون اسم قناة إلا من داخل قناة."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "الاستعمال: %1BAN [-HOST | -DOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "الاستعمال %1KICKBAN [-HOST | -DOMAIN] [channel] <user|mask> [reason]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "لا يعمل زالة الطرد %1UNBAN دون اسم قناة إلا من داخل قناة."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "الاستعمال: %1UNBAN [channel] pattern"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "أضيف %1 إلى قائمة المتجاهلين."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "الاستعمال: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "الاستعمال: %1UNIGNORE <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "أزيل %1 من قائمة المتجاهَلين."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "لا تجاهل: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "لا تجاهلات: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "الاستعمال: %1QUOTE command list"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "الاستعمال: %1SAY text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "الاستعمال"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "الاستعمال: %1AME text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "الاستعمال: %1AMSG text"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "الاستعمال: %1OMSG text"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "جاري إرسال طلب CTCP-%1 إلى %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "الاستعمال: %1ONOTICE text"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "قائمة التنيه الحالية: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "إختيار الترميز"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 ليست قناة."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"الاستعمال: %1setkey <nick> أو <channel> <key> يضبط مفتاح التشفير للاسم المستعار "
+"أو القناة"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "أزيل مفتاح %1 الآن."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"الاستعمال: %1delkey <nick> أو <channel> يضبط مفتاح التشفير للاسم المستعار أو "
+"القناة"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "أزيل مفتاح %1 الآن."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "أزيل مفتاح %1 الآن."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "الاستعمال: %1DNS <nick>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr " DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "حل %1 إلى: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "لا يمكن حل %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "يتطلب الحب المعاكس KDE 3.5.1 أو أكثر."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "الاستعمال: %1KICK <nick> [السبب]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>سطر اﻹدخال هو حيث تكتب الرسائل لترسل إلى القناة، محادثة، أو خادم. الرسالة "
+"التي ترسل إلى قناة يراها كل شخص في القناة، بينمابينما الرسالة في اﻹستعلام ترسل "
+"إلى الشخص في المحادثة معك."
+"<p>يمكنك أيضا إرسال أوامر خاصة"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>عمل</i></th>"
+"<td>تعرض كعمل في في القناة أو المحادثة. مثلا: <em>/me يغني أغنية</em> "
+"ستعرض في القناة كـ 'Nick يغني أغنية'. </td></tr>"
+"<tr>"
+"<th>/whois <i>اسم مستعار</i></th>"
+"<td>تعرض معلومات عن هذا الشخص، شاملة القنوات التي يتواجد بها.</td></tr></table>"
+"<p>لمزيد من الأوامر، راجع كتيب \"محادثتك\"."
+"<p>أقصى طول للرسالة هو 512 محرف، ولا يمكن أن تحتوي أكثر من سطر. </qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>إنك تحاول لصق مقطوعة ضخمة مِن النص ( %1 بايت أو %2 إسطر ) في المحادثة. و "
+"هذا يمكن ان يسبب إنقطاع و إعادة إتصال أو طوفان قاتل.هل تريد فعلاً المتابعة ؟ "
+"</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "تحذير من إلصاق ضخم"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "زبون IRC سهل الاستعمال"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "الخادم المطلوب الاتصال به"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "المنفذ المراد استعماله"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "القناة المبغي الانضمام إليها بعد الاتصال"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "الاسم المستعمار المراد استعماله"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "كلمة مرور الاتصال"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "استعمال SSL للاتصال"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "محادثك"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 \"من قبل فريق \"محادثك"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"محادثك عميل لميفاق المحادثة المرتبطة بالإنترنت (IRC).\n"
+"التق بأصدقاء جدد في الشبكة وشارك تجاربك\n"
+" وتحدث في المواضيع التي تحب."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "المؤلف الأصلي، مؤسس المشروع"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "المصين"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "المصين، مدير الإصدار، واجهة المستخدم، تدبير الميفاق"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC، تدبير الترميز، تموضع شاشة OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "تدبير الميفاق، سطر الإدخال"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish، دعم SSL، منفذ KNetwork، أسماء مستعارة ملوّنة، سمات قائمة الأسماء "
+"المستعارة"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "إعادة التصنيع، اندماج مع Kontact و KAddressBook"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "استضافة الموقع"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "صيانة الموقع"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "تمديد تعدد الأنماط، إقفال العُدد، شاشة OSD"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"توثيق، تحسينات على الأسماء المستعارة المتصلة المراقبة، تمديد متصفح ويب مشخّص"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "مشكّل الألوان، حوار الإبراز"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "واجهة DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "تراميز غير latin-1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "عرض جزء Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "اتصال سريع، حمل شاشة OSD الجديدة، مزايا أخرى وإصلاحات"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "بعض الإصلاحات وتنظيف الشفرة"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "تحسينات حمل ووضع"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "عمل فني"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "عمود بحث شبيه بفايرفوكس"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "أنمطة خامة، تجميع الألسنة حسب الخوادم، قائمة المطرودين"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "رقعة لوحة النظام"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "إصلاحات"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "رقعة أنماط المستخدمين المتعددة"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "غلق اللسان الظاهر برقعة اختصار."
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "تدوير الألسنة باستعمال عجلة الفأرة."
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "رقعة نمط تملك قناة"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "خيار لتمكين تصفية ألوان IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "إصلاحات خلال، عمل في OSD، توضيح المواضيع"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "مخطوط Sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "استقبل طلب CTCP-PING من %1 إلى القناة %2، جاري إرسال الجواب."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "استقبل طلب CTCP-%1 من %2 ، جاري إرسال الجواب."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "استقبل طلب إصدارة من %1 إلى القناة %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "استقبل طلب نسخة من %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "استقبل طلب نسخة من %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "استقبل طلب نسخة من %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "استقبل طلب نسخة من %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "استقبل طلب نسخة من %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "استقبل أمر DCC غير معروف %1 من %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "استقبل طلب CTCP-%1 غير معروف من %2 إلى القناة %3"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "استقبلتُ طلب CTCP-%1 من %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 إلى %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "استقبل رد CTCP-PING من %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "استقبل رد CTCP-%1 من %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "استدعاء"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "استدعاك %1 إلى القناة %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "مرحبا"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "الخادم %1 (النسخة %2), أنماط المستخدمين: %3, القناة الأنماط %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "الدعم"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "أنماط القناة:"
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "حماية الموضوع"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "لا رسائل من الخارج"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "سرية"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "بالاستدعاء فقط"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "خاص"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "مشرف عليها"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "محمية بكلمة مرور"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "بدون اسم"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "إعادة فتح خادم"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "غير مسموح بالألوان"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"العدد الأقصى للمستخدمين: %n\n"
+"العدد الأقصى للمستخدمين: %n\n"
+"العدد الأقصى للمستخدمين: %n\n"
+"العدد الأقصى للمستخدمين: %n"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "النمط"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "لائحة القنوات لِــ %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "منشأ"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "أنشأت هذه القناة في %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "من هو"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "دخل %1 تحت اسم %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "الأسماء"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "نهاية قائمة الأسماء NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "الموضوع TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "ليس للقناة %1 أي موضوع."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "الموضوع"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "موضوع القناة %1 هو: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "كتب الموضوع %1 في %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "كتب %2 موضوع %1 في %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "يستعمل %1 المضيف %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: لا اسم مستعار ولا قناة بهذا الاسم"
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "لا اسم مستعار بهذا الاسم: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: لا قناة بهذا الاسم."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "اسم مستعار"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "اسم مستعار مستعمل من قبل، استعمل اسما آخر."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "اسم مستعار مستعمل من قبل. جاري تجريب %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "اسم مستعار خاطئ. جاري تغيير الاسم المستعار إلى %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "لست على %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "رسالة اليوم:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "نهاية رسالة اليوم"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "أنت الآن مدير IRC في هذا الخادم."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "المستخدمون"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "المستخدمون الحاليون في الشبكة: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "المستخدمون الحاليون على %1: %2"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "غائب"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 غائب: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "استدعيت %1 إلى القناة %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "حل %1 (%2) إلى العنوان %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "لا يمكن حل عنوان %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 مستخدم معرّف."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "من"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (غائب)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "نهاية قائمة ‎/WHO ل‍ %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 مستخدم في القنوات: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "ل %1 الصوت في القنوات: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 نصف مدير في القنوات: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 مدير في القنوات: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 مالك للقنوات: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 مشرف في القنوات: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 متصل بواسطة %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 متوفر للمساعدة."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (مدير IRC)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"يوم\n"
+" يومان\n"
+"%n أيام\n"
+" %n يوم"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"ساعة واحدة\n"
+"ساعتان\n"
+"%n ساعات\n"
+"%n ساعة"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"دقيقة واحدة\n"
+"دقيقتان\n"
+"%n دقائق\n"
+"%n دقيقة"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"ثانية\n"
+"ثانيتان\n"
+"%n ثوان\n"
+"%n ثانية"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "كان %1 خاملا منذ %2 و%3 و%4 و%5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "كان %1 خاملا منذ %2 و%3 و%4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "كان %1 خاملا منذ %2 و%3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"كان %1 خاملا منذ ثانية.\n"
+"كان %1 خاملا منذ ثانيتين.\n"
+"كان %1 خاملا منذ %n ثوان.\n"
+"كان %1 خاملا منذ %n ثانية."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "كان %1 متصلا منذ %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "نهاية قائمة WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "مضيف المستخدم"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 هو %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (مدير IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (غائب)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "قائمة"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "لائحة القنوات:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (مستخدم): %2\n"
+"%1 (مستخدمان): %2\n"
+"%1 (%n مستخدمين): %2\n"
+"%1 (%n مستخدم): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "نهاية لائحة القنوات."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "قائمة الطرد: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 مضبوط من قبل %2 في %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "نهاية قائمة الطرد."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr " %1 غير متوفر حاليا."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: أمر مجهول."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "غير مسجل."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: يحتاج هذا الأمر إلى معلمات أخرى."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "تعيّن نمط القناة -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " يضبط النمط:"
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "الهوية الافتراضية"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "تحرير الاسم المستعار المراقب"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "اسم ال&شبكة:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "اختر شبكة الخوادم الذي تريد الاتصال به هنا."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "الا&سم المستعار"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>الإسم المستعار المطلوب مراقبته عِند الإتصال بِخادم على الشبكة.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "تغيير معلومات التنبيه"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "فشل الاتصال بالخادم %1: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"وظيفة الاتصال بالخوادم باستعمال مواصلات مشفرة ب‍ SSL غير متوفرة في محادثك لأن "
+"دعم OpenSSL لم يمكّن عند الترجمة. عليك الحصول على نسخة جديدية ل‍ KDE بدعم SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"لم يتم التعرف على شهادة SSL القادمة من الخادم. ربما لا يدعم هذا الخادم SSL على "
+"المنفذ المعطى ؟ لو كان هذا الخادم يدعم اتصالات لا-SSLالعادية، فستكون اتصالات "
+"SSL على منفذ مختلف."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "عنوان ال أي.بي IP للمستضيف %1 لا يطابق ذلك الذي أعطي له الترخيص."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "تحقق الخادم"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "تفاصيل"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "فشلت شهادة الخادم (%1) في اختبار الصحة."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "هل تريد قبول هذا الترخيص للأبد دون إعلامي به كل مرة؟"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "للأ&بد"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "في ال&جلسة الحالية فقط"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[إبراز] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(مساءلة) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "انضم %1 إلى %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "غادر %1 %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "خرج %1 من %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "غير %1 اسمه إلى %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "يريد %1 أن يرسل إليك ملفا"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "بدأ %1 محادثة معك."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 متصل (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 غير متصل (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "ركلك %1 من %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "بدأ %1 محادثة DCC معك"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[إبراز] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "فشل الاتصال ب‍ %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "انضممت إلى %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "جملة غير موجودة"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "بحث دائري"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "واجهة الشبكة"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "جواب خادم IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "تحديد يدويا"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "مخيّر ألوان IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "لا شيء"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&خادم:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"الاسم أو العنوان الشبكي IP للخادم. توجد قائمة من الخوادم في irchelp.org."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"أدخل رقم المنفذ المطلوب للاتصال بالخادم. بالنسبة لأغلب الخوادم، المنفذ هو <b>"
+"6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "كلمة ال&سر:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "اتصال آمن (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"اختر هذا إذا أردت استخدام برتوكول \"طبقة المقبس اﻵمن\" (SSL) للإتصال بهذا "
+"الخادم. يحمي هذا خصوصية اتصالات حاسوب بخادم IRC. يجب أن يدعم هذا الخادم برتوكول "
+"SSL ليعمل هذا. في أغلب الحالات، إذا لم يدعم الخادم SSL، سيفشل اﻹتصال."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "عنوان الخادم مطلوب"
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "قيد المدير حق إرسال ملفات"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "الوصلة \"%1\" غير موجودة"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "لا يمكن سحب \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "أدخل اسم الملف"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>ليس للملف اللذي تحاول إرساله إلى <i>%1</i> إسم."
+"<br> الرجاء إدخال إسم للملف ليتم عرضه على المراسل أو ألغي النقل dcc هذا</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "لم بعط اسم ملف"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "ينتظر قبول المستخدم البعيد"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "لا يمكن قبول الاتصال. (خطأ مقبس)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "لا يمكن فتح الملف: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "خطأ مقبس: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "انتهى الوقت"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "فشل الاتصال: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "انقطع المستخدم البعيد من الاتصال"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "نجحت العملية. يفترض أن لا يظهر هذا الحوار أبدا."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "لا يمكن القراءة من الملف \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "لا يمكن الكتابة فب الملف \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "حدث خطأ قاتل لا يمكن إصلاحه."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "لا يمكن فتح الملف \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "حبطت العملية فجأة."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "انتهى الوقت المسموح به للعملية."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "حدث خطأ غير محدد عند الغلق."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "خطأ مجهول. الرمز %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC %1: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "سؤال استقبال DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "حجم مجهول"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "انضم %1 إلى %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "غادر %1 %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "غادر %1 %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " ثانية"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "جاهز."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>يعرض هذا عدد المستخدمين في القناة، وعدد المديرين منهم (ops)."
+"<p>مدير قناة هو مستخدم له صلاحيات خاصة، مثل القدرة على ركل ومنع المستخدمين، "
+"تغيير أنماط القناة، جعل المستخدمين الآخرين مديرين</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "بطء الإجابة: مجهول"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr "كل المواصلات بالخادم مشفرة. هذا يجعل من الصعب أن يتنصت عليها أحد."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>يعرض شريط الحالة الرسائل المختلفة، شاملة أي مشاكل في الإتصال بالخادم. في "
+"أقصى اليمين يُعرض التأخير الحالي للخادم. التأخير هو الزمن الذي تأخذه رسائلك "
+"لتصل للخادم، ومن الخادم اليك.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "فارق الإجابة: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "فارق الإجابة: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "لا إجابة من الخادم %1 لأكثر من %2 و%3 و%4 و%5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "لا إجابة من الخادم %1 لأكثر من %2 و%3 و%4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "لا إجابة من الخادم %1 لأكثر من %2 و%3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"لا إجابة من الخادم %1 لأكثر من ثانية.\n"
+"لا إجابة من الخادم %1 لأكثر من ثانيتن.\n"
+"لا إجابة من الخادم %1 لأكثر من %n ثوان.\n"
+"لا إجابة من الخادم %1 لأكثر من %n ثانية."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "جاري البحث عن الخادم %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "الخادم %1 غير موجود. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "وجدتُ الخادم ، جاري الاتصال..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "متصل ، جاري تسجيل الدخول..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "فشل الاتصال بالخادم %1: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"لا يمكن الاتصال ب‍ %1:%2 باستعمال تشفير SSL. ربما لا يدعم هذا الخادم SSL أو أن "
+"المنفذ خاطئ. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "خطأ إتصال SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "إنقطع الاتصال مع الخادم."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"لم يتم قبول أي مِن الأسماء المستعارة لِلهوية \"%1\" من الإتصال \"%2\".\n"
+"الرجاء إدخال واحِد جديد أو النقر على إلغاء لِقطع الإتصال."
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "خطأ الإسم المستعار"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "حدث خطأ عند قراءة البيانات من الخادم: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "إختر الملف (ات) اللتي تريد إرسالها إلى %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 يقترح أن يرسل لك \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "حجم مجهول"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "جاري سؤال %1 للموافقة على رفع \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "استقبال طلب متابعة غير صحيح ل \"%1\" من %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "متابعة إنزال الملف \"%1\" الآتي من %2 مبتدآ عند %3 من %4..."
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "استقبال طلب متابعة غير صحيح ل \"%1\" من %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "متابعة رفع الملف \"%1\" الآتي من %2 مبتدِأ عند %3 من %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "استقبال طلب متابعة غير صحيح ل \"%1\" من %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "إنتهى إنزال \"%1\" من %2."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "فشل إنزال \"%1\" من %2. السبب: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "إنتهى رفع \"%1\" إلى %2."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "فشل رفع \"%1\" إلى %2 . السبب: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "جاري إرسال \"%1\" إلى %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "جاري تنزيل \"%1\" (%2) مِن %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"تقدّم إليك %1 بِلدعوة لِلإنضمام إلى القناة %2. هل أنت موافِق على فبول هذه "
+"الدعوة ؟"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "الدعوة"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "خطأ: لم أجِد نص الأوامِر \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "خطأ: لم أتمكن من تنفيذ نص الأوامِر \"%1\". إفحص أذون الملف."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "غائب حاليا."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "أنت الآن غائب."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "لم تعد غائبا بعد الآن."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "لست غائبا."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "الأسماء المستعارة المراقبة المتصلة"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "شبكة/إسم مستعار/قناة"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "معلومات أضافية"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>هذه هى كل اﻷسماء المستعارة في قائمة مشاهدة اﻷسماء المستعارة الخاصة بك، "
+"مسرودة تحت شبكة الخوادم التي يتصلون بها. أيضا تشمل القائمة اﻷسماء المستعارة "
+"في KAddressBook المرتبطة بشبكة الخوادم.</p>"
+"<p>عمود <b>المعلومات اﻹضافية</b> يعرض المعلومات المعروفة عن كل اسم مستعار.</p>"
+"<p>تعرض القنواة التي انضم إليها كل اسم مستعار أسفله.</p>"
+"<p>اﻹسماء المستعارة الظاهرة تحت <b>غير متصل</b> غير متصلة بأي خادم على "
+"الشبكة.</p>"
+"<p>انقر نقرا أيمن بالفأرة على اﻹسم المستعار لتقيم بوظائف إضافية.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&تحرير قائمة المراقبين..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "أنقر لِتحرير لائحة الأسماء المستعارة اللتي تظهر على هذه الشاشة."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "دَفْتر العَناوين:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"الأزرار هنا تُستخدم للربط بين الإسم المستعار و خانة في KAddressBook عند إختيارك "
+"إسم مستعار في اللائحة العليا."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "تحرير الم&عرفة..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"أنقر لِإنشاء ، عرض أو تحرير الخانة في KAddressBook اللتي تريد ربطها بألإسم "
+"المستعار المحدد في الأعلى."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "ت&غيير الارتباط..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "أنقر لِربط الأسم المستعار المحدد في الأعلى مع خانة في KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&حذف الارتباط"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"أنقر لِفك الإرتباط بين الأسم المستعار المحدد في الأعلى و خانة في KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " مُتّصِل عن طريق %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " منذ %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "مقطوع الاتصال"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " صوت"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " نصف مُعامِل"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr "معامِل"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " مالِك"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " مدير"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "إنشاء &مُراسِل جديد..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&إختر الإرتباط..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&إنضِمام إلى قناة"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "اخترملف الصوت"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** بِدء تشغيل سجل الوقائع\n"
+"*** على %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "الإنضِمام تلقائياً إلى القناة عند الدعوة"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "لاحِظ انّ حفظ سجلات الوقائع سيحفظ كلّ الملف"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "إسأل قبل محو محتوى سجِل الوقائع"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "إسأل عن إقفال طلبات بعد تجاهل الإسم المستعار"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "إسأل قبل الإتصال بِخادِم مختلف في الشبكة"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "إسأل قبل الإتصال بِخادِم مختلف في الشبكة"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "إغلق لسان الخادِم"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "إغلق لسان القناة"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "إغلق لِسان الطلب"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "يمكن فقط للألسنة المدركة لوجود خوادم فتح لائحة القنوات"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "تحذير عن إخباء قائمة النافذة الرئيسية"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "تحذير عن سير عالي مع لائحة القناة"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "تحذير عن إلصاق احجام هائلة من النصوص"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "تحذير عن الخروج من \"محادثتك\""
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "لائحة القناة"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "إعدادات المرشح"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "أ&قل عدد المستخدمين:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "أق&ى عدد المستخدمين:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"يمكنك هنا تحديد لائحة القنوات إلى تِلك اللتي تحتوي على عدد أدنى من المستخدمين. "
+"إختيار 0 قد يلغي هذا البند."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"يمكنك هنا تحديد لائحة القنوات إلى تِلك اللتي تحتوي على عدد أقصى من المستخدمين. "
+"إختيار 0 قد يلغي هذا البند."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "ت&شكيلة المرشح:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "هدف المرشح:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "أدخل سلسلة مرشح هنا."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&تعبير نمطي"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "&طبِق المرشح"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "أنقر هنا لسحب لائحة القنوات من الخادم و لتطبيق المرشح."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"قائمة القنوات المرشحة تعرض هنا. لاحظ أنه لو لم تستخدم التعابير النمطية، سيعرض "
+"\"محادثتك\" أي قناة يحتوي اسمها السلسلة النصية التي أدخلتها. لا يجب أن يبدأ اسم "
+"القناة بالسلسلة النصية التي أدخلتها.\n"
+"\n"
+"اختر القناة التي تريد اﻹنضمام إليها بالنقر عليها. انقر نقرا أيمن على القناة "
+"لتحصل على قائمة بكل عناوين ويب المذكورة في موضوع القناة."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "اسم القناة"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "موضوع النقاش للقناة"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "تح&ديث الائحة"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "&حفظ القائمة..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&إنضِمام إلى قناة"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "أنقر هنا لِلإنضمام إلى قناة. سيتم إنشاء لِسان جديد لِلقناة."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "إحفظ لائحة القنوات"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"لائحة قنوات \"محادثك\": %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "القنوات: %1 (%2 معروضة)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "المستخدمين غير-الفريدين: %1 (عرض %2)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "فتح URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<لم يوجد أي URL >>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "لائحة القنوات لِــ %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "موصول"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" للتراسل الآني، لكن لم يحدد مراسل لترسل "
+"له الرسالة. في الغالب هذا خطأ برمجي في البرنامج اﻵخر."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" للتراسل الآني، لكن \"محادثتك\" لم يجد "
+"المراسَل المحدد في كتاب عناوين كدي."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" للتراسل الآني، لكن المستخدم%1 المطلوب "
+"غير متصل."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" لإرسال ملف إلى مُراسَل، لكن لم يحدد "
+"مراسل ليرسل له الملف. في الغالب هذا خطأ برمجي في البرنامج الآخر."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" لإرسال ملف إلى مُراسَل، لكن \"محادثتك\" "
+"لم يجد المراسَل المحدد في كتاب عناوين كدي."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" لإرسال ملف إلى مُراسَل،لكن المستخدم%1 "
+"المطلوب غير متصل حاليا."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"حاول برنامج كدي آخر استخدام \"محادثتك\" ﻹضافة مُراسَل. \"محادثتك\" لا يدعم هذا."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"تعذر تشغيل برنامج كتاب العناوين الخاص بك (kaddressbook). هذا غالبا ﻷنه غير "
+"مثبت. من فضلك ثبت حزمة 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "لا يوجد عنوان بريد إلكتروني مرتبط بالمَراسُل الذي اخترته "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "غير قادر على إرسال بريد إلكتروني"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"تعذر تشغيل برنامج بريدك اﻹلكتروني. من الممكن أن يكون هذا بسبب أنه غير مثبت. "
+"لتثبيت برنامج بريد كدي (kmail) من فضلك ثيت الحزمة 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"ليس ﻷي من المراسلين الذين اخترتهم اتباط بأي من المُراسَلين في كتاب العناوين."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "المُراسَل الذى اخترته غير مرتبط بمُراسَل في كتاب العناوين."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+" بعض المُراسَلين (%1) الذين اخترتهم لا يرتبط بأي من المُراسَلين في كتاب "
+"العناوين."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"أحد المُراسَلين (%1) الذين اخترتهم لا يرتبط بأي من المُراسَلين في كتاب "
+"العناوين."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"يمكنك النقر نقرا أيمن على مُراسَل، ثم اختر تحرير ارتباطات كتاب العناوين لتربطه "
+"بمٌراسَل في كتاب عناوينك."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "لا يرتبط عنوان بريد إلكتروني بأي من المُراسَلين الذين اخترتهم."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"بعض المُراسَلين (%1) الذين اخترتهم لا يوجد عنوان بريد إلكتروني مرتبط بهم. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"أحد المُراسَلين (%1) الذين اخترتهم لا يوجد عنوان بريد إلكتروني مرتبط به. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"يمكنك النقر نقرا أيمن على مُراسَل، ثم اختر تحرير مُراسَل كتاب العناوين، لتضيف "
+"بريد إلكتروني له."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"بعض المُراسَلين (%1) الذين اخترتهم لا يرتبط بهم مراسلين في كتاب العناوين، و بعض "
+"المُراسَلين (%2) الذين اخترتهم لا يوجد عنوان بريد إلكتروني مرتبط بهم."
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"يمكنك النقر نقرا أيمن على مُراسَل، ثم اختر تحرير ارتباطات كتاب العناوين لتربطه "
+"بمٌراسَل في كتاب عناوينك، واختر تحرير مُراسَل كتاب العناوين، لتضيف بريد "
+"إلكتروني له."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"هل تريد إرسال بريد على أي حال للأسماء المستعارة التي لها عنوان بريد إلكتروني؟"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "أرسل بريد الكتروني"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "ربط الأسم IRC المستعار بمُراسَل في دفتر العناوين"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "إختر الشخص اللذي هو '%1' بِلفعل."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "حالياً '%1' هو مترابط مع مراسل."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "حالياً '%1' هو مترابط مع المراسل '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>تحذير:</b> إن '%1' يجري حالياً عرضه كمترابط بِعدة مراسلين. الرجاء إختيار "
+"المراسل الصحيح.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "خانة جديدة في دفتر العناوين"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "أعطي إسماً للخانة الجديدة:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "قابط URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "لائحة وصلات URL المذكورة قي أية نافذة لمحادثك خلال هذه الجلسة."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "إ&فتح ال URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "أ&نسخ الوصلة URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "إنتقى <b>وصلة</b> أعلاه، ثم انقر هذا الزر لنسخها إلى الحافظة."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&حذف الوصلة"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "إنتقى <b>وصلة</b> أعلاه، ثم انقر هذا الزر لحذفها من القائمة."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&حفظ القائمة..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "أنقر لحفظ كل اللائحة في ملف."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "م&حو اللائحة"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "أنقر لمحو كل اللائحة."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "حفظ قائمة الوصلات"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "حرر الإلصاق المتعدد الأسطر"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "إضافة دلالات الا&قتباس"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "الق&ناة:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "مطلوب إسم القناة."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "سجل الوقائع الخام"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "إبحث في نص اللسان الحالي"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&لائحة القنوات ل‍ %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "إ&فتح سجل الوقائع ل‍ %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "إعدادات ال&قنوات ل‍ %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr ""
+"الترميز الافتراضي\n"
+"الافتراضي ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "لا يمكنك اليحث إلا في حقول النص."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "إيجاد معلومات نصية"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "سجل الوقائع لِــ %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "حالة DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"استعمال هذه الميزة قد يؤدي إلى زخم شبكي كثير. إذا لم يكن اتصالك سريعا بما فيه "
+"الكفاية فمن الممكن أن ينقطع اتصال عميلك من قبل الخادم."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "تحذير لائحة القنوات"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"لا يمكن فتح لائحة القنوات هذه إلا بواسطة مساءلة أو نافذة قناة أو حالة لمعرفة "
+"إلى أي خادم تنتمي."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"أدخل اسم الشبكة هنا. يمكنك إدخال العدد الذي تريد من الخوادم في قائمة الخوادم "
+"لنفس الشبكة."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"اخير هوية سابقة أو انقر زر التحرير لإضافة هوية جديدة أو تحرير أخرى. الهوية "
+"تعرفك وتحدد اسمك المستعار عند اتصالك بالشبكة."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr "أشّر هنا إذا كنت تريد أن يتصل محادثك آليا بهذه الشبكة عندما تفتحه."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"اختياري. هذه لائحة القنوات سيتصل بها آليا بعيد اتصال محادثك بخادم. يمكنك تركها "
+"خالية إذا ما م تكن تريد الانضمام آليا إلى أية قناة."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "تغيير معلومات الشبكة"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "إضافة خادم"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "تحرير الخادم"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "إضافة قناة"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "تحرير القناة"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "مطلوب اسم الشبكة."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "عليك إضافة خادم واحد على الأقل إلى هذه الشبكة."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|سمات محادثك"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "انتق سمة"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "فشل تنزيل السمة"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "ملف المة غير سليم."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "لا يمكن تثبيت السمة"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "هل تريد إزالة %1 ؟"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "حذف السمة"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "محادثك - عميل IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "انتقاء متلقّ"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "انتقاء اسم مستعار وغلق النافذة"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "غلق النافذة بدون تغييرات"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "حصول على الاسم المستعار: الخادم %1 غير موجود."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "قيد المدير حق استقبال ملفات"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "تداول غير مدعوم (حجم الملف=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>لا يمكن إنشاء المجلد.</b><br>المجلد: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "لا يمكن إنشاء شاهد ل‍ KIO"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>يوجد الملف مسبقا.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>يوجد ملف جزئي.</b><br>%1<br>حجم الملف الجزئي: %2 بيتات<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>يوجد الملف مسبقا.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>لا يمكن فتح الملف.<br>خطأ: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "كلمة مرور الاتصال"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "ينتظر قبول المضيف البعيد"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "رد غير مرتقب من المضيف البعيد"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "خطا نقل"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "خطأ KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(غائب)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "هل تريد ان تتجاهل %1 ؟"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "هل تريد غلق هذه المساءلة بعد تجاهل هذا الاسم المستعار؟"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "غلق هذه المساءلة"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "تركها مفتوحة"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "هل تريد عدم تجاهل %1؟"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "الافتراضية لهذا المستخدم ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "هل تريد غلق مساءلة %1؟"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "غلق المساءلة"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "التكلم مع نفسك"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "غادر %1 هذا الخادم."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "غادر %1 هذا الخادم (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "معاينة شاشة OSD - احمل لتحديد الموضع"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "المدير"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "المشرف"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "المالك"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "نصف المدير"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "له الصوت"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "الواجهة"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "السلوك"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "تنبيهات"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "نافذة محادثة"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "سماة لائحة الأسماء المستعارة"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "الألوان"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "الأزرار السريعة"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "إتصال"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "قائمة الأسماء المستعارة"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "ألقاب الأوامر"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "إستبدال تلقائي"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "جاري التسجيل"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "إبراز"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "الأسماء المستعارة المراقبة"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "عرض على الشاشة"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "حوارات التحذير"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "سؤال استقبال DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&متابعة"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "إسم الملف الأ&صلي"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "إقترح إسم ملف &جديد"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&كتابة متعدية"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "إعادة ت&سمية"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "البحث أماما"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "حسّاس لحالة الأحرف"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "كلمات بكاملها فقط"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "من المؤشر"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "غلق ال&لسان"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "هل تريد فك الاتصال من '%1' ؟"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "فك الاتصال من الخادم"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "قطع الاتصال"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "بدأ على"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "الحالة"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "مشارك"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "تقدًم"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "الموقع"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "المتبقّي"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "سرعة"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "عنوان المرسِل"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "قبول"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "إلغاء"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "فتح ملف"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "إبدء الإستقبال"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "إلغاء النقل(يات)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "شغِل الملف"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "عرض تفاصيل النقل DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&إختر كل البنود"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "&إختر كل البنود المنتهية"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "ق&بول"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "إ&بطال"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&متابعة"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&مسح"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&فتح ملف"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&معلومات عن الملف"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "حرر إعدادات القناة"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>تتحكم هذه بِــ <em>نمط</em> القناة. يحق لمعامل القناة فقط تغيير تلك."
+"<p>نمط <b>الم</b>ضوع يعني ان فقط لمعامل القنات القدرة على تغيير موضوع "
+"القناة.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "العدد الأقصى للمستخدمين المسموح به في هذه القناة"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "هل تريد ان تتجاهل المستخدمين المحددين ؟"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "هل تريد إلغاء تجاهل المستخدمين المحددين ؟"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "تتمة"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "التتمات الممكنة: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "كلمة مرور القناة"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "حد الأسماء المستعارة"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "أدخل الحد الجديد للأسماء المستعارة"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "أنت الآن معرّف باسم %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "يعرف %1 الآن باسم %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "إنضممت إلى القناة %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "إنضم %1 إلى هذه القناة (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "غادرت هذا الخادم."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "غادرت هذا الخادم (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "غادرت القناة %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "غادرت القناة %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "غادر %1 هذا الخادِم (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "غادر %1 هذا الخادِم."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "غادر %1 هذا الخادِم (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "لقد ركلت نفسك من القناة %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "لقد ركلت نفسك من القناة %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "لقد طُرِدت من القناة %1 من قبل %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "لقد طُرِدت من القناة %1 من قبل %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "لقد ركلت %1 من القناة."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "لقد ركلت %1 من القناة (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "طُرِد %1 من القناة من قِبل %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "طُرِد %1 من القناة مِن قِبل %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"إسم مستعار%nد\n"
+"إسمين مستعارين %nن\n"
+"%n أسماء مستعارة\n"
+"%n إسم مستعار"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" ( معامِل واحِد ) \n"
+" ( معاملين إثنين )\n"
+" ( %n معاملين )\n"
+" (%n معامل)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "موضوع المناقشة في القناة هو \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "عيّنتَ موضوع القناة إلى \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "يعيّن %1 موضوع المناقشة للقناة إلى \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "تعطي إمتيازات مالك القناة لِنفسِك."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "تعطي إمتيازات مالك القناة إلى %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "يعطيك %1 إمتيازات مالك القناة إليك."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "يعطي %1 إمتيازات مالك القناة إلى %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "تلغي إمتيازات مالك القناة لِنفسِك."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "تلغي إمتيازات مالك القناة لِــ %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "يلغي %1 إمتيازات مالك القناة إليك.ك."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "يلغي %1 إمتيازات مالك القناة من %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "تعطي إمتيازات إدارة القناة لِنفسك."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "تعطي إمتيازات إدارة القناة لِـ %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "يعطيك %1 إمتيازات إدارة القناة."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "يعطي %1 إمتيازات إدارة القناة إلى %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "تلغي إمتيازات إدارة القناة لِنفسك."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "تلغي إمتيازات إدارة القناة لِــ %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "يلغي لك %1 إمتيازات إدارة القناة."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "يلغي %1 إمتيازات إدارة القناة لِــ %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "تعطي إمتيازات معامل القناة لِنفسك."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "تعطي إمتيازات معامل القناة لِــ %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "يعطيك %1 إمتيازات معامل القناة."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "يعطي %1 إمتيازات معامل القناة إلى %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "تلغي إمتيازات معامل القناة لِنفسِك."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "تلغي إمتيازات معامل القناة لِــ %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "يلغي %1 إليك إمتيازات معامل القناة."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "يلغي %1 إمتيازات معامل القناة لِــ %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "تعطي إمتيازات نصف معامل القناة لِنفسك."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "تعطي إمتيازات نصف معامل القناة إلى %1.."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 يعطيك إمتيازات نصف معامل القناة.."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "يعطي %1 إمتيازات نصف معامل القناة إلى %2.."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "تلغي إمتيازات نصف معامل القناة لِنفسِك."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "تلغي إمتيازات نصف معامل القناة لِــ %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 يلغي إمتيازات نصف معامل القناة إليك."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 يلغي إمتيازات نصف معامل القناة لِـ %2."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "تعطي نفسك الأذن لِلكلام."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "تعطي %1 الأذن لِلكلام."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "يعطيك %1 الأذن لِلكلام."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "يعطي %1 الأذن لِلكلام إلى %2."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "تلغي لِنفسك الأذن لِلكلام."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "تلغي الأذن لِلكلام إلى %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "يلغي لك %1 الأذن لِلكلام."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "يلغي %1 الأذن لِلكلام إلى %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "تعيّن نمط القناة كــ ' لا ألوان مسموحة '."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "يعيّن %1 نمط القناة كــ ' لا ألوان مسموحة '."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "تعيّن نمط القناة كــ ' رموز ملونة مسموحة '."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "يعيّن %1 نمط القناة كــ ' رموز ملونة مسموحة '."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "تعيّن نمط القناة كــ ' للدعوة فقط '."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "يعيّن %1 نمط القناة كــ ' للدعوة فقط '."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "تُلغي نمط ' للدعوة فقط من القناة'."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "يُللغي%1 نمط ' للدعوة فقط ' من القناة."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "تُعيّن نمط القناة إلى 'لا رسائل من الخارِج'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "يُعيّن %1 نمط القناة إلى 'لا رسائل من الخارِج'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "تُعيّن نمط القناة إلى ' رسائل من الخارِج مسموحة'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "يُُعيّن%1 نمط القناة إلى ' رسائل من الخارِج مسموحة'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "تُعيّن نمط القناة إلى ' خاص '."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "يُُعيّن%1 نمط القناة إلى ' خاص '."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "تُعيّن نمط القناة إلى ' عام '."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "يُُعيّن%1 نمط القناة إلى ' عام '."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "تُعيّن نمط القناة إلى ' سرّي '."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "يُععيّن%1 نمط القناة إلى ' سرّي '."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "تُعيّن نمط القناة إلى ' ظاهِر '."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "يُُعيّن%1 نمط القناة إلى ' ظاهِر '."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "تُبدِِل إلى حالة ' حماية موضوع النِقاش '."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "يُُبدِل %1 إلى حالة ' حماية موضوع النِقاش '."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "تُلغي حالة ' حماية موضوع النِقاش '."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "يُُلغي%1 حالة ' حماية موضوع النِقاش '."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "عيّنتَ موضوع القناة إلى \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "يعيّن %1 موضوع المناقشة للقناة إلى \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "تُزيل تحديد القناة."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "يزيل %1 تحديد القناة."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "تحدِد القناة لِـ %1 إسم مستعار."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "يُحدِد %1 القناة لِـ %2 ِ إسم مستعار."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "تُزيل تحديد القناة."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "يزيل %1 تحديد القناة."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "تفرض المنفى على %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 يفرض المنفى على %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "تُلغي النفي عن %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 يلغب النفي عن %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "تعيين إستثنائية النفي على %1"
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 يعيين إستثنائية النفي على %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "تلغي إستثنائية النفي عن %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 يلغي إستثنائية النفي عن %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "تُعيّن قِناع الدعوة %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 يعيّن قِناع الدعوة %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "تُلغين قِناع الدعوة %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 يلغين قِناع الدعوة %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "تعيّن نمط القناة +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 يعيّن نمط القناة +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "تعيّن نمط القناة -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 يعيّن نمط القناة -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "يجب أن تكون معامِل لتغيير هذا."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "يمكن تغيير موضوع النقاش فقط لِمعامل القناة. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "لا رسائل إلى القناة من زبائن على الجانِب الخارجي. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "قناة سرّية. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "قناة جخولها عند الدعوة فقط. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "قناة خاصة. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr ""
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "حماية القناة بكلمة مرور."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "عيّن حدّ عدد المستخدمين لِلقناة."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "هل تريد مغادرة %1 ؟"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "مغادرة القناة"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "غادِر"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "يوسف الشهيبي,محمد سعد Mohamed SAAD,خالد حسني"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "chahibi@gmail.com,metehyi@free.fr, khaledhosny@eglug.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "في الانتظار"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "الأ&سطر: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " بايت"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "ال&صوت:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "الأ&سطر: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " بايت"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "مستخدمون عاديون"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "في الانتظار"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "في الانتظار"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "المستقبِل:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "إسم الزر"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "مفعول الزر"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "مفعول الزر:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "إسم الزر:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: القنات الحالية\n"
+"%K: كلمة مرور الخادم\n"
+"%u: لائحة الاسماء المستعارة المحددة\n"
+"%s<term>%: الرمز المستعمل للفصل بين الاسماء المستعارة في %u\n"
+"%n: ارسل الأمر مباشرتاً إلى الخادِم بدلا من إرساله إلى سطر أوامرك"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "الملف:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "الذات:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "النوع"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "الحالة:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "الإجرا&ء:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "التقدّم:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "مشارك"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "فتح ملف"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "الملف:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&متابعة"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "الإسم المستعار المستخدم حالياً"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "الموضع:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "بدأ على"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "خطا نقل"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "السماح بإعادة الإتصال التلقائي"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "مهلة إعادة الإتصال:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "محاولات إعادة الإتصال:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " ثوان"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "غير محدود"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "تنقيح"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "أعرض نافِذة &سجل الوقائع الخام عِند الإتصال"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "تشكيلة"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "النوع"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "التشكيلة:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "أنواع الرسالة"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&جديد"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "إزالة ال&كل"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "اسم ال&شبكة:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "الهوية:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "الأوامر:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "اتصال عند بدء التطبيق"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "الخوادم"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "إضافة..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "تحرير..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "انضمام تلقائي إلى القنوات"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "تحرير..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "اللقب:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "الاستبدال:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "اللقب"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "إستبدال"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "إيجاد التالي"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "إيجاد السابق"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&أمر ينفذ بعد نقرتين"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "فرز &دون حساسية لحالة الحروق"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "فرز &حسب حالة المستخدم"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "الشرح"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(صنف يدويا بالحمل والوضع)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "ت&ثبيت سمة..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "إزالة ال&سمة"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "أيقونة المستخدمين العاديين"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "أيقونة المستخدمين الغائبين"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "أيقونة المستخدمين ذوي الصوت"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "أيقونة المستخدمين ذوي صلاحيات نصف الإدارة"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "أيقونة المستخدمين ذوي صلاحيات الإدارة"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "أيقونة المستخدمين ذوي صلاحيات الإشراف"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "أيقونة المستخدمين ذوي صلاحيات الملكية"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "معاينة:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "المظهر"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "الموضع:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "إظهار زر &غلق على الألسنة"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "إظهار زر غلق على يمين شريط الألسنة"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "حد &حجم تسميات الألسنة لموافقة الشاشة"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "التركيز"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "ال&تركيز على الألسنة الجديدة"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "ال&تركيز على المساءلات الجديدة"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "النمط"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "أمر ي&نفذ عند نقر الاسم المستعار مرتين"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>عند النقر مرتين على إسم مستعار في النافذة <b>أسماء مستعارة مُتّصِلة</b> "
+"، سيتم \n"
+"وضع هذا الأمر في <b>سطر الدخول</b> على نافِذة الخادِم.</p>\n"
+"<p>يمكن إستعمال الرموز التالية في الأمر:</p>"
+"<ul>\n"
+"<li>%u: الإسم المستعار المنقور عليه مرّتين.</li>\n"
+"<li>%K: كلِمة المرور لِلخادم.</li>\n"
+"<li>%n: أرسِل مباشرتاً الأمر إلى الخادِم بدلاً عن إرساله إلى سطر دخولاتك.</li>"
+"\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>عند النقر مرتين على إسم مستعار في النافذة <b>أسماء مستعارة مُتّصِلة</b> "
+"، سيتم \n"
+"وضع هذا الأمر في <b>سطر الدخول</b> على نافِذة الخادِم.</p>\n"
+"<p>يمكن إستعمال الرموز التالية في الأمر:</p>"
+"<ul>\n"
+"<li>%u: الإسم المستعار المنقور عليه مرّتين.</li>\n"
+"<li>%K: كلِمة المرور لِلخادم.</li>\n"
+"<li>%n: أرسِل مباشرتاً الأمر إلى الخادِم بدلاً عن إرساله إلى سطر دخولاتك.</li>"
+"\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "فترة التحديث:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "يفحص محادثك حالة الأسماء المستعارة أسفله حسب هذا الفاصل الزمني."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&إظهار لسان الأسماء المستعارة المراقبة المتصلة عند البدء"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>إذا كان هذا الخيار محدد ، سيتم فتح تلقائياً النافذة <b>"
+"أسماء مستعارة مُتّصِلة</b> عند بِدء تشغيل \"محادثتك\".</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&تمكين مراقب الأسماء المستعارة"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"عند تشغيل مراقِب الأسماء المستعارة، سيتم تبليغك عندما يقوم أفراد اللائحة <b> "
+"شبكات/أسماء مستعارة مراقبة</b> بالدخول على الإتصال أو قطع الإتصال.</p>\n"
+"<p>يمكنك أيضاً فتح النافِذة <b>أسماء مستعارة مُتّصِلة</b> "
+"لمراقبة حالة كلّ الأسماء المستعارة المراقبة .</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "الشبكة:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "شبكة خوادم IRC مثل freenode التي يكون المستخدم المراقب متصلا بها."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "الاسم المستعار (اسم المستخدم) للشخص اللذي تريد مراقبته"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "الأسماء المستعارة/الشبكات المراقبة"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"عند تشغيل مراقِب الأسماء المستعارة، سيتم تبليغك عندما يقوم أفراد اللائحة <b> "
+"شبكات/أسماء مستعارة مراقبة</b> بالدخول على الإتصال أو قطع الإتصال.</p>\n"
+"<p>يمكنك أيضاً فتح النافِذة <b>أسماء مستعارة مُتّصِلة</b> "
+"لمراقبة حالة كلّ الأسماء المستعارة المراقبة .</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "انقر لإضافة إسم مستعار إلى اللائحة."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "انقر لإزالة الاسم المستعار المنقى من القائمة."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "ت&مكين السجل"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "تميكن أسماء سجلات بحروف &صعيرة"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "ت&ذييل اسم المضيف إلى أسماء السجلات"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "م&سار السجل:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "تمكين صحن النظام"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&استعمال صحن النظام للإشعار بالرسائل الجديدة"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "التنبيه فقط عند إثارة إبراز أو أن اسمك المستعار مذكور"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "إتمام الأسماء المستعارة"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&نمط الإتمام:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "دوران في لائحة الأسماء المستعارة"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&في مكان آخر:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "حالة الاحرف حساسة"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "إلغاء التبليغات عند ال&غياب"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "إستعمِل الإجابة المعتادة لِلإ&صدارة:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>يمكنك هنا تعيين الإجابة المعتادة على طلبات <b>CTCP <i>إصدارة</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "صندوق الإدخال يتمدد مع توسيع النص"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "حرف ال&أمر:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "إستعمل &متصفح الشبكة المعتاد:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "تحديد قياس علامات الألسِنة كي تظهر كلها على الشاشة"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "تمكين هذا سيجعل صندوق الإدخال ينمو عامودياً عند إمتلائه."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "وضع في صحن النظام"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&أعرض الأسماء الحقيقية جانب الأسماء المستعارة"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "إفتح لسان الأسماء المستعارة عند بدء تشغيل التطبيق"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "السماح لِلأيقونات الإنفعالية"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "سمة اِلأيقونات الإنفعالية"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "الموض&وع"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "التاريخ"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "الأ&نماط"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "فقط معامل القناة يستطيع تغيير ال&موضوع"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&لا رسائل من خارج القناة"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "قناة &سري ، لا يظهر في لائحة القنوات"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "فقط الم&دعوين يحق لهم الإنضمام إلى القناة"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "كلمة مرور القناة"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "ح&دود المستخدِم:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "اعرض الأنماط ال&متقدمة >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "ضابطة"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "لائحة ال&نفي"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&إزالة النفي"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "إ&ضافة نفي"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "قناع المضيف"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "معيين من قِبل"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "الزمن المعيين"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "إبح&ث:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "تنزيل ال&مجلّد:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "أ&ضف المرسل إلى إسم الملف"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "إ&نشاء مجلّد لِلمرسل"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "قبول تل&قائي لدعوات التنزيل"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "متابعة التنزيل ت&لقائياً"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "ح&جم المخزون ( Buffer )"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " بايت"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " ثانية"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "المنهج المستعمل للحصول على الـ IP الخاصة بك:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "الـ IP ال&شخصية:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "منافذ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "إلى"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "إستعمل نص ملوّن"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "حدث التطبيق"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "رسالة"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "رِسالة ال&خادم:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "الإسم المستعار المستخدم حالياً"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "حدث القناة"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "السماح لِممحرف الثابت لِكلمة الترحيب اليومية"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "أعرض كلمة الترحيب اليومية بمحرف ثابت"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "نص الحديث:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "لائحة الاسماء المستعارة:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "شريط الألسنة:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "بر& ز الائحة"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "صوت"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "نص تلقائي"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Pattern:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "الألوان"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "ال&صوت:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "النص ال&تلقائي:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "ت&شغيل الصوت لبنود اللائحة المبرزة"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "برز إسمك المستعار الحالي دائ&ماً:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "برز أسطر&ك الخاصة دائماً:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "إنشاء خا&نة جديدة..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "إنشاء خانة جديدة في دفتر عناوينك"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "صورة"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "الاسم"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "إختر المراسل اللذي تري الإتصال بِه بواسطة المراسلة الفورية IM"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "إبح&ث:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "تشغيل جرس ال&نظام عند وصول ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "يشغل جرس النظام عندما يصل إليك حرف التحكم بِلجرس ASCII BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "إلغاء مفعول ضوابط الإمت&داد (أي %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "إعادة توجيه رسائل الحالة إلى نافذة حالة الخادم"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "حدّ تمرير النص لِل&خلف:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "كم من الأسطر لِلحفظ في الذاكرة الإنتقالية ، 0 = لا محدد"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " أسطر"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "لائحة الخوادم"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "اعرض الأسطر التذكارية في كل نوافذ المحادثة"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"يدرج سطر تذكاري في نافذة المحادثة عندما تقلب إلى نافذة محادثة أخرى أو عندما "
+"تصغّر التطبيق."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "تمكين البحث التلقائي عن المعلومات الخاصة بِلمستخدِم (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "عدد المستخدمين الأقصى في قناة ما:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " أسماء مستعارة"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "فترة التحديث:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&أرسم تظليلات"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&إذا ظهر إسمك المستعار في قناة ما"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "على &أي رسالة قناة"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "تمكين ألألوان المعتادة"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "لون ال&نصً:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "لون ال&خلفية:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "تعيينات ا&خرى"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "المد&ة:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "ال&شاشة:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " م ث"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "ال&نافذة"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "جديد"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "حُذف"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "إستبدل في"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "إبحث"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "إستبدل بـ"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "إستبدل في:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "ابحث:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "إستبدل بِـ :"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "تمكين &دمغات التوقيت"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "أعرض الت&واريخ"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "ال&هيئة:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "الأ&سطر: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&تخطيط"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "أ&عرض موضوع القناة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "اعرض أزرار أ&نماط القناة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "أعرض صند&وق تغيير إسمك المستعار"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "أعرض الأزرار ال&سريعة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&أعرض الأسماء الحقيقية جانب الأسماء المستعارة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "أعرض لائحة الاسماء المستعارة لِلقناة و الأزرار السريعة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "أعرض أقن&عة المضيفين في لائحة الأسماء المستعارة"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "تمكين الصورة الخ&لفية"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "ال&مسار:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "الألوان المعتادة"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&إستعمل الأوان المعتادة لِصندوق الإدخال ، لِلائحة الأسماء المستعارة و لِلائحة "
+"الألسنة"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "ال&خلفية:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "رِسالة ال&خادم:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&رسالة القناة:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "الإجرا&ء:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "رسالة الأم&ر:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "رسالة ال&طلب:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&دمغة التوقيت:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "الخلفية الب&ديلة:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "إسماء مستعارة ملوّنة"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "لون الأسم المستعار الخ&اص به:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "معاينة"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "هذا يريك كيفية ظهور رسالتك بِهذه الألوان"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "لون ال&أمامية:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "حوارات التحذير المبغي إظهارها"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&كلمة المرور:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "الخادم:"
+
+#~ msgid "Messages"
+#~ msgstr "رسائل"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "إظهار رسائل الغياب"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "عيين ك&موجود عامتاً"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "كلّ "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "تحذير عن محو ملف تم وصوله على DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "ضبط مفتاح %1 بنجاح."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "لا يمكن حذف الملف '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "خطأ DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "إزالة الملف"
+
+#~ msgid "Transfer Details"
+#~ msgstr "تفاصيل النقل"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "احذف من هذا اللوح"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "احذف الملف(ات) الوارد(ة)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&حذف ملف"
+
+#, fuzzy
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "هل تريد فعلا حذف الملف المحدد ؟\n"
+#~ "هل تريد فعلا حذف الملفين الـ %n المحددين ؟ \n"
+#~ "هل تريد فعلا حذف الملفات الــ %n المحددة ؟هل تريد فعلا حذف الملفات الــ %n المحددة ؟"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "تأكيد الحذف"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "أعرض الإسم الحقيقي للشخص بجانب إسمه/ها المستعار في لائحة الأسماء المستعارة."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "فُقد الاتصال بالخادم %1: %2. جاري محاولة الاتصال مرة أخرى."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "تجريب الخادم %1 بدلا."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "في الإنتظار دقيقتين قبل محاولة الاتصال مرة أخرى..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "مجموعات التفضيلات المتوفرة:"
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "الخيارات المتوفرة في المجموعة %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "الاستعمال: %1PREFS <group> <option> <value> أو %2PREFS LIST لسرد المجموعات أو%3PREFS group LIST لسرد خيارات مجموعة. اكتب المعلمات بين قوسين إذا ما كان بها فراغ."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "تفاصيل النقل"
+
+#~ msgid "Channel &key:"
+#~ msgstr "مف&تاح القناة:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "إدراج &سطر تذكاري عند الغياب"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "ادرج سطر تذ&كاري عند إخفاء نافذة المحادثة"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "إتصال"
+
+#~ msgid "Application Startup"
+#~ msgstr "بدء التطبيق"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "&أعرض حوار لائحة الخوادِم"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "تعرف %1 بهذا الاسم المستعار."
+
+#~ msgid "&Channel"
+#~ msgstr "&قناة"
+
+#~ msgid "&Topic"
+#~ msgstr "ال&موضوع"
+
+#~ msgid "&Save List..."
+#~ msgstr "&إحفظ اللائحة..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "الإ&نضِمام تلقائياً إلى القناة عند الدعوة"
+
+#~ msgid "Offering"
+#~ msgstr "تقديم"
+
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "لا يوجد أي منفذ شاغر من أجل محادثة DCC."
+
+#~ msgid "Update &interval:"
+#~ msgstr "ال&فاصل الزمني للتحديث:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "عند تشغيل مراقِب الأسماء المستعارة، سيتم تبليغك عندما يقوم أفراد اللائحة <b> شبكات/أسماء مستعارة مراقبة</b> بالدخول على الإتصال أو قطع الإتصال.</p>\n"
+#~ "<p>يمكنك أيضاً فتح النافِذة <b>أسماء مستعارة مُتّصِلة</b> لمراقبة حالة كلّ الأسماء المستعارة المراقبة .</p>\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "لا إنزال DCC شاغل في المنفذ %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "لا رفع DCC شاغل في المنفذ %1."
+
+#~ msgid "File:"
+#~ msgstr "الملف:"
+
+#~ msgid "Local Path:"
+#~ msgstr "المسار المحلي:"
+
+#~ msgid "Saved to:"
+#~ msgstr "محفوظ في:"
+
+#~ msgid "Open this file"
+#~ msgstr "إفتح هذا الملف"
+
+#~ msgid "Delete this file"
+#~ msgstr "أحذف هذا الملف"
+
+#~ msgid "Sender:"
+#~ msgstr "المرسل:"
+
+#~ msgid "Position:"
+#~ msgstr "الموضع:"
+
+#~ msgid "Accept this transfer"
+#~ msgstr "قبول هذا النقل"
+
+#~ msgid "Abort this transfer"
+#~ msgstr "إبطال هذا النقل"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "هل تريد حقا أن تحذف الملف المستقبل؟"
+
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&تفاصيل النقل DCC"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "الموضع:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "عنوان المرسِل"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "عنوان المرسِل"
+
+#~ msgid "Switch To"
+#~ msgstr "تبديل إلى"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 مشرف على الشبكة."
diff --git a/po/bg/Makefile.am b/po/bg/Makefile.am
new file mode 100644
index 0000000..869f213
--- /dev/null
+++ b/po/bg/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = bg
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/bg/konversation.po b/po/bg/konversation.po
new file mode 100644
index 0000000..93e39ed
--- /dev/null
+++ b/po/bg/konversation.po
@@ -0,0 +1,7602 @@
+# translation of konversation.po to Bulgarian
+# translation of konversation.po to
+#
+# root <root@localhost.localdomain>, 2006.
+# Zlatko Popov <zlatkopopov@fsa-bg.org>, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2007-09-20 20:36+0000\n"
+"Last-Translator: Zlatko Popov <zlatkopopov@fsa-bg.org>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Настройки на канала за %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Скриване на режима за напреднали <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Показване на режима за напреднали >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Нов"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "непознат"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Налична информация за файл %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Информация за файл"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Не е открита детайлна информация за този файл."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Изпращане"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Получаване"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "На опашка"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Подготвяне"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Изчакване"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Свързване"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Получаване"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Изпращане"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Завършено"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Неуспешно"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Прекъснато"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/сек"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Кой е"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Версия"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Даване на операторски привилегии"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Вземане на операторски привилегии"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Даване на операторски привилегии"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Отнемане на операторски привилегии"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Даване на Глас"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Вземане на Глас"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Режими"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Изритване"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Изритване и банване"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Банване на псевдоним"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Банване на *!*@*.хост"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Банване на *!*@домейн"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Банване на *!user@*.хост"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Банване на *!user@домейн"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Изритване и банване на *!*@*.хост"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Изритване и банване на *!*@домейн"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Изритване и банване на *!user@*.хост"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Изритване и банване на *!user@домейн"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Изритване / Банване"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Игнориране"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Отмяна на игнориране"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Отваряне на &личен разговор"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Отваряне на DCC &разговор"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Изпращане на &файл..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Изпращане на електронна поща..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Асоциации на адресната книга"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Добавяне към наблюдаваните псевдоними"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Това показва всички хора в канала. Псевдонимът на всеки бива показван."
+"<br>Обикновено чрез икона се показва статуса на всеки, но изглежда, че вие "
+"нямате инсталирана тема с икони. Прегледайте настройките на Konversation - <i>"
+"Настройване на Konversation</i> под меню <i>Настройки</i>"
+". След което погледнете страницата за <i>Теми</i> под <i>Изглед</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Това показва всички хора в канала. Всеки псевдоним бива показван с "
+"картинка, показваща неговия статус."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Този потребител има привилегии на администратор.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Този потребител е притежателят на канала.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Този човек е оператор на канала.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Този човек е полуоператор.</td></tr>"
+"<tr>"
+"<th><img src=\"глас\"></th>"
+"<td>Този човек има Глас, за това може да говори в модериран канал.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Този човек няма никакви специални привилегии.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Това показва, че човекът в момента не е пред компютъра.</td></tr></table>"
+"<p>Значението на администратор, притежател и полуоператор се различава при "
+"различните IRC сървъри."
+"<p>Задържането върху някой псевдоним, ще покаже неговия текущ статус, както и "
+"цялата информация за човека от адресната книга. За повече информация "
+"прегледайте упътването на Konversation.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Редактиране на познат от списъка..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Избиране/Промяна на асоциациите..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Избиране на познат..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Промяна на асоциация..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Създаване на нов познат..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Изтриване на асоциация"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Канал"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Личен разговор"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Известие"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Изключение"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Подпрозорци"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Днес"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Вчера"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (идентифициран)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Електронна поща"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Хостмаска:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Съобщение при отсъствие:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(непознат)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Включен от:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Щракнете, за да стартирате редактора на регулярни изрази (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Редакторът на регулярни изрази (KRegExpEditor) не е инсталиран"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Изходящи"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Входящи"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "И двете"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Влизане в канал при %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Бързо свързване"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Хост на сървъра:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Тук въведете хоста на мрежата."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Порт:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Портът, който се използва от IRC сървъра."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Псевдоним:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Псевдоним, който искате да използвате."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "П&арола:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Ако IRC сървърът изисква парола, въведете я тук (повечето сървъри не изискват "
+"парола)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Използване на SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Свързване"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Свързване към сървъра"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Не може да бъде отворен сокет за слушане: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Предлагане на DCC разговор връзка на %1 през порт %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC разговор с %1 през порт %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Установяване на DCC разговор с %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC разговор с %1 на %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Установена е връзка за DCC разговор с %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Връзката е прекъсната, код за грешка %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Получен е непозната СТСР-%1 заявка от %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Не може да се приеме клиента."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "По подразбиране ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Списък със сървъри"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Натиснете тук, за да се свържете с маркираните сървър и канал."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Тук е показан списък с настроените IRC мрежи. IRC мрежа е колекция от работещи "
+"заедно сървъри. За да имате връзка с цяла IRC мрежа е необходимо да се свържете "
+"само с един сървър от тази мрежа. След като се свържете, Konversation "
+"автоматично ще се присъедини към показаните канали. При първото стартиране "
+"мрежата Freenode и канал <i>#kde</i> са предварително въведени за вас."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Мрежа"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Самоличност"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Канали"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Нов..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Щракнете тук, за да дефинирате нова мрежа, включително сървър, към който ще се "
+"свързвате и канали към които автоматично ще се присъединяване."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Редактиране..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Показване при стартиране на програмата"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Нова мрежа"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Редактиране на мрежа"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Не можете да изтриете %1.\n"
+"\n"
+"Мрежата %2 трябва да има поне един сървър."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Не можете да изтриете маркираните сървъри.\n"
+"\n"
+"Мрежата %1 трябва да има поне един сървър."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Сигурни ли сте, че искате да изтриете маркираните записи?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Наистина ли искате да премахнете %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Показване на последно:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Използвайте полето, за да зададете максималната големина на файл-регистъра. "
+"Тази настройка става активна след като рестартирате Konversation. Всеки "
+"файл-регистър може да има различни настройки."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " кБ"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Изчистване на файл-регистъра"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Съобщенията във файл-регистъра са показани тук. Най-старите съобщения са "
+"най-отгоре, а най-новите са най-отдолу."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Наистина ли искате да отхвърлите цялата информация от този файл-регистър за "
+"постоянно?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Бележка: Записвайки файл-регистъра, ще запишете цялата информация във файла не "
+"само частта, която виждате."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Записване на файл-регистъра"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Посочете целевата папка"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Информация"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Предлагане на DCC разговор връзка на %1 през порт %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Опити за ново свързване:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Вече сте свързани към %1. Искате ли да прекъснете връзката с \"%2\" и да се "
+"свършете с \"%3\"?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Вече сте свързани с %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Връзка"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Вече сте свързани към %1. Искате ли да прекъснете връзката с \"%2\" и да се "
+"свършете с \"%3\"?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Редактиране не сървър"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Моля попълнете вашата <b>самоличност</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Моля попълнете вашето <b>истинско име</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Моля напишете поне един <b>псевдоним</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Вашата самоличност \"%1\" не е настроена правилно:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Настройка на самоличност"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Редактиране на самоличност..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Самоличности"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Самоличност:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Дублиране"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Преименуване"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Основни"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Истинско име:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Въведете истинското си име. В IRC не сте скрити от вашите приятели или врагове. "
+"Имайте го предвид, ако възнамерявате да се държите злонамерено. Лъжливо "
+"\"истинско име\" е добър начин да прикриете пола си от другите потребители, но "
+"компютъра който използвате може винаги да бъде проследен, така че никога няма "
+"да бъдете истински анонимни."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Псевдоним"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Това е списък с вашите псевдоними. Псевдоним е името, с което другите "
+"потребители ще ви познават. Може да използвате име по ваше желание. Първият "
+"символ трябва да бъде буква.\n"
+"\n"
+"Тъй като псевдонимите трябва да са уникални в цялата IRC мрежа, възможно е "
+"вашият псевдоним да бъде отхвърлен от сървъра, тъй като някой друг потребител "
+"вече го използва. Въведете вашите алтернативни псевдоними. Ако първият ви избор "
+"е отказан от сървъра, Konversation ще опита да ви свърже с някой от "
+"алтернативните ви псевдоними."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Добавяне..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Редактиране..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Автоматична идентификация"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "&Услуга:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Името на услугата може да бъде <b><i>nickserv</i></b> "
+"или име зависещо от мрежата, като <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Парола:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Отсъствие"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Ако маркирате, всеки път когато изпълните команда <b>/away</b> "
+"(Отсъства), ще се покаже хоризонтална линия, маркираща момента, когато сте "
+"минали в режим \"Отсъства\". Другите потребители на IRC не виждат тази линия."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Псевдоним при отсъствие:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Въведете псевдоним, който да показва, че отсъствате. Всеки път когато изпълните "
+"команда <b>/away msg</b> във всеки канал, в който сте влезли с тази "
+"самоличност, Konversation автоматично ще сменя псевдонима ви с този, който сте "
+"определили за режим Отсъства. По този начин другите потребители ще знаят, че "
+"отсъствате. Всеки път когато изпълните команда <b>/away</b> "
+"във всеки канал, в който сте влезли, Konversation автоматично ще сменя "
+"псевдонима ви обратно към оригиналния. Ако не искате псевдонима ви да бъде "
+"сменян автоматично, оставете го празно."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " реда"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "При активност в &личен разговор"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "&Автоматично продължаване на свалянето"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Съобщение при отсъствие:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Ако маркирате, Konversation автоматично ще изпраща съобщение при отсъствие във "
+"всички канали, в които сте влезли с тази самоличност. <b>%s</b> "
+"е заменено от <b>msg</b>. Всеки път когато изпълните команда <b>/away</b>"
+", съобщение за завръщане ще бъде изпратено във всички канали, в които сте "
+"влезли с тази самоличност."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Съобщение при &отсъствие:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Съобщение при &завръщане:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Разширени"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pre-shell команда:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Тук може да въведете команда, която да се изпълни преди да започне свързването "
+"към сървъра"
+"<br>Ако имате множество сървъри към тази самоличност, командата ще се изпълни "
+"за всеки сървър"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "&Идентификация:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Когато се свързвате, много сървъри изпращат заявки към вашия компютър за IDENT "
+"(идентификация) отговор. Ако на компютърът ви не работи IDENT сървър, отговорът "
+"ще се изпрати от Konversation. Не е позволено въвеждането на интервал."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Кодиране:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Тази настройка въздейства върху това как ще се кодират символите, които пишете "
+"и изпращате към сървъра. Също така въздейства върху изобразяването на "
+"съобщенията. Когато отворите за първи път Konversation, програмата автоматично "
+"получава тази настройка от операционната система. Ако имате проблеми при "
+"разчитането на съобщенията на другите потребители, опитайте да промените тази "
+"настройка."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Причина за &напускане:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Това съобщение ще се изпраща в канала всеки път, когато го напускате."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Причина за &напускане:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Това съобщение ще се изпраща в канала всеки път, когато го напускате."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Причина за &изритване:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Това съобщение ще се изпраща в канала всеки път, когато бивате изритани от "
+"канал (обикновено от IRC оператор)."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Промяна на информация за самоличност"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Отказва направените промени"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Трябва да добавите поне един псевдоним в самоличността."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Добавяне на псевдоним"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Псевдоним:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Редактиране на псевдоним"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Добавяне на самоличност"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Име на самоличност:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Трябва да дадете име на самоличността."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Преименуване на самоличност"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Тази самоличност се използва, ако я премахнете мрежовите настройки, които я "
+"използват ще се променят на по подразбиране. Да бъде ли изтрита?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Сигурни ли сте, че искате да изтриете информацията за тази самоличност?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Изтриване на самоличност"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Дублиране на самоличност"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Нормални потребители"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Глас (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Полуоператори (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Оператори (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Администратори на канал (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Притежатели на канал (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Вмъкване на символ"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Вмъкване на един символ"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Редактор на маркери в Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Няма свободен порт"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Не може да се отвори сокет"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Търсене на текст..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Копиране на URL в системния буфер"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Добавяне на маркери"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Запис на връзката като..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Отваряне на личен разговор с %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Влизане в канал %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Уведомяване"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Присъединяване"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Напускане"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Отваряне на личен разговор"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Присъединяване"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Търсене на списък с &потребители"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Търсене на &тема"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Не са намерени съвпадения за \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Запис на връзката като"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Списък със &сървъри..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Управление на мрежи и сървъри"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Бързо свързване..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Въведете адреса на новия IRC сървър, към който искате да се свържете"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Ново свързване"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Ново свързване към сървъра."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Прекъсване на връзката"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Прекъсване на връзката със сървъра."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Самоличности..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Управление на псевдоним, настройки за отсъствие и самоличност"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Наблюдавани за активност псевдоними"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC статус"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Отваряне на файл-регистър"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Отваряне на историята за този канала в нов подпрозорец"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Настройки на &канали..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Отваряне на прозореца за настройка на канал за този подпрозорец"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Списък с канали"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Показване на списък със всички канали на сървъра"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Ловец на URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Показване на всички адреси, които са били в нов подпрозорец"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Нова &конзола"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Отваряне на терминал в нов подпрозорец"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Следващ подпрозорец"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Предишен подпрозорец"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Затваряне на &подпрозорец"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Следващ активен подпрозорец"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Подпрозорец - преместване нагоре"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Подпрозорец - преместване надолу"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Подпрозорец - преместване надясно"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Подпрозорец - преместване наляво"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Присъединяване към канал"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Включване на известяванията"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Присъединяване към канал"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Задаване на кодировка"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Отиване на подпрозорец %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "&Изчистване на списъка"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Изчистване на съдържанието на текущия прозорец"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Изчистване на прозореца"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Изчистване на съдържанието на текущия прозорец"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Изчистване на &всички прозорци"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Изчистване на съдържанието на всички отворени подпрозорци"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Присъединяване към канал..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&Цвят на IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Задаване на цвят на текущото IRC съобщение"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Напомняща линия"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Добавяне на хоризонтална линия в подпрозореца, която само вие можете да виждате"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Специален &символ..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Вмъкване на символ в текущото IRC съобщение"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Затваряне на &всички отворени лични разговори"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Скриване на списъка с псевдоними"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>Сигурни ли сте, че искате да излезете от <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Потвърдете излизането"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Сигурни ли сте, че искате да излезете от <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>При затварянето на главния прозорец Konversation ще продължи да работи в "
+"системния панел. Използвайте <b>Изход</b> от менюто на <b>Konversation</b>"
+", за да излезете от програмата.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Поставяне в системния панел"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Това напълно ще скрие менюто. Можете да го накарате да се покаже отново "
+"като напишете: %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Превключване на известяванията"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Превключване на глобално отсъствие"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Вмъкване на IRC &цвят..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Вмъкване на специален &символ..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "Вмъкване на &напомняща линия"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Списък с канали"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Глобално задаване на &отсъствие"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Необработен"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Употреба: %1JOIN <канал> [парола]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Употреба: %1KICK <псевдоним> [причина]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK (изритване) работи само в канали."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART (напускане) без параметри работи само в канал или личен разговор."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART (напускане) без име на канал работи само в канал."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC (тема) без параметри работи само в канал."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC (тема) без име на канал работи само в канал."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES (имена) без цел може да ви изключи от сървъра. Задайте \"*\" ако "
+"наистина искате това."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Употреба: %1NOTICE (известие) <получател> <съобщение>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Изпращане на бележка \"%2\" на %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Употреба: %1ME текст"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Изпращане на CTCP-%1 заявка до %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Файл \"%1\" не съществува."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr ""
+"Употреба: %1DCC [SEND псевдоним име на файл] (изпращане на файл по DCC)"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Употреба: %1DCC [CHAT псевдоним] (стартиране на DCC разговор)"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Непозната %1DCC команда %2. Възможните команди са SEND (изпращане), CHAT "
+"(разговор), CLOSE (затваряне)."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Употреба: %1INVITE <псевдоним> [канал]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE (поканване) без име на канал работи само в канал."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 не е канал."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Употреба: %1EXEC <скрипт> [списък с параметри]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Името на скрипт не може да съдържа \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Употреба: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Текущият списък за уведомяване е празен."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Текущият списък за уведомяване е: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Въведете потребителско име и парола за IRC операторски привилегии:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC операторска парола"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN без име на канал работи само в канал."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN без име на канал работи само вътре в канал."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Употреба: %1BAN [-HOST | -DOMAIN] [канал] <потребител|маска>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Употреба: %1KICKBAN [-HOST | -DOMAIN] [канал] <потребител|маска> [причина]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN (помилване) без име на канал работи само в канал."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Употреба: %1UNBAN [канал] образец"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 е добавен(а) в списъка за игнориране."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+"Употреба: %1IGNORE [ -ALL ] <потребител 1> <потребител 2> ... <потребител n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Употреба: %1UNIGNORE <потребител 1> <потребител 2> ... <потребител n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 е премахнат от списъка за игнориране."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Няма такъв игнориран: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Няма такива игнорирани: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Употреба: %1QUOTE списък с команди"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Употреба: %1SAY текст"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Употреба"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Употреба: %1AME текст"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Употреба: %1AMSG текст"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Употреба: %1OMSG текст"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Изпращане на бележка \"%1\" до %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Употреба: %1ONOTICE текст"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Текуща кодова таблица: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Връщане към кодова таблица %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 не е валидна кодова таблица."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Употреба: %1setkey <nick> или <channel> <key> задава шифроващ ключ за псевдоним "
+"или канал"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "Клавишът за %1 е изтрит."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Употреба: %1delkey <nick> или <channel> Изтрива шифроващият ключ за псевдоним "
+"или канал"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "Клавишът за %1 е изтрит."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "Клавишът за %1 е изтрит."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Употреба: %1DNS <псевдоним>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Разрешен %1 за: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Невъзможно разрешаване на %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Обратното разрешаване изисква KDE версии 3.5.1 или по-нова."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Употреба: %1KILL <псевдоним> [причина]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Входния ред е мястото, където пишете съобщенията, които ще се пращат в "
+"канал, личен разговор или сървър. Съобщение, изпратено до канал се вижда от "
+"всички, които са в канала, докато съобщение в личен разговор се изпраща само до "
+"човека в личния разговор."
+"<p>Можете да изпращате специални команди:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>действие</i></th>"
+"<td>се показва като действие в канала или личния разговор. Например: <em>"
+"/me пее песен</em> ще се покаже в канала като \"Псевдоним пее песен\".</td></tr>"
+"<tr>"
+"<th>/whois <i>псевдоним</i></th>"
+"<td>показва информация за този човек, включително в кой канал е влезнал.</td>"
+"</tr></table>"
+"<p>За повече информация прегледайте упътването на Konversation"
+"<p>Едно съобщение може да бъде не по-дълго от 512 символа и не може да съдържа "
+"множество редове.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Опитвате се да вмъкнете голямо парче текст (%1 байта или %2 реда) в "
+"разговора. Това може да причини прекъсване на връзката или изхвърляне заради "
+"препълване. Искате ли да продължите?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Предупреждение при поставяне на голям обем"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Лесен за работа IRC клиент"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Сървър"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Порт"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Присъединяване към канал след свързване"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Псевдоним"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Парола за връзка"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Използване на SSL връзка"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2007, екипът на Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation е програма-клиент за протокол Internet Relay Chat (IRC).\n"
+"Срещнете приятели в мрежата, създайте си нови познанства и се впускайте в\n"
+"разговори по вашите любими теми."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Original Author, Project Founder"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Поддръжка"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "Maintainer, Release Manager, User interface, Protocol handling"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, Encoding handling, OSD positioning"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protocol handling, Input line"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refactoring, KAddressBook/Kontact integration"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Хостване на уеб страницата"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Поддръжка на уеб страницата"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Multiple modes extension, Close widget placement, OSD functionality"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Color configurator, Highlight dialog"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP интерфейс"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Non-Latin1-кодировки"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Частичен изглед на Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Бързо свързване, ново OSD, други възможности и отстраняване на грешки"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Набор от корекции и изчистване на кода"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "&Подобрения на провлачване и пускане"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Artwork"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Лента за търсене в стила на Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+"Необработени режими, групиране на подпрозорци за сървър, списък на отстранените"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Кръпка за системния панел"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Корекции на грешките"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Кръпка за разширените потребителски режими"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Затваряне на видимия подпрозорец с кръпка за препратки"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Превъртане на подпрозорците с колелцето на мишката"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Кръпка за режим на притежаване на канал"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Настройка за включване на цветово филтриране в IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Bug fixes, OSD work, clearing topics"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo script"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Получен е CTCP-PING заявка от %1 за канал %2, изпращане на отговор."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Получен е CTCP-%1 заявка от %2, изпращане на отговор."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Получена е заявка за версия от %1 за канал %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Получена е заявка за версия от %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Получена е невалидна DCC SEND заявка от %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Получена е невалидна DCC ACCEPT заявка от %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Получена е невалидна DCC RESUME заявка от %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Получена е невалидна DCC CHAT заявка от %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Непозната DCC команда %1, получена от %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Получена е непозната CTCP-%1 заявка от %2 за канал %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Получена е непозната СТСР-%1 заявка от %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 за %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Получен е CTCP-PING отговор от %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Получен е CTCP-%1 отговор от %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Поканване"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 ви покани в канал %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Добре дошли"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Сървър %1 (Версия %2), Потребителски режими: %3, Режими на канал: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Поддръжка"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Личните ви режими са:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Режими на канала: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "защита на темата"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "без съобщения, получени извън канала"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "таен"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "само с покана"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "личен"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "модериран"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "защитен с парола"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "анонимен"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop от сървър"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "цветове не са позволени"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"ограничено до %n потребител\n"
+"ограничен до %n потребители"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Режим"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "Адрес"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Списък с канали за %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Създаден"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Каналът е създаден на %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 е влезнал като %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Имена"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Край на списъка с имена."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "ТЕМА"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Каналът %1 още няма тема."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Тема"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Темата на канала за %1 е \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Темата беше зададена от %1 на %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Темата за %1 беше зададена от %2 на %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 всъщност използва хоста %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Няма такъв псевдоним/канал."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "%1: Няма такъв псевдоним."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Няма такъв канал."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Псевдоним"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Псевдонимът вече се използва, опитайте с друг псевдоним."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Псевдонимът вече се използва. Опит с %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Грешен псевдоним. Промяна на псевдонима на %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Не сте в %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Съобщение на деня:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Край на съобщението на деня"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Сега сте IRC оператор на този сървър."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Потребители"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Потребители в мрежата в момента: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Потребители в момента в %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Отсъства"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 отсъства: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Поканихте %1 в канал %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 е %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Разрешаване на %1 (%2) за адрес: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Разрешаването на адрес за %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 е идентифициран потребител."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Кой"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 е %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Отсъства)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Край на списък /WHO за %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 е потребител в канали: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 има глас в канали: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 е полуоператор в канали: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 е оператор в канали: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 е притежател на канали: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 е администратор на канали: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 е активен през %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 е наличен за помощ."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 е IRC оператор."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 ден\n"
+"%n дни"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 час\n"
+"%n часа"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 минута\n"
+"%n минути"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 секунда\n"
+"%n секунди"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 е неактивен от %2, %3, %4 и %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 е неактивен от %2, %3 и %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 е неактивен от %2 и %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 е неактивен от 1 секунди.\n"
+"%1 е неактивен от %n секунди."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 е активен от %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Край на списък WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Хост на потребителя"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 е %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC оператор)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (отсъства)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Списък"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Списък с канали:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n потребител): %2\n"
+"%1 (%n потребители): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Край на списъка с канали."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Списък с баннати:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 е зададен от %2 на %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Край на списъка с баннати."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 в момента е недостъпен."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: неизвестна команда."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Нерегистрирано."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Тази команда изисква повече параметри."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Зададохте лични режими: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "промени личните ви режими:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " задава режим: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Самоличност по подразбиране"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Редактиране на наблюдаван псевдоним"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Име на мрежа:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Изберете мрежа от сървъри, които ще използвате."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Псевдоним:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Псевдоним, който да се следи, когато има връзка със сървър в мрежата.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Промяна на информацията за уведомяване"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Свързването е подсигурено с %1 битов SSL."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Възможността да се свързвате към сървъри, използвайки SSL кодирана комуникация "
+"не е налична в Konversation, защото поддръжката на OpenSSL не е разрешена по "
+"време на компилирането. Трябва да вземете нова версия на KDE, която има SSL "
+"поддръжка."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL сертификатът, който беше върнат от сървъра не се разпознава. Възможно е "
+"този сървър да не поддържа SSL на този порт. Ако този сървър поддържа нормална "
+"не кодирана комуникация, тогава SSL ще е на различен порт."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"IP адресът на хост %1 не съвпада с този, на когото е издаден сертификатът."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Проверка на сървъра"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Подробности"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Сървърният (%1) сертификат не премина успешно теста за автентичност."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Искате ли да приемете този сертификат завинаги без да получавате запитвания?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Завинаги"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Само текущи сесии"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Осветяване] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Личен разговор] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 се присъедини към %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 излезе от %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 излезе от %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 си промени псевдонимът на %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 желае да ви изпрати файл"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 започна разговор (личен разговор) с вас."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 е активен (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 е неактивен (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Изритан сте от %1 от %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 започна dcc разговор с вас"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Осветяване] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Връзката с %1 беше неуспешна"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Присъединихте се към канал %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Фразата не е открита"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Косвено търсене"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Мрежов интерфейс"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Отговор от IRC сървър"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Ръчно задаване"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Избор на цветове на IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Без"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Сървър:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Име или IP адрес на сървъра. irchelp.org поддържа списък на сървърите."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Въведете искания номер на порт, за да се свържете към сървъра. За повечето "
+"сървъри би трябвало да е <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Парола:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "&Сигурна връзка (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Отбележете ако искате да използвате Secure Socket Layer (SSL) протокол за "
+"комуникация със сървъра. Това защитава тайната на вашата комуникация между "
+"вашия компютър и IRC сървъра. Сървърът трябва да поддържа SSL протокол. В "
+"повечето случаи, ако сървърът не поддържа SSL, връзката ще пропадне."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Изисква се адрес на сървъра."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Администраторът е ограничил правото да се изпращат файлове"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Адресът \"%1\" не съществува"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Не може да се намери \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Въведете име на файл"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Файлът, който изпращате на <i>%1</i> няма име."
+"<br>Моля въведете име на файл, което да се покаже на получателя или спрете dcc "
+"прехвърлянето</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Не беше зададено име на файл"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "Изпращането на DCC SEND заявка към партньора през IRC сървър."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Изчакване на приемането от отдалечения потребител"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Не може да се приеме връзката. (Грешка при сокета)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Не може да се отвори файл: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Грешка при сокета: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Изтичане на времето"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Неуспех на връзката: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Отдалеченият потребител прекъсна"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"Операцията беше успешна. Не би трябвало да се случва никога в диалог за грешка."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Не може да се чете от файл \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Не може да се пише във файл \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Възникна невъзстановима грешка."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Не може да се отвори файл \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Операцията беше прекъсната неочаквано."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Изтече времето на операцията."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Възникна неопределена грешка при затваряне."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Непозната грешка. Код %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC изпращане"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC получаване"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Reverse DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Непознат сървър"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 на %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (порт %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (порт %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Да, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1сек"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Конзола"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "В готовност."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Това показва броя на потребителите в канала и бройката на тези, които са "
+"оператори."
+"<p>Оператор на канал е потребител, който има специални привилегии, като "
+"възможност да изритва и осъжда потребители, да променя режимите на канала и да "
+"прави други потребители оператори</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Закъснение: неизвестно"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Цялата комуникация със сървъра е кодирана. По този начин подслушването на "
+"вашата комуникация е по-трудно."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Лентата за състоянието показва различни съобщения, включително за каквито и "
+"да е проблеми при свързването със сървъра. В най-дясната част е показано "
+"текущото закъснение към сървъра. Закъснението е времето, нужно на съобщение "
+"изпратено от вас да стигне до сървъра и от сървъра обратно до вас.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Закъснение: %1 мсек"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Закъснение: %1 сек"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Няма отговор от сървър %1 от повече от %2, %3, %4 и %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Няма отговор от сървър %1 от повече от %2, %3, %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Няма отговор от сървър %1 от повече от %2 и %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Няма отговор от сървър %1 повече от 1 секунди.\n"
+"Няма отговор от сървър %1 повече от %n секунди."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Търсене на сървър %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Сървър %1 не е открит. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Сървърът е открит, свързване..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Свързан; включване..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Свързването към сървър %1 беше неуспешно: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Няма връзка към %1:%2 използвайки SSL кодиране. Възможно е сървърът да те "
+"поддържа SSL или портът е неточен. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Грешка при SSL връзка"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Връзката със сървъра е прекъсната."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Нито един псевдоним на самоличност \"%1\" не бяха приети от връзка \"%2\".\n"
+"Моля, въведете нов или натиснете \"Отказ\" за прекъсване на връзката:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Грешка в псевдонима"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Възникна грешка при четене на информация от сървър: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Изберете файл(ове) за изпращане до %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 предлага да ви изпрати \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "непозната големина"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Молба към %1 да приеме качване на %2 (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "Получено е съобщение за \"%1\" от %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Продължение на свалянето на \"%1\" от %2, започвайки %3% на %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Получена е невалидно съобщение за продължаване на \"%1\" от %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Продължение качването на \"%1\" на %2, започвайки с %3% на %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Получена е невалидна заявка за продължаване за \"%1\" от %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Свалянето на \"%1\" от %2 завърши."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Свалянето на \"%1\" от %2 беше неуспешно. Причина: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Качването на \"%1\" на %2 приключи."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Качването на \"%1\" на %2 беше неуспешно. Причина: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Изпращане \"%1\" на %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Сваляне на \"%1\" (%2) от %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Бяхте поканен от %1 да се присъедините към канал %2. Искате ли да приемете "
+"поканата?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Покана"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Грешка: не може да бъде открит скрипт \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Грешка: Не може да бъде изпълнен скрипт \"%1\". Проверете правата."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Отсъства за сега."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Маркиран сте като отсъстващ."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Вече не сте маркиран като отсъстващ."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Вече не сте маркиран като отсъстващ."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Наблюдавани псевдоними"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Мрежа/Псевдоним/Канал"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Информация за програмата"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Това са всички псевдоними във вашия списък с наблюдавани псевдоними, "
+"показани под мрежата на сървъра, към който са включени. Списъкът също така "
+"включва псевдонимите в KAddressBook свързани с мрежата на сървъра.</p>"
+"<p>Колонката <b>Допълнителна информация</b> показва познатата информация за "
+"всеки псевдоним.</p>"
+"<p>Каналите, в които псевдонимът е влезнал са показани под всеки псевдоним.</p>"
+"<p>Псевдонимите, показващи се под <b>Неактивен</b> не са свързани към никой "
+"сървър в мрежата.</p>"
+"<p>Щракнете с десния бутон на мишката върху псевдоним, за да изпълните "
+"допълнителни функции.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Редактиране на списъка за наблюдение..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+"Щракнете, за да редактирате псевдонимите, които се появяват в този прозорец."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Адресна книга:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Когато маркирате псевдоним в списъка по-горе, бутоните тук се използват, за да "
+"свържете псевдонимите със запис в KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Редактиране на к&онтакт..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Щракнете, за да създадете, видите или редактирате запис в KAddressBook, свързан "
+"с псевдоним от списъка по-горе."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Промяна на асоциации..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Щракнете, за да свържете избрания псевдоним по-горе със запис в KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Изтриване на асоциация"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Щракнете, за да премахнете връзката между псевдонимът маркиран по-горе и запис "
+"в KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " активен през %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " от %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Неактивен"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Глас"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Полуоператор"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Оператор"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Притежател"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Администратор"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Създаване на нов к&онтакт..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Избиране на асоциация..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Присъединяване към канал"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Изберете звуков файл"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Файл-регистърът е стартиран\n"
+"*** на %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Автоматично присъединяване при покана"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Имайте предвид, че записването на файл-регистъра ще запише целия файл"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Потвърждение преди изтриване съдържанието на файл-регистър"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Потвърждение преди затваряне на разговор след игнориране на участника"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Питане преди свързване към друг сървър в мрежата"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Питане преди свързване към друг сървър в мрежата"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Затваряне на подпрозорец за сървър"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Затваряне на подпрозорец на канал"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Затваряне на подпрозорец с личен разговор"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"Списъкът с канали може да се отвори само от подпрозорци, свързани със сървър"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Предупреждение при скриване на менюто на основния прозорец"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Предупреждение при висок трафик със списъка от канали"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Предупреждение при поставяне на големи части текст"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Предупреждение при изход от Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Списък с канали"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Настройки за филтриране"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Минимално потребители:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Максимално потребители:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Можете да ограничите каналите до тези канали, с минимален брой потребители в "
+"канала. Избирането на 0 изключва тази настройка."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Можете да ограничите каналите до тези канали, с максимален брой потребители в "
+"канала. Избирането на 0 изключва тази настройка."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Шаблон на филтъра:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Цел за филтриране:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Въвеждане на филтриращ низ."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Регулярен израз"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Прилагане на филтър"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Щракнете, за да получите списъка с канали от сървъра и да приложите филтъра."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Тук е показан филтрираният списък с канали. Имайте предвид, че ако не "
+"използвате регулярни изрази, Konversation показва всички канали, съдържащи "
+"филтриращия низ, който сте въвели. Не е задължително името на канала да започва "
+"с низа, който сте въвели.\n"
+"\n"
+"Изберете канал, към който искате да се присъедините, като щракнете върху него. "
+"Щракнете с десния бутон, за да вземете списък на всички уеб адреси, споменати в "
+"темите на каналите."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Име на канал"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Тема на канал"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Обновяване на списъка"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Запис на списък..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Присъединяване към канал"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Щракнете тук, за да се присъедините към канала. Създава се нов подпрозорец за "
+"канала."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Записване на списъка с канали"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Списък с канали на Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Канали: %1 (%2 показани)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Не уникални потребители: %1 (%2 показани)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Отваряне на URL адрес"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Няма открит URL адрес>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Списък с канали за %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Активен"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation за обмен на незабавни "
+"съобщения, но не определи до кого да се изпрати съобщението. Вероятно това е "
+"грешка в другата програма."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation за обмен на незабавни "
+"съобщения, но Konversation не можа да открие определения получател в адресната "
+"книга на KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation за обмен на незабавни "
+"съобщения, но заявеният потребител %1 в момента не е активен."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation, за да изпрати файл до "
+"получател, но не определи до кого да изпрати файла. Вероятно това е грешка в "
+"другата програма."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation, за да изпрати файл до "
+"получател, но Konversation не можа да открие определения получател в адресната "
+"книга на KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation, за да изпрати файл до "
+"получател, но заявеният потребител %1 в момента не е активен."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Друга програма на KDE се опита да използва Konversation, за да добави контакт. "
+"Konversation не поддържа това."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Не може да бъде стартирана вашата програма за адресна книга (kaddressbook). "
+"Това вероятно е защото не е инсталирана. Моля, инсталирайте пакетите "
+"\"kdepim\"."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"Контактът, който маркирахте, няма адрес за електронна поща асоцииран към него. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Не може да бъде изпратена електронна поща"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Не може да се стартира вашата програма за електронна поща. Това вероятно е "
+"така, защото не е инсталирана. За да инсталирате програмата за електронна поща "
+"на KDE (kmail), моля инсталирайте пакетите \"kdepim\"."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Нито един от контактите, които маркирахте, не беше асоцииран със запис в "
+"адресната книга. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Контактът, които маркирахте не е асоцииран с контакт от адресната книга. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Някои от контактите (%1), които маркирахте не са асоциирани с контакти от "
+"адресната книга. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Един от контактите (%1), които маркирахте не е асоцииран с контакт от адресната "
+"книга. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Можете да щракнете с десния бутон на мишката върху контакт и да изберете да "
+"редактиране асоциациите на адресната книга, за да ги свържете с контакт във "
+"вашата адресна книга."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Нито един от контактите, които маркирахте няма адрес за електронна поща, "
+"асоцииран към него. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Някои от контактите (%1), които маркирахте нямат адрес за електронна поща, "
+"асоцииран към него. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Един от контактите (%1), които маркирахте няма адрес за електронна поща, "
+"асоцииран към него. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Можете да щракнете с десния бутон на мишката върху контакт, за да изберете да "
+"редактирате контакт от адресната книга и да добавите адрес за електронна поща "
+"към него."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Някои от контактите (%1), които маркирахте, не са асоциирани с контакти от "
+"адресната книга и някои от контактите (%2) нямат адрес за електронна поща, "
+"асоцииран към тях. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Можете да щракнете с десния бутон на мишката върху контакт, за да изберете да "
+"редактирате асоциациите на адресната книга, за да ги свържете с контакт във "
+"вашата адресна книга, да изберете да редактирате контакт в адресната книга, да "
+"добавите адрес за електронна поща към тях."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Искате ли да изпратите електронна поща във всеки случай до псевдонимите, които "
+"нямат адрес за електронна поща?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Изпращане на електронна поща"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Свързване на псевдоними от IRC към контакт от адресната книга"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Избиране на лице, който е \"%1\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "В момента \"%1\" е асоцииран с контакт."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "В момента \"%1\" е асоцииран с контакт \"%2\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Предупреждение:</b> \"%1\" в момента принадлежи към множество контакти. "
+"Моля, изберете правилният контакт.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Нов запис в адресната книга"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Дайте име на новия запис:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Ловец на URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Списък с постоянни източници на ресурси, споменати във всеки прозорец на "
+"Konversation по време на тази сесия."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Отваряне на URL адрес"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Изберете <b>URL адрес</b> по-горе, след което щракнете този бутон, за да "
+"стартирате програмата, асоциирана с типа mime на URL адреса.</p>"
+"<p>В меню<b>Настройки</b>, под <b>Поведение</b> | <b>основни</b>"
+", можете да зададете потребителски браузър за уеб URL адреси.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Копиране на URL адрес"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Изберете <b>URL адрес</b> по-горе, след което щракнете този бутон, за да "
+"копирате URL адресът в системния буфер."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Изтриване на URL адрес"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Изберете <b>URL адрес</b> по-горе, след което щракнете този бутон, за да "
+"изтриете URL адреса от списъка."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Списък със сървъри..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Щракнете, за да запишете целия списък във файл."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Изчистване на списъка"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Щракнете, за да изтриете целия списък."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Записване на списъка с URL адреси"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Редактиране на многоредово поставяне"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Добавяне на индикатори за &цитат"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Канал:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Изисква се има на канал."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Необработен файл-регистър"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Търсене на текст в текущия подпрозорец"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Списък с канали за %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Отваряне на файл-регистър за %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Настройки на &канала за %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "По подразбиране ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Може да търсите само в текстови полета."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Търсене на текстова информация"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Файл-регистър на %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC статус"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Използването на тази функция може да доведе до голям мрежов трафик. Ако "
+"връзката ви не е достатъчно бърза, възможно е да бъдете изключен от сървъра."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Предупреждение на списъка с канали"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"За да откриете към кой сървър принадлежи този списък с канали, можете да го "
+"отворите само от личен разговор, канал или статус прозорец."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Тук въведете името на мрежата. Можете да създадете колкото искате записа в "
+"екрана със списъка на сървърите с една и съща мрежа."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Изберете съществуваща самоличност или щракнете бутона за редактиране, за да "
+"добавите нова самоличност или да редактирате вече съществуваща. Самоличността "
+"ще ви идентифицира и ще определя вашия псевдоним, когато се свържете към "
+"мрежата."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Незадължително. Тази команда ще се изпрати към сървъра след свързване. Пример: "
+"<b>/msg NickServ IDENTIFY <i>konvirocks</i></b>. Този пример е за мрежа със "
+"свободни възли, което изисква потребителите да регистрират техните псевдоними с "
+"пароли и да се включват, когато се свързват. <i>konvirocks<i> "
+"е паролата за псевдонима, зададен в самоличността. Може да въведете повече от "
+"една команда, като като ги разделите с точка и запетая."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Маркирайте тук, ако искате Konversation автоматично да се свързва към тази "
+"мрежа всеки път, когато отваряте Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Това е списък с IRC сървъри в мрежата. Когато се свързвате към мрежата, "
+"Konversation ще направи опит да се свърже със сървъра на първа позиция. Ако е "
+"неуспешно, ще направи опит да се свърже с втория сървър. Ако е неуспешно, с "
+"третия и т.н. Поне с един сървър трябва да е определен. Щракнете върху сървър, "
+"за да го осветите."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Незадължително. Това е списък с канали, към които ще се присъедините "
+"автоматично, когато Konversation се свързва към сървър. Можете да го оставите "
+"празно, ако не искате автоматично да се присъединявате към канали."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Промяна на информацията за мрежата"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Добавяне на сървър"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Редактиране не сървър"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Добавяне на канал"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Редактиране на канал"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Изисква се име на мрежа."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Трябва да добавите поне един сървър към мрежата."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Теми на Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Изберете пакет с тема"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Свалянето на тема е неуспешно"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Архивът с тема е повреден."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Темата не може да се инсталира"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Искате ли да премахнете %1 ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Премахване на тема"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC Клиент"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Избиране на получател"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Избиране на псевдоним и затваряне на прозореца"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Затваряне на прозореца без промени"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: сървърът %1 не е открит."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Администраторът е ограничил правото да се получават файлове"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Неподдържани преговори (filesize=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Не може да бъде създадена папка.</b><br>Папка: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Не може да бъде създаден обект KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Файлът се използва в друго прехвърляне.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Съществува частичен файл</b>"
+"<br>%1"
+"<br>Големина на частичния файл: %2 байта"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Вече има такъв файл.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Файлът не може да бъде отворен.<br>Грешка: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr "Уведомяването Reverse DCC SEND на партньора чрез IRC беше неуспешно."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Изчакване за връзка"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Изчакване за приемане от отдалечения хост"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Изпращането на DCC RECV заявка за продължение до партньора чрез IRC сървър беше "
+"неуспешно."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Неочакван отговор от отдалечения хост"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Грешка при прехвърляне"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO грешка: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Малко допълнително информация за човека, с когото говорите в този личен "
+"разговор е показана в тази лента. Пълното име и хост-маската са показани заедно "
+"с картинката, която този човек е асоциирал с тях в адресната книга на KDE."
+"<p>Прегледайте <i>инструкциите на Konversation</i> за информация по "
+"асоциирането на псевдоним с контакт в адресната книга и за обяснение какво "
+"представляват хост-маските.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(отсъства)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Искате ли да игнорирате %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Искате ли да затворите личния разговор, след като игнорирате този псевдоним?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Затваряне на личния разговор"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Запазване отворено"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Ще спрете ли да игнорирате %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Самоличност по подразбиране ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Искате ли да затворите разговора с %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Затваряне"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Говорене на себе си"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 напусна сървъра."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 напусна сървъра (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Преглед на OSD - влачете прозореца"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Оператор"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Администратор"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Притежател"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Полуоператор"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Има глас"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Поведение"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Известявания"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Прозорец за разговор"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Теми за списъка с псевдоними"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Цветове"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Бързи бутони"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Връзка"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Списък с псевдоними"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Командни псевдоними"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Автозаместване"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Влизане"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Осветяване"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Наблюдавани псевдоними"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "On Screen Display (OSD)"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Предупредителни прозорци"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Въпрос за DCC получаване"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Продължаване"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "&Оригинално име на файл"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Предложение за &ново име на файла"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Презапис"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Пре&именуване"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Търсене напред"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Чувствителен регистър"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Само цели думи"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "От текущата позиция"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Затваряне на &подпрозорец"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Искате ли да прекъснете връзката с \"%1\"?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Прекъсната е връзката от сървъра"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Прекъсната връзка"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Започнат на"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Статус"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Партньор"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Напредък"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Позиция"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Остава"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Скорост"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Адрес на изпращача"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Приемане"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Прекъсване"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Отваряне на файл"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Стартиране на получаването"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Прекъсване на задачата(ите) за прехвърляне"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Стартиране на файла"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Преглед на подробната информация за DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Маркиране на всички"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "М&аркиране на всички завършени"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Приемане"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "П&рекъсване"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Ново изпращане"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Изчистване"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Отваряне на файл"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Информация за файла"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Редактиране настройките на канала"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Всеки канал в IRC има асоциирана с него тема. Това е обикновено съобщение, "
+"което всеки може да види."
+"<p>Ако сте оператор, или режим на канала <em>\"T\"</em> "
+"не е зададен, тогава можете да променяте темата като натиснете бутона за "
+"редактиране на настройките на канала, вляво от темата. Също така можете да "
+"видите история на темите.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p>Режим <b>Т</b>ема означава, че само операторите на канала могат да променят "
+"темата за канала.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p>Съобщенията <b>Н</b>е идващи отвън, означава че потребителите, които не са в "
+"канала не могат да изпращат съобщения, които всеки в канала може да види. Почти "
+"всеки канал има зададено това, за да се предотвратят неприятните съобщения.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p><b>Т</b>айните канал няма да бъде показани в списъка с канали, нито "
+"потребителите ще могат да виждат, че сте в канал с команда <em>WHOIS</em> "
+"или каквато и да е подобна команда. Ако този режим е зададен, само "
+"потребителите, които са в същия канал ще знаят, че сте в този канал.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p>Канал <b>с</b>амо с покани означава, че потребителите могат да влизат в "
+"канала само ако са поканени. За да поканите някого, оператор на канала трябва "
+"да издаде команда <em>/invite псевдоним</em> в канала.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p><b>Л</b>ичните канали се показват в списъка с канали, но темите им не се "
+"показват. Потребителска команда <em>WHOIS</e> може да покаже, че сте в личен "
+"канал, в зависимост от IRC сървъра.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p><b>М</b>одериран канал е канал, в който само операторите, полуоператорите "
+"или тези с глас могат да разговарят.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p><b>З</b>ащитените канали изискват потребителите да въвеждат парола, за да "
+"могат да се присъединят.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p>Канал, който има <b>о</b>граничение за потребителите означава, че само "
+"толкова потребителя могат да са в канала по едно и също време. Някои канали "
+"имат бот, който седи в канала и променя ограничението автоматично, в зависимост "
+"от натовареността на канала.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Максимално позволен брой потребители в канала"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Това е лимита за потребители на канала - максималният брой потребители, "
+"които могат да са в канала по едно и също време. Ако сте оператор, можете да "
+"го променяте. Режимът на канала <b>Т</b>ема (бутонът в ляво) ще се настрои "
+"автоматично, ако зададете това.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Това показва текущият ви псевдоним и всички алтернативи, които сте задали. "
+"Ако изберете или напишете различен псевдоним, тогава заявка ще се изпрати до "
+"IRC сървър, за да се промени вашия псевдоним. Ако сървърът го позволи, новият "
+"псевдоним ще е маркиран. Ако напишете нов псевдоним, трябва да натиснете "
+"\"Enter\" накрая."
+"<p> Можете да добавяте допълнителни псевдоними от настройката <em>"
+"Самоличности</em> в меню <em>Файл</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Искате ли да игнорирате избраните потребители?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Ще спрете ли да игнорирате избраните потребители?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Завършване"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Възможно завършване: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Парола на канала"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Ограничения за псевдоним"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Въведете ограничение за псевдоним:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Вече сте познат като %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 вече е познат като %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Присъединихте се към канал %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 се присъедини към канала (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Напуснахте този сървър."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Напуснахте този сървър (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Напуснахте канал %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Напуснахте канала %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 напусна сървъра (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 напусна този канал."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 напусна канала (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Сам се изритахте от канал %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Сам се изритахте от канал %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Бяхте изритан от канал %1 от %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Бяхте изритан от канал %1 от %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Изритахте %1 от канала."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Изритахте %1 от канала (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 беше изритан от канала от %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 беше изритан от канала от %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n псевдоним\n"
+"%n псевдонима"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n оператор)\n"
+" (%n оператора)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Темата на канала е \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Зададохте темата на канала да е \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 задава темата на канала да е \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Дадохте си привилегии на притежател за канала."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Дадохте привилегии на притежател за канала на %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 ви дава привилегии на притежател за канала."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 дава привилегии на притежател за канала на %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Вземате привилегии на притежател за канала от себе си."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Вземате привилегии на притежател за канала от %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 взима привилегии на притежател за канала от вас."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 взима привилегии на притежател за канала от %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Дадохте си привилегии на администратор за канала."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Дадохте привилегии на администратор за канала на %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 ви дава привилегии на администратор за канала."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 дава привилегии на администратор за канала на %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Отнемате привилегии на администратор за канала от себе си."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Отнемате привилегии на администратор за канала от %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 отнема привилегии на администратор за канала от вас."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 отнема привилегии на администратор на %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Дадохте си операторски права за канала."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Дадохте операторски права на %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 ви дава операторски права."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 дава операторски права на %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Вземате операторски права от себе си."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Вземате операторски права от %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 взима операторски права от вас."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 взима операторски права от %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Дадохте си полуоператорски права за канала."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Дадохте полуоператорски права на %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 ви дава полуоператорски права."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 дава полуоператорски права на %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Вземате полуоператорски права от себе си."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Вземате полуоператорски права от %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 взима полуоператорски права от вас."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 взима полуоператорски права от %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Давате си право за говорене."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Давате право за говорене на %1."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 ви дава право за говорене."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 дава право за говорене на %2."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Отнемате правото за говорете от себе си."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Отнемате правото за говорене на %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 ви отнема правото на говорене."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 отнема правото на говорене на %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Задавате режим на канала \"цветове не са позволени\"."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 задава режим на канала \"цветове не са позволени\"."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Задавате режим на канала \"цветният код е позволен\"."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 задава режим на канала \"цветният код е позволен\"."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Задавате режим на канала \"само с покани\"."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 задава режим на канала \"само с покани\"."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Премахвате режим \"само с покани\" на този канал."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 премахва режим \"само с покани\" на този канал."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Задавате режим на канала \"модериран\"."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 задава режим на канала \"модериран\"."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Задавате режим на канала \"не модериран\"."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 задава режим на канала \"не модериран\"."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr ""
+"Задавате режим на канала \"забранени са съобщения, идващи извън канала\"."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr ""
+"%1 задава режим на канала \"забранени са съобщения, идващи извън канала\"."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr ""
+"Задавате режим на канала \"разрешени са съобщения, идващи извън канала\"."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr ""
+"%1 задава режим на канала \"разрешени са съобщения, идващи извън канала\"."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Задавате режим на канала \"личен\"."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 задава режим на канала \"личен\"."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Задавате режим на канала \"публичен\"."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 задава режим на канала \"публичен\"."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Задавате режим на канала \"таен\"."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 задава режим на канала \"таен\"."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Задавате режим на канала \"видим\"."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 задава режим на канала \"видим\"."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Включихте \"защита на темата\"."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 включи \"защита на темата\"."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Изключихте \"защита на темата\"."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 изключи \"защита на темата\"."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Зададохте темата на канала да е \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 задава темата на канала да е \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Премахнахте ограничението на канала."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 премахна ограничението на канала."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Зададохте ограничение на канала на %1 псевдонима."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 зададе ограничение на канала на %2 псевдонима."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Премахнахте ограничението на канала."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 премахна ограничението на канала."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Баннахте %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 банва %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Премахнахте бан на %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 премахна бан на %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Зададохте изключение при банване на %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 е задал изключение при банване на %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Премахнахте изключение за банване на %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 премахна изключение при банване на %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Зададохте маска на покана %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 зададе маска на покана %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Премахнахте маска на покана %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 премахна маска на покана %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Зададохте режим на канала +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 зададе режим на канала +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Зададохте режим на канала -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 зададе режим на канала -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Трябва да сте оператор, за да промените това."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Темата може да бъде сменяна само от оператори на канала. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Не са разрешени съобщения, идващи от клиенти, които са навън. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "таен канал. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Само с покани. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Личен канал. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Модериран канал. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Защитаване на канал с парола."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Задаване на потребителски лимит на канала."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Искате ли да напуснете %1 ?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Напускане на канал"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Напускане"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Красимира Минчева"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "krasimira_m@yahoo.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "На опашка"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Редове: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " байта"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Звук:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Редове: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " байта"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Нормални потребители"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "На опашка"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "На опашка"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Получаване"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Име на бутона"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Действие на бутона"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Действие на бутона:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Име на бутона:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Налични места"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: Текущ канал\n"
+"%k: Парола на канала\n"
+"%K: Парола на сървъра\n"
+"%u:Списък с избрани псевдоними\n"
+"%s<term>%: начин да се разделят псевдонимите в %u\n"
+"%n: Изпращане на команда директно до сървъра, вместо до входния ред"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Файл:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Себе си:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Тип:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Състояние:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Местоположение:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Напредък:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Партньор:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Отваряне на файл"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Размер на файл:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Средна скорост:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Възобновено:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Текуща скорост:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Текуща позиция:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Оставащо време:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Предложено на:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Завършено на:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Започнато на:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Време за прехвърляне:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Автоматично свързване при прекъсване на връзката"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Макс. просрочено време за ново свързване:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Опити за ново свързване:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " секунди"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Без ограничение"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Откриване на грешки"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Показване на необработените файл-&регистри при свързване"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Шаблон"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Тип"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Шаблон:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Типове съобщения"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Нов"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Премахване на &всички"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Име на мрежа:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Самоличност:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Команди:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "&Свързване при стартиране на програмата"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Сървъри"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Добавяне..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Редактиране..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Автоматично присъединяване към канали"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Ре&дактиране..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Псевдоним:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Заместник:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Псевдоним"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Заместник"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Търсене на &следващ"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Търсене на предишен"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Команда, която ще се изпълни при двойно щракане:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Сортиране с &чувствителност към регистъра"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Сортиране по &активност"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Сортиране &по статус на потребителя"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Обяснение"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Променете псевдонимите чрез влачене и пускане)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Настройване на тема"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&Инсталиране на тема..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Премахване на тема"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Икона за нормални потребители"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Икона за отсъстващи потребители"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Икона за потребители с глас"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Икона за потребители с полу-операторски права"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Икона за потребители с операторски права"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Икона за потребители с администраторски права"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Икона за потребители с права на притежател"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Преглед:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Изглед"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Местоположение:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Показване на &затварящ бутон в подпрозорците"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Показване на затварящ бутон от&дясно на подпрозореца"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Ограничаване ра&змера на подпрозорците, така че да се вместят в екрана"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Фокусиране"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Фокусиране върху новите подпрозорци"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Фокусиране върху новите &лични разговори"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Режим"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Команда за &изпълнение при двойно щракване върху псевдоним:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Когато щракнете два пъти върху псевдоним в прозореца <b>"
+"Активни псевдоними</b>, тази\n"
+"команда ще се постави във <b>входния ред</b> на прозореца на сървъра.</p>\n"
+"<p>Следните символи могат да се използват в командата:</p>"
+"<ul>\n"
+"<li>%u: Двойно щракнат псевдоним.</li>\n"
+"<li>%K: Парола на сървъра.</li>\n"
+"<li>%n: Изпращане на командата директно до сървъра, вместо до входния ред.</li>"
+"\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Когато щракнете два пъти върху псевдоним в прозореца <b>"
+"Активни псевдоними</b>, тази\n"
+"команда ще се постави във <b>входния ред</b> на прозореца на сървъра.</p>\n"
+"<p>Следните символи могат да се използват в командата:</p>"
+"<ul>\n"
+"<li>%u: Двойно щракнат псевдоним.</li>\n"
+"<li>%K: Парола на сървъра.</li>\n"
+"<li>%n: Изпращане на командата директно до сървъра, вместо до входния ред.</li>"
+"\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Интервал на &обновяване:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation ще проверява статуса на псевдонимите в списъка по-долу през този "
+"интервал от време."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+"Показване на активните наблюдавани псевдоними при стартиране на &програмата"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Когато е маркирано, прозорец <b>Активни псевдоними</b> "
+"ще бъде отворен автоматично при стартиране на Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Наблюдение на псевдонимите"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Когато наблюдението на псевдоними е включено, ще бъдете уведомен, когато "
+"псевдоним намиращ се в списъка за <b>Наблюдавани Мрежи/Псевдоними</b> "
+"стане активен или неактивен.</p>\n"
+"<p>Също така можете да отворите прозореца <b>Активни псевдоними</b> "
+", за да видите статуса на всички наблюдавани псевдоними.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Мрежа:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "Мрежата IRC сървъри (като \"freenode\"\")за наблюдение е включена."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Псевдоним (потребителско име) за наблюдение на избрания човек"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Наблюдавани Мрежи/Псевдоними"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Когато наблюдението на псевдоними е включено, ще бъдете уведомен, когато "
+"псевдоним намиращ се в списъка за <b>Наблюдавани Мрежи/Псевдоними</b> "
+"стане активен или неактивен.</p>\n"
+"<p>Също така можете да отворите прозореца <b>Активни псевдоними</b> "
+", за да видите статуса на всички наблюдавани псевдоними.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Щракнете, за да добавите псевдоним към списъка."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Щракнете, за да премахнете маркирания псевдоним от списъка."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Включване на регистрирането"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Имена на файл-регистрите с &малки букви"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Прикачване името на хоста към файл-регистрите"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Път до файл-регистъра:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Включване на системния панел"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Уведомяване в системния панел при ново съобщение"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Уведомяване само когато е включено осветяване или се използва текущия ви "
+"псевдоним"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "&Мигане на иконата"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Завършване на псевдонима"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Режим на завършване:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Превъртане на списъка с псевдоними"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Като шел"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Като шел с поле за завършване"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "&Представка в началото на реда:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Другаде:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Чувствителен регистър"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Изключване на уведомяването при &отсъствие"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Използване на потребителски отговор за &версия:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Тук може да зададете ваш отговор за <b>CTCP <i>VERSION</i></b> заявки.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Входящата кутия се разширява според текста"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Кома&нден символ:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Използване на потребителски уеб &браузър:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Ограничаване размера на подпрозорците за се вместят в екрана"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Скриване в лентата за превъртане"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Включете тук ако искате всички входни IRC линии да проверяват правописа докато "
+"пишете"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "Ако включите това входящата кутия ще свети, когато се напълни."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Поставяне в системния панел"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Стартиране със скрит главен прозорец"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Показване на истинските имена до псевдонимите"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr ""
+"Отваряне на подпрозореца със наблюдаваните псевдоними при стартиране на "
+"програмата"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Емоции"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Тема на иконите за емоции"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Тема"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Дата"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&Режими"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Темата на канала може да бъде сменяна само от операторите на канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Не са позволени съобщения, идващи извън канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Таен канал, каналът не е показан в списъка с канали"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Само на &поканени е позволено да се присъединят към канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Тези контролират <em>режима</em> на канала. Само оператор може да ги "
+"променя."
+"<p>Канал <b>с</b>амо с покани означава, че потребителите могат да влизат в "
+"канала само ако са поканени. За да поканите някого, оператор на канала трябва "
+"да издаде команда <em>/invite псевдоним</em> в канала.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"&Модериран канал, само потребителите с глас могат да пишат в този канал"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Парола на канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Ограничение за потребители:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Показване на &разширени режими >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Параметър"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Списък с баннати"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Премахване на бан"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Добавяне на бан"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Хостмаска"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Зададена от"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Задаване на времето"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Търсене:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "Настройки на DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Папка за &сваляне:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Добавяне на изпращача към името на файла"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&Създаване на папка за изпращача"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Преобразуване на интервалите на имената в долни черти преди изпращане"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "&Автоматично приемане на заявки за сваляне"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "&Автоматично продължаване на свалянето"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Включване на бързо DCC изпращане (Може да &не работи с всички клиенти)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&Големина на буфера:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "&Просрочено време за изпращане на DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Връщане към IPv&4 интерфейс за DCC изпращане:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Ако тази настройка е включена, DCC прехвърлянията за IPv6 връзки ще се "
+"извършват върху интерфейс IPv4 настроен тук"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " байта"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " сек"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Включване на пасивно DCC изпращане"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Метод за вземане на собствено IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Собствено IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Портове"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Включване на специфични по&ртове за DCC разговор:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "до"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Включване на специфични пор&тове за DCC сървър:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Използване на оцветен текст"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Използване на цветни LED"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Събитие от програмата"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Такива събития се появяват в подпрозорците на конзолата, DCC и др. подпрозорци "
+"на програми, които не се използват директно в разговора."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Съобщение"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Лично съобщение"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Използване на текущия псевдоним"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Събитие в канал"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Събития на канал са промени в режима или присъединяващи се/напускащи "
+"потребители."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Предимство за осветените цветове в прозореца"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Ако включите това, избраните в страницата за настройки цветовете ще се наложат "
+"над тези за \"Използван псевдоним\" и \"Осветяване\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "&Фиксиран шрифт за MOTD съобщенията"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Показване на MOTD (Съобщение на деня) съобщение с фиксиран шрифт"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Показване псевдонимите на изпращачите с &удебелен шрифт"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Текст на разговора:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Списък с псевдоними:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Подпрозорец:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Списък с осветяване"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Осветени"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Звук"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Автоматичен текст"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Образец:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Цвят:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Звук:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Проба на звука"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Автоматичен текст:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Включване на звук за осветените записи"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Текущият собствен псевдоним да е &винаги осветен:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Собствените &редове да са винаги осветени:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Създаване на нов &запис..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Създаване на нов запис във вашата адресна книга"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Снимка"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Име"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Изберете човека, с който искате да комуникирате чрез незабавни съобщения"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Търсене:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Включване на &системен звук при входящ ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Възпроизвежда се системен звук, когато получите контролен символ ASCII BEL "
+"(0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Скриване на събитията &Присъединяване/Излизане/Псевдоним"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Изключване раз&ширението на променлива (например %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Да не се разширяват променливи при изпращане на текст към сървъра. Една "
+"променлива започва, например, с \"%\";, %B ще се разшири до символи, нужни за "
+"да се потъмни текста."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Пренасочване на всички съобщения за статуса към този на сървъра"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Ограничение за пре&въртане:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Колко реда да се пазят в буферите, 0 = без ограничение"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Използване на необработени състояния за промяната на режима"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Запазване на низа на режима на канала като като комбинация от символи вместо да "
+"бъдат преведени в четими думи. Например: \"*** Режими на канала: без съобщения "
+"отвън\" ще стана\"*** Режими на канала: n\""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " реда"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Списък със сървъри"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Показване на напомнящи линии във всички прозорци за разговори"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Вмъкване на напомняща линия при превключване към друг прозорец или минимизиране "
+"на програмата."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Автоматично търсене на информация за потребителя (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Максимален брой потребители в канала:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " псевдонима"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Интервал на обновяване:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Показване върху екрана (OSD)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "При показване на е&крана"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Изчертаване на сенки"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD шрифт:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Показване на &OSD съобщение"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&Ако вашият псевдоним се появи в съобщение в канала"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "При &всяко съобщение в канала"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "При активност в &личен разговор"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "При &събитията Присъединяване/Излизане"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Потребителски цветове"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Цвят на &текста:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Цвят на &фона:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Други настройки"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Продължителност:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Екран:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " мс"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Прозорец"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Нов"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Премахване"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Заместване в"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Търсене"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Заместване с"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Замяна в:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Търсене:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Замяна с:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "&Показване на часа"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Показване на &датите"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Формат:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Показване на регистъра"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Редове: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Подредба"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Показване на темата на канала"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Показване на бутоните за &режимите на канала"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Показване на лентата за превъртане"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Показване на &поле за смяна на собствения псевдоним"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Показване на &бързите бутони"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Показване на истинските имена до псевдонимите"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Показване на списък с &псевдонимите и бързите бутони"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Показване на хост-&маските в списъка с псевдоними"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Картинка за &фон"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Път:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Потребителски цветове"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Използване на потребителски цветове за входящата кутия, списъка с псевдоними и "
+"подпрозорци"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Фон:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Съобщение от сървъра:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Препратка:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Съобщение от канала:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Действие:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Регистър:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "&Командно съобщение:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Съобщение в &личния разговор:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Време:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "&Заместващ фон:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Цветни псевдоними"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Цвят на собствените псевдоними:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Разрешаване на цветен текст в IRC съобщенията"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Включвайки тази настройка, цветните кодове добавени към IRC съобщенията, ще "
+"бъдат показвани във вашия прозорец за разговор като оцветен текст. Можете да "
+"добавяте цветови кодове към вашите съобщения, като изберете Вмъкване -> "
+"IRC цвят"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Преглед"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Така ще изглежда вашето съобщение с тези цветове"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Това е образец, как ще изглежда вашето съобщение за тези които ще го четат, "
+"ако изберете тези цветове."
+"<br>\n"
+"<b>Забележка: Не всички клиентски програми поддържат това, а някои потребители "
+"може да са избрали да игнорират вашите цветови промени.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Избраният цвят за текст е добавен към входния ред."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Тук ще избирате какъв цвят искате да бъде текстът във вашето следващо "
+"съобщение. Ако си изберете цвят и натиснете \"ОК\", избраният цвят ще се добави "
+"към входния ред. Всеки текст написан след това ще бъде в същия цвят докато не "
+"го промените отново."
+"<br>\n"
+"<b>Забележка: Не всички потребители включват настройката да виждат това.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Цвят за преден план:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Избраният текстово-фонов цвят е добавен към входния ред."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Тук избирате какъв цвят да е фона за текста в следващото съобщение, което "
+"ще изпращате.\n"
+"Ако си изберете цвят и натиснете \"ОК\", избраният цвят ще се добави към "
+"входния ред.\n"
+"Всеки текст, написан след това, ще има избраният цвят, докато не го промените "
+"отново."
+"<br>\n"
+"Избирайки по подразбиране \"<i>Никой</i>\" няма да промени фона на вашето "
+"съобщение, така че тези, които ще четат вашето съобщение, ще го видят с техния "
+"нормален фон за текст."
+"<br>\n"
+"<b>Забележка: Не всички клиентски програми поддържат това и не всички "
+"потребители са включили настройката да го виждат.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Показване на предупредителни диалогови прозорци"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Парола:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Сървър:"
+
+#~ msgid "Messages"
+#~ msgstr "Съобщения"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Показване на съобщение при &отсъствие"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Задаване на глобална &наличност"
+
+#~ msgid " s"
+#~ msgstr " с"
+
+#~ msgid "Every "
+#~ msgstr "Всеки "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Предупреждение при изтриване на файл, получен по DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Клавишът за %1 е зададен успешно."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Не може да се премахне файл \"%1\"."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC грешка"
+
+#~ msgid "Remove File"
+#~ msgstr "Премахване на файл"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Подробности за прехвърлянето"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Премахване от този панел"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Премахване на получените файлове"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Премахване на файл"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Наистина ли искате да премахнете избрания файл?\n"
+#~ "Наистина ли искате да премахнете избраните %n файла?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Потвърждение на изтриването"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Показване на истинското име на човека до неговият/нейният псевдоним в списъка с псевдоними."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Връзката към сървър %1 е прекъсната: %2. Опит за нов свързване."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Използване на сървър %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "2-минутно изчакване преди поредния опит за свързване..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Налични настройки за групи: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Налични настройки в група %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Употреба: %1PREFS <група> <порция> <стойност> или %2PREFS LIST за списък с групи или %3PREFS group LIST, за да се изведе списък с настройките в група. Сложете в кавички параметрите, които съдържат интервал."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Подробности за прехвърлянето"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Ключ на канала:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Вмъкване на напомняща &линия при отсъствие"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Вмъкване на &напомняща линия при скрит прозорец за разговор"
+
+#~ msgid "&Connection"
+#~ msgstr "&Връзка"
diff --git a/po/ca/Makefile.am b/po/ca/Makefile.am
new file mode 100644
index 0000000..8f8e4c6
--- /dev/null
+++ b/po/ca/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ca
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ca/konversation.po b/po/ca/konversation.po
new file mode 100644
index 0000000..b64df41
--- /dev/null
+++ b/po/ca/konversation.po
@@ -0,0 +1,7385 @@
+# translation of konversation.po to Catalan
+# Albert Astals Cid <aacid@kde.org>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-08-28 23:34+0200\n"
+"Last-Translator: Albert Astals Cid <aacid@kde.org>\n"
+"Language-Team: Catalan <kde-i18n-ca@kde.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Paràmetres de canal per %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Oculta els modes avançats <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Mostra els modes avançats >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Nou"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "desconegut"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Informació disponible pel fitxer %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informació del fitxer"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "No s'ha trobat informació detallada per aquest fitxer."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Envia"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "En cua"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "S'està preparant"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "S'està connectant"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "S'està rebent"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "S'està enviant"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Fet"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Ha fallat"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Avortat"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/seg"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versió"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Dóna Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Treu Op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Dóna MigOp"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Treu MigOp"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Dóna veu"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Treu veu"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modes"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Expulsa"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Expulsa i veta"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Veta sobrenom"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Veta *!*@*.màquina"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Veta *!*@domini"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Veta *!usuari@*.màquina"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Veta *!usuari@domini"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Expulsa i veta *!*@*.màquina"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Expulsa i veta *!*@domini"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Expulsa i veta *!usuari@*.màquina"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Expulsa i veta *!usuari@domini"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Expulsa / Veta"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignora"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Deixa d'ignorar"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Obre una &conversa"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Obre un &xat DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Envia un &fitxer..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Envia un &correu-e..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Associacions amb la llibreta d'adreces"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Afegeix als sobrenoms vigilats"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Això mostra totes les persones del canal. Es mostra el sobrenom de cada "
+"persona."
+"<br>Normalment hi ha una icona que mostra l'estat de cada persona però sembla "
+"que no teniu cap tema instal·lat. Consulteu els paràmetres del Konversation - "
+"<i>Configura Konversation</i> al menú <i>Arranjament</i>"
+". Llavors consulteu la pàgina <i>Temes</i> a <i>Aparença</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Edita contacte..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Escull/Canvia associacions..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Escull un contacte..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Canvia l'associació..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Crea un nou contacte..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Elimina l'associació"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Consulta"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Avís"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Excepció"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Pestanyes"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Avui"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Ahir"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificat)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Correu electrònic"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr ""
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Missatge d'absència:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(desconegut)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "En línia des de:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Premeu per executar l'editor d'expressions regulars (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Premeu per executar l'editor d'expressions regulars (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Sortides"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Entrades"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Tots"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Entra a un canal a %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Connexió ràpida"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servidor:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Introduïu el nom del servidor aquí."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "El port que usa el servidor d'IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Sobre&nom:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "El sobrenom que voleu usar."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "Contr&asenya:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Si el servidor d'IRC necessita una contrasenya, introduïu-la aquí (la majoria "
+"de servidors no en necessiten)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Usa SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "C&onnecta"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Connecta al servidor"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "No s'ha pogut obrir un socket"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "S'està oferint una connexió per xat DCC a %1 al port %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Xat DCC amb %1 al port %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "S'està establint una connexió xat DCC a %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Xat DCC amb %1 a %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "S'ha establit una connexió xat DCC a %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Connexió trencada, codi d'error %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "S'ha rebut una petició CTCP-%1 desconeguda de %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "No s'ha pogut acceptar el client."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Predeterminat ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Llista de servidors"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Premeu aquí per connectar-vos a la xarxa d'IRC i canal seleccionat."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Xarxa"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identitat"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canals"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nou..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Premeu per definir una nova xarxa, això inclou els servidors on connectar i els "
+"canals als quals unir-se automàticament un cop connectat."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Edita..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Connecta-hi en engegar l'&aplicació"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nova xarxa"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Edita xarxa"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"No podeu eliminar %1.\n"
+"\n"
+"La xarxa %2 ha de tenir com a mínim un servidor."
+
+#: src/serverlistdialog.cpp:295
+#, fuzzy
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"No podeu eliminar els servidor seleccionats.\n"
+"\n"
+"La xarxa %2 ha de tenir com a mínim un servidor."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Realment voleu eliminar les entrades seleccionades?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Realment voleu esborrar %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Mostra els últims:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Useu aquesta opció per establir la mida màxima del fitxer de registre. El canvi "
+"d'aquest paràmetre no tindrà efecte fins que no es torni a iniciar el "
+"Konversation. Cada fitxer de registre pot tenir un valor diferent."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Neteja el fitxer de registre"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Els missatges del fitxer de registre es mostren aquí. Els missatges més antics "
+"són a dalt i els més nous a la part inferior."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Realment voleu eliminar tota la informació de registre d'aquest fitxer?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Nota: Al desar el fitxer de registre desareu tota la data del fitxer, no només "
+"la part que es veu."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Desa el fitxer de registre"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Escolliu la carpeta destí"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Informació"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "S'està oferint una connexió per xat DCC a %1 al port %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Intents de reconnexió:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Ja esteu connectat a %1. Voleu desconnectar-vos de '%2' i connectar-vos a '%3'?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Ja connectat a %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Connexió"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Ja esteu connectat a %1. Voleu desconnectar-vos de '%2' i connectar-vos a '%3'?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Edita el servidor"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr ""
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Si us plau, ompliu el vostre <b>Nom real</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Si us plau, doneu com a mínim un <b>Sobrenom</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>La identitat \"%1\" no està configurada correctament:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Paràmetres d'identitat"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Edita entitat..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identitats"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identitat:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplica"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Reanomena"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "General"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nom &real:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Sobrenom:"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Afegeix..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Edita..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Identificació automàtica"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vei:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"El nom del servei pot ser <b><i>nickserv</i></b> o un nom que depengui de la "
+"xarxa com <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Contrasenya:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Absència"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Si marqueu aquesta opció, quan realitzeu una ordre <b>/away</b>"
+", apareixerà una línia horitzontal al canal, marcant el punt en que comença la "
+"vostra absència. Aquesta línia horitzontal no és visible pels altres usuaris."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Sobrenom d'absència:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " línies"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr ""
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Continua &automàticament les descàrregues"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Missatge d'absència:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Missatge d'absència:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Missatge de &retorn:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avançat"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr ""
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr ""
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Codificació:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Du&rada:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr ""
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr ""
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr ""
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr ""
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr ""
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Descarta tots els canvis fets"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Heu d'afegit un sobrenom com a mínim a la identitat."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Afegeix un nou sobrenom"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Sobrenom:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Edita el sobrenom"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Afegeix una identitat"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nom de la identitat:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Heu de donar un nom a la identitat."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Reanomena la identitat"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Esteu segur de voler eliminar tota la informació d'aquesta identitat?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Elimina la identitat"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplica la identitat"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Usuaris normals"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Veu (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "MigOps (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operadors (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administradors del canal (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Propietaris del canal (+p)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Insereix un caràcter"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Insereix un caràcter"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Editor de punts del Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "No hi ha cap port lliure"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "No s'ha pogut obrir un socket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Cerca text..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copia la URL al portapapers"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Afegeix als punts"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "&Desa la llista..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Obre una conversa amb %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Entra al canal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notificació"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Uneix"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr ""
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Obre una conversa"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Uneix"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Obté la llista d'&usuaris"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Obté el &tema"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "No s'ha trobat cap coincidència per \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "&Desa la llista..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Llista de &servidors..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Gestiona xarxes i servidors"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Connexió ràpida"
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Escriviu l'adreça d'un servidor d'IRC al qual connectar"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Reconnecta"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Torna a connectar al servidor actual."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Desconnecta"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Desconnecta del servidor actual."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identitats..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Gestiona el vostre sobrenom i altres paràmetres de la identitat"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Sobrenoms &vigilats en línia"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Estat &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Obre el fitxer de registre"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Obre la història coneguda per aquest canal a una nova pestanya"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Paràmetres del &canal..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Obre el diàleg de paràmetres del canal d'aquesta pestanya"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Llista de canals"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Mostra una llista de tots els canals coneguts d'aquest servidor"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Atrapador d'&URLs"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+"Llista a una nova pestanya totes les URLs que s'han mencionat recentment"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nou &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Obre un terminal en una nova pestanya"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Pestanya &següent"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "Pestanya &anterior"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Tanca la pestanya"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "Pestanya &següent"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Puja la pestanya"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Baixa la pestanya"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Mou la pestanya a la dreta"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Mou la pestanya a l'esquerra"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&Entra al canal"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Habilita les notificacions"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&Entra al canal"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Estableix la codificació"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Vés a la pestanya %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "&Neteja la llista"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Neteja el contingut de la pestanya actual"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Neteja la finestra"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Neteja el contingut de la pestanya actual"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Neteja &totes les finestres"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Neteja el contingut de totes les pestanyes"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Entra al canal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Color d'&IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Estableix el color del missatge actual d'IRC"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Línia de record"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Insereix una línia horitzontal a la pestanya actual que només vostè pot veure"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Caràcter especial..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Insereix qualsevol caràcter al missatge actual d'IRC"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Tanca totes les converses obertes"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Amaga la llista de sobrenoms"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Tancar la finestra principal mantindrà Konversation execuntant-se a la "
+"safata de sistema. Useu <b>Abandona</b> del menú <b>Fitxer</b> "
+"per sortir de l'aplicació.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Ancora a la safata del sistema"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Això ocultarà la barra de menús completamen. Podeu tornar a mostrar-la "
+"prement %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Insereix color &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Insereix un &caràcter especial..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "Insereix una línia de &record"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Llista de &canals"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Estableix com &absent globalment"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "En brut"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Sintaxi: %1JOIN <canal> [contrasenya]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Sintaxi: %1KICK <sobrenom> [raó]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK només funciona dintre de canals."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART sense paràmetres només funciona dintre d'un canal o conversa."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART sense el nom de canal només funciona des d'un canal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC sense paràmetres només funciona dintre d'un canal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC sense el nom de canal només funciona des d'un canal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Sintaxi: %1NOTICE <destinatari> <missatge>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Sintaxi: %1AME text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "S'està enviant una petició CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "El fitxer \"%1\" no existeix."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Sintaxi: %1DCC [SEND sobrenom fitxer]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Sintaxi: %1DCC [CHAT sobrenom]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Sintaxi: %1INVITE <sobrenom> [canal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE sense un nom de canal només funciona des de dintre de canals."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 no és un canal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr ""
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr ""
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Sintaxi: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "La llista de notificacions actual és buida."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Llista de notificacions actual: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr ""
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN sense nom de canal només funciona des de dintre d'un canal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN sense nom de canal només funciona des de dintre d'un canal."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Sintaxi: %1BAN [-HOST | -DOMAIN] [canal] <usuari|màscara>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Sintaxi: %1KICKBAN [-HOST | -DOMAIN] [canal] <usuari|màscara> [raó]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN sense nom de canal només funciona des de dintre d'un canal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Sintaxi: %1UNBAN [canal] patró"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "S'ha afegit %1 a la vostra llista d'ignorats."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Sintaxi: %1IGNORE [ -ALL ] <usuari 1> <usuari 2> ... <usuari n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Sintaxi: %1UNIGNORE [ -ALL ] <usuari 1> <usuari 2> ... <usuari n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "S'ha tret %1 de la vostra llista d'ignorats."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "No existeix aquest ignorat: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "No existeixen aquests ignorats: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Sintaxi: %1QUOTE ordre llista"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Sintaxi: %1SAY text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Sintaxi"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Sintaxi: %1AME text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Sintaxi: %1AMSG text"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Sintaxi: %1OMSG text"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "S'està enviant una petició CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Sintaxi: %1ONOTICE text"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Llista de notificacions actual: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Estableix la codificació"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 no és un canal."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "El canal %1 no té tema establert."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr ""
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "El tema del canal %1 és: \"%2\""
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Sintaxi: %1DNS <sobrenom>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr ""
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Sintaxi: %1KICK <sobrenom> [raó]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Esteu intentant enganxar una gran quantitat de text (%1 bytes o %2 línies) "
+"al xat. Això pot fer que la connexió s'inicialitzi o que us expulsin per causar "
+"inundacions. Realment voleu continuar?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Avís d'enganxat gran"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Un client d'IRC amigable"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Servidor al que connectar"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port a usar"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canal al qual unir-se després de la connexió"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Sobrenom a usar"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Contrasenya per la connexió"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Usa SSL per la connexió"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 l'equip Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation és un client perl protocol Internet Relay Chat (IRC).\n"
+"Parla amb amics a la xarxa, fes noves amistats i no deixis\n"
+"de parlar del teu tema favorit."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Autor original i fundador del projecte"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Mantenidor"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Mantenidor, encarregat de les versions, interfície d'usuari, gestió de "
+"protocols"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, gestió de les codificacións, posicionament del OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Gestió de protocols, línia d'entrada"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish, compatibilitat amb SSL, codi KNetwork, sobrenoms amb color, temes de "
+"la llista de sobrenoms"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr ""
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configurador de colors, diàleg de ressaltat"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interfície DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Codificacions no Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Pestanya pel Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr ""
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr ""
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Treball artístic"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barra de cerca a l'estil Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Pedaç per la safata de sistema"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Correccions d'error"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr ""
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr ""
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr ""
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr ""
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr ""
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr ""
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Guió sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"S'ha rebut una petició CTCP-PING de %1 al canal %2, s'envia la resposta."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "S'ha rebut una petició CTCP-%1 de %2, s'envia la resposta."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "S'ha rebut una petició Version de %1 al canal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "S'ha rebut una petició Version de %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "S'ha rebut una petició Version de %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "S'ha rebut una petició Version de %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "S'ha rebut una petició Version de %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "S'ha rebut una petició Version de %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Comanda DCC %1 desconeguda rebuda de %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "S'ha rebut una petició CTCP-%1 desconeguda de %2"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "S'ha rebut una petició CTCP-%1 desconeguda de %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 a %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "S'ha rebut una resposta CTCP-PING de %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "S'ha rebut una resposta CTCP-%1de %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invitació"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 us ha invitat al canal %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Benvingut"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Servidor %1 (versió %2), modes d'usuari: %3, modes de canal: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Compatibilitat"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modes del canal: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "protecció del tema"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "sense missatges de l'exterior"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "secret"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "només per invitació"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privat"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderat"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "protegit per contrasenya"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anònim"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr ""
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "no es permeten colors"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limitat a %n usuari\n"
+"limitat a %n usuaris"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Mode"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Llista de canals per %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Creat"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Aquest canal va ser creat el %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 ha entrat com %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Noms"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Final de la llista NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TEMA"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "El canal %1 no té tema establert."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Tema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "El tema del canal %1 és: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "El tema va ser establert per %1 el %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "El tema de %1 va ser establert per %2 el %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 està usant la màquina %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: No existeix el sobrenom/canal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "No existeix el sobrenom: %1"
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: No existeix el canal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Sobrenom"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "El sobrenom ja està en ús, proveu-ne un diferent."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "El sobrenom ja està en ús. S'està provant %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Sobrenom erroni. Es canvia el sobrenom a %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "No esteu a %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Missatge del dia:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Final del missatge del dia"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Ara sou un operador d'IRC en aquest servidor."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Usuaris"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Usuaris actuals a la xarxa: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Usuaris actuals a %1: %2"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Absent"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 està absent: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Heu invitat a %1 al canal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 és %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "L'adreça de %1 (%2) és %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "No s'ha pogut trobar l'adreça de %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 és un usuari identificat."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 és %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Absent)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Final de la llista /WHO per %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 és un usuari als canals: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 té veu als canals: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 és migop als canals: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 és un operador als canals: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 és propietari dels canals: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 és administrador dels canals: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 està connectat a través de %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 està disponible per ajudar."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (Operador d'IRC)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 dia\n"
+"%n dies"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 hora\n"
+"%n hores"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minut\n"
+"%n minuts"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 segon\n"
+"%n segons"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 ha estat inactiu durant %2, %3, %4 i %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 ha estat inactiu durant %2, %3 i %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 ha estat inactiu durant %2 i %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 ha estat inactiu durant 1 segon.\n"
+"%1 ha estat inactiu durant %n segons."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 està connectat des de %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Final de la llista WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr ""
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Operador d'IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (absent)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Llista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Llista de canals:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n usuari): %2\n"
+"%1 (%n usuaris): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Final de la llista de canals."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr ""
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 establert per %2 el %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fi de la llista de vetos."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 no està disponible actualment."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Ordre desconeguda."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "No registrat."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Aquesta ordre necessita més paràmetres."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Establiu el mode de canal -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " estableix el mode: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identitat predeterminada"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Edita sobrenom vigilat"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Nom de la &xarxa:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Escolliu el servidor de xarxa al que us connectareu aquí."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "So&brenom:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>El sobrenom a vigilar en connectar-se a un servidor de la xarxa.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Canvia informació de notificació"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "La connexió al servidor %1 ha fallat: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"La funcionalitat de connectar-se a servidors usant comunicacions xifrades amb "
+"SSL no està disponible degut a que el funcionament amb OpenSSL no es va "
+"habilitar en temps de compilació. Haureu de conseguir una versió del KDE amb "
+"compatibilitat amb SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"L'adreça IP del remot %1 no casa amb l'adreça per a la què es va emetre el "
+"certificat."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autenticació de servidor"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detalls"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "El servidor (%1) ha fallat la prova d'autenticació."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Voldríeu acceptar aquest certificat per a sempre sense que se us demanés?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "Per &sempre"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Només les sessions a&ctuals"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Ressaltat] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Conversa) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 ha entrat %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 ha deixat %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 ha sortit %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ha canviat el seu sobrenom a %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 vol enviar-vos un fitxer"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 ha iniciat una conversa amb vostè."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 està conectat (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 s'ha desconectat (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Heu estat expulsat de %1 per %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 ha iniciat un xat dcc amb vostè"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Ressaltat] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "No s'ha pogut connectar a %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Heu entrat a %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "No s'ha trobat la frase"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr ""
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interfície de xarxa"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Resposta del servidor d'IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Especifica manualment"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Escollidor de color d'IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Cap"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Servidor:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"El nom o adreça IP del servidor, irchelp.org manté una llista de servidors."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Introduïu el nombre del port per connectar-se al servidor. Per la majoria de "
+"servidors és <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Cont&rasenya:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Connexió segura (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Marqueu aquesta opció si voleu usar el protocol Secure Socket Layer (SSL) per "
+"comunicar-vos amb el servidor. Això protegeix la privacitat de les "
+"comunicacions entre el vostre ordinador i el servidor d'IRC. El servidor ha de "
+"poder funcionar amb SSL per que això sigui possible. En la majoria de casos, si "
+"el servidor no funciona amb SSL, la connexió fallarà."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "L'adreça del servidor és necessària."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "L'administrador ha restringit el dret a enviar fitxers"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "La url \"%1\" no existeix"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "No s'ha pogut rebre \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Introduïu el nom del fitxer"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>El fitxer que esteu enviant a <i>%1</i> no té nom de fitxer."
+"<br>Si us plau, introduïu un nom de fitxer per presentar-lo al receptor o "
+"cancel·leu la transferència dcc</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "No s'ha donat cap nom de fitxer"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "S'està esperant l'acceptació de l'usuari remot"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "No s'ha pogut acceptar la connexió."
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "No s'ha pogut obrir el fitxer: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Error de socket: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Ha expirat."
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Error de connexió: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "L'usuari remot s'ha desconnectat"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "L'operació ha tingut èxit. Mai hauria de succeir en un diàleg d'error."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "No s'ha pogut llegir del fitxer \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "No s'ha pogut escriure al fitxer \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Hi ha hagut un error fatal que del que no es possible recuperar-se."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "No s'ha pogut obrir el fitxer \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "L'operació s'ha avortat inesperadament."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "La operació ha expirat."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Hi ha hagut un error sense especificar al tancar."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Error desconegut. Codi %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC %1: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "Receptor:"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "mida desconeguda"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 ha entrat %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 ha deixat %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 ha deixat %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " seg"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Llest."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Retard: Desconegut"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Tota comunicació amb el servidor està xifrada. Això fa més difícil que algú "
+"pugui escoltar les vostres comunicacions."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Retard: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Retard: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Sense resposta del servidor %1 durant més de %2, %3, %4 i %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Sense resposta del servidor %1 durant més de %2, %3 i %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Sense resposta del servidor %1 durant més de %2 i %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Sense resposta del servidor %1 durant més d'un segon.\n"
+"Sense resposta del servidor %1 durant més de %n segons."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "S'està buscant el servidor %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "No s'ha trobat el servidor %1. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "S'ha trobat el servidor, establint la connexió..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "S'ha connectat; s'està entrant..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "La connexió al servidor %1 ha fallat: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"No s'ha pogut connectar a %1:%2 usant el xifrat SSL. Potser el servidor no té "
+"capacitat SSL, o potser heu especificat el port incorrecte? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Error a la connexió SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Desconectat del servidor."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"La connexió \"%2\" no ha acceptat cap sobrenom de la identitat \"%1\".\n"
+"Si us plau introduïu un nou sobrenom o premeu Cancel·la per desconnectar-vos:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Error al sobrenom"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Hi ha hagut un error al llegir dades del servidor: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Escolliu els fitxers que voleu enviar a %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 ofereix enviar-vos \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "mida desconeguda"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "S'està demanant a %1 que accepti la pujada de \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "S'ha rebut una petició de continuació no vàlida de \"%1\" per %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+"S'està reprenent la descàrrega de \"%1\" des de %2 al punt %3% de %4..."
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "S'ha rebut una petició de continuació no vàlida de \"%1\" per %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "S'està reprenent la pujada de \"%1\" a %2 al punt %3% de %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "S'ha rebut una petició de continuació no vàlida de \"%1\" per %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "La descàrrega de \"%1\" des de %2 ha acabat."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "La descàrrega de \"%1\" des de %2 ha fallat. Raó: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "La pujada de \"%1\" a %2 ha acabat."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "La pujada de \"%1\" a %2 ha fallat. Raó: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "S'està enviant \"%1\" a %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "S'està descarregant \"%1\" (%2) de %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Heu estat invitat per %1 a unir-vos al canal %2. Voleu acceptar la invitació?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invitació"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Error: No s'ha pogut trobar el guió \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Error: No s'ha pogut executar el guió \"%1\". Comproveu els permisos del "
+"fitxer."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr ""
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Ara esteu marcat com absent."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Ja no esteu marcat com absent."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "No esteu marcat com absent."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Sobrenoms vigilats en línia"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Xarxa/Sobrenom/Canal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Informació addicional"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Edita la llista de vigilats..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+"Premeu per editar la llista de sobrenoms que apareixen a aquesta pantalla."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Llibreta d'adreces:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Quan seleccioneu un sobrenom a la llista superior, aquests botons s'utilitzen "
+"per associar un sobrenom amb una entrada del KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Edita el c&ontacte..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Premeu per crear, veure o editar l'entrada de KAddressBook associada amb el "
+"sobrenom seleccionat."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Canvia l'associació..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Premeu per associar el sobrenom seleccionat amb una entrada de KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Elimina l'associació"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Premeu per eliminar l'associació entre el sobrenom seleccionat i una entrada "
+"del KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " connectat a través de %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " des de %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Desconnectat"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Veu"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " MigOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operador"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Propietari"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Administrador"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Crea un new c&ontacte..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Escull associació..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Entra al canal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Selecciona el fitxer de so"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Fitxer de registre iniciat\n"
+"*** el %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Entra als canals automàticament en ser invitat"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Pregunta abans d'eliminar el contingut del fitxer de registre"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr ""
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Pregunta abans de connectar a un servidor diferent de la xarxa"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Pregunta abans de connectar a un servidor diferent de la xarxa"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Tanca la pestanya del servidor"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Tanca la pestanya del canal"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Tanca la pestanya de la conversa"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"La llista de canals només es pot obrir des de pestanyes relacionades amb un "
+"servidor"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avís en amagar el menú de la finestra principal"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr ""
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avís en enganxar grans porcions de text"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Avís en enganxar grans porcions de text"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Llista de canals"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Opcions dels filtres"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "Mín&im d'usuaris:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Màx&im d'usuaris:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Podeu limitar la llista de canals a mostrar aquells canals amb un nombre mínim "
+"d'usuaris. Escollir 0 deixa aquest criteri sense efecte."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Podeu limitar la llista de canals a mostrar aquells canals amb un nombre màxim "
+"d'usuaris. Escollir 0 deixa aquest criteri sense efecte."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "&Patró de filtrat:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Objectiu del filtrat:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Introduïu un text de filtrat aquí."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "Expressió &regular"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "Apl&ica el filtre"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Premeu aquí per obtenir la llista de canals des del servidor i aplicar el "
+"filtre."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nom de canal"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Tema del canal"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "&Actualitza la llista"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "&Desa la llista..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&Entra al canal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Premeu per entrar al canal. Es crearà una nova pestanya pel canal."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Desa la llista de canals"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Llista de canals de Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canals: %1 (%2 mostrats)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Usuaris no únics: %1 (%2 mostrats)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Obre URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<No s'ha trobat cap URL>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Llista de canals per %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Connectat"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per missatgeria "
+"instàntania però no ha especificat cap contacte al que enviar el missatge. "
+"Probablement sigui un error a l'altre aplicació."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per missatgeria "
+"instàntania però Konversation no ha pogut trobar el contacte especificat a la "
+"llibreta d'adreces del KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per missatgeria "
+"instàntania però l'usuari %1 no està connectat."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per enviar un fitxer a "
+"un contacte però no ha especificat cap contacte al que enviar el fitxer. "
+"Probablement sigui un error a l'altre aplicació."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per enviar un fitxer a "
+"un contacte però Konversation no ha pogut trobar el contacte especificat a la "
+"llibreta d'adreces del KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Una altra aplicació KDE ha intentat usar el Konversation per enviar un fitxer a "
+"un contacte però l'usuari %1 no està connectat."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Una altre aplicació KDE ha intentat usar el Konversation per afegir un "
+"contacte. El Konversation no té aquesta funcionalitat."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"No s'ha pogut executar el programa de llibreta d'adreces (kaddressbook). "
+"Probablement no estigui instal·lat. Si us plau instal·leu el paquet 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "El contacte que heu seleccionat no té una adreça de correu associada."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "No es pot enviar correu-e"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"No s'ha pogut executar el programa de correu-e. Probablement no en teniu cap "
+"instal·lat. Per instal·lar el programa de correu electrònic del KDE (kmail) "
+"instal·leu el paquet 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Cap dels contactes que heu seleccionat està associat amb un contacte de la "
+"llibreta d'adreces."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"El contacte que heu seleccionat no està associat amb un contacte de la llibreta "
+"d'adreces."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Algun dels contactes (%1) que heu seleccionat no estan associats amb contactes "
+"de la llibreta d'adreces."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Un dels contactes (%1) que heu seleccionat no està associat amb cap contacte de "
+"la llibreta d'adreces."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Podeu fer clic dret a un contacte i escollir editar les associacions de la "
+"llibreta d'adreces per enllaçar-lo amb un contacte de la vostra llibreta "
+"d'adreces."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Cap dels contactes que heu seleccionat té una adreça de correu electrònic "
+"associada amb ell."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Algun dels contactes (%1) que heu seleccionat no tenen una adreça de correu "
+"electrònic associada amb ell."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Un dels contactes (%1) que heu seleccionat no té una adreça de correu "
+"electrònic associada amb ell."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Envia correu-e"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Enllaça sobrenom IRC amb contacte de la llibreta d'adreces"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Trieu la persona que és '%1'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Actualment '%1' està associat amb un contacte."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Actualment '%1' està associat amb el contacte '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Nova entrada a la llibreta d'adreces"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nom per a la nova entrada:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Atrapador d'URLs"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Llista d'URLs mencionades en qualsevol de les finestres del Konversation durant "
+"aquesta sessió."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Obre la URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copia la URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Elimina la URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Desa la llista..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Premeu per desar la llista completa a un fitxer."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Neteja la llista"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Premeu per eliminar la llista sencera."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Desa la llista d'URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Edita enganxat multilínia"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Afegeix indicadors de &cita"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "C&anal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "El nom del canal és necessari."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr ""
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Cerca text a la pestanya actual"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Llista de canals per %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Obre el fitxer de registre per %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Paràmetres de &canal per %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Predeterminat ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Només es pot buscar en camps de text."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr ""
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Fitxer de registre de %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Estat DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Usar aquesta funció pot crear molt trafic de xarxa. Si la vostra connexió no es "
+"suficientment ràpida es possible que el client sigui desconnectat del servidor."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Avís de llista de canals"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"La llista de canals només es pot obrir des d'una conversa, canal o finestra "
+"d'estat per saber a quin servidor pertany la llista."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Marqueu aquesta opció si voleu que el Konversation es connecti automàticament a "
+"aquesta xarxa al ser engegat."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Aquesta és la llista de servidors IRC de la xarxa. Al connectar-se a una xarxa, "
+"el Konversation intentarà connectar-se al primer servidor, si falla al segon, "
+"després al tercer, etc. Com a mínim s'ha d'especificar un servidor. Cliqueu "
+"sobre un servidor per ressaltar-lo."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Canvia informació de xarxa"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Afegeix un servidor"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Edita el servidor"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Afegeix un canal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Edita el canal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "El nom de la xarxa és necessari."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Cal que afegiu un servidor com a mínim a la xarxa."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Temes de Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Escolliu el paquet del tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Error al descarregar el tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "L'arxiu del tema no és vàlid."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "No s'ha pogut instal·lat el tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Voleu eliminar %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Elimina el tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Client d'IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Escull el destinatari"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Escull el sobrenom i tanca la finestra"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Tanca la finestra sense canvis"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: No s'ha trobat el servidor %1."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "L'administrador ha restringit el dret a rebre fitxers."
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Negociació no vàlida (mida de fitxer=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>No s'ha pogut crear la carpeta.</b><br>Carpeta: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "No s'ha pogut crear una instància KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>El fitxer està sent usat per una altre transferència.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Existeix un fitxer parcial.</b>"
+"<br>%1"
+"<br>Mida del fitxer parcial: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>El fitxer ja existeix.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>No s'ha pogut obrir el fitxer.<br>Error: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Contrasenya per la connexió"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "S'està esperant que la màquina remota accepti"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Resposta no esperada de la màquina remota"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Error a la transferència"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Error de KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(absent)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Voleu ignorar %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Tanca aquesta conversa"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Manté oberta"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Voleu deixar d'ignorar a %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identitat predeterminada ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Voleu tancar la conversa amb %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Tanca la conversa"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr ""
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 ha sortit del servidor."
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1 ha sortit d'aquest servidor %2."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Previsualització OSD - arrosega a la nova posició"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operador"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Amo"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Mig-operador"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Té veu"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interfície"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportament"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notificacions"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Finestra de xat"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temes de la llista de sobrenoms"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Colors"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Botons ràpids"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Connexió"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Llista de sobrenoms"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Àlies d'ordres"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Substitució automàtica"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Registre"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Ressaltat"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Sobrenoms vigilats"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Diàlegs d'avís"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr ""
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Continua"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nom de fitxer &original"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "&Suggerir nou nom de fitxer"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "S&obreescriu"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "R&eanomena"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Cerca endavant"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Distingeix majúscules"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Només paraules senceres"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "A partir del cursor"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "&Tanca la pestanya"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Voleu desconnectar-vos de '%1'?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Desconnecta del servidor"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Desconnecta"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Iniciat el"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Estat"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Company"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Progrés"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Posició"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Resta"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Velocitat"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Adreça del remitent"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Accepta"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Avorta"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Obre fitxer"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Inicia la recepció"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Avorta les transferències"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Executa aquest fitxer"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Mostra els detalls de la transferència DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Selecciona tots els ítems"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Selecciona tots els ítems &completats"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Accepta"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "A&vorta"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&Continua"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Neteja"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Obre el fitxer"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informació de fitxer"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Edita els paràmetres del canal"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Nombre màxim d'usuaris permesos al canal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Voleu ignorar els usuaris seleccionats?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Voleu parar d'ignorar els usuaris seleccionats?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Compleció"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Complecions posibles: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Contrasenya del canal"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Límit de sobrenoms:"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Introduïu el nou límit de sobrenoms:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Ara sou conegut com %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 és conegut com %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Heu entrat al canal %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 ha entrat aquest canal (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Heu sortit d'aquest servidor."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Heu sortir d'aquest servidor (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr ""
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 ha sortit del canal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 ha sortit del canal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr ""
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr ""
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr ""
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Heu expulsat %1 del canal."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Heu expulsat %1 del canal (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 ha estat expulsat del canal per %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 ha estat expulsat del canal per %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n sobrenom\n"
+"%n sobrenoms"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n ops)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "El tema del canal és \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Heu establert el tema del canal a \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 ha establert el tema del canal a \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Us doneu privilegis de propietari del canal."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Doneu privilegis de propietari del canal a %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 us dóna privilegis de propietari del canal."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 dóna privilegis de propietari del canal a %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 us treu els privilegis de propietari del canal."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 treu els privilegis de propietari del canal a %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Us doneu privilegis d'administrador de canal."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Doneu privilegis d'administrador de canal a %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 us dóna privilegis d'administrador de canal."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 dóna privilegis d'administrador de canal a %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 us treu privilegis d'administrador del canal."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 treu els privilegis d'administrador del canal a %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Us doneu privilegis d'operador del canal."
+
+#: src/channel.cpp:1688
+#, fuzzy, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Doneu privilegis d'operador del canal a %2."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 us dóna privilegis d'operador del canal."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 dóna privilegis d'operador del canal a %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 us treu privilegis d'operador del canal."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 treu privilegis d'operador del canal a %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Us doneu privilegis de migop del canal."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Doneu privilegis de migop del canal a %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 us dóna privilegis de migop del canal."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 dóna privilegis de migop del canal a %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 us treu privilegis de migop del canal."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 treu privilegis de migop del canal a %2."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "Us doneu permís per parlar."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "Doneu permís per parlar a %1."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 us dóna permís per parlar."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 dóna permís per parlar a %2."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr ""
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr ""
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 us treu el permís per parlar."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 treu el permís per parlar a %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Establiu el mode del canal a 'no es permeten colors'"
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 estableix el mode del canal a 'no es permeten colors'"
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Establiu el mode del canal a 'es permeten colors'"
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 estableix el mode del canal a 'es permeten colors'"
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Establiu el mode del canal a 'només per invitació'"
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 estableix el mode del canal a 'només per invitació'"
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Elimineu el mode 'només per invitació' del canal."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 elimina el mode 'només per invitació' del canal."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Heu establert el mode del canal a 'moderat'"
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 estableix el mode del canal a 'moderat'"
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Heu establert el mode del canal a 'no moderat'"
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 estableix el mode del canal a 'no moderat'"
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Heu establert el mode del canal a 'sense missatges de l'exterior'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 estableix el mode del canal a 'sense missatges de l'exterior'"
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Heu establert el mode del canal a 'permet missatges de l'exterior'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 estableix el mode del canal a 'permet missatges de l'exterior'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Heu establert el mode del canal a 'privat'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 estableix el mode del canal a 'privat'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Heu establert el mode del canal a 'public'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 estableix el mode del canal a 'public'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Heu establert el mode del canal a 'secret'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 estableix el mode del canal a 'secret'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Heu establert el mode del canal a 'visible'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 estableix el mode del canal a 'visible'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Activeu la 'protecció del tema'"
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 activa la 'protecció del tema'"
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Desactiveu la 'protecció del tema'"
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 desactiva la 'protecció del tema'"
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Heu establert el tema del canal a \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 ha establert el tema del canal a \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Elimineu el limit del canal."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 elimina el limit del canal."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Establiu el límit del canal a %1 sobrenoms."
+
+#: src/channel.cpp:1921
+#, fuzzy
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 estableix el límit del canal a %1 sobrenoms."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Elimineu el limit del canal."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 elimina el limit del canal."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Establiu veto a %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 estableix veto a %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Elimineu el veto %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 elimina el veto %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Establiu el mode de canal +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 estableix el mode de canal +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Establiu el mode de canal -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 estableix el mode de canal -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Heu de ser un operador per canviar això."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "El tema només pot ser canviar per un operador del canal, %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr ""
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canal secret. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canal només per invitats. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canal privat. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canal moderat. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Canal protegit amb contrasenya."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr ""
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Voleu sortir de %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Sortir del canal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Surt"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Albert Astals Cid"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "aacid@kde.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "En cua"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Línies: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&So:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Línies: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Usuaris normals"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "En cua"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "En cua"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Receptor:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nom del botó"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Acció del botó"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Acció del botó:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nom del botó:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Substitucions actives"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "Fitxer:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "Tipus"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Estat:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "A&cció:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Progrés:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Company"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Obre fitxer"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "Fitxer:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&Continua"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Sobrenom usat actualment"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Posició:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Iniciat el"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Error a la transferència"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Habilita la reconnexió automàtica"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "&Reconnecta"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Intents de reconnexió:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " segons"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Sense límit"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Depuració"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr ""
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Patró"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tipus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Patró:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Tipus de missatges"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Nou"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Elimina &tots"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "Nom de la &xarxa:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&Identitat:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "&Ordres:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Connecta-hi en engegar l'&aplicació"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servidors"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Afegeix..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Edita..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Canals d'entrada automàtica"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Edita..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Àlies:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Substitució:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Àlies"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Substitució"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Cerca &següent"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Cerca l'anterior"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Ordre a executar al fer doble clic:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ordena sense tenir en compte les &majúscules"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ordena per &estat d'usuari"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Explicació"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstal·la un tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Elimina el tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Icona pels usuaris normals"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Icona pels usuaris absents"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Icona pels usuaris amb veu"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Icona pels usuaris amb privilegis de mig-operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Icona pels usuaris amb privilegis d'operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Icona pels usuaris amb privilegis d'administrador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Icona pels usuaris amb privilegis de propietari"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Vista prèvia:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aspecte"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Posició:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Mostra el botó de &tancar a les pestanyes"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Mostra un botó de tancar a la part &dreta de la barra de pestanyes"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+"Limita la &mida de la barra de pestanyes per tal que càpiga a la finestra"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Focus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Dóna el &focus a les noves pestanyes"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Dóna el focus a les noves &converses"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Mode"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Ordre e&xecutada al fer doble clic a un sobrenom:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Interval d'actualització:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Aquest és l'interval cada quant Konversation comprovarà l'estat dels sobrenoms "
+"de la llista."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Obre la pestanya de sobrenoms vigilats a l'inici de l'aplicació"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Habilita el vigilant de sobrenoms"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Xarxa:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "El sobrenom (nom d'usuari) de la persona a vigilar"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Xarxes/sobrenoms vigilats"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Premeu per afegir un sobrenom a la llista."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Premeu per eliminar el sobrenom seleccionat de la llista."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Habilita el registre"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr ""
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr ""
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Ruta pels fitxers de registre:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Habilita la safata de sistema"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Usa la safata de sistema per la notificació de nous missatges"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Notifica unicament quan un ressaltat s'activa o s'usa el vostre sobrenom"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Compleció de sobrenoms"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Mode de compleció:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Com una shell"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Com una shell amb capsa de compleció"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Sensible a majúscules"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Deshabilita les notificacions al estar &absent"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Usa una resposta de &versió a mida:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Aquí podeu establir una resposta a mida per les peticions <b>CTCP <i>"
+"VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Usa un fullejador &web personalitzat:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Limita la mida de la barra de pestanyes per tal que càpiga a la finestra"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "Ancora a la safata del sistema"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Mostra els noms reals al costat dels sobrenoms"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Obre la pestanya de sobrenoms vigilats a l'inici de l'aplicació"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Habilita les emoticones"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tema d'emoticones"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Te&ma"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Data"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&des"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "El &tema només el poden canviar els operadors del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Sense missatges de l'exterior del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canal &secret, el canal no es mostra a la llista de canals"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Només els &invitats poden unir-se al canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "Canal &moderat, només les persones amb veu poden escriure al canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Contrasenya del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Límit d'&usuaris:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Mostra els modes &avançats >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Paràmetre"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Llista de &vetos"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Afegeix veto"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Establert per"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "C&erca:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Carpeta de descàrregues:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Converteix espais al nom de fitxers en guions baixos abans d'enviar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "&Accepta automàticament els oferiments de descàrrega"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Continua &automàticament les descàrregues"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Habilita l'enviament DCC ràpid (pot &no funcionar amb tots els clients)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " seg"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Habilita ports específics per les &transferències DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Mètode per aconseguir la IP pròpia:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "IP &pròpia:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Ports"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Habilita ports específics pel &xat DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "a"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Habilita ports específics per les &transferències DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Usa text amb color"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Usa LEDs amb color"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Event de l'aplicació"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Missatge"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "Missatge del &servidor:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Sobrenom usat actualment"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Event de canal"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Events de canal són canvis de mode o usuaris entrant/sortint d'un canal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Habilita l'ús d'una font d'amplada fixa pels missatges del dia"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Mostra el MOTD (missatge del dia) en una font d'amplada fixa"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Text del xat:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Lllista de sobrenoms:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Barra de pestanyes:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "Llista de &ressaltats"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "ExpReg"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Ressaltats"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "So"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Patró:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Colors"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&So:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Habilita sons pels ítems de la llista de ressaltats"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Ressalta sempre les &línies propies:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Crea una nova &entrada..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Crea una nova entrada a la vostra llibreta d'adreces"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Foto"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nom"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Seleccioneu un contacte al que desitgeu comunicar-vos mitjançant el missatger "
+"instantani"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "C&erca:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Habilita el &timbre de sistema en arrivar un ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " línies"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Llista de servidors"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Insereix una línia de &record a la finestra de xat en canviar de finestra de "
+"xat o minimitzar l'aplicació."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " sobrenoms"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Interval d'actualització:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Dibuixa ombres"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Font de l'OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Mostra un missatge &OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Si el &sobrenom propi apareix a un missatge del canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "En &qualsevol missatge del canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr ""
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Habilita colors a mida"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Color del &text:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Color de &fons:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Al&tres arranjaments"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "Du&rada:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Pantalla:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Finestra"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "Nou"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Eliminat"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Substitueix"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Cerca"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Substitueix amb"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Substitueix:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Cerca:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Substitueix amb:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Habilita les marques de &temps"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Mostra les &dates"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Mostra el registre enrera"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Línies: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Disposició"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Mostra el &tema del canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Mostra els botons de &mode del canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mostra una caixa per canviar el &sobrenom"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Mostra els botons &ràpids"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Mostra els noms reals al costat dels sobrenoms"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Mostra la &llista de sobrenoms del canal i els botons ràpids"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Mostra la màscara de &xarxa a la llista de sobrenoms"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Utilitza una imatge de &fons"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Ruta:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Colors a mida"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Usa colors a mida a la caixa d'entrada, la llista de sobrenoms i la llista de "
+"pestanyes"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Fons:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Missatge del &servidor:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Enllaç:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Missatge de canal:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "A&cció:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Registre enrera:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Missatge d'&ordre:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Missatge de &conversa:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Marca de temps:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Fons &alternatiu:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Sobrenoms amb color"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Color del sobrenom &propi:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Permet text colorejat als missatges d'IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Vista prèvia"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Això és com es veurà el vostre missatge amb els colors escollits"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Color de &primer pla:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Diàlegs d'avís a mostrar"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Contrasenya:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Servidor:"
+
+#~ msgid "Messages"
+#~ msgstr "Missatges"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Estableix com a &disponible globalment"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Cada "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avís en eliminar un fitxer rebut per DCC"
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "No s'ha pogut eliminar el fitxer '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "Error DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Elimina fitxer"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detalls de la transferència"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Elimina d'aquest plafó"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Elimina els fitxers rebuts"
+
+#~ msgid "&Remove File"
+#~ msgstr "E&limina fitxer"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Realment voleu eliminar el fitxer seleccionat?\n"
+#~ "Realment voleu eliminar els %n fitxers seleccionats?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Confirmació d'esborrat"
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "La connexió al servidor %1 s'ha perdut: %2. S'està intentant tornar a connectar."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "S'està intentant el servidor %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "S'està esperant dos minuts abans d'un altre intent de connexió..."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Detalls de la transferència"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Insereix una &línia de record en entrar en mode absent"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Insereix una línia de &record en amagar la finestra de xat"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Connexió"
+
+#~ msgid "Application Startup"
+#~ msgstr "Inici de l'aplicació"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "&Mostra la llista de servidors"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 s'ha identificat per aquest sobrenom."
+
+#~ msgid "&Channel"
+#~ msgstr "&Canal"
+
+#~ msgid "&Topic"
+#~ msgstr "&Tema"
+
+#~ msgid "&Save List..."
+#~ msgstr "&Desa la llista..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "&Entra automàticament als canals en ser invitat"
+
+#~ msgid "Offering"
+#~ msgstr "S'està oferint"
+
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "No hi ha cap port lliure per xat DCC."
+
+#~ msgid "Update &interval:"
+#~ msgstr "&Interval d'actualització:"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "No hi ha cap descàrrega DCC al port %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "No hi ha cap pujada DCC al port %1."
+
+#~ msgid "File:"
+#~ msgstr "Fitxer:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Ruta local:"
+
+#~ msgid "Saved to:"
+#~ msgstr "Desat a:"
+
+#~ msgid "Open this file"
+#~ msgstr "Obre aquest fitxer"
+
+#~ msgid "Delete this file"
+#~ msgstr "Elimina aquest fitxer"
+
+#~ msgid "Sender:"
+#~ msgstr "Remitent:"
+
+#~ msgid "Position:"
+#~ msgstr "Posició:"
+
+#~ msgid "Accept this transfer"
+#~ msgstr "Accepta aquesta transferència"
+
+#~ msgid "Abort this transfer"
+#~ msgstr "Avorta aquesta transferència"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Realment voleu eliminar el fitxer rebut?"
+
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&Detalls de transferència DCC"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Posició:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Adreça del remitent"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Adreça del remitent"
+
+#~ msgid "Switch To"
+#~ msgstr "Canvia a"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 és un administrador de la xarxa."
+
+#~ msgid "&Channel:"
+#~ msgstr "&Canal:"
+
+#~ msgid "Removed"
+#~ msgstr "Eliminat"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 és %3%4."
+
+#~ msgid "&Network:"
+#~ msgstr "&Xarxa:"
+
+#~ msgid " Command Aliases"
+#~ msgstr " Àlies d'ordres"
diff --git a/po/da/Makefile.am b/po/da/Makefile.am
new file mode 100644
index 0000000..8452929
--- /dev/null
+++ b/po/da/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = da
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/da/konversation.po b/po/da/konversation.po
new file mode 100644
index 0000000..2bed4b7
--- /dev/null
+++ b/po/da/konversation.po
@@ -0,0 +1,7533 @@
+# translation of konversation.po to
+# Danish translation of konversation
+# Copyright (C).
+#
+# Erik Kjær Pedersen <erik@binghamton.edu>, 2003, 2004, 2005, 2006, 2007.
+# Martin Schlander <suse@linuxin.dk>, 2008.
+# Martin Schlander <mschlander@opensuse.org>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-14 12:03+0200\n"
+"Last-Translator: Martin Schlander <mschlander@opensuse.org>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 0.2\n"
+"Plural-Forms: \n"
+"Plural-Forms: \n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Kanalopsætning for %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "S&kjul avancerede tilstande <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Vis &avancerede tilstande >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Ny"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "ukendt"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Tilgængelige oplysninger om filen %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Filinformation"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Ingen detaljeret information fundet for denne fil."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Send"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Modtag"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "I kø"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Forbereder"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Afventer"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Forbinder"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Modtage"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Sender"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Færdig"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Mislykkedes"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Afbrudt"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sekunder"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Hvem-er"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Giv op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Tag op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Giv deloperatørprivilegier"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Tag deloperatørprivilegier"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Giv stemme"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Tag stemme"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Tilstande"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Spark"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Spark-forbyd"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Forbyd alias"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Forbyd *!*@*.vært"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Forbyd *!*@domæne"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Forbyd *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Forbyd *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Spark-forbyd *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Spark-forbyd *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Spark-forbyd *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Spark-forbyd *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Spark / Forbyd"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorér"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Ignorér ikke"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Åbn &forespørgsel"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Åbn DCC-&chat"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Send &fil..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Send brev..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Adressebogstilknytninger"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Tilføj til overvågede aliasser"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Her vises alle personer i kanalen. Alias for hver person vises."
+"<br>Sædvanligvis ses en ikon som viser status for hver person, men du synes "
+"ikke at have noget ikontema installeret. Se Konversations indstillinger: <i>"
+"Indstil Konversation</i> i menuen <i>Opsætning</i>. Vis derefter siden for <i>"
+"Temaer</i> under <i>Udseende</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Dette viser alle personer i kanalen. Aliasset for hver person vises, og et "
+"billede som angiver deres status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Denne person har administratorrettigheder.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Denne person er en kanalejer.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Denne person er kanaloperatør.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Denne person er deloperatør for kanalen.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Denne person har en stemme, og kan derfor tale i en modereret kanal.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Denne person har ikke nogen særlige rettigheder.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Dette angiver at denne person er borte for øjeblikket.</td></tr></table>"
+"<p>Betydningen af administrator, ejer og deloperatør varierer mellem "
+"forskellige IRC-servere."
+"<p>At holde musen over et alias viser nuværende status, samt eventuel "
+"information i adressebogen for personen. Se Konversations håndbog for mere "
+"information.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Redigér kontakt..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Vælg/ændr tilknytninger..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Vælg kontakt..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Ændr tilknytning..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Lav ny kontakt..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Slet tilknytning"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Forespørgsel"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notits"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Undtagelse"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Faneblade"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "I dag"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "I går"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificeret)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-mail"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Værtsmaske:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Borte-besked:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(ukendt)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Online siden:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Klik for at køre editoren for regulære udtryk (Kregexpeditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Editoren for regulære udtryk (KRegExpEditor) er ikke installeret"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Udbakke"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Indkommende"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Begge"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Deltag i kanal på %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Hurtigforbind"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servervært:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Indtast værten for netværket her."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Den port som IRC-serveren bruger."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Alias:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Det alias du ønsker at bruge."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Kodeord:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Hvis IRC-serveren kræver et kodeord, så indtast det her. (De fleste servere "
+"kræver ikke et kodeord.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Brug SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Forbind"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Forbind til server"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Kunne ikke åbne en kontaktflade til lytning: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Tilbyder DCC-Chat forbindelse til %1 på porten %2 ..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC chat med %1 på port %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Opretter DCC-chatforbindelse til %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC-chat med %1 på %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Oprettede DCC-chatforbindelse til %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Forbindelse afbrudt, fejlkode %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Modtog ukendt CTCP-%1 forespørgsel fra %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Kunne ikke acceptere klienten."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Standard (%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Serverliste"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Klik her for at forbinde til markeret IRC-netværk og kanal."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Dette vise listen med indstillede IRC-netværk angives her. Et IRC-netværk er en "
+"samling af samarbejdende servere. Du behøver kun at forbinde til en af serverne "
+"i netværket for at være forbundet til hele IRC-netværket. Når du er blevet "
+"forbundet, går Konversation automatisk med i kanalerne som vises. Når "
+"Konversation startes første gang, er Freenode-netværket og kanalen <i>#kde</i> "
+"allerede skrevet ind for dig."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Netværk"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identitet"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanaler"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Ny..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Klik her for at definere et nyt netværk, inklusive serveren at forbinde til, og "
+"kanalerne at gå med i automatisk efter forbindelse."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "R&edigér..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Vis ved programstart"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nyt netværk"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Redigér netværk"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Du kan ikke slette %1.\n"
+"\n"
+"Netværket %2 skal have i det mindste en server."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Du kan ikke slette de valgte servere.\n"
+"\n"
+"Netværket %1 skal have i det mindste en server."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Vil du virkelig fjerne de markerede indgange?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Vil du virkelig slette %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Vis sidste:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Brug dette felt til at indstille logfilens maksimale størrelse. Indstillingen "
+"får ingen effekt før du genstarter Konversation. Hver logfil kan have en "
+"separat indstilling."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " kB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Ryd logfil"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Meddelelser fra logfilen vises her. De ældste meddelelser er højst oppe og de "
+"seneste forneden."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Ønsker du virkelig at kassere al log-information i denne fil permanent?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Bemærk: Ved at gemme logfilen vil du gemme al data i filen, ikke kun den del du "
+"kan se i denne fremviser."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Gem logfil"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Vælg målmappe"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Forsøger at forbinde til %1 om %2 sekunder."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Forsøger at forbinde til %1 igen om %2 sekunder."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Genforbindelsesforsøg overskredet."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Du er allerede forbundet til %1. Vil du åbne endnu en forbindelse?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Allerede forbundet til %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Opret forbindelse"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Du er i øjeblikket forbundet til %1 via '%2' (port %3). Vil du skifte til '%4' "
+"(port %5) i stedet?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Skift server"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Udfyld din <b>identitet</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Udfyld dit <b>Riktige navn</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Sørg for mindst et <b>Alias</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Din identitet \"%1\" er ikke rigtigt instillet:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Identitetsindstillinger"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Redigér identitet..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identiteter"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identitet:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplikeret"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Omdøb"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Generelt"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Rigtigt navn:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Indtast dit rigtige navn her. IRC er ikke beregnet til at holde dig skjult fra "
+"dine venner eller fjender. Husk dette hvis du er fristet til at opføre dig "
+"ondsindet. Et forfalsket \"rigtigt navn\" kan være en god måde at skjule dit "
+"køn for nørderne derude, men maskinen du bruger kan altid spores så du kan "
+"aldrig være helt anonym."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Alias"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Dette er din liste med aliasser. Et alias er det navn som andre brugere kender "
+"dig som. Du kan bruge hvilket navn du vil. Det første tegn skal være et "
+"bogstav.\n"
+"\n"
+"Eftersom aliasser skal være entydige i et helt IRC-netværk, kan dit ønskede "
+"navn forkastes af serveren hvis en anden allerede bruger det. Indtast "
+"alternative aliasser for dig selv. Hvis dit første valg forkastes af serveren, "
+"forsøger Konversation med de alternative aliasser."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Tilføj..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Redigér..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Automatisk identitet"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vice:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Tjenestenavnet kan være <b><i>nickserv</i></b> eller et netværksafhængigt navn "
+"såsom <b><i>nickserv@services.dal.net</i></b>."
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Ko&deord:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Borte"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Markér den sidste position i chatvinduer når du går væk"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Hvis du markerer dette felt, vises en vandret linje i kanalen så snart du "
+"udfører kommandoen <b>/away</b> som markerer stedet hvor du gik fra. Andre "
+"IRC-brugere ser ikke den vandrette linje."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Borte-alias:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Indtast et alias som angiver at du er borte. Så snart du udfører kommandoen <b>"
+"/away meddelelse</b> i en kanal du er gået med i med denne identitet, ændrer "
+"Konversation automatisk dit alias til aliasset for fravær. Andre brugere kan "
+"afgøre om du er borte fra maskinen. Så snart du udfører kommandoen <b>/away</b> "
+"i en kanal hvor du er borte, ændrer Konversation automatisk dit alias tilbage "
+"til det oprindelige. Hvis du ikke vil ændre dit alias automatisk når du er "
+"borte, så lad det være tomt."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Automatisk borte"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Hvis du afkrydser dette felt, vil Konversation automatiske sætte alle "
+"forbindelser, som bruger denne identitet til borte, når pauseskærmen starter "
+"efter en periode af brugerinaktivitet indstillet nedenfor."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Sæt til borte efter"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " minutter"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "af brugerinaktivitet"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Vend automatisk tilbage ved aktivitet"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Hvis du afkrydser dette felt, vil Konversation automatisk annullere 'borte' for "
+"alle forbindelser, som bruger denne identitet, når pauseskærmen stopper eller "
+"ny brugeraktivitet registreres."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Borte-beskeder"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Hvis du markerer dette felt, sender Konversation automatisk fraværsmeddelelser "
+"til alle kanaler du gået med i med denne identitet. <b>%s</b> erstattes med <b>"
+"meddelelse</b>. Så snart du udfører kommandoen <b>/away</b>"
+", vises tilbagekomstmeddelelsen i alle kanaler du gået med i med denne "
+"identitet."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Borte-&besked"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Tilbage&vendelses-besked"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avanceret"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Indledende skalkommando:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Her kan du indtaste en kommando som skal køres inden forbindelsen til serveren "
+"startes."
+"<br>Hvis du har flere servere i identiteten udføres kommandoen for hver server."
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dentitet:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Når du forbinder spørger mange servere din maskine om et IDENT-svar. Hvis "
+"maskinen ikke kører en IDENT-server, sendes dette svar af Konversation. Ingen "
+"mellemrum er tilladte."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Tegnsæt:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Denne indstillingen påvirker hvordan tegn du skriver indkodes for at sendes til "
+"serveren. Den påvirker også hvordan meddelelser vises. Når du først starter "
+"Konversation, hentes indstillingen automatisk fra operativsystemet. Hvis du "
+"synes at have problemer med at se andre brugeres meddelelser rigtigt, så forsøg "
+"at ændre denne indstillingen."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "&Afskedsgrund:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Så snart du forlader en server, vises denne besked til andre."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Afskedsgrund:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Så snart du forlader en kanal, sendes denne meddelelse til kanalen."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "S&parkegrund:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Så snart du sparkes ud fra en kanal (oftest af en IRC-operatør), sendes denne "
+"meddelelse til kanalen."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Ændr identitetsinformation"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Kasserer alle de ændringer der er lavet"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Du skal i det mindste tilføje et alias til identiteten."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Indtast venligst et ægte navn."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Tilføj alias"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Alias:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Redigér alias"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Tilføj identitet"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identitetsnavn:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Du skal give identiteten et navn."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Omdøb identitet"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Denne identitet bruges. Hvis du fjerner den kommer netværksindstillingerne som "
+"bruger den til at gå tilbage til standardidentiteten. Skal den slettes "
+"alligevel?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Er du sikker på, at du ønsker at slette al information for denne identitet?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Slet identitet"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplikeret identitet"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normale brugere"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Stemme (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatører (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Kanal-administratorer (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Kanal-ejere (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Indsæt tegn"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Indsæt et tegn"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Bogmærkeeditor for Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Ingen ledig port"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Kunne ikke åbne en sokkel"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Find tekst..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Kopiér URL til klippebord"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Tilføj til bogmærker"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Gem link som..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Åbn forespørgsel med %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Gå med i kanal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Underret"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Forbind"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Part"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Åbn forespørgsel"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Gå med"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Hent &brugerliste"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Få &emne"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Intet fundet for \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Gem link som"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Serverliste..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Håndtér netværk og servere"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Hurtig&forbind..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Indtast adressen for en ny IRC-server at forbinde til"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Forbind igen"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Forbind til nuværende server igen."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Afbryd forbindelse"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Afbryd fra nuværende server."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identiteter..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Håndtér aliasser, fravær og andre identitetsindstillinger"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Overvågede aliasser online"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC-Status"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Å&bn logfil"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Åbner kendt historik for kanalen i et nyt faneblad"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Kanalopsætning..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Åbn dialogen med kanalindstillinger for dette faneblad"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Kanal&liste"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Viser en liste med alle kendte kanaler på serveren"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL-fanger"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Lister alle url'er som for nylig har været nævnt i et nyt faneblad"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Ny &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Åbn en terminal i et nyt faneblad"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Næste faneblad"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Forrige faneblad"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Luk &faneblad"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Næste aktive faneblad"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Flyt faneblad opad"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Flyt faneblad nedad"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Flyt tabulator til højre"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Flyt tabulator til venstre"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Tilslut til kanal igen"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Aktivér påmindelser"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Tilslut ved forbindelse"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Sæt tegnsæt"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Gå til faneblad %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Ryd &markeringslinjer"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Ryd markeringslinjer i nuværende faneblad"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Ryd vindue"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Tømmer indholdet i nuværende faneblad"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Ryd &alle vinduer"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Tømmer indholdet i alle åbne faneblade"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Globalt borte"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Deltag i kanal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC-farve..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Angiv farve for din nuværende IRC-meddelelse"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Markeringslinje"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Tilføj en vandret linje i nuværende faneblad som kun du kan se"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Special&tegn..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Indsæt et hvilket som helst tegn i din nuværende IRC-meddelelse"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Luk &alle åbne forespørgsler"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Skjul aliasliste"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>Du har aktive DCC-filoverførsler. Er du sikker på, at du vil afslutte <b>"
+"Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Bekræft afslutning"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Er du sikker på, at du vil afslutte <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Lukning af hovedvinduet vil holde Konversation kørende i statusfeltet. Brug "
+"<b>Afslut</b> fra <b>Konversation</b>-menuen for virkelig at afslutte "
+"programmet.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Dokker i statusfeltet"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Dette vil skjule menulinjen fuldstændigt. Du kan vise den igen ved at "
+"skrive %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Slå underretninger til og fra"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Slå borte globalt til og fra"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Indsæt &IRC-farve..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Indsæt special&tegn..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Indsæt &markeringslinje"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Kanalliste"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "&Angiv som borte globalt"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Rå"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Brug: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Brug: %1JOIN <channel> [kodeord]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Brug: %1KICK <nick> [grund]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK virker kun indefra kanaler."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART uden parametre virker kun indefra en kanal eller en forspørgsel."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART uden kanalnavn virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC uden parametre virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC uden kanalnavn virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES uden mål kan frakoble dig fra serveren. Angiv '*' hvis du virkelig vil "
+"det."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Brug: %1close [window] lukker navngiven kanal eller query-faneblad, eller det "
+"aktuelle faneblad hvis intet angives."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Brug: %1NOTICE <recipient> <message>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Sender meddelelsen \"%2\" til %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Brug: %1ME tekst"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Sender CTCP-%1 forespørgsel til %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Filen \"%1\" eksisterer ikke."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Brug: %1DCC [SEND alias filnavn]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Brug: %1DCC [CHAT-alias]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Ikke genkendt kommando %1DCC %2. Mulige kommandoer er SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Brug: %1INVITE <alias> [kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE uden kanalnavn virker kun indefra kanaler."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 er ikke en kanal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Brug: %1EXEC <script> [parameterliste]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Script-navn må ikke indeholde \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Brug: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Den aktuelle underretningsliste er tom."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Aktuel underretningsliste list: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Indtast brugernavn og kodeord for IRC operatørprivilegier:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC Operatør-kodeord"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN uden kanalnavn virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN uden kanalnavn virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Brug: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Brug: %1KICKBAN [-HOST | -DOMAIN] [channel] <bruger|maske> [grund]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN uden kanalnavn virker kun indefra en kanal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Brug: %1UNBAN [channel] mønster"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Tilføjede %1 til din ignorér-liste."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Brug: %1IGNORE [ -ALL ] <bruger 1> <bruger 2> ... <bruger n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Brug: %1UNIGNORE <bruger 1> <bruger 2> ... <bruger n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Fjernede %1 fra din ignorér-liste."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Ingen sådan ignorering: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Ingen sådan ignoreringer: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Brug: %1QUOTE kommandoliste"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Brug: %1SAY tekst"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Brug"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Brug: %1AME tekst"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Brug: %1AMSG tekst"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Brug: %1OMSG tekst"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Sender varsel \"%1\" til %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Brug: %1ONOTICE tekst"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Aktuelt tegnsæt er: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Skiftet til tegnsættet %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 er ikke et gyldigt tegnsæt."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Brug: %1setkey <nick|channel>] <key> angiver krypteringsnøglen for alias eller "
+"kanal. %2setkey <key> når du er i kanal eller query-faneblad for at angive "
+"nøgle for den."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "Nøglen for %1 er blevet angivet."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Brug: %1delkey <nick> eller <channel> sletter krypteringsnøglen for alias eller "
+"kanal"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "Nøglen for %1 er blevet slettet."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "Nøglen for %1 er \"%2\"."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Ingen nøgle er blevet angivet for %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Brug: %1DNS <nick>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Opløste %1 til: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Kunne ikke opløse %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Omvendt opløsning kræver KDE version 3.5.1 eller senere."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Brug: %1KILL <nick> [kommentar]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Input-linjen er hvor du skriver beskeder der skal sendes til kanalen, "
+"forespørgsel eller serveren. En besked sendt til en kanal ses af alle i "
+"kanalen, hvorimod en besked i en forespørgsel kun sendes til personen som er i "
+"forespørgslen med dig."
+"<p>For automatisk at fuldstændiggøre alias du er påbegyndt, tryk Tab. Hvis du "
+"ikke er begyndt at skrive vil det seneste komplette alias blive brugt."
+"<p>Du kan også sende særlige kommandoer:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>handling</i></th>"
+"<td>dukker op som en handling i kanalen eller forespørgslen. For eksempel: "
+"<em>/me synger en sang</em> vil vises i kanalen som 'alias synger en sang'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>alias</i></th>"
+"<td>viser information om denne person, inklusiv hvilke kanaler de er i.</td>"
+"</tr></table>"
+"<p>For flere kommandoer, se Konversation-håndbogen."
+"<p>En besked kan ikke indeholde flere linjer.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Du er ved at indsætte en stor mængde tekst i chatten (%1 byte eller %2 "
+"linjer). Dette kan forårsage at forbindelsen nulstilles eller oversvømning. "
+"Ønsker du virkelig at fortsætte?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Advarsel om stor indsætning"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "En brugervenlig IRC-klient"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// URL eller serverens værtsnavn"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server at forbinde til"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port at bruge"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanal at gå med i efter forbindelse"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Alias at bruge"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Kodeord for forbindelse"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Brug SSL til forbindelse"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008 ved Konversation-holdet"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation er en klient for Internet Relay Chat (IRC) protokollen.\n"
+"Mød venner på nettet, få nye bekendtskaber og tab digselv i snak\n"
+"om dit foretrukne emne."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Oprindelig forfatter, projektets grundlægger"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Vedligeholder"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Vedligeholder, udgivelsesansvarlig, brugergrænseflade, protokolhåndtering"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, kodningshåndtering, positionering af skærmmeddelelser"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protokolhåndtering, indtastningslinje"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish-understøttelse, SSL-understøttelse, overført til Knetwork, farvede "
+"aliasser, aliaslistetemaer"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Omorganisation, integrering med adressebog og Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Vært for web-plads"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Vedligeholdelse af hjemmeside"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Flertilstandsudvidelse, placering af lukkekontrol, OSD-funktionalitet"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentation, forbedringer af overvågede online aliasser, egen "
+"browser-udvidelse"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Farve-indstilling, fremhævningsdialog"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP-grænseflade"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Ikke-Latin1 tegnsæt"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole part-visning"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Hurtigforbind, overførte ny OSD, andre funktioner og fejlrettelser"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "En håndfuld rettelser og kodeoprydning"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Forbedtringer af træk og slip"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Grafik"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Søgning i Firefox-stil"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+"Ubehandlede tilstande, fanebladsgruppering pr server, bandlysningsliste"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Patch for statusfelt"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Fejlretninger"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Udvidede patcher for brugertilstande"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Luk synligt faneblad med genvejspatch"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Gå gennem faneblade med muserullehjulet"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Rettelse af kanal-ejerskab-tilstand"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Tilvalg til at aktivere IRC farvefiltrering"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Fejlrettelse, OSD-arbejde, oprydning i emner"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Systeminformationsscript"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Kontekstmenuen autotilslut"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Modtog CTCP-PING forespørgsel fra %1 til kanal %2, sender svar."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Modtog CTCP-%1 forespørgsel fra %2, sender svar."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Modtog versionsforespørgsel fra %1 til kanal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Modtog versionsforespørgsel fra %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Modtog ugyldig DCC SEND-anmodning fra %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Modtog ugyldig DCC ACCEPT-anmodning fra %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Modtog ugyldig DCC RESUME-anmodning fra %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Modtog ugyldig DCC CHAT-anmodning fra %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Ukendt DCC-kommando %1 modtaget fra %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Modtog ukendt CTCP-%1 forespørgsel fra %2 til kanal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Modtog ukendt CTCP-%1 forespørgsel fra %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 til %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Modtog CTCP-PING svar fra %1: %2 %3"
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Modtog CTCP-%1 svar fra %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invitation"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 inviterede dig til kanal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Velkommen"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Version %2), Brugertilstande: %3, Kanaltilstande: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Støtte"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Dine personlige tilstande er:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Kanaltilstande:"
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "emne-beskyttelse"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "ingen beskeder udefra"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "hemmelig"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "kun pr invitation"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privat"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "modereret"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "kodeordsbeskyttet"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonym"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "ingen farver tilladt"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"begrænset til %n bruger\n"
+"begrænset til %n brugere"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Tilstand"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "Kanal-URL: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Oprettet"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Denne kanal blev oprettet %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Hvem-er"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 er nu indlogget som %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Navne"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Ende på NAMES-liste."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "EMNE"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Kanalen %1 har intet emne sat."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Emne"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Kanalens emne for %1 er: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Emnet blev sat af %1 den %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Emnet for %1 blev sat af %2 på %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 bruger i virkeligheden værten %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Intet sådant alias/kanal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Intet sådant alias: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Ingen sådan kanal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Alias"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Alias allerede i brug. Prøv et andet."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Alias allerede i brug. Prøver %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Fejlagtigt alias. Ændrer alias til %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Du er nu på %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Dagens meddelelse:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Slut på dagens meddelelse"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Du er nu en IRC-operatør på denne server."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Brugere"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Nuværende brugere på netværket: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Aktuelle brugere på %1: %2"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Borte"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 er borte: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Du inviterede %1 til kanalen %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 is %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Opløste %1 (%2) til adressen: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Kunne ikke opløse adressen for %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 er en identificeret bruger."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Hvem"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 is %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Borte)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Slut på /WHO liste for %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 er en bruger på kanalerne: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 har stemme på kanalerne: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 er halfop på kanalerne: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 er operatør på kanalerne: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 er ejer af kanalerne: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 er admin på kanalerne: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 er online via %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 er tilgængelig for hjælp."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 er en IRC-Operatør."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 dag\n"
+"%n dage"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 time\n"
+"%n timer"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minut\n"
+"%n minutter"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 sekund\n"
+"%n sekunder"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 har været uvirksom i %2, %3, %4 og %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 har været uvirksom i %2, %3 og %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 har været i tomgang i %2 minutter og %3 sekunder."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 har været uvirksom i 1 sekund.\n"
+"%1 har været uvirksom i %n sekunder."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 har været online siden %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Slut på WHOIS-liste."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Brugervært"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 er %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC-Operatør)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (borte)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Liste"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Liste af kanaler:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n bruger): %2\n"
+"%1 (%n brugere): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Slut på kanalliste."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Bandlysningsliste: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 sat af %2 den %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Slut på bandlysningsliste."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 er for øjeblikket ikke tilgængelig."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Ukendt kommando."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Ikke registreret."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Denne kommando kræver flere parametre."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Du har angivet personlige tilstande: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "har ændret dine personlige tilstande:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " sætter tilstand: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Standard-identitet"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Redigér overvågede alias"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Netværkets navn:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Vælg servernetværket du vil forbindes til her."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Alias:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Alias der skal overvåge når der er forbundet til en server på "
+"netværket.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Ændr påmindelsesinformation"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Forbindelse er sikret med %1-bit SSL."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Funktionaliteten for at forbinde til servere med krypteret SSL-kommunikation er "
+"ikke tilgængelig i Konversation, eftersom OpenSSL-understøttelse ikke var "
+"aktiveret ved kompilering. Du skal skaffe en nye version af KDE som "
+"understøtter SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL-certifikatet som returneredes fra serveren genkendtes ikke. Måske "
+"understøtter serveren ikke SSL for den angivne port? Hvis serveren understøtter "
+"almindelig kommunikation som ikke går via SSL, vil SSL være på en anden port."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"Værtens %1 IP-adresse matcher ikke den som certifikatet blev udstedt til."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Godkendelseskontrol i server"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detaljer"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Kontrol af serverens certifikat mislykkedes (%1)."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Vil du acceptere dette certifikat for altid uden at blive spurgt?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&For altid"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Kun nuværende sessioner"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Markeret] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Forespørgsel] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 gik med %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 efterlod %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 afsluttede %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ændrede alias til %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 vil sende en fil til dig"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 har startet en konversation med (stillet et spørgsmål til) dig."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 er online (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 gik offline (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Du har sparket af %1 fra %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 har startet en DCC-chat med dig"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Markeret] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Det mislykkedes at forbinde til %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Du er gået med i %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Udtryk ikke fundet"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Genstartet søgning"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr "Dette kan ikke fortrydes, vil du nulstille til standardværdier?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Nulstil værdier"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Netværksgrænseflade"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Svar fra IRC-server"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Angiv manuelt"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC Farvevælger"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Ingen"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Navnet eller IP-nummeret på serveren. En liste med servere opretholdes af "
+"irchelp.org."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Indtast portnummeret som kræves for at forbinde til serveren. For de fleste "
+"servere skal det være <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Kode&ord:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Sikker &forbindelse (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Markér om du vil bruge SSL-protokollen (Secure Socket Layer) til at kommunikere "
+"med serveren. Det hemmeligholder kommunikationen mellem din maskine og "
+"IRC-serveren. Serveren skal støtte SSL-protokollen for at dette skal virke. I "
+"de fleste tilfælde mislykkes forbindelsen hvis serveren ikke understøtter SSL."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Serveradressen er krævet."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Administratoren har begrænset rettigheden til at sende filer"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Url'en \"%1\" eksisterer ikke"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Kunne ikke hente filen \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Indtast filnavn"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Filen du sender til <i>%1</i> har ikke et filnavn."
+"<br>Indtast et filnavn som vises til modtageren, eller afbryd "
+"DCC-overførslen.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Intet filnavn blev angivet"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "Kunne ikke sende en DCC SEND-anmodning til partneren via IRC-serveren."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Venter på at den anden bruger skal acceptere"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Kunne ikke acceptere forbindelsen (sokkelfejl)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Kunne ikke åbne filen: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Sokkelfejl: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Tidsgrænse overskredet"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Forbindelsesfejl: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Fjernbruger afbrød forbindelse"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Operationen lykkedes. Skulle aldrig ske i en fejl-dialog."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Kunne ikke læse fra filen \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Kunne ikke skrive til filen \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "En fatal ugenoprettelig fejl opstod."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Kunne ikke åbne filen \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Operationen blev uventet afbrudt."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Tiden løb ud for operationen."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "En uspecificeret fejl skete under lukningen."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Ukendt fejl. Kode %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Send med DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Modtag med DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Reverse DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Ukendt server"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 på %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Ja, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 sek."
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsol"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Klar."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Dette viser antal brugere på kanalen, og antallet af dem som er operatører "
+"(ops)."
+"<p>En kanaloperatør er en bruger som har særlige rettigheder, såsom muligheden "
+"for at sparke ud og bandlyse brugere, ændre kanaltilstand og gøre andre brugere "
+"til operatører.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Forsinkelse: Ukendt"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Al kommunikation med serveren er krypteret. Det gør det sværere for nogen at "
+"aflytte kommunikationen."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Statuslinjen viser diverse meddelelser, inklusive eventuelle "
+"tilslutningsproblemer til serveren. Længst til højre vises nuværende "
+"forsinkelse til serveren. Forsinkelsen er tiden det tager for meddelelser fra "
+"dig at nå serveren, og fra serveren tilbage til dig.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Tøven: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Tøven: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Intet svar fra serveren %1 i mere end %2, %3, %4 og %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Intet svar fra serveren %1 i mere end %2, %3 og %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Intet svar fra serveren %1 i mere end %2 og %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Intet svar fra serveren %1 i mere end 1 sekund.\n"
+"Intet svar fra serveren %1 i mere end %n sekunder."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Kigger efter serveren %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Serveren %1 blev ikke fundet: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server fundet, forbinder..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Forbundet. Logger på..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Mistede forbindelse til serveren %1. %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Kunne ikke forbinde til %1:%2 med SSL-kryptering. Måske understøtter serveren "
+"ikke SSL, eller har du forkert port %3?"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL-forbindelsesfejl"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Forbindelse til %1 afbrudt."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Ingen aliasser for identiteten \"%1\" blev accepteret af forbindelsen \"%2\".\n"
+"Indtast et nyt, eller klik på Annullér for at afbryde:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Aliasfejl"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "En fejl opstod ved læsning af data fra serveren: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Vælg filer at sende til %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 tilbyder at sende dig \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "ukendt størrelse"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Spørger om %1 accepterer overførsel af \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "Modtog ugyldig passiv DCC send-acceptbesked for \"%1\" fra %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Genoptager download af \"%1\" fra %2 begyndende på %3 % af %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Modtog ugyldig acceptbesked om genoptagelse for \"%1\" fra %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Genoptager overførsel af \"%1\" til %2 begyndende på %3 % af %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Modtog ugyldig forespørgsel om at genoptage \"%1\" fra %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Download af \"%1\" fra %2 færdig."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Download af \"%1\" fra %2 mislykkedes. Årsag: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Overførsel af \"%1\" til %2 færdig."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Overførsel af \"%1\" til %2 mislykkedes. Årsag: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Sender \"%1\" til %2."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Download af \"%1\" (%2) fra %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Du blev inviteret af %1 til deltage i kanalen %2. Accepterer du invitationen?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invitation"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Fejl: Kunne ikke finde scriptet \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Fejl: Kunne ikke køre scriptet \"%1\". Tjek filtilladelser."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Borte for øjeblikket"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Du er nu markeret som borte."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Du er ikke længere markeret som borte."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Du er markeret som borte."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Overvågede aliasser online"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Netværk/Aliasnavn/Kanal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Yderligere information"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Dette er alle aliasser på din liste med overvågede aliasser, på listen under "
+"servernetværket de er forbundne til. Listen indeholder også aliasset i "
+"adressebogen som hører sammen med servernetværket.</p>"
+"<p>Søjlen <b>Yderligere information</b> viser informationen som er kendt for "
+"hvert alias.</p>"
+"<p>Kanalerne som aliasset er gået med i er på listen under hvert alias.</p>"
+"<p>Aliasser som vises under <b>Offline</b> er ikke forbundet til nogen af "
+"serverne på netværket.</p> "
+"<p>Højreklik med musen på et alias for at udføre yderligere funktioner.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "R&edigér overvågningsliste..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Klik for at redigere listen med aliasser som vises på skærmen."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Adressebog:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Når du markerer et alias i listen ovenfor, bruges knapperne her til at knytte "
+"aliasset til en indgang i adressebogen."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Redigér &kontakt..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Klik for at oprette, vise eller redigere adressebogsindgangen som hører sammen "
+"med aliasset som blev markeret ovenfor."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Æ&ndr tilknytning..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Klik for at knytte aliasset som blev markeret ovenfor til en indgang i "
+"adressebogen."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "S&let tilknytning"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Klik for at fjerne tilknytningen mellem aliasset som blev markeret ovenfor og "
+"indgangen i adressebogen."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " online via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " siden %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Offline"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr "Stemme"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Halvt op"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operatør"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Ejer"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Lav ny k&ontakt..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Vælg tilknytning..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Deltag i kanal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Vælg lydfil"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Logfil startet\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Deltag automatisk kanal ved invitation"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Bemærk at gemme logfiler gemmer hele filen"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Spørg før sletning af logfilens indhold"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Spørg om at lukke forespørgsler efter at ignorere alias"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Spørg før skift af en forbindelse til et netværk på en anden server"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr ""
+"Spørg før oprettelse af endnu en forbindelse til samme netværk eller server"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Luk serverfaneblad"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Luk kanalfaneblad"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Luk forespørgselsfaneblad"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Kanallisten kan kun være åbnet fra server-følsomme faneblade"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Advarsel mod at skjule hovedvindue-menuen"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Advarsel om høj traffik med kanalliste"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Advarsel mod at indsætte store portioner tekst"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Advarsel når Konversation afsluttes"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Advar før afslutning med aktive DCC-filoverførsler"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Kanalliste"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filteropsætning"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Min. antal brugere:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Maks. antal brugere:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Du kan begrænse kanallisten til de kanaler som har et minimalt antal brugere "
+"her. At vælge 0 deaktiverer kriteriet."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Du kan begrænse kanallisten til de kanaler som har et maksimalt antal brugere "
+"her. At vælge 0 deaktiverer kriteriet."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Filtermønster:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filtermål:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Indtast en filterstreng her."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Regulært udtryk"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Anvend filter"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Klik her for at hente listen over kanaler fra serveren og tilpasse filtret."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Den filtrerede kanalliste vises her. Bemærk at hvis du ikke bruger regulære "
+"udtryk, lister Konversation alle kanaler hvis navn indeholder filterstrengen "
+"som du skriver ind. Kanalnavnet behøver ikke at begynde med strengen du skrev "
+"ind.\n"
+"\n"
+"Vælg en kanal du vil gå med i ved at klikke på den. Højreklik på kanalen for at "
+"få en liste med alle url'er som nævnes i kanalens emne."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Kanalnavn"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Kanalemne"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Genopfrisk liste"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Gem liste..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Tilslut til kanal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Klik her for at gå med i en kanal. Et nyt faneblad laves for kanalen."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Gem kanalliste"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation kanalliste: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanaler: %1 (%2 vist)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Ikke entydige brugere %1 (%2 vist)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Åbn URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Ingen URL fundet>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Kanalliste for %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Online"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Et andet KDE-program forsøgte at bruge Konversation til direkte meddelelser, "
+"men angav ikke nogen kontakt at sende meddelelsen til. Det er formodentlig en "
+"fejl i det andet program."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Et andet KDE-program forsøgte bruge Konversation til direkte meddelelser, men "
+"Konversation kunne ikke finde den angivne kontakt i KDE's adressebog."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Et andet KDE-program forsøgte bruge Konversation til direkte meddelelser, men "
+"den forespurgte bruger %1 er ikke online."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Et andet KDE-program forsøgte at bruge Konversation til at sende en fil til en "
+"kontakt, men angav ikke nogen kontakt at sende filen til. Det er formodentlig "
+"en fejl i det andet program."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Et andet KDE-program forsøgte bruge Konversation til at sende en fil til en "
+"kontakt, men Konversation kunne ikke finde den angivne kontakt i KDE's "
+"adressebog."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Et andet KDE-program forsøgte bruge Konversation for at sende en fil til en "
+"kontakt, men den forespurgte bruger %1 er ikke online for øjeblikket."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Et andet KDE-program forsøgte bruge Konversation for at tilføje en kontakt. "
+"Konversation understøtter ikke det."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Kunne ikke starte adressebogsprogrammet (kaddressbook). Det er formodentlig på "
+"grund af at det ikke er installeret. Installér venligst pakken 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Kontakten du har markeret har ikke en tilhørende e-mail-adresse. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Kan ikke sende brev"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Kunne ikke starte dit e-mail-program. Det er formodentlig på grund af at det "
+"ikke er installeret. For at installere KDE's e-mail-program (kmail), skal "
+"pakken 'kdepim' installeres."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Ingen af kontakterne du har markeret er tilknyttet en adressebogskontakt. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Kontakten du har markeret hører ikke sammen med en adressebogskontakt. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Nogle af kontakterne (%1) du har markeret hører ikke sammen med "
+"adressebogskontakter. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"En af kontakterne (%1) du har markeret hører ikke sammen med en "
+"adressebogskontakt. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Du kan højreklikke på en kontakt og vælge at redigere Adressebogstilknytninger "
+"for at link dem til en kontakt i din adressebog."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Ingen af kontakterne du har markeret har en tilhørende e-mail-adresse. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Nogle af kontakterne (%1) du har markeret har ikke en tilhørende "
+"e-mail-adresse. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"En af kontakterne (%1) du har markeret har ikke en tilhørende e-mail-adresse. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Du kan højreklikke på en kontakt og vælge at redigere adressebogens kontakt for "
+"at tilføje en e-mail-adresse til den."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Nogle af kontakterne (%1) du har markeret hører ikke sammen med kontakter i "
+"adressebogen, og visse af kontakterne (%2) har ikke en tilhørende "
+"e-mail-adresse. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Du kan højreklikke på en kontakt og vælge at redigere Adressebogstilknytninger "
+"for at link dem til en kontakt i din adressebog, og vælge at redigere "
+"adressebogens kontakt for at tilføje en e-mail-adresse til den."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Vil du sende en e-mail til aliasser som har en e-mail-adresse alligevel?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Send brev"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Lænk IRC-alias til adressebogskontakt"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Vælg personen som '%1' er."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "For øjeblikket hører '%1' til en kontakt."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "For øjeblikket hører '%1' til kontakten '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Advarsel:</b> '%1' er for øjeblikket på listen som tilhørende flere "
+"kontakter. Vælg venligst den rigtige kontakt.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Ny adressebogsindgang"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Giv navn til den nye indgang:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL-fanger"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Liste med url'er som blev nævnt i et af vinduerne i Konversation under denne "
+"session."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Å&bn URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Markér en <b>url</b> ovenfor, og klik derefter på knappen for at starte "
+"programmet som hører sammen med url'ers MIME-type.</p>"
+"<p>Du kan angive en egen browser for url'er med <b>Indstillinger</b>, under <b>"
+"Opførsel</b> | <b>Generelt</b>.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Kopiér URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Markér en <b>url</b> ovenfor, og klik derefter på knappen for at kopiere url'en "
+"til klippebordet."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "S&let URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Markér en <b>url</b> ovenfor, og klik derefter på knappen for at fjerne url'en "
+"fra listen."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Ge&m liste..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Klik for at gemme hele listen til en fil."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Ryd liste"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Klik for at rydde hele listen."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Gem URL-liste"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Redigér flerlinje-indsætning"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Tilføj &citatindikatorer"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "K&anal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Kanalnavnet er krævet."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Rå log"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Søg efter tekst i nuværende faneblad"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "Kanal&liste for %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Å&bn logfil for %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "&Kanalopsætning for %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Standard (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Du kan kun søge i tekstfelter."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Find tekstinformation"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Logfil for %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC-Status"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Brug af denne funktion kan resultere i en masse netværkstraffik. Hvis din "
+"forbindelse ikke er hurtig nok, er det muligt at serveren afbryder forbindelsen "
+"til dine klienter."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Kanalliste-advarsel"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Kanallisten kan kun åbnes fra en forespørgsel, kanal eller et statusvindue for "
+"at finde ud af, hvilken server denne liste tilhører."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Indtast netværkets navn her. Du kan oprette så mange indgange på skærmen "
+"Serverliste med samme netværk som du vil."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Vælg en eksisterende identitet eller klik på Redigér for at tilføje en ny "
+"identitet eller redigere en eksisterende. Identiteten identificerer dig og "
+"afgør dit alias når du forbinder til netværket."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Valgfrit. Denne kommando sendes til serveren efter forbindelse. Eksempel: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Eksemplet gælder netværket "
+"freenode, som kræver at brugere registrerer deres aliasser med et kodeord og "
+"logger ind ved forbindelse. <i>konvirocks<i> er kodeordet for aliasset som "
+"angives i identiteten. Du kan indtaste mere end en kommando ved at adskille dem "
+"med semikolon."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Markér dette hvis du ønsker at Konversation skal forbinde automatisk til "
+"netværket så snart du starter Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Dette er en liste med IRC-servere i netværket. Ved forbindelse til netværket, "
+"forsøger Konversation først at forbinde til den øverste server på listen. Hvis "
+"det mislykkes, gøres et forsøg med den næste server. Hvis det mislykkes, gøres "
+"et forsøg med den tredje, og så videre. Mindst en server skal angives. Klik på "
+"en server for at markere den."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Valgfrit. Dette er en liste med kanaler som du automatisk går med i når "
+"Konversation er forbundet til en server. Du kan lade den være tom hvis du ikke "
+"ønsker at gå med i nogen kanaler automatisk."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Ændr netværksinformation"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Tilføj server"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Redigér server"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Tilføj kanal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Redigér kanal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Netværksnavnet er krævet."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Du skal tilføje mindst en server til netværket."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation-temaer"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Vælg temapakke"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Mislykkedes at hente tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Filen med temaer er ugyldig."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Kan ikke installere tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Vil du fjerne %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Fjern tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC klient"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Vælg modtager"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Vælg alias og luk vindue"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Luk vinduet uden ændringer"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Serveren %1 ikke fundet."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Administratoren har begrænset rettigheden til at modtage filer"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Ugyldig afsenderadresse (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Forhandling som ikke understøttes (filstørrelse = 0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Kan ikke oprette mappen.</b><br>Mappe: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Kunne ikke oprette en I/O-slave-udgave"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Filen bruges af en anden overførsel.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>En delvis fil findes.</b><br>%1<br>Fildelens størrelse: %2 byte<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Filen findes allerede.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Kunne ikke åbne filen.<br>Fejl: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Kunne ikke sende reverse DCC SEND-bekræftelse til partneren via IRC-serveren."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Venter på forbindelse"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Venter på at den anden brugeren skal acceptere"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Kunne ikke sende DCC RECV-genoptagelsesanmodning til partneren via "
+"IRC-serveren."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Uventet svar fra fjernvært"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Overførselsfejl"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "I/O-fejl: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Nogen information om personen du taler med i forespørgselskanalen vises i "
+"denne linje. Fuldstændigt navn og værtsmaske vises, sammen med eventuelt "
+"billede eller logotype som personen har knyttet til sig i KDE's adressebog."
+"<p>Se <i>Konversation-håndbogen</i> for information om hvordan et alias knyttes "
+"til en kontakt i adressebogen, og for en forklaring af hvad en værtsmaske "
+"er.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(borte)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Vil du ignorere %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Ønsker du at lukke denne forespørgsel efter at have ignoreret dette alias?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Luk for denne forespørgsel"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Hold åben"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Vil du holde op med at ignorere %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identitetsstandard ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Vil du lukke forespørgselskanalen med %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Luk forespørgsel"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Taler til dig selv"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 har forladt denne server"
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 har forladt denne server (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD-forhåndsvisning - træk for at ændre position"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operatør"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Ejer"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Halv-operatør"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Har stemme"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Grænseflade"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Opførsel"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Påmindelser"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Chat-vindue"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temaer for aliasliste"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Farver"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Hurtigknapper"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Forbindelse"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Aliasliste"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Kommandoaliasser"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Automatisk erstatning"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Logger"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Fremhævning"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Overvågede aliasser"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Visning på skærm"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Advarselsdialoger"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC modtagespørgsmål"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Genoptag"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "&Oprindeligt filnavn"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Foreslået &nyt filnavn"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Overskriv"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Om&døb"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Find fremad"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Versalfølsom"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Kun hele ord"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Fra markøren"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vil du lukke '%1'?\n"
+"\n"
+"Alle tilknyttede faneblade vil også blive lukket."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Luk faneblad"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vil du afbryde forbindelsen til '%1'?\n"
+"\n"
+"Alle tilknyttede faneblade vil også blive lukket."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Afbryd forbindelse til serveren"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Afbryd forbindelse"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Påbegyndt den"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Status"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Fremgang"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Position"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Tilbageværende"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Hastighed"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Senderadresse"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Acceptér"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Afbryd"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Åbn fil"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Start på at modtage"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Afbryd overførslen eller overførslerne"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Kør filen"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Vis detaljer for DCC-overførsel"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Markér &alle punkter"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Markér alle &færdige punkter"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Acceptér"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Af&bryd"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Send igen"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Ryd"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Å&bn fil"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Fil-&information"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Redigér kanalindstillinger"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Hver kanal på IRC har et tilhørende emne. Det er helt simpelt en meddelelse "
+"som alle kan se."
+"<p>Hvis du er en operatør, eller kanaltilstanden <em>'T'</em> "
+"ikke er aktiveret, kan du ændre emnet ved at klikke på Redigér knappen "
+"kanalegenskaber til venstre for emnet. Du kan også vise historikken af emner "
+"der.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>Emnetilstand <b>T</b> betyder at kun kanaloperatøren kan ændre kanalens "
+"emne.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>Ingen meddelelser <b>N</b> udefra betyder at brugere som ikke er på kanalen "
+"ikke kan sende meddelelser som alle i kanalen kan se. Næsten alle kanaler har "
+"dette aktiveret for at forhindre irritationsmeddelelser.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En hemmelig kanal <b>S</b> vises ikke på kanallisten, og ingen brugere kan "
+"se at du er på kanalen med kommandoen <em>WHOIS</em> "
+"eller lignende. Kun personer som er på samme kanal ved om at du er på kanalen "
+"hvis denne tilstand er indstillet.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En kanal kun for indbudte <b>I</b> betyder at personer kun kan gå med på "
+"kanalen hvis de er indbudte. For at indbyde nogen, skal en kanaloperatør give "
+"kommandoen <em>/invite alias</em> inde på kanalen.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En privat kanal <b>P</b> vises i listen over alle kanaler, men emnet vises "
+"ikke. En brugers <em>WHOIS</em> viser måske om vedkommende er på en privat "
+"kanal eller ej, afhængig af IRC-serveren.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En modereret kanal <b>M</b> er en hvor kun operatører, deloperatører og dem "
+"der har stemme kan tale.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En beskyttet kanal <b>P</b> kræver at brugeren angiver et kodeord for at gå "
+"med.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En kanal som har en brugergrænse <b>L</b>, betyder at kun så mange brugere "
+"kan være på kanalen samtidigt. Visse kanaler har automatik som befinder sig på "
+"kanalen og ændrer grænsen afhængig af hvor travl kanalen er.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maksimalt antal brugere som tillades i kanalen"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Dette er kanalens brugergrænse: Det maksimale antal brugere som kan være på "
+"kanalen samtidigt. Hvis du er operatør, kan du indstille dette . "
+"kanaltilstanden <b>E</b>mne (knappen til venstre) vil automatisk være sat hvis "
+"dette er sat.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Dette viser dit nuværende alias, og eventuelle alternativer som du har "
+"indstillet. Hvis du vælger eller indskriver et andet alias, sendes en "
+"forespørgsel til IRC-serveren om at ændre dit alias. Hvis serveren tillader "
+"det, vælges det nye alias. Hvis du indtaster et nyt alias skal du trykke på "
+"returtasten til sidst."
+"<p>Du kan tilføje eller ændre alternative aliasser under punktet <em>"
+"Identiteter</em> i menuen <em>Fil</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Vil du ignorere de markerede brugere?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Vil du virkelig holde op med at ignorere de markerede brugere?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Komplettering"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Mulige kompletteringer: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Kanal-kodeord"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Alias-grænse"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Indtast ny alias-grænse:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Du er nu kendt som %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 er nu kendt som %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Du er gået med i kanalen %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 er gået med i kanalen (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Du har forladt denne server"
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Du har forladt denne server (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Du har forladt kanalen %1"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Du har forladt kanalen %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 har forladt denne server (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 har forladt denne kanal"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 har forladt denne kanal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Du har sparket dig selv af kanalen. (%1)"
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Du har sparket digselv ud fra kanalen %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Du er blevet sparket ud fra kanal %1 af %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Du er blevet sparket ud fra kanal %1 af %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Du har sparket %1 af kanalen."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Du har sparket %1 ud fra kanalen (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 er blevet sparket ud fra kanalen af %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 er blevet sparket ud fra kanalen af %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n alias\n"
+"%n alias"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n op'er)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Kanalens emne er \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Du satte kanalemnet til \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 sætter kanalemnet til \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Du giver kanalejer-privilegier til dig selv."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Du giver kanalejer-privilegier til %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 giver kanalejer-privilegier til dig."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 giver kanalejer-privilegier til %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Du tager kanalejer-privilegier fra dig selv."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Du tager kanalejer-privilegier fra %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 tager kanalejer-privilegier fra dig."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 tager kanalejer-privilegier fra %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Du giver kanal-admin-privilegier til dig selv."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Du giver kanall-admin-privilegier til %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 giver kanal-admin-privilegier til dig."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 giver kanal-admin-privilegier til %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Du tager kanal-admin-privilegier fra dig selv."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Du tager kanal-admin-privilegier fra %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 tager kanal-admin-privilegier fra dig."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 tager kanal-admin-privilegier fra %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Du giver kanaloperatør-privilegier til dig selv."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Du giver kanaloperatør-privilegier til %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 giver kanaloperatør-privilegier til dig."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 giver kanaloperatør-privilegier til %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Du tager kanaloperatør-privilegier fra dig selv."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Du tager kanaloperatør-privilegier fra %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 tager kanaloperatør-privilegier fra dig."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 tager kanaloperatør-privilegier fra %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Du giver kanal-halfop-privilegier til dig selv."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Du giver kanal halop-privilegier til %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 giver kanal halfop-privilegier til dig."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 giver kanal halfop-privilegier til %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Du tager kanal halfop-privilegier fra dig selv."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Du tager kanal halfop-privilegier fra %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 tager kanal halfop-privilegier fra dig."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 tager kanal halfop-privilegier fra %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Du giver digselv tilladelse til at tale."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Du giver %1 tilladelse til at tale."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 giver dig tilladelse til at tale."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 giver %2 tilladelse til at tale."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Du tager tilladelse til at tale fra digselv."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Du tager tilladelse til at tale fra %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 tager tilladelse til at tale fra dig."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 tager tilladelse til at tale fra %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Du sætter kanaltilstanden til 'ingen farver tilladt'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 sætter kanaltilstanden til 'ingen farver tilladt'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Du sætter kanaltilstanden til 'tillad farvekoder'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 sætter kanaltilstanden til 'tillad farvekoder'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Du sætter kanaltilstanden til 'kun invitation'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 sætter kanaltilstanden til 'kun invitation'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Du fjerner 'kun invitation'-tilstanden fra kanalen."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 fjerner 'kun invitation'-tilstanden fra kanalen."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Du sætter kanaltilstanden til 'modereret'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 sætter kanaltilstanden til 'modereret'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Du sætter kanaltilstanden til 'ikke modereret'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 sætter kanaltilstanden til 'ikke modereret'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Du sætter kanaltilstanden til 'ingen beskeder udefra'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 sætter kanaltilstanden til 'ingen beskeder udefra'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Du sætter kanaltilstanden til 'tillad beskeder udefra'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 sætter kanaltilstanden til 'tillad beskeder udefra'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Du sætter kanalstilstanden til 'privat'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 sætter kanalstilstanden til 'privat'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Du sætter kanalstilstanden til 'offentlig'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 sætter kanalstilstanden til 'offentlig'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Du sætter kanalstilstanden til 'hemmelig'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 sætter kanalstilstanden til 'hemmelig'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Du sætter kanalstilstanden til 'synlig'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 sætter kanalstilstanden til 'synlig'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Du slår 'emnebeskyttelse' til."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 slår 'emnebeskyttelse' til."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Du slår 'emnebeskyttelse' fra."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 slår 'emnebeskyttelse' fra."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Du satte kanalnøglen til '%1'."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 sætter kanalnøglen '%2'."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Du fjerner kanalnøglen."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 fjerner kanalnøglen."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Du sætter kanalgrænse til %1 aliasser."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 sætter kanalgrænse til %2 aliasser."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Du fjerner kanalgrænsen."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 fjerner kanalgrænsen."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Du sætter et forbud på %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 sætter et forbud på %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Du fjerner et forbud fra %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 fjerner et forbud fra %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Du sætter en forbudsundtagelse på %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 sætter en forbudsundtagelse på %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Du fjerner en forbudsundtagelse fra %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 fjerner en forbudsundtagelse fra %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Du sætter invitationsmaske %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 sætter invitationsmaske %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Du fjerner invitationsmasken %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 fjerner invitationsmasken %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Du sætter kanaltilstanden +%1."
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 sætter kanaltilstanden +%2."
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Du sætter kanaltilstanden -%1."
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 sætter kanaltilstanden -%2."
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Du skal være operatør for at ændre dette."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Emnet kan kun ændres af kanaloperatøren. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Ingen beskeder til kanal fra klienter udefra. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Hemmelig kanal. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Invitér kun kanal. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privat kanal. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Modereret kanal. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Beskyt kanal med et kodeord."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Sæt brugergrænse for kanal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Vil du forlade %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Forlad kanal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Forlad"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Erik Kjær Pedersen,Martin Schlander"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "erik@binghamton.edu,suse@linuxin.dk"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Langsom kø"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "Linjer"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "Bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Alder:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Tælling:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Linjer:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Bytes:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Normal kø"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Hurtig kø"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Alle køer"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Modtaget:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Bytes (rå):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Bytes (indkodede):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Knapnavn"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Knaphandling"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Knaphandling:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Knapnavn:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Tilgængelige pladsholdere:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Nuværende alias\n"
+"%c: Denne kanal\n"
+"%K: Servers kodeord\n"
+"%u: Liste af udvalgte aliasser\n"
+"%s<term>%: udtryk brugt til at adskille aliasser i %u\n"
+"%n: Send kommando direkte til serveren i stedet for din input-linje"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Filnavn:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Mig selv:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Type:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Status:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Sted:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Fremgang:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partner:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Åbn mappe"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Filstørrelse"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Gns.hastighed"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Genoptaget:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Nuværende hastighed:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Nuværende position:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Anslået tilbageværende tid:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Tilbudt kl.:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Afsluttet kl.:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Startet kl.:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Overførselstid:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Aktivér automatisk genforbindelse"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Forsinkelse på genforbindelse:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Genforbindelsesforsøg:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " sekunder"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Ubegrænset"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Fejlsøgning"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Vis vindue med ubehandlet &log ved forbindelse"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Mønster"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Type"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Mønster:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Meddelelsestype"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Ny"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Fjern alle"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Netværkets navn:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identitet:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Kommandoer:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Forbi&nd ved programstart"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servere"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Tilføj..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "R&edigér..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Auto-deltag i kanaler"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "R&edigér..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Erstatning:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Erstatning"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Find &næste"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Find foregående"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "Kommando der skal køres ved dobbeltklik:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Sortér uden &versalfølsomhed"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Sortér efter &aktivitet"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Sortér efter bru&gerstatus"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Forklaring"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Lav om på alias-sortering med træk og slip)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Temaindstilling"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstallér tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Fjern tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ikon for normale brugere"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ikon for fraværende brugere"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ikon for brugere med stemme"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ikon for brugere med rettigheder som deloperatør"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ikon for brugere med rettigheder som operatør"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ikon for brugere med rettigheder som administrator"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ikon for brugere med rettigheder som ejere"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Forhåndsvisning:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "Fanebladsindstilling"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Udseende"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Placering:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Vis lukke&kontroller i faneblade"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Vis en lukningsknap til &højre i fanebladslinjen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Begræns fanebladstekstens s&tørrelse så alt får plads på skærmen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Giv nye faneblade &fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Giv nye &forespørgsler fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Mus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "&Midterklik på et faneblad for at lukke det"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Kommandoer der skal &køres når de dobbeltklikkes:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Når du dobbeltklikker på et alias i vinduet <b>Aliasser online</b> "
+"placeres denne kommando på <b>indtastningslinjen</b> i servervinduet.</p>\n"
+"<p>Følgende symboler kan bruges i kommandoen:</p>"
+"<ul>\n"
+"<li>%u: Det dobbeltklikkede alias.</li>\n"
+"<li>%K: Servernes kodeord.</li>\n"
+"<li>%n: Send kommandoer direkte til serveren i stedet for at tilføje det i din "
+"indtastningslinjen.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Når du dobbeltklikker på et alias i vinduet <b>Aliasser online</b> "
+"placeres denne kommando på <b>indtastningslinjen</b> i servervinduet.</p>"
+"<p>Følgende symboler kan bruges i kommandoen:</p>"
+"<ul> "
+"<li>%u: Det dobbeltklikkede alias.</li>"
+"<li>%K: Serverens kodeord.</li>"
+"<li>%n: Send kommandoen direkte til serveren i stedet for at tilføje den til "
+"din indtastningslinje.</li></ul> </qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "&Opdateringsinterval:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation kontrollerer status for aliasser på listen nedenfor med dette "
+"interval."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Vis faneblad med overvågede aliasser ved progr&amstart"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Hvis markeret, vises vinduet <b>Overvågede aliasser</b> "
+"automatisk når Konversation startes.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Aktivér aliasovervåger"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Når aliassovervågning er aktiveret, bliver du underrettet når et alias som er "
+"på listen <b>Overvågede netværk eller alias</b> går på eller af.</p>\n"
+"<p>Du kan også åbne vinduet <b>Alias online</b> for at se status for alle "
+"overvågede aliasser.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Netværk:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"IRC-servernetværk (såsom 'freenode') som brugeren valgte at overvåge er på."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Alias (brugernavn) for den valgte personen at overvåge"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Overvågede netværk/aliasser"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Når aliassovervågning er aktiveret, bliver du underrettet når et alias som er "
+"på listen <b>Overvågede netværk eller alias</b> går på eller af.</p>\n"
+"<p>Du kan også åbne vinduet <b>Alias online</b> for at se status for alle "
+"overvågede aliasser.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Klik for at tilføje et alias til listen."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Klik for at fjerne de valgte aliasser fra listen."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Aktivér logning"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "&Aktivér små bogstaver til logfilnavne"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "Tilføj &værtsnavn til logfilnavn"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Logfilens &sti:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Aktivér s&tatusfelt"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Brug sta&tusfelt til nye beskedpåmindelser"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Underret kun når en markering udløses eller dit nuværende alias bruges"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Blin&k med ikonet"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Skjul vindue ved opstart"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Alias komplettering"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Kompletterings&tilstand:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Gå gennem aliasliste"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Skal-lignende"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Skal-lignende med kompletteringsfelt"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Endelse ved &begyndelsen af linjen:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Ellers:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Versalfølsom"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Deaktivér underretninger ved &fravær"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Brug selvvalgt &versions-svar:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Her kan du sætte dit eget svar for <b>CTCP <i>VERSION</i></b> "
+"forespørgsler.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Inddatafeltet ekspanderer med teksten"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Komman&do-tegn:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Brug selvvalgt browser"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Begræns fanebladstekstens størrelse så alt får plads på skærmen"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Skjul rullebjælken"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Aktivér hvis du ønsker at alle IRC-indtastningslinjer skal kontrolleres for "
+"stavning mens du skriver"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"At aktivere dette gør at inddatafeltet vokser lodret når det fyldes op."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Skjult i statusfeltet"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Start med skjult hovedvindue"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Vis &rigtige navne ved siden af aliasser"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Vis faneblad med overvågede aliasser ved programstart"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Aktivér emotikoner"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Emotikontema"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Emne"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Dato"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&Tilstande"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Emnet kan kun ændres af kanaloperatøren."
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Ingen beskeder fra udenfor kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Hemmelig kanal. Kanalen angives ikke i kanallisten"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Kun &indbudte har ret til at gå med i kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Disse styrer kanalens <em>tilstand</em>. Kun en operatør kan ændre dem."
+"<p>En kanal kun for indbudte <b>I</b> betyder at personer kun kan gå med på "
+"kanalen hvis de er indbudte. For at indbyde nogen, skal en kanaloperatør give "
+"kommandoen <em>/invite alias</em> inde på kanalen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Modereret kanal. Kun personer med stemme kan skrive i kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "Kanalko&deord:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Bruger&grænse:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Vis &avancerede tilstande >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, baglæns skråstreg, tabulator, backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parameter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Bandlysningsliste"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Fjern bandlysning"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Tilføj bandlysning"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Værtmaske"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Sat af"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Tid sat"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "&Søg:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC-indstillinger"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Download-&mappe:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Tilføj &sender til filnavn"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&Lav mappe for sender"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Konvertér mellemrum i filnavn til understregning inden der sendes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Acceptér a&utomatiske forespørgsler om download"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "&Genoptag download automatisk"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Aktivér hurtig DCC-afsendelse (virker måske &ikke med alle klienter)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "B&ufferstørrelse:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC sende-&tidsudløb"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Gå tilbage til IPv&4-grænseflade for DCC-sending:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Hvis dette er aktiveret, udføres DCC-overførsler med IPv6-forbindelser med "
+"IPv4-grænsefladen som angives her"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " byte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sek"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Aktivér passiv DCC-send"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Metode til at få egen IP-adresse:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "E&gen IP-adresse:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Porte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Aktivér bestemte p&orte til DCC-chat:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "til"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Aktivér specifikke &porte til DCC-overførselsserver:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Brug farvet tekst"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Brug farvede lysdioder"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Programbegivenhed"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Programbegivenheder sker i terminalfaneblade, DCC-statusfanebladet og andre "
+"programfaneblade som ikke direkte bruges til chat."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Meddelelse"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Privat besked"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Nuværendet brugt alias"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Kanalbegivenhed"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Kanalbegivenheder er ændringer af tilstande eller brugere som forlader eller "
+"går med i en kanal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Gør at chatvinduets farvelægning foretrækkes"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Hvis du markerer dette, sættes farverne du vælger på indstillingssiden "
+"Farvelægninger farverne for \"Nuværende brugt alias\" og \"Farvelægning\" ud af "
+"kraft."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "&Aktivér en fastbredde skrifttype til MOTD-beskeder"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Brug skrifttype med fast bredde for MOTD (Dagens meddelelse)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Vis afsenderens alias med &fed type i chatvinduet"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Chat-tekst:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Aliasliste:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Tabulatorlinje"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "&Fremhæv"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Regulært udtryk"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Fremhævninger"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Lyd"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Auto-tekst"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Mønster:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Farve:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Lyd:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Test lyd"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Auto-tekst:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Aktivér lyde for fremhævede punkter"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Fremhæv altid &eget nuværende alias:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Fremhæv altid &egne linjer:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Lav ny &indgang..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Lav en ny indgang i din adressebog"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Foto"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Navn"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Vælg den kontakt du ønsker at kommunikere med via Instant Messaging"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Søg:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Aktivér &signal ved indkommende ASCII BEL-tegn"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Aktiverer systemlyd når du modtager styretegnet ASCII BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Skjul &Join/Part/Nick begivenheder"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Deaktivér variabele&kspansion (f.eks. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Ekspandér ikke variabler når tekst sendes til serveren. En variabel begynder "
+"med '%'. For eksempel ekspanderes %B til tegnene som behøves for at vis teksten "
+"med fed type."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Omdirigér statusmeddelelser til serverens statusvindue"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Til&bagerulningsgrænse:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Hvor mange linjer der skal holdes i buffere. 0 = ubegrænset"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "Brug &ubehandlede tilstande ved ændringer af tilstande"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Behold kanaltilstandsstrengen som en tegnkombination i stedet for at oversætte "
+"den til menneskelig læsbar form. F.eks. '*** Kanaltilstande: ingen meddelelser "
+"udefra' bliver '*** Kanaltilstande: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " linjer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Markeringslinjer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Vis manuelt indsatte linjer i alle chatvinduer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Markér den sidste position i et chatvindue når det skjules"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Indsætter en husk-linje i chatvinduet når du skifter til et andet chatvindue "
+"eller minimerer programmet."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Flyt kun linjen når ny tekst er ved at skulle vises"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Aktivér automatisk opslag af brugerinformation (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Maksimalt antal brugere i en kanal:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " aliasser"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Opdateringsinterval:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Aktivér visning på skærm"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "&Visning på skærm"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Tegn skygger"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD-skrifttype:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Vis &OSD-besked"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&Hvis eget alias viser sig i kanalbesked"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "På vilkårlig kanal&besked"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Ved &forespørgselsaktivitet"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Ved &Join/Part begivenheder"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Brug egne farver"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Tekst&farve:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Baggrundsfarve:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Ø&vrige indstillinger"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Varighed:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Skærm:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Vindue"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Ny"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Fjernet"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Erstat i"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Find"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Erstat med"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Erstat i:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Find:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Erstat med:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Aktivér &tidsstempler"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "&Vis datoer"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Vis &historik"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Linjer: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Layout"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Vis kanalemne"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Vis kanal&tilstandsknapper"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Vis &rullebjælke"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Vis &felt til at ændre eget alias"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Vis &hurtigknapper"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Vis rigtige navne i aliaslisten"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Vis kanal&aliasliste og hurtigknapper"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Vis værtsmasker &i aliasliste"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Aktivér &baggrundsbillede"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "S&ti:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Egne farver"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "&Brug egne farver for inddatafelter, aliasliste og fanebladsliste"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Baggrund:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Serverbesked:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hyperlink:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Kanal&besked:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Handli&ng:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Ba&g-log:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "K&ommandobesked:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Forespørgselsbesked:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Tidsstempel:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternativ baggrund:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Farvede aliasser"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Egen aliasfarve:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Tillad &farvet tekst i IRC-meddelelser"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ved at aktivere dette, vises farvekoder som er tilføjet til IRC-meddelelser som "
+"farvet tekst i dit chatvindue. Du kan tilføje farvekoder i dine meddelelser ved "
+"at vælge Indsæt -> IRC-farve."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Forhåndsvisning"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Sådan her ser din meddelelse ud med disse farver"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Dette er en forhåndsvisning af hvordan læserne kan se din meddelelse hvis "
+"du vælger disse farver."
+"<br>\n"
+"<b>Bemærk: Alle klienter understøtter ikke dette, og visse brugere kan have "
+"valgt at ignorere dine farveændringer.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Den valgte tekstfarve tilføjes på indtastningslinjen."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Her vælger du hvilken farve du ønsker at teksten i næste meddelelse du "
+"sender skal have. Hvis du vælger en farve og klikker på O.k., tilføjes den "
+"valgte farve på indtastningslinjen. All tekst som skrives derefter vil have den "
+"valgte farve, indtil du ændrer farve igen."
+"<br>\n"
+"<b>Bemærk: Ikke alle brugere aktiverer tilvalget for at se dette.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Forgrundsfarve:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Den valgte baggrundsfarve for tekst tilføjes på indtastningslinjen."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Her vælger du hvilken farve du ønsker at tekstens baggrund skal have i "
+"næste meddelelse du sender.\n"
+"Hvis du vælger en farve og klikker på O.k., tilføjes den valgte farve på "
+"indtastningslinjen.\n"
+"All tekst som skrives derefter vil have den valgte farve, indtil du ændrer "
+"farve igen."
+"<br>\n"
+"Ved at vælge standardværdien \"<i>Ingen</i>\" ændres meddelelsens "
+"baggrundsfarve ikke, så læserne ser meddelelsen med deres normale farve for "
+"tekstbaggrund."
+"<br>\n"
+"<b>Bemærk: Ikke alle klienter understøtter dette, og ikke alle brugere "
+"aktiverer tilvalget for at se dette.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Advarselsdialoger der skal vises"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Kodeord:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
+
+#~ msgid "Messages"
+#~ msgstr "Meddelelser"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Vis &borte-beskeder"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "&Sæt som tilgængelig globalt"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Hver "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Advarsel ved sletning af fil modtaget via DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Det lykkedes at indstille nøglen for %1."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Kan ikke fjerne filen '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC-Fejl"
+
+#~ msgid "Remove File"
+#~ msgstr "Fjern fil"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detaljer om overførsel"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Fjern fra dette panel"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Fjern de modtagne filer"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Fjern fil"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Vil du virkelig fjerne den markerede fil?\n"
+#~ "Vil du virkelig fjerne de %n markerede filer?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Slet bekræftelse"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Vis en persons rigtige navn ved siden af vedkommendes alias i aliaslisten."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Forbindelsen til serveren %1 er gået tabt: %2. Prøver at forbinde igen."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Forsøger med serveren %1 i stedet."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Venter i 2 minutter inden et nyt forsøg på at forbinde gøres..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Tilgængelige foretrukne grupper: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Tilgængelige tilvalg i gruppe %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Brug: %1PREFS <gruppe> <tilvalg> <værdi> eller %2PREFS LIST for en liste af grupper eller %3PREFS gruppe LIST for en liste af tilvalg i gruppen. Citér parametre hvis de indeholder mellemrum."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Detaljer om overførsel"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Kanal&nøgle:"
diff --git a/po/de/Makefile.am b/po/de/Makefile.am
new file mode 100644
index 0000000..b15dd61
--- /dev/null
+++ b/po/de/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = de
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/de/konversation.po b/po/de/konversation.po
new file mode 100644
index 0000000..732d01b
--- /dev/null
+++ b/po/de/konversation.po
@@ -0,0 +1,7651 @@
+# translation of konversation.po to German
+# Konversation translation strings file
+# Copyright (C)
+#
+# Dario Abatianni <eisfuchs@tigress.com>, 2002,2003, 2004, 2005.
+# Thomas Diehl <thd@kde.org>, 2003, 2004.
+# Thomas Reitelbach <tr@erdfunkstelle.de>, 2005, 2006.
+# Harald Sitter <sitter.harald@gmx.net>, 2005.
+# Stephan Johach <hunsum@gmx.de>, 2005, 2006.
+# Emil Obermayr <e.obermayr@obermayr-rossruck.de>, 2006.
+# Emil Obermayr <nobs@tigress.com>, 2006.
+# Eike Hein <sho@eikehein.com>, 2006.
+# Frederik Schwarzer <schwarzerf@gmail.com>, 2006, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-14 08:07+0200\n"
+"Last-Translator: Frederik Schwarzer <schwarzerf@gmail.com>\n"
+"Language-Team: German <kde-i18n-de@kde.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Einstellungen für Kanal %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Erweiterte Modi ausblenden <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Erweiterte Modi anzeigen >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Neu"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "unbekannt"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Verfügbare Informationen zur Datei %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Dateiinformationen"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Keine Detailinformationen für diese Datei gefunden."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Versand"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Empfang"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "In der Warteschlange"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Erstelle"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Erwarte"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Verbinde"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Empfange"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Sende"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Abgeschlossen"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Fehlgeschlagen"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Abgebrochen"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/Sekunde"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Op geben"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Op nehmen"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "HalfOp geben"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "HalfOp nehmen"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Voice geben"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Voice nehmen"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modi"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Kick"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Kickbann"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Benutzer bannen"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "*!*@*.host bannen"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "*!*@domain bannen"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "*!user@*.host bannen"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "*!user@domain bannen"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "*!*@*.host kickbannen"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "*!*@domain kickbannen"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "*!user@*.host kickbannen"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "*!user@domain kickbannen"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Kick / Bann"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorieren"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Nicht mehr ignorieren"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "&Query öffnen"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "DCC-&Chat öffnen"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "&Datei senden ..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&E-Mail senden ..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Adressbuchzuordnungen"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Zu beobachteten Benutzern hinzufügen"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Hier sind alle Benutzer im Kanal mit ihren Spitznamen aufgelistet."
+"<br>Üblicherweise zeigt ein Symbol den Status jedes Benutzers an, aber es "
+"scheint kein Symbol-Design installiert zu sein. Öffnen Sie <i>"
+"Konversation einrichten ...</i> im Menü <i>Einstellungen</i>"
+". Dort befindet sich im Abschnitt <i>Erscheinungsbild</i> der Unterpunkt <i>"
+"Designs</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Hier sind alle Benutzer im Kanal mit ihren Spitznamen und einem Statusbild "
+"aufgelistet."
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th> "
+"<td>Dieser Benutzer ist Administrator.</td></tr> "
+"<tr>"
+"<th><img src=\"owner\"></th> "
+"<td>Dieser Benutzer ist Kanalbesitzer.</td></tr> "
+"<tr>"
+"<th><img src=\"op\"></th> "
+"<td>Dieser Benutzer ist Kanaloperator.</td></tr> "
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Dieser Benutzer ist HalfOp im Kanal.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Dieser Benutzer hat Voice und kann in einem moderierten Kanal reden.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Dieser Benutzer hat keine besonderen Rechte.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th> "
+"<td>Dieser Benutzer ist zur Zeit abwesend.</td></tr></table>"
+"<p>Die Bedeutung von Administrator, Besitzer und HalfOp ist von Server zu "
+"Server unterschiedlich."
+"<p>Wenn Sie den Mauszeiger über den Spitznamen eines Benutzers bewegen, werden "
+"der momentane Status und alle verfügbaren Informationen zu diesem Benutzer aus "
+"dem Adressbuch angezeigt. Im Handbuch zu Konversation finden Sie weitere "
+"Informationen.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Kontakt bearbeiten ..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Verbindung auswählen/verändern ..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Kontakt auswählen ..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Verbindung ändern ..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Neuen Kontakt erstellen ..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Verbindung löschen"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Query"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notice"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Ausnahme"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Unterfenster"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Heute"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Gestern"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identifiziert)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-Mail"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Rechnermaske:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Abwesenheitsnachricht:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(unbekannt)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Online seit:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Klicken Sie hier, um den Editor für reguläre Ausdrücke (KRegExpEditor) zu "
+"starten"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+"Der Editor für reguläre Ausdrücke (KRegExpEditor) ist nicht installiert"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Ausgehend"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Eingehend"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Beide"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Kanal auf %1 betreten"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Schnell verbinden"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servername:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Der Name des Servers."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "Po&rt:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Der Port, den dieser Server benutzt."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Spitz&name:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Der Spitzname, den Sie verwenden möchten."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Passwort:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Falls der IRC-Server ein Passwort erfordert, geben Sie es hier ein (die meisten "
+"Server erfordern kein Passwort)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL ben&utzen"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Verbinden"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Mit dem Server verbinden"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Es lässt sich kein Socket zum Empfang öffnen: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "%1 wird eine DCC-Chat-Verbindung an Port %2 angeboten ..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC-Chat mit %1 auf Port %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "DCC-Chat-Verbindung zu %1 (%2:%3) wird aufgebaut ..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC-Chat mit %1 auf %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "DCC-Chat-Verbindung zu %1 wird aufgebaut."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Verbindung unterbrochen. Die Fehlermeldung lautet: %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Unbekannte CTCP-%1-Anfrage von %2 empfangen."
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Das Clientprogramm konnte nicht akzeptiert werden."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Voreinstellung ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Serverliste"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr ""
+"Klicken Sie hier, um die Verbindung mit dem ausgewählten IRC-Netzwerk und Kanal "
+"aufzubauen."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Hier wird eine Liste der eingerichteten IRC-Netzwerke angezeigt. Ein "
+"IRC-Netzwerk ist eine Ansammlung von untereinander verbundenen Servern. Es "
+"genügt, eine Verbindung zu einem der Server im Netzwerk aufzubauen, um mit dem "
+"ganzen IRC-Netzwerk verbunden zu sein. Nachdem die Verbindung aufgebaut wurde, "
+"betritt Konversation automatisch die angezeigten Kanäle. Beim ersten Start von "
+"Konversation ist bereits ein Eintrag für das Freenode-Netzwerk und den Kanal <i>"
+"#kde</i> voreingestellt."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Netzwerk"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identität"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanäle"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Neu ..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Klicken Sie hier zur Einrichtung eines neuen Netzwerks mit Servern, zu denen "
+"automatisch eine Verbindung aufgebaut werden soll und mit Kanälen, die "
+"automatisch betreten werden sollen."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Bearbeiten ..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Bei Programmstart anzeigen"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Neues Netzwerk"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Netzwerk bearbeiten"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1 kann nicht gelöscht werden.\n"
+"\n"
+"Das Netzwerk %2 muss mindestens einen Server haben."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Die ausgewählten Server können nicht gelöscht werden.\n"
+"\n"
+"Das Netzwerk %1 muss mindestens einen Server haben."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Sollen die ausgewählten Einträge wirklich gelöscht werden?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Soll \"%1\" wirklich gelöscht werden?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Anzeige der letzten:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Mit diesem Feld wird die maximale Größe der Protokolldatei festgelegt. Diese "
+"Einstellung wird erst beim nächsten Start von Konversation wirksam. Für jede "
+"Protokolldatei kann eine separate Einstellung festgelegt werden."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Protokolldatei leeren"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Hier werden die Nachrichten in der Protokolldatei angezeigt. Die ältesten "
+"Nachrichten befinden sich oben, und die neusten befinden sich unten."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Soll der Inhalt dieser Protokolldatei wirklich unwiderruflich gelöscht werden?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Hinweis: Beim Speichern in die Protokolldatei werden nicht nur die hier "
+"angezeigten Daten gespeichert, sondern alle."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Protokolldatei speichern"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Zielordner auswählen"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Information"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Versuche in %2 Sekunden eine Verbindung zu %1 aufzubauen."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Versuche in %2 Sekunden erneut eine Verbindung zu %1 aufzubauen."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Versuche der Neuverbindungen überschritten"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Es besteht bereits eine Verbindung zu %1. Soll eine weitere Verbindung "
+"hergestellt werden?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Es besteht bereits eine Verbindung zu %1."
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Verbindung erstellen"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Es besteht bereits eine Verbindung zu %1 über '%2' (Port %3). Möchten Sie "
+"stattdessen auf '%4' (Port %5) wechseln?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Server wechseln"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Bitte geben Sie die <b>Ident</b>-Antwort ein.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Bitte geben Sie Ihren <b>Realnamen</b> ein.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Bitte geben Sie mindestens einen <b>Spitznamen</b> ein.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Die Identität \"%1\" ist nicht richtig eingerichtet:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Identitätseinstellungen"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Identität ändern ..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identitäten"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identität:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Kopieren"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Umbenennen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Allgemein"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Realname:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Geben Sie hier Ihren echten Namen ein. IRC ist nicht dazu gedacht, sich vor "
+"Freunden oder Feinden zu verstecken. Denken Sie daran, falls Sie in Versuchung "
+"geraten, sich bösartig zu verhalten. Ein falscher \"Realname\" kann nützlich "
+"sein, um sein tatsächliches Geschlecht vor den ganzen Nerds da draußen zu "
+"verbergen, aber Ihr PC kann immer zurückverfolgt werden - Sie sind also nie "
+"wirklich anonym."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Spitzname"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Dies ist die Liste Ihrer Spitznamen. Ein Spitzname ist der Name, der anderen "
+"Benutzern angezeigt wird. Sie können einen beliebigen Namen verwenden. Das "
+"erste Zeichen muss ein Buchstabe sein.\n"
+"\n"
+"Da der Spitzname eindeutig für das ganze IRC-Netzwerk sein muss, kann es "
+"vorkommen, dass Ihr gewünschter Name vom Server abgelehnt wird, da ein anderer "
+"Benutzer ihn bereits verwendet. Geben Sie deshalb alternative Spitznamen ein. "
+"Falls Ihre erste Wahl vom Server abgelehnt wird, nimmt Konversation einen der "
+"alternativen Spitznamen."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Hinzufügen ..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Bearbeiten ..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Autoidentifikation"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vice:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Der Servicename kann <b><i>NickServ</i></b> oder ein netzwerkabhängiger Name "
+"wie <b><i>nickserv@services.dal.net</i></b> sein."
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Pa&sswort:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Abwesend"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+"Letzte Position in Chatfenstern markieren, wenn Status \"Abwesend\" gesetzt "
+"wird"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Ist diese Einstellung markiert, erscheint nach jedem <b>/away</b>"
+"-Befehl ein horizontaler Balken im Kanal, um den Zeitpunkt der Abwesenheit zu "
+"markieren. Andere IRC-Benutzer sehen diesen Balken nicht."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Spitzname bei Abwesenheit:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Geben Sie einen Spitznamen ein, der anzeigt, dass Sie abwesend sind. Wenn Sie "
+"einen <b>/away msg</b>-Befehl in einem beliebigen Kanal ausführen, den Sie mit "
+"dieser Identität betreten haben, ändert Konversation Ihren Spitznamen "
+"automatisch in den Abwesenheitsspitznamen. Andere Benutzer sehen dadurch, dass "
+"Sie abwesend sind. Wenn Sie einen <b>/away</b>-Befehl in einem Kanal ausführen, "
+"in dem Sie gerade abwesend sind, stellt Konversation Ihren ursprünglichen "
+"Spitznamen wieder her. Ist hier nichts eingegeben, ändert sich der Spitzname "
+"bei Abwesenheit nicht."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Automatische Abwesenheit"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Ist diese Einstellung markiert, setzt Konversation automatisch alle "
+"Verbindungen dieser Indentität auf Abwesend, wenn der Bildschirmschoner "
+"aktiviert wird oder der Benutzer die unten eingestellte Zeit inaktiv ist."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Abwesend nach"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " Minuten"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "inaktiv"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Automatische Anwesenheit bei Aktivität"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Ist diese Einstellung markiert, setzt Konversation automatisch die Abwesenheit "
+"aller Verbindungen dieser Identität zurück, wenn der Bildschirmschoner "
+"deaktiviert wird oder der Benutzer aktiv wird."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Abwesenheitsnachrichten"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Ist diese Einstellung markiert, sendet Konversation die Abwesenheitsnachricht "
+"automatisch an alle Kanäle, die mit dieser Identität betreten wurden. <b>%s</b> "
+"wird durch <b>msg</b> ersetzt. Wenn Sie einen <b>/away</b>"
+"-Befehl ausführen, wird die Rückkehrnachricht in allen Kanälen angezeigt, die "
+"mit dieser Identität betreten wurden."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Abwesenheitsnachricht:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Rü&ckkehrnachricht:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Erweitert"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pre-Shell-Befehl:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Hier können Sie einen Befehl eingeben, der vor dem Verbindungsaufbau mit dem "
+"Server ausgeführt wird. "
+"<br>Wenn diese Identität mehrere Server hat, wird der Befehl für jeden Server "
+"ausgeführt."
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Viele Server fragen bei einem Verbindungsaufbau die IDENT-Antwort Ihres "
+"Rechners ab. Wenn auf Ihrem Computer kein IDENT-Dienst läuft, sendet "
+"Konversation diese Antwort. Leerzeichen sind nicht erlaubt."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Kodierung:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Diese Einstellung beeinflusst, wie die von Ihnen eingegebenen Zeichen kodiert "
+"werden. Sie beeinflusst auch, wie Nachrichten angezeigt werden. Beim ersten "
+"Start übernimmt Konversation diese Einstellung automatisch vom Betriebssystem. "
+"Ändern Sie diese Einstellung, wenn die Nachrichten anderer Benutzer nicht "
+"korrekt dargestellt werden."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "Grund für &Quit:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Diese Nachricht wird angezeigt, wenn Sie einen Server verlassen."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Grund für &Part:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Diese Nachricht wird in einem Kanal angezeigt, wenn Sie ihn verlassen."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Grund für Kick:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Diese Nachricht wird in einem Kanal angezeigt, wenn Sie aus diesem Kanal "
+"gekickt werden (normalerweise von einem IRC-Operator)."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Identität bearbeiten"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Verwirft alle Änderungen"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Jede Identität muss mindestens einen Spitznamen enthalten."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Bitte geben Sie einen Realnamen ein."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Spitznamen hinzufügen"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Spitzname:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Spitznamen bearbeiten"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Identität hinzufügen"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identitätsname:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Die Identität muss einen Namen haben."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Identität umbenennen"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Diese Identität wird derzeit benutzt. Netzwerkeinstellungen, die diese "
+"Identität verwenden, werden auf die Standard-Identität zurückgesetzt. Soll die "
+"Identität trotzdem gelöscht werden?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Sollen wirklich alle Informationen zu dieser Identität gelöscht werden?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Identität löschen"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Identität kopieren"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normale Benutzer"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voice (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "HalfOps (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatoren (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Kanal-Admins (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Kanalbesitzer (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Zeichen einfügen"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Ein Zeichen einfügen"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation Lesezeichen-Editor"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Kein freier Port"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Es lässt sich kein Socket öffnen."
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Text suchen ..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Adresse in die Zwischenablage kopieren"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Zu Lesezeichen hinzufügen"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Verknüpfung speichern unter ..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Query mit %1 öffnen"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Kanal %1 betreten"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notify"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Betreten"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Verlassen"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Query öffnen"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Betreten"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Ben&utzerliste holen"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "&Thema anzeigen"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Keine Übereinstimmungen mit \"%1\" gefunden."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Verknüpfung speichern unter"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Serverliste ..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Verwaltung von Netzwerken und Servern"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Schnell &verbinden ..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr ""
+"Bitte geben Sie die Adresse des IRC-Servers ein, zu dem eine Verbindung "
+"aufgebaut werden soll"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "E&rneut verbinden"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Erneut mit dem Server verbinden."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Verbindung trennen"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Verbindung zum Server getrennt."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identitäten ..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+"Verwaltung von Spitznamen, Abwesenheit und anderen Identitätseinstellungen"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Beobachtete Be&nutzer online"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC-Status"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Protoko&lldatei öffnen"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Bekannten Verlauf für diesen Kanal in einem neuen Unterfenster öffnen"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Kanaleinstellungen ..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Den Dialog für Kanaleinstellungen zu diesem Unterfenster öffnen"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Kana&lliste"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Eine Liste aller Kanäle an zeigen, die es auf diesem Server gibt."
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL-Fänger"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Alle kürzlich erwähnten URLs in einem neuen Unterfenster zeigen."
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Neue &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Ein Terminal in einem neuen Unterfenster öffnen"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Nächstes Unterfenster"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Voriges Unterfenster"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Unterfenster &schließen"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Nächstes aktives Unterfenster"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Unterfenster nach oben verschieben"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Unterfenster nach unten verschieben"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Unterfenster nach rechts verschieben"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Unterfenster nach links verschieben"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Kanal erneut betreten"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Benachrichtigung aktivieren"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Kanal bei Verbindungsaufbau betreten"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Kodierung einstellen"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Gehe zu Unterfenster %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Markierungslinien entfernen"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Markierungslinien im aktuellen Unterfenster entfernen"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Fenster leeren"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Inhalt des aktuellen Unterfensters löschen"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "&Alle Fenster leeren"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Inhalt aller Fenster löschen"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Globale Abwesenheit"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Kanal &betreten ..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC-Farbe ..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Farbe für Ihre aktuelle IRC-Nachricht festlegen"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Markierungslinie"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Im aktuellen Unterfenster horizontalen Balken einfügen. Dieser ist nur für Sie "
+"sichtbar."
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Sonderzeichen ..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Ein beliebiges Zeichen in die aktuelle IRC-Nachricht einfügen"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "&Alle offenen Queries schließen"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Benutzerliste ausblenden"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>Es sind DCC-Transfers aktiv. Sind Sie sicher, dass Sie <b>Konversation</b> "
+"beenden möchten?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Beenden bestätigen"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+"<qt>Sind Sie sicher, dass Sie <b>Konversation</b> beenden möchten?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Konversation läuft im Systemabschnitt der Kontrollleiste weiter, wenn das "
+"Hauptfenster geschlossen wird. Sie können die Anwendung mit dem Befehl <b>"
+"Beenden</b> aus dem Menü <b>Datei</b> beenden.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "An Kontrollleiste andocken"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Hiermit wird das Menü vollständig ausgeblendet. Geben Sie %1 ein, um es "
+"wieder anzuzeigen.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Benachrichtigung aktivieren/deaktivieren"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Globale Abwesenheit aktivieren/deaktivieren"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "&IRC-Farbe einfügen ..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "&Sonderzeichen einfügen ..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "&Markierungslinie einfügen"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Kanalliste"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Globale &Abwesenheit aktivieren"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Rohdaten"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Aufruf: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Befehlsformat: %1JOIN <Kanal> [Passwort]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Befehlsformat: %1KICK <Spitzname> [Grund]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART ohne Parameter funktioniert nur in Kanälen oder Queries."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART ohne Kanalnamen funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC ohne Parameter funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC ohne Kanalnamen funktioniert nur innerhalb von Kanälen."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES ohne Argumente kann dazu führen, dass die Verbindung zum Server "
+"getrennt wird. Geben Sie '*' an, wenn Sie das wirklich möchten."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Befehlsformat: %1close [fenstername] schließt das angegebene Fenster oder das "
+"aktuelle, sofern kein Name angegeben wurde."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Befehlsformat: %1NOTICE <Empfänger> <Nachricht>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Sende Hinweis \"%2\" an %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Aufruf: %1ME Text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Sende CTCP-%1-Anfrage an %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Die Datei \"%1\" existiert nicht."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Befehlsformat: %1DCC [SEND Spitzname Dateiname]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Befehlsformat: %1DCC [CHAT Spitzname]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Unbekannter Befehl %1DCC %2. Mögliche Befehle sind SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Befehlsformat: %1INVITE <Spitzname> [Kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE ohne Kanalnamen funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 ist kein Kanal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Aufruf: %1EXEC <Skript> [Parameterliste]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Skriptnamen dürfen kein \"../\" enthalten."
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Aufruf: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Die Notify-Liste ist leer."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Notify-Liste: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Geben Sie Benutzernamen und Passwort für IRC-Operator-Status ein:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC-Operator-Passwort"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN ohne Kanalnamen funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN ohne Kanalnamen funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Aufruf: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [Kanal] "
+"<Benutzer|Maske>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Aufruf: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [Kanal] "
+"<Benutzer|Maske> [Grund]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN ohne Kanalnamen funktioniert nur in Kanälen."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Befehlsformat: %1UNBAN [Kanal] Muster"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 auf die Ignorieren-Liste gesetzt."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Aufruf: %1IGNORE [ -ALL ] <Benutzer 1> <Benutzer 2>...<Benutzer n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Aufruf: %1UNIGNORE <Benutzer 1> <Benutzer 2>...<Benutzer n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 von der Ignorieren-Liste entfernt."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Kein Ignore vorhanden: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Keine Ignores vorhanden: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Aufruf: %1QUOTE Befehlsliste"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Aufruf: %1SAY Text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Aufruf"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Aufruf: %1AME Text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Aufruf: %1AMSG Text"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Aufruf: %1OMSG Text"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Sende Nachricht \"%1\" an %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Aufruf: %1ONOTICE -Text"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Aktuelle Kodierung: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Kodierung auf %1 umgeschaltet."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 ist keine gültige Kodierung."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Aufruf: %1setkey [<Spitzname|Kanal>] <Schlüssel> setzt den Kodierungsschlüssel "
+"für einen Spitznamen oder einen Kanal. %2setkey <Schlüssel> "
+"in einem Kanal- oder Query-Unterfenster, setzt den Schlüssel für diesen."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "Der Key für %1 wurde gesendet."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Aufruf: %1delkey <Spitzname> oder <Kanal> löscht den Kodierungsschlüssel für "
+"einen Spitznamen oder einen Kanal"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "Der Key für %1 wurde entfernt."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "Der Key für %1 ist \"%2\"."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Für %1 wurde kein Schlüssel gesendet."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Befehlsformat: %1DNS <Spitzname>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 wurde aufgelöst zu: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1 kann nicht aufgelöst werden."
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Für Rückwärtsauflösung wird KDE 3.5.1 oder höher benötigt."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Befehlsformat: %1KILL <Spitzname> [Kommentar]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Mit der Eingabezeile können Sie Nachrichten eingeben, die an Kanal, Query "
+"oder Server gesendet werden. Eine Nachricht an einen Kanal wird von jedem "
+"Benutzer im Kanal gesehen, eine Query-Nachricht wird nur vom Empfänger gesehen. "
+"<p>Um einen Spitznamen beim Tippen zu vervollständigen, betätigen Sie die "
+"Tab-Taste. Sofern Sie noch nicht zu tippen begonnen haben, wird der zuletzt "
+"vervollständigte Name verwendet."
+"<p>Sie können auch besondere Befehle senden:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>Aktion</i></th>"
+"<td>wird als Aktion im Kanal oder in der Query angezeigt. Zum Beispiel wird <em>"
+"/me singt ein Lied</em> im Kanal als \"* Spitzname singt ein Lied\" "
+"angezeigt.</td></tr>"
+"<tr>"
+"<th>/whois <i>Spitzname</i></th>"
+"<td>zeigt Informationen über diesen Benutzer an, inklusive der betretenen "
+"Kanäle.</td></tr></table>"
+"<p>Im Handbuch zu Konversation finden Sie weitere Befehle. "
+"<p>Eine Nachricht kann nicht aus mehreren Zeilen bestehen.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Sie versuchen, eine größere Menge Text in den Chat einzufügen (%1 Bytes "
+"oder %2 Zeilen). Dies kann zu Verbindungsabbrüchen oder Flood-Kills führen. "
+"Wollen Sie wirklich fortfahren?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Warnung: Der Inhalt der Zwischenablage ist sehr umfangreich!"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Ein benutzerfreundlicher IRC-Client"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc://-Adresse oder Servername"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server, mit dem verbunden werden soll"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanal, der nach Verbindungsaufbau betreten werden soll"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Zu verwendender Spitzname"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Passwort für Verbindung"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "SSL für Verbindung verwenden"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008, das Konversation-Team"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation ist ein Client für das Internet-Relay-Chat-Protokoll (IRC).\n"
+"Treffen Sie sich mit Freunden im Netz, machen Sie neue Bekanntschaften und\n"
+"führen Sie ausschweifende Gespräche über Ihr Lieblingsthema."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Ursprünglicher Autor, Urheber des Projektes"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Betreuer"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Betreuer, Freigabeverantwortlicher, Benutzerinteraktion, Protokollbehandlung"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, Kodierungen verbessert, OSD-Positionierung"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protokollbehandlung, Eingabezeile"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish-Unterstützung, SSL-Unterstützung, Portierung nach KNetwork, farbige "
+"Spitznamen, Symboldesign der Benutzerliste"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Überarbeitung, KAddressBook/Kontact-Integration"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Hosten der Webseite"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Wartung der Webseite"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Mehrfachmodus-Erweiterung, Platzierung der Schließen-Knöpfe, "
+"OSD-Implementierung"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentation, Verbesserungen bei beobachteten Benutzern, einstellbarer "
+"Webbrowser"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Farbeinstellungsdialog, Hervorhebungsdialog"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP-Interface"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Nicht-Latin1-Kodierungen"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Eingebettete Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Schnellverbindung, Neues OSD angepasst, weitere Funktionen und Korrekturen"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Eine Reihe Fehlerbereinigungen und Aufräumen des Codes"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Verbesserungen für Ziehen und Ablegen"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Grafiken"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox-ähnliche Suchleiste"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw-Modi, Unterfenster-Gruppierung nach Server, Bannliste"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Kontrollleisten-Erweiterung"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Fehlerkorrekturen"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Erweiterte Benutzermodi"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Schließen offener Unterfenster mit Tastenkürzel"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Unterfenster mit Mausrad durchsehen"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Kanalbesitzerschaft hinzugefügt"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Option zum Filtern von IRC-Farben"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Fehlerkorrekturen, Arbeit am OSD, Aufräumarbeiten"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo-Skript"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Kontextmenü zum automatischen Betreten"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "CTCP-PING-Anfrage von %1 an Kanal %2 empfangen, Antwort wird gesendet."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "CTCP-%1-Anfrage von %2 empfangen, Antwort wird gesendet."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Versionsanfrage von %1 an Kanal %2 empfangen."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Versionsanfrage von %1 empfangen."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Ungültige DCC-SEND-Anfrage von %1 empfangen."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Ungültige DCC-ACCEPT-Anfrage von %1 empfangen."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Ungültige DCC-RESUME-Anfrage von %1 empfangen."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Ungültige DCC-CHAT-Anfrage von %1 empfangen."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Unbekannter DCC-Befehl %1 von %2 empfangen."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Unbekannte CTCP-%1-Anfrage von %2 an Kanal %3 empfangen."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Unbekannte CTCP-%1-Anfrage von %2 empfangen."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 an %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "CTCP-PING-Antwort von %1 empfangen: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "CTCP-%1-Antwort von %2 empfangen: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invite"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 hat Sie in den Kanal %2 eingeladen."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Willkommen"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Version %2), Benutzermodi: %3, Kanalmodi: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Support"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Ihre persönlichen Modi sind:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Kanalmodi: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "Themenschutz"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "Keine Nachrichten von außen"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "Geheim"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "Nur mit Einladung"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "Privat"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "Moderiert"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "Passwortgeschützt"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "Anonym"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "Server-Reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "Keine Farben erlaubt"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"Beschränkt auf %n Benutzer\n"
+"Beschränkt auf %n Benutzer"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Modus"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "Adresse"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "Adresse des Kanals: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Erstellt"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Kanal wurde erstellt am: %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 ist angemeldet als %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Namen"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Ende der Namensliste."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Der Kanal %1 hat kein Thema."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Thema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Das Thema des Kanals %1 lautet: \"%2\"."
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Das Thema wurde am %2 von %1 gesetzt."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Das Thema des Kanals %1 wurde am %3 von %2 gesetzt."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 verwendet den Host %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Spitzname/Kanal unbekannt."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Spitzname unbekannt: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Kanal unbekannt."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Spitzname"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Der Spitzname wird bereits benutzt, bitte wählen Sie einen anderen."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Spitzname wird bereits benutzt. Versuche %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Ungültiger Spitzname. Ändere Spitznamen zu %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Sie sind nicht in %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Message of the Day:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Ende der Message of the Day"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Sie sind nun IRC-Operator auf diesem Server."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Benutzer"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Anzahl der Benutzer im Netzwerk: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Anzahl der Benutzer auf %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Abwesend"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 ist abwesend: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Sie haben %1 in den Kanal %2 eingeladen."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 ist %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 (%2) aufgelöst zu Adresse: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Die Adresse für %1 (%2) lässt sich nicht auflösen."
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 wurde identifiziert."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 ist %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (abwesend)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Ende der /WHO-Liste für %1."
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 hat Benutzerstatus in den Kanälen: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 hat Voice in den Kanälen: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 hat HalfOp-Status in den Kanälen: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 hat Operator-Status in den Kanälen: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 ist Kanalbesitzer von: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 ist Administrator in den Kanälen: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 ist auf dem Server %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 steht für Hilfe bereit."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 ist IRC-Operator."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 Tag\n"
+"%n Tagen"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 Stunde\n"
+"%n Stunden"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 Minute\n"
+"%n Minuten"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 Sekunde\n"
+"%n Sekunden"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 ist seit %2, %3, %4 und %5 untätig."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 ist seit %2, %3 und %4 untätig."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 ist seit %2 und %3 untätig."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 ist seit einer Sekunde untätig.\n"
+"%1 ist seit %n Sekunden untätig."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 ist seit dem %2 online."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Ende der WHOIS-Liste."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Userhost"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 ist %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC-Operator)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (abwesend)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Liste"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Kanalliste:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (1 Benutzer): %2\n"
+"%1 (%n Benutzer): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Ende der Kanalliste."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Bannliste: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 eingetragen von %2 am %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Ende der Bannliste."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 steht momentan nicht zur Verfügung."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Unbekannter Befehl."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Nicht registriert."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Dieser Befehl erfordert mehr Parameter."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Sie haben persönliche Modi gesetzt: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "hat Ihre persönlichen Modi verändert:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " setzt Modus: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Standardidentität"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Beobachtete Spitznamen bearbeiten"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Netzwerkname:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr ""
+"Wählen Sie hier das Server-Netzwerk aus, zu dem die Verbindung aufgebaut werden "
+"soll."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Sp&itzname:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>Spitzname, der in diesem Netzwerk beobachtet werden soll.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Notifyinformation bearbeiten"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Die Verbindung ist mit %1-bit-SSL verschlüsselt."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Die verschlüsselte Verbindung zum Server über SSL steht nicht zur Verfügung, da "
+"Konversation ohne SSL-Unterstützung kompiliert wurde. Bitte installieren Sie "
+"eine neuere KDE-Version, die über SSL-Unterstützung verfügt."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Das SSL-Zertifikat des Servers wurde nicht erkannt. Vielleicht unterstützt "
+"dieser Server auf dem gewählten Port kein SSL. Wenn dieser Server auch normale, "
+"unverschlüsselte Verbindungen zulässt, werden SSL-Verbindungen auf einem "
+"anderen Port angenommen."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"Die IP-Adresse des Servers %1 stimmt nicht mit der Adresse überein, für die das "
+"Zertifikat ausgestellt wurde."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Server-Authentifizierung"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Details"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Das Serverzertifikat (%1) kann nicht authentifiziert werden."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Soll dieses Zertifikat weiterhin ohne Nachfrage akzeptiert werden?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Immer"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Nur diese Sitzung"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Hervorhebung] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Query] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 betritt %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 verlässt %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 verlässt Server %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 nennt sich nun %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 möchte Ihnen eine Datei senden."
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 hat ein Gespräch (Query) mit Ihnen begonnen."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 ist online (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 ist offline (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 hat Sie aus dem Kanal %2 geworfen"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 hat einen DCC-Chat zu Ihnen geöffnet."
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Hervorhebung] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Verbindung zu %1 kann nicht aufgebaut werden."
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Sie haben %1 betreten."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Ausdruck nicht gefunden"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Suche mit Umbruch"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+"Sie können dies nicht rückgängig machen, möchten Sie die Werte wirklich auf "
+"ihre Standardwerte zurücksetzen?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Zurücksetzen"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Netzwerkschnittstelle"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Antwort vom IRC-Server"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Manuell angeben"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC-Farbwähler"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Keine"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Name oder IP-Adresse des Servers. Auf irchelp.org befindet sich eine Liste mit "
+"IRC-Servern."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Bitte geben Sie die Portnummer ein, die zum Verbindungsaufbau mit dem Server "
+"benötigt wird. Für die meisten Server sollte der Port <b>6667</b> sein."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Pass&wort:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "V&erschlüsselte Verbindung (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Mit dieser Einstellung wird das Protokoll Secure Socket Layer (SSL) für die "
+"Kommunikation mit dem Server verwendet. Dadurch wird sichergestellt, dass die "
+"Kommunikation zwischen Ihrem Rechner und dem IRC-Server verschlüsselt abläuft. "
+"Der Server muss das SSL-Protokoll unterstützen. Falls der Server kein SSL "
+"unterstützt, wird der Verbindungsaufbau fehlschlagen."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Es muss eine Adresse für den Server angegeben werden."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Der Administrator hat die Rechte für den Dateiversand eingeschränkt."
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Die Adresse \"%1\" existiert nicht."
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Die Datei \"%1\" ist nicht auffindbar."
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Geben Sie den Dateinamen ein."
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Die Datei, die Sie an <i>%1</i> senden, hat keinen Namen."
+"<br>Geben Sie einen Dateinamen ein oder brechen den Transfer ab.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Kein Dateiname angegeben"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"Anfrage für den DCC-Versand konnte der Gegenstelle nicht über den IRC-Server "
+"zugestellt werden."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Es wird gewartet, bis der Empfänger annimmt."
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Die Verbindung kann nicht angenommen werden (Socketfehler)."
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Die Datei \"%1\" lässt sich nicht öffnen."
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Socketfehler: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Zeitüberschreitung"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Verbindungsfehler: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Die Gegenstelle hat die Verbindung beendet."
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"Die Operation wurde erfolgreich ausgeführt. Dies sollte in einer Fehlermeldung "
+"eigentlich nicht passieren."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Aus der Datei \"%1\" lässt sich nicht lesen."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "In die Datei \"%1\" lässt sich nicht schreiben."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Ein nicht behebbarer Fehler ist aufgetreten."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Die Datei \"%1\" lässt sich nicht öffnen."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Die Ausführung wurde unerwartet beendet."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Zeitüberschreitung bei der Ausführung."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Ein unbekannter Fehler trat beim Schließen auf."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Unbekannter Fehler. Der Code lautet: %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC-Versand"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC-Empfang"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Reverse DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Unbekannter Server"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 auf %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (Port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (Port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Ja, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 sek"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Bereit."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Hier wird die Anzahl der Benutzer im Kanal angezeigt und wieviele davon "
+"Operator-Status (Op) haben."
+"<p>Ein Kanaloperator hat besondere Rechte. Er darf andere Benutzer rauswerfen "
+"oder bannen, Kanalmodi ändern und andere Benutzer zu Operatoren machen.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Lag: Unbekannt"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Die Kommunikation mit dem Server erfolgt verschlüsselt. Dadurch wird Dritten "
+"das Mithören erschwert."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Die Statuszeile zeigt diverse Meldungen an, wie z. B. Probleme bei der "
+"Verbindung zum Server. Auf der rechten Seite ist die Zeitverzögerung zum Server "
+"(Lag) zu sehen. Dies gibt die Zeit an, die eine Nachricht von Dir zum Server "
+"und zurück braucht.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Lag: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Lag: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Keine Antwort vom Server %1 seit mehr als %2, %3, %4 und %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Keine Antwort vom Server %1 seit mehr als %2, %3 und %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Keine Antwort vom Server %1 seit mehr als %2 und %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Keine Antwort vom Server %1 seit mehr als einer Sekunde.\n"
+"Keine Antwort vom Server %1 seit mehr als %n Sekunden."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Es wird nach Server %1:%2 gesucht ..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Server %1 nicht gefunden: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server gefunden. Verbindung wird hergestellt ..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Verbunden. Anmeldung läuft ..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Verbindung zu Server %1 abgebrochen: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Konnte keine Verbindung mit SSL-Verschlüsslung zu %1:%2 aufbauen. Vielleicht "
+"unterstützt dieser Server kein SSL, oder der angegebene Port war nicht korrekt. "
+"%3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL-Verbindungsfehler"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Verbindung zu %1 getrennt."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Keiner der Spitznamen der Identität \"%1\" wurde von der Verbindung \"%2\" "
+"akzeptiert.\n"
+"Einen neuen Spitznamen eingeben oder zum Verbindungsabbruch \"Abbrechen\" "
+"drücken:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Fehlerhafter Spitzname"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Fehler beim Lesen der Daten von Server: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Datei(en) zum Senden an %1 auswählen"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "DCC-Empfang der Datei \"%2\" (%3) angeboten von %1 ..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "unbekannte Größe"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Frage %1 nach Bestätigung für DCC-Versand von \"%2\" (%3) ..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Ungültige Annahmenachricht auf DCC-SEND-Anfrage von %2 für Datei \"%1\" "
+"empfangen."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Setze DCC-Empfang der Datei \"%1\" von %2 bei %3 % von %4 fort ..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Ungültige Annahmenachricht auf Fortsetzungsanfrage von %2 für Datei \"%1\" "
+"empfangen."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Setze DCC-Versand der Datei \"%1\" zu %2 bei %3 % von %4 fort ..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Ungültige Fortsetzungsanfrage von %2 für Datei \"%1\" empfangen."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "DCC-Empfang der Datei \"%1\" von %2 abgeschlossen."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "DCC-Empfang der Datei \"%1\" von %2 fehlgeschlagen. Grund: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "DCC-Versand der Datei \"%1\" zu %2 abgeschlossen."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "DCC-Versand der Datei \"%1\" zu %2 fehlgeschlagen. Grund: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Sende \"%1\" zu %2 ..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Empfange \"%1\" (%2) von %3 ..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 hat Sie in den Kanal %2 eingeladen. Nehmen Sie die Einladung an?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Einladung"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Fehler: Das Skript \"%1\" ist nicht auffindbar."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Fehler: Das Skript \"%1\" lässt sich nicht ausführen. Überprüfen Sie die "
+"Zugriffsrechte."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Zur Zeit abwesend"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Sie sind nun als abwesend markiert."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Sie sind nicht mehr als abwesend markiert."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Sie sind nicht als abwesend markiert."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Beobachtete Benutzer online"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Netzwerk/Spitzname/Kanal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Weitere Informationen"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Hier befinden sich alle Spitznamen in Ihrer \"Beobachten\"-Liste, sortiert "
+"nach den Netzwerken, in denen sie sich aufhalten. Die Liste beinhaltet auch die "
+"Benutzer, die in KAddressBook zu diesem Netzwerk eingetragen wurden.</p>"
+"<p>Die Spalte <b>Weitere Informationen</b> zeigt alle Daten, die über den "
+"jeweiligen Benutzer verfügbar sind.</p>"
+"<p>Die Kanäle, die der Benutzer betreten hat, werden unter jedem Spitznamen "
+"aufgelistet.</p>"
+"<p>Benutzer, die mit <b>Offline</b> gekennzeichnet sind, sind momentan mit "
+"keinem der Server im Netzwerk verbunden.</p>"
+"<p>Klicken Sie mit der rechten Maustaste auf einen Spitznamen um weitere "
+"Aktionen auszuwählen.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "\"Beobachten\"-Liste b&earbeiten ..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+"Klicken Sie hier, um die Liste der Namen zu bearbeiten, die hier erscheinen "
+"sollen."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Adressbuch:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Mit diesen Knöpfen können Sie einem Benutzer einen Eintrag in KAddressBook "
+"zuordnen, wenn Sie ihn vorher in der obenstehenden Liste ausgewählt haben."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "K&ontakt bearbeiten ..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Klicken Sie hier, um einen, dem oben gewählten Benutzer zugeordneten "
+"KAddressBook-Eintrag zu erstellen, anzusehen oder zu bearbeiten."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Kontrakt&zuordnung bearbeiten ..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Klicken Sie hier, um den oben gewählten Benutzer einem Eintrag im KAddressBook "
+"zuzuordnen."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "Zuor&dnung aufheben"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Klicken Sie hier, um die Zuordnung zwischen dem oben gewählten Benutzer und dem "
+"Eintrag im KAddressBook aufzuheben."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " online über Server %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " seit %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Offline"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voice"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " HalfOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operator"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Besitzer"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Neuen K&ontakt erstellen ..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "Verbindung aus&wählen ..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "Kanal &betreten"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Klangdatei auswählen"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Protokolldatei gestartet\n"
+"*** Datum: %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Kanal bei Einladung automatisch betreten"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Beachten Sie, dass beim Speichern von Protokolldateien die gesamte Datei "
+"gespeichert wird"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Nachfrage vor dem Löschen der Protokolldateien"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Nachfrage zum Schließen der Queries nach Ignorieren des Benutzers"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr ""
+"Nachfragen, bevor eine Verbindung zu einem anderen Server im Netzwerk "
+"hergestellt wird."
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr ""
+"Nachfragen, bevor eine weitere Verbindung zum gleichen Netzwerk oder Server "
+"hergestellt wird."
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Server-Unterfenster schließen"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Kanal-Unterfenster schließen"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Query-Unterfenster schließen"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"Die Kanalliste kann nur von serverabhängigen Unterfenstern geöffnet werden."
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Warnung beim Ausblenden des Hauptfensters"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Warnung bei hoher Netzlast durch Kanalliste"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Warnung beim Einfügen großer Texte"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Warnung beim Beenden von Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Warnung beim Beenden, wenn noch DCC-Transfers laufen"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Kanalliste"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filtereinstellungen"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Minimale Benutzeranzahl:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Maximale Benutzeranzahl:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Sie können die Kanalliste auf Kanäle mit einer minimalen Anzahl an Benutzern "
+"begrenzen. Bei 0 wird diese Begrenzung aufgehoben."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Sie können die Kanalliste auf Kanäle mit einer maximalen Anzahl an Benutzern "
+"begrenzen. Bei 0 wird diese Begrenzung aufgehoben."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Filtermuster:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filterziel:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Geben Sie hier die Filterzeichenkette ein."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Regulärer Ausdruck"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Filter anwenden"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Klicken Sie hier, um eine Liste der Kanäle vom Server zu holen und den Filter "
+"darauf anzuwenden."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Hier wird die gefilterte Liste der Kanäle angezeigt. Wenn keine regulären "
+"Ausdrücke verwendet werden, listet Konversation alle Kanäle auf, deren Namen "
+"die eingegebene Filterzeichenkette enthalten. Die Namen der Kanäle müssen nicht "
+"unbedingt mit der eingegebenen Zeichenkette beginnen.\n"
+"\n"
+"Wählen Sie durch Anklicken einen Kanal aus, den Sie betreten möchten. Durch "
+"einen Rechtsklick auf den Kanal erhalten Sie eine Liste aller Web-Adressen, die "
+"im Thema des Kanals erwähnt werden."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Kanalname"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Kanalthema"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Liste aktualisieren"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Liste speichern ..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Kanal betreten"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Klicken Sie hier, um den Kanal zu betreten. Für diesen Kanal wird ein neues "
+"Unterfenster erzeugt."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Kanalliste speichern"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation Kanalliste: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanäle: %1 (%2 angezeigt)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Benutzer (mit Duplikaten): %1 (%2 angezeigt)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Adresse öffnen"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "&lt;&lt;Keine Adresse gefunden&gt;&gt;"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Kanalliste für %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Online"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer "
+"Nachricht zu benutzen, hat aber keinen Empfänger angegeben. Dies ist "
+"wahrscheinlich ein Fehler in der anderen Anwendung."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer "
+"Nachricht zu benutzen, aber Konversation konnte den angegebenen Empfänger nicht "
+"im KDE-Adressbuch finden."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer "
+"Nachricht zu benutzen, aber der angegebene Empfänger %1 ist momentan nicht "
+"online."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer Datei "
+"zu benutzen, aber es wurde kein Empfänger angegeben. Dies ist vermutlich ein "
+"Fehler in der anderen Anwendung."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer Datei "
+"zu benutzen, aber Konversation konnte den angegebenen Empfänger nicht im "
+"KDE-Adressbuch finden."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, Konversation zum Versenden einer Datei "
+"zu benutzen, aber der angegebene Empfänger %1 ist momentan nicht online."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Eine andere KDE-Anwendung hat versucht, über Konversation einen neuen Kontakt "
+"einzurichten. Dies wird von Konversation nicht unterstützt."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Das KDE-Adressbuch (kaddressbook) lässt sich nicht starten. Vermutlich ist das "
+"erforderliche Paket nicht installiert. Bitte installieren Sie die "
+"kdepim-Pakete."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Für den ausgewählten Kontakt liegt keine E-Mail-Adresse vor."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "E-Mail lässt sich nicht senden"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Das E-Mail-Programm lässt sich nicht starten. Vermutlich ist keine Anwendung "
+"für E-Mail installiert. Bitte installieren Sie die kdepim-Pakete, um KMail zu "
+"installieren."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Keiner der ausgewählten Kontakte wurde einem Adressbuch-Kontakt zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Dem ausgewählte Kontakt ist kein Adressbuch-Kontakt zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Einigen der ausgewählten Kontakte (%1) sind keine Adressbuch-Kontakte "
+"zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Einem der ausgewählten Kontakte (%1) ist kein Adressbuch-Kontakt zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Mit einem Rechtsklick auf einen Kontakt können Sie die Adressbuch-Zuordnung "
+"bearbeiten, um einem Kontakt einen Eintrag im Adressbuch zuzuordnen."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Keinem der ausgewählten Kontakte ist eine E-Mail-Adresse zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Einigen der ausgewählten Kontakte (%1) sind keine E-Mail-Adressen zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Einem der ausgewählten Kontakte (%1) ist keine E-Mail-Adresse zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Mit einem Rechtsklick auf einen Kontakt können Sie den Adressbuch-Kontakt "
+"bearbeiten, um eine E-Mail-Adresse hinzuzufügen."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Einigen der ausgewählten Kontakte (%1) sind keine Adressbuch-Kontakte "
+"zugeordnet, und einigen der Kontakte (%2) sind keine E-Mail-Adressen "
+"zugeordnet."
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Mit einem Rechtsklick auf einen Kontakt können Sie die Adressbuch-Zuordnung "
+"bearbeiten, um einem Kontakt einen Eintrag in Ihrem Adressbuch zuzuordnen, und "
+"den Adressbuch-Kontakt bearbeiten, um eine E-Mail-Adresse hinzuzufügen."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Soll trotzdem eine E-Mail an die Benutzer gesendet werden, für die eine "
+"E-Mail-Adresse vorliegt?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "E-Mail verschicken"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC-Benutzer einem Adressbucheintrag zuordnen"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Wählen Sie die Person aus, die \"%1\" ist."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "\"%1\" ist momentan einem Kontakt zugeordnet."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "\"%1\" ist momentan dem Kontakt \"%2\" zugeordnet."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Achtung:</b>\"%1\" ist momentan als Eintrag für mehrere Kontakte "
+"angelegt. Wählen Sie den korrekten Kontakt aus.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Neuer Adressbucheintrag"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Name für neuen Eintrag:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL-Fänger"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Liste der Adressen (URLs), die in einem der Konversation-Fenster während dieser "
+"Sitzung erwähnt wurden."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Adresse ö&ffnen"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Wählen Sie eine <b>Adresse</b> aus und klicken Sie auf diesen Knopf, um die "
+"dem MIME-Typen der Adresse zugeordnete Anwendung zu starten.</p> "
+"<p>Unter <b>Verhalten</b> | <b>Allgemein</b> in den <b>Einstellungen</b> "
+"können Sie festlegen, mit welchem Webbrowser Internetadressen angezeigt werden "
+"sollen.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "A&dresse kopieren"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Wählen Sie eine <b>Adresse</b> aus und klicken Sie auf diesen Knopf, um die "
+"Adresse in die Zwischenablage zu kopieren."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "Adresse l&öschen"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Wählen Sie eine <b>Adresse</b> aus und klicken Sie auf diesen Knopf, um sie aus "
+"der Liste zu entfernen."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Liste &speichern ..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Klicken Sie hier, um die komplette Liste in einer Datei zu speichern."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Liste leeren"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Klicken Sie hier, um die Liste vollständig zu löschen."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Adressenliste speichern"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Bearbeite mehrzeilige Einfügung"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "&Zitatsymbole hinzufügen"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Kanal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Der Kanalname muss angegeben werden."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Rohdatenprotokoll"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Text im aktuellen Unterfenster suchen"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "Kana&lliste für %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Pr&otokolldatei für %1 öffnen"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Einstellungen für &Kanal %1 ..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Standard ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Es können nur Textfelder durchsucht werden."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Textsuche"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Protokolldatei von %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC-Status"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Diese Funktion kann hohe Netzlast erzeugen. Wenn Ihre Verbindung nicht schnell "
+"genug ist, kann es passieren, dass der Server die Verbindung zu Ihrem Programm "
+"abbricht."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Kanalliste: Warnung"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Die Kanalliste kann nur aus Queries, Status- oder Kanal-Unterfenstern heraus "
+"geöffnet werden, um festzustellen, zu welchem Server die Liste gehört."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Geben Sie hier den Namen des Netzwerks ein. Es können beliebig viele Einträge "
+"für ein Netzwerk in der Serverlisten-Maske erstellt werden."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Wählen Sie eine vorhandene Identität aus oder klicken Sie auf den "
+"\"Bearbeiten\"-Knopf, um eine neue Identität hinzuzufügen oder eine vorhandene "
+"Identität zu bearbeiten. Über die Identität wird festgelegt, unter welchem "
+"Spitznamen Sie eine Verbindung mit dem Netzwerk aufbauen."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Optional. Dieser Befehl wird nach Verbindungsaufbau an den Server gesendet. "
+"Beispiel: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+". Das ist ein Beispiel für das Freenode-Netzwerk, in dem Benutzer ihren "
+"Spitznamen bei Verbindungsaufbau mit einem Passwort und Login registrieren "
+"müssen. <i>konvirocks</i> ist hier das Passwort für den in der Identität "
+"angegebenen Spitznamen. Mehrere Befehle können mit einem Semikolon getrennt "
+"eingegeben werden."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Ist diese Einstellung markiert, baut Konversation bei Programmstart automatisch "
+"eine Verbindung auf."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Dies ist eine Liste der IRC-Server des Netzwerks. Beim Verbindungsaufbau mit "
+"dem Netzwerk versucht Konversation zuerst zu dem obersten Server eine "
+"Verbindung aufzubauen. Falls dies fehlschlägt, wird der zweite Server "
+"verwendet. Falls dies fehlschlägt, wird der dritte Server verwendet, und so "
+"weiter. Es muss mindestens ein Server angegeben werden. Server werden durch "
+"anklicken ausgewählt."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Optional. Dies ist eine Liste von Kanälen, die automatisch nach der Verbindung "
+"mit dem Server betreten werden. Lassen Sie die Liste leer, falls Sie nicht "
+"wünschen, automatisch irgendwelche Kanäle zu betreten."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Netzwerkinformationen bearbeiten"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Server hinzufügen"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Server bearbeiten"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Kanal hinzufügen"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Kanal bearbeiten"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Der Netzwerkname muss angeben werden."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Sie müssen dem Netzwerk mindestens einen Server hinzufügen."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation-Designs"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Design-Paket auswählen"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Herunterladen des Designs fehlgeschlagen"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Design-Paket ist fehlerhaft."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Das Design lässt sich nicht installieren."
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Soll %1 entfernt werden?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Design entfernen"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC-Client"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Empfänger auswählen"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Spitznamen wählen und Fenster schließen"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Fenster ohne Änderungen schließen"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Server %1 nicht gefunden."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr ""
+"Der Administrator hat die Rechte zum Empfang von Dateien eingeschränkt."
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Ungültige Absenderadresse (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Nicht unterstützte Aushandlung (Dateigröße=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Der Ordner lässt sich nicht erstellen.</b><br>Ordner: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Es war nicht möglich, eine KIO-Instanz zu erzeugen."
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr ""
+"<b>Die Datei wird bereits in einem anderen Transfer verwendet.</b>"
+"<br>%1"
+"<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Eine teilweise übertragene Datei ist bereits vorhanden.</b> "
+"<br>%1"
+"<br>Größe der teilweise übertragenen Datei: %2 Byte. "
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Die Datei ist bereits vorhanden.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "Die Datei \"%1\" lässt sich nicht öffnen.<br>Fehler: %2"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Bestätigung für den Reverse-DCC-Versand konnte der Gegenstelle nicht über den "
+"IRC-Server zugestellt werden."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Es wird auf eine Verbindung gewartet."
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Es wird auf die Annahme durch den Empfänger gewartet."
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Anfrage zur Wiederaufnahme des DCC-Empfangs konnte der Gegenstelle nicht über "
+"den IRC-Server zugestellt werden."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Unerwartete Antwort vom Empfänger"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Übertragungsfehler"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO-Fehler: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>In dieser Zeile werden einige Details über den Benutzer angezeigt, mit dem "
+"Sie gerade reden. Es werden der volle Name und seine Rechnermaske angezeigt "
+"sowie ein Logo oder Bild, das diesem Kontakt im KDE-Adressbuch zugeordnet "
+"wurde."
+"<p>Im <i>Handbuch zu Konversation</i> finden Sie Informationen darüber, wie "
+"einem Benutzer ein Kontakt im Adressbuch zugeordnet werden kann und was eine "
+"Rechnermaske ist.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(abwesend)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Soll %1 ignoriert werden?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Soll dieses Query geschlossen werden, nachdem dieser Benutzer ignoriert wird?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Dieses Query schließen"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Offen lassen"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Soll %1 von der Ignorieren-Liste entfernt werden?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Standardidentität ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Soll das Query mit %1 geschlossen werden?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Query schließen"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Selbstgespräch"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 hat den Server verlassen."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 hat den Server verlassen (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD-Vorschau - Ziehen, um die Position zu verändern"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operator"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administrator"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Besitzer"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "HalfOp"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Hat Voice"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Schnittstelle"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Verhalten"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Benachrichtigungen"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Chatfenster"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Design der Benutzerliste"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Farben"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Schnellschalter"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Verbindung"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Benutzerliste"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Befehlsaliase"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Automatische Ersetzung"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Protokollierung"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Highlight"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Beobachtete Spitznamen"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "OnScreen-Anzeige"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Warndialoge"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Frage bei DCC-Empfang"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "Fo&rtsetzen"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "O&riginaldateiname"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "&Neuen Dateinamen vorschlagen"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Überschreiben"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Umb&enennen"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Vorwärts suchen"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Groß-/Kleinschreibung beachten"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Nur ganze Wörter"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Ab Cursorposition"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Soll \"%1\" wirklich geschlossen werden?\n"
+"\n"
+" Alle dazugehörigen Unterfenster werden ebenfalls geschlossen."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Unterfenster schließen"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Soll die Verbindung zu \"%1\" wirklich getrennt werden?\n"
+"\n"
+" Alle dazugehörigen Unterfenster werden ebenfalls geschlossen."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Verbindung zum Server trennen"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Verbindung trennen"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Startzeit"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Status"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Fortschritt"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Position"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Verbleibend"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Geschwindigkeit"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Absenderadresse"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Annehmen"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Abbrechen"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Datei öffnen"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Empfang starten"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Übertragung(en) anhalten"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Datei ausführen"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "DCC-Detailinformationen anzeigen"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Alle Einträge au&swählen"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "All&e fertiggestellten Einträge auswählen"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Annehmen"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "A&bbrechen"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Erneut senden"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "Lös&chen"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Datei ö&ffnen"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Datei&informationen"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Kanaleinstellungen bearbeiten"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Jeder Kanal im IRC hat ein Thema. Dabei handelt es sich einfach um eine "
+"Textzeile, die jeder lesen kann."
+"<p>Wenn Sie ein Operator sind oder der Kanalmodus <em>\"T\"</em> "
+"nicht gesetzt ist, können Sie das Thema mit einem Klick auf den Knopf "
+"\"Kanaleigenschaften bearbeiten\" links neben dem Thema verändern.Dort wird "
+"auch ein Verlauf der Themen angezeigt.</qt> "
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <b>t</b> legt fest, dass nur Operatoren das Thema ändern "
+"können.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von Kanaloperatoren geändert werden können."
+"<p>Der Modus <em>n</em> legt fest, dass nur Mitglieder des Kanals Nachrichten "
+"an den Kanal senden dürfen. Dieser Modus ist bei fast allen Kanälen üblich, um "
+"störenden Nachrichten von außerhalb vorzubeugen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <b>s</b> legt fest, dass der Kanal geheim ist. Der Kanal wird "
+"nicht in der Kanalliste des Servers angezeigt, und andere Benutzer können nicht "
+"mit <em>WHOIS</em> oder ähnliche Befehlen sehen, dass Sie sich in diesem Kanal "
+"aufhalten.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <em>i</em> legt fest, dass der Kanal nur nach Einladung betreten "
+"werden kann. Wenn ein Kanaloperator im Kanal <em>/invite Spitzname</em> "
+"eingibt, wird dieser Benutzer eingeladen.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <em>p</em> bedeutet \"Privat\". Ein solcher Kanal taucht zwar in "
+"der Kanalliste auf, jedoch wird sein Thema nicht angezeigt. Je nach Server wird "
+"bei einem <em>WHOIS</em> nicht angezeigt, ob der Benutzer in einem privaten "
+"Kanal ist.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Kanalmodus <em>m</em> bewirkt, dass nur noch diejenigen mit Voice, "
+"HalfOp- oder Operator-Status im Kanal kommunizieren können. Alle anderen "
+"Teilnehmer können nur mitlesen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <em>k</em> bewirkt, dass Benutzer ein Passwort eingeben müssen, um "
+"den Kanal betreten zu können.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <em>l</em> begrenzt die Anzahl der gleichzeitig im Kanal erlaubten "
+"Benutzer. In einigen Kanälen wird diese Einstellung von Bots automatisch "
+"angepasst, je nachdem wieviel gerade im Kanal los ist.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maximale Anzahl erlaubter Benutzer in diesem Kanal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Hier steht das Benutzerlimit für den Kanal. Es können maximal so viele "
+"Leute gleichzeitig im Kanal sein, wie hier angegeben ist. Der Kanalmodus <em>"
+"i</em> wird automatisch gesetzt.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Hier werden Ihr momentaner Spitzname sowie eingerichtete, alternative "
+"Spitznamen angezeigt. Wenn Sie einen anderen Spitznamen auswählen oder "
+"eingeben, wird eine Anfrage zur Änderung des Spitznamens an den IRC-Server "
+"geschickt. Wenn der neue Spitzname vom Server zugelassen wird, ändert sich Ihr "
+"aktueller Spitzname zum neuen Spitznamen. Wenn Sie einen neuen Spitznamen "
+"eingeben, müssen Sie am Ende die Eingabetaste drücken."
+"<p>Unter <em>Identitäten ...</em> im Menü <em>Datei</em> "
+"können Sie zusätzliche Spitznamen hinzufügen oder vorhandene ändern.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Sollen die ausgewählten Benutzer ignoriert werden?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr ""
+"Sollen die ausgewählten Benutzer von der \"Ignorieren\"-Liste entfernt werden?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Vervollständigung"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Mögliche Vervollständigungen: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Kanalkennwort"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Benutzerlimit"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Neues Benutzerlimit eingeben:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Sie sind jetzt als %1 bekannt."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 nennt sich jetzt %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Sie haben den Kanal %1 betreten (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 hat den Kanal betreten (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Sie haben diesen Server verlassen."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Sie haben diesen Server verlassen (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Sie haben den Kanal %1 verlassen."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Sie haben den Kanal %1 verlassen (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 hat den Server verlassen (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 hat den Kanal verlassen."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 hat den Kanal verlassen (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Sie haben sich selber aus dem Kanal %1 geworfen."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Sie haben sich selber aus dem Kanal %1 geworfen (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 hat Sie aus dem Kanal %1 geworfen."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 hat Sie aus dem Kanal %1 geworfen (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Sie haben %1 aus dem Kanal geworfen."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Sie haben %1 aus dem Kanal geworfen (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 hat %1 aus dem Kanal geworfen."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 hat %1 aus dem Kanal geworfen (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n Benutzer\n"
+"%n Benutzer"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n Op)\n"
+" (%n Ops)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Das Kanalthema lautet: \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Sie setzen das Kanalthema auf \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 setzt das Kanalthema auf \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Sie geben sich selbst Besitzerstatus."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Sie geben %1 Besitzerstatus."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 gibt Ihnen Besitzerstatus."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 gibt %2 Besitzerstatus."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Sie nehmen sich selbst Besitzerstatus."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Sie nehmen %1 Besitzerstatus."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 nimmt Ihnen Besitzerstatus."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 nimmt %2 Operator-Status."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Sie geben sich selbst Admin-Status."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Sie geben %1 Admin-Status."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 gibt Ihnen Admin-Status."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 gibt %2 Admin-Status."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Sie nehmen sich selbst Admin-Status."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Sie nehmen %1 Admin-Status."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 nimmt Ihnen Admin-Status."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 nimmt %2 Admin-Status."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Sie geben sich selbst Operator-Status."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Sie geben %1 Operator-Status."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 gibt Ihnen Operator-Status."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 gibt %2 Operator-Status."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Sie nehmen sich selbst Operator-Status."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Sie nehmen %1 Operator-Status."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 nimmt Ihnen Operator-Status."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 nimmt %2 Operator-Status."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Sie geben sich selbst HalfOp-Status."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Sie geben %1 HalfOp-Status."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 gibt Ihnen HalfOp-Status."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 gibt %2 HalfOp-Status."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Sie nehmen sich selbst HalfOp-Status."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Sie nehmen %1 HalfOp-Status."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 nimmt Ihnen HalfOp-Status."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 nimmt %2 HalfOp-Status."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Sie geben sich die Erlaubnis zu reden."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Sie geben %1 die Erlaubnis zu reden."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 gibt Ihnen die Erlaubnis zu reden."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 gibt %2 die Erlaubnis zu reden."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Sie nehmen sich Voice."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Sie nehmen %1 Voice."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 nimmt Ihnen Voice."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 nimmt %2 Voice."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Sie setzen den Kanalmodus auf \"keine Farben erlaubt\"."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 setzt den Kanalmodus auf \"keine Farben erlaubt\"."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Sie setzen den Kanalmodus auf \"Farbcodes zulassen\"."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 setzt den Kanalmodus auf \"Farbcodes zulassen\"."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Sie setzen den Kanalmodus auf \"Nur mit Invite\"."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 setzt den Kanalmodus auf \"Nur mit Invite\"."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Sie entfernen den Kanalmodus \"Nur mit Invite\"."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 entfernt den Kanalmodus \"Nur mit Invite\"."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Sie setzen den Kanalmodus auf \"moderiert\"."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 setzt den Kanalmodus auf \"moderiert\"."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Sie entfernen den Kanalmodus \"moderiert\"."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 entfernt den Kanalmodus \"moderiert\"."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Sie setzen den Kanalmodus auf \"keine Nachrichten von außerhalb\"."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 setzt den Kanalmodus auf \"keine Nachrichten von außerhalb\"."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Sie setzen den Kanalmodus auf \"Nachrichten von außerhalb erlaubt\"."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 setzt den Kanalmodus auf \"Nachrichten von Außerhalb erlaubt\"."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Sie setzen den Kanalmodus auf \"privat\"."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 setzt den Kanalmodus auf \"privat\"."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Sie entfernen den Kanalmodus \"privat\"."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 entfernt den Kanalmodus \"privat\"."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Sie setzen den Kanalmodus auf \"geheim\"."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 setzt den Kanalmodus auf \"geheim\"."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Sie entfernen den Kanalmodus \"geheim\"."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 entfernt den Kanalmodus \"geheim\"."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Sie schalten den Themenschutz ein."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 schaltet den Themenschutz ein."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Sie schalten den Themenschutz aus."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 schaltet den Themenschutz aus."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Sie setzen den Kanalschlüssel auf '%1'."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 setzt den Kanalschlüssel auf '%2'."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Sie entfernen den Kanalschlüssel."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 löscht den Kanalschlüssel."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Sie setzen das Benutzerlimit auf %1."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 setzt das Benutzerlimit auf %2."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Sie heben das Benutzerlimit auf."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 hebt das Benutzerlimit auf."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Sie verhängen einen Bann über %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 verhängt einen Bann über %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Sie heben den Bann gegen %1 auf."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 hebt den Bann gegen %2 auf."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Sie setzen eine Bann-Ausnahme für %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 setzt eine Bann-Ausnahme für %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Sie entfernen die Bann-Ausnahme für %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 entfernt die Bann-Ausnahme für %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Sie legen das Muster für Einladungen auf %1 fest."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 legt das Muster für Einladungen auf %2 fest."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Sie entfernen das Muster %1 für Einladungen."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 entfernt das Muster %2 für Einladungen."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Sie setzen den Kanalmodus +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 setzt den Kanalmodus +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Sie setzen den Kanalmodus -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 setzt den Kanalmodus -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Sie müssen Operator sein, um diese Einstellung ändern zu können."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Das Thema kann nur von einem Operator geändert werden. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Nachrichten von Clients außerhalb des Kanals verbieten. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Geheimer Kanal. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Nur für eingeladene Benutzer. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privater Kanal. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Moderierter Kanal. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Kanal mit Passwort schützen."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Benutzerlimit für Kanal festlegen."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Wollen Sie %1 verlassen?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Kanal verlassen"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Verlassen"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Dario Abatianni"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "eisfuchs@tigress.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Langsame Warteschlange"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "Zeilen"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "Bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Alter:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Anzahl:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Zeilen:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Bytes:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Normale Warteschlange"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Schnelle Warteschlange"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Alle Warteschlangen"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Empfangen:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Bytes (Raw):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Bytes (kodiert):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Schaltername"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Schalteraktion"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Schalteraktion:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Schaltername:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Gültige Platzhalter"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Aktueller Spitzname\n"
+"%c: Aktueller Kanal\n"
+"%K: Serverpasswort\n"
+"%u: Liste ausgewählter Benutzer\n"
+"%s<Ausdruck>%: Ausdruck, um Spitznamen der Benutzer in %u voneinander zu "
+"trennen\n"
+"%n: Schicke Befehl sofort zum Server anstatt zur Eingabezeile"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Dateiname:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Eigene Adresse:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Typ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Status:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Speicherort:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Fortschritt:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partner:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Ordner öffnen"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Dateigröße:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Durchschnittliche Geschwindigkeit:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Fortgesetzt:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Aktuelle Geschwindigkeit:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Aktuelle Position:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Geschätzte Restzeit:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Angeboten am:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Beendet am:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Begonnen am:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Übertragungszeit:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Automatisches Neuverbinden aktivieren"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Verzögerung für Neuverbindung:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Versuche der Neuverbindungen:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " Sekunden"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Unbegrenzt"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Debug"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Bei Verbindungsaufbau Unterfenster mit &Rohdatenprotokoll öffnen"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Muster"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Typ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Muster:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Nachrichtenarten"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Neu"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Alle entfernen"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Netzwerkname:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identität:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Befehle:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Bei &Programmstart verbinden"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Server"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Hinzufügen ..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "B&earbeiten ..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Kanäle automatisch betreten"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Bearbe&iten ..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Ersetzung:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Ersetzung"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "W&eitersuchen"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Frühere suchen"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "Befehl, der bei einem Doppelkli&ck ausgeführt werden soll:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Groß-/Kleinschrei&bung für Sortierung ignorieren"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Nach &Aktivität sortieren"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Sortierung nach Benutzer&status"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Erklärung"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Benutzerreihenfolge durch Ziehen & Ablegen verändern)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "Design i&nstallieren ..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "Design &entfernen"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Symbol für normale Benutzer"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Symbol für abwesende Benutzer"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Symbol für Benutzer mit Voice"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Symbol für Benutzer mit HalfOp-Status"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Symbol für Benutzer mit Operator-Status"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Symbol für Benutzer mit Admin-Status"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Symbol für Benutzer mit Besitzerstatus"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Vorschau:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aussehen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Platzierung:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "\"S&chließen\"-Knöpfe auf Unterfenstern anzeigen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr ""
+"\"Schließen\"-Knopf auf der &rechten Seite der Unterfensterleiste anzeigen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+"Länge der Unterfensterbezeichnungen begrenzen, damit alle in das Fen&ster "
+"passen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Neue Unterfenster im &Vordergrund öffnen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Neue &Queries im Vordergrund öffnen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Maus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "&Mittelklick auf einen Karteireiter schließt das Unterfenster"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr ""
+"Befehl, der bei einem &Doppelklick auf einen Spitznamen ausgeführt wird:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Ein Doppelklick auf einen Spitznamen im Fenster <b>Benutzer Online</b>\n"
+"schreibt diesen Befehl in die <b>Eingabezeile</b> des Statusfensters.</p>\n"
+"<p>Die folgenden Platzhalter können im Befehl benutzt werden:</p>"
+"<ul>\n"
+"<li>%u: Der gewählte Spitzname</li>\n"
+"<li>%K: Das Serverpasswort</li>\n"
+"<li>%n: Schickt den Befehl direkt zum Server statt in die Eingabezeile</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Ein Doppelklick auf einen Spitznamen im Fenster <b>Benutzer Online</b>\n"
+"schreibt diesen Befehl in die <b>Eingabezeile</b> des Statusfensters.</p>\n"
+"<p>Die folgenden Platzhalter können im Befehl benutzt werden:</p>"
+"<ul>\n"
+"<li>%u: Der gewählte Spitzname</li>\n"
+"<li>%K: Das Serverpasswort</li>\n"
+"<li>%n: Schickt den Befehl direkt zum Server statt in die Eingabezeile</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Akt&ualisierungsintervall:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation überprüft den Status der untenstehenden Benutzer in diesem "
+"Intervall."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Unterfenster \"&Benutzer Online\" beim Programmstart anzeigen"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Ist diese Einstellung markiert, wird das Unterfenster <b>Benutzer Online</b> "
+"beim Start automatisch geöffnet.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "B&eobachten von Spitznamen aktivieren"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Ist die Beobachtung von Spitznamen aktiviert, werden Sie darauf hingewiesen, "
+"wenn Benutzer aus der Liste <b>Beobachtete Netzwerke/Spitznamen</b> "
+"online oder offline gehen.</p>\n"
+"<p>Öffnen Sie das Unterfenster <b>Benutzer Online</b>"
+", um den Status aller beobachteten Spitznamen zu sehen.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Netzwerk:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"Das IRC-Netz (&eg; 'Freenode'), in dem sich der zu beobachtende Benutzer "
+"befindet."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Der Spitzname des zu beobachtenden Benutzers."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Beobachtete Netze/Spitznamen"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Ist die Beobachtung von Spitznamen aktiviert, werden Sie darauf hingewiesen, "
+"wenn Benutzer aus der Liste <b>Beobachtete Netzwerke/Spitznamen</b> "
+"online oder offline gehen.</p>\n"
+"<p>Öffnen Sie das Unterfenster <b>Benutzer Online</b>"
+", um den Status aller beobachteten Spitznamen zu sehen.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Klicken Sie hier, um einen neuen Spitznamen hinzuzufügen."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr ""
+"Klicken Sie hier, um den ausgewählten Spitznamen aus der Liste zu entfernen."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Protokoll aktivi&eren"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Dateinamen der Protokolldatei &klein schreiben"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "Hostn&amen im Dateinamen der Protokolldatei verwenden"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Pfad für Protokolldatei:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Kontrollleistensymbol aktivieren"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr ""
+"&Kontrollleistensymbol zur Anzeige von Benachrichtigungen bei neuen Nachrichten "
+"verwenden"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Nur benachrichtigen, wenn eine Hervorhebung ausgelöst oder Ihr Spitzname "
+"erwähnt wird"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Blin&kendes Symbol"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Fenster beim Programmstart verstecken"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Vervollständigung von Spitznamen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Vervollständigungs&modus:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Benutzerliste durchlaufen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Ähnlich Kommandozeile"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Kommandozeile mit Aufklappliste"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Suffi&x am Zeilenanfang:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Überall sonst:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Groß-/Kleinschreibung beachten"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Benachrichtigungen bei &Abwesenheit deaktivieren"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Eigene &Versionsmeldung verwenden:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Hier können Sie eine eigene Rückmeldung für <b>CTCP <i>VERSION</i></b>"
+"-Anfragen einstellen.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Eingabefeld vergrößert sich mit der Textlänge"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Befehlszeichen:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Eigenen Web&browser verwenden:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Länge der Unterfensterbezeichnungen begrenzen, damit alle in das Fenster passen"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Bildlaufleiste ausblenden"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Ist diese Einstellung markiert, werden alle Ihre Eingaben während Sie schreiben "
+"einer Rechtschreibprüfung unterzogen."
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Ist diese Einstellung markiert, vergrößert sich das Eingabefeld, sobald es zu "
+"voll wird."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "An Kontrollleiste andocken"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Mit ausgeblendetem Hauptfenster starten"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Realnamen neben &Spitznamen anzeigen"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Bei Programmstart \"Benutzer Online\"-Unterfenster öffnen"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Emoticons aktivieren"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Emoticon-Design"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Topi&c"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Datum"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&di"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Das Kanal&thema kann nur von einem Kanaloperator geändert werden."
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Keine &Nachrichten von außerhalb des Kanals"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Geheimer Kanal; dieser Kanal taucht nicht in der Kanalliste auf."
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Nur &eingeladene Benutzer können den Kanal betreten"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Diese Knöpfe kontrollieren die <em>Kanalmodi</em>"
+", welche nur von einem Kanaloperator geändert werden können."
+"<p>Der Modus <em>i</em> legt fest, dass der Kanal nur nach Einladung betreten "
+"werden kann. Wenn ein Kanaloperator im Kanal <em>/invite Spitzname</em> "
+"eingibt, wird dieser Benutzer eingeladen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"&Moderierter Kanal. Nur Benutzer mit Voice können Nachrichten an den Kanal "
+"schreiben."
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "Kanal&kennwort;"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Benutzer&limit:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "&Zeige weitere Modi >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parameter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Bannliste"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Eint&rag löschen"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "Eintr&ag hinzufügen"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Rechnermaske"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Gesetzt von"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Hinzugefügt"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Suche:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC-Einstellungen"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Download-&Ordner:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "A&bsender zum Dateinamen hinzufügen"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Ordn&er für Absender erzeugen"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Ersetze vor dem Senden Leerzeichen im Dateinamen durch Unterstriche"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "DCC-Empfang &automatisch annehmen"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "DCC-Downloads au&tomatisch fortsetzen"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Sch&neller DCC-Versand (wird nicht von allen Empfängern unterstützt)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&Puffergröße:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "&Zeitlimit für DCC-Versand:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "IPv&4-Schnittstelle für DCC-Versand benutzen:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Ist diese Einstellung markiert, werden DCC-Transfers für IPv6-Verbindungen über "
+"die hier angegebene IPv4-Schnittstelle ausgeführt."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " Bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " Sekunden"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Passiven DCC-Versand aktivieren"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP-Adresse"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Methode zur Bestimmung der eigenen IP-Adresse:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Ei&gene IP-Adresse:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Ports"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Bestimmte P&orts für DCC-Chat verwenden:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "bis"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Bestimmte P&orts für DCC-Transferserver verwenden:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Farbigen Text verwenden"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Farbige LEDs verwenden"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Programmereignis"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Programmereignisse geschehen in Konsolen-Unterfenstern, dem "
+"DCC-Status-Unterfenster und anderen, die nicht zum Chatten verwendet werden."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Nachricht"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Private Nachricht"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Aktuell verwendeter Spitzname"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Kanalereignis"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Kanalereignisse sind Modusänderungen oder das Betreten bzw. Verlassen des "
+"Kanals durch Benutzer."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Vorrang für Highlight-Farben aus dem Chatfenster"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Ist diese Einstellung markiert, werden die auf der Seite "
+"\"Highlight-Einstellungen\" ausgewählten Farben, die Farben für \"Aktuell "
+"verwendeter Spitzname\" und \"Highlight\" außer Kraft setzen."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Schriftart mit &fester Breite für MOTD-Nachrichten benutzen"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr ""
+"MOTD-Nachrichten (Message Of The Day) mit Schriftart fester Breite anzeigen."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Absender-Spitznamen im Chatfenster hervorhe&ben"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Gesprächstext:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Benutzerliste:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Unterfensterleiste:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Hervorhebungsliste"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Regulärer Ausdruck"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Hervorhebungen"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Klänge"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Autotext"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Muster:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Farbe:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Klang:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Testklang"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Autotext:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Klänge zur Hervorhe&bung aktivieren"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Eigenen aktuellen Spitznamen &immer hervorheben:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Eigene Zei&len immer hervorheben:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Neuen &Eintrag erstellen ..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Erstellt einen neuen Eintrag in Ihrem Adressbuch"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Bild"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Name"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Wählen Sie den Kontakt aus, mit dem Sie via Instant-Messaging reden möchten"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Such&e:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "&Signalton bei ankommendem ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Spielt einen Signalton bei Empfang des Kontrollzeichens ASCII BEL (0x07)."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "&Join/Part/Nick-Ereignisse ausblenden"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Variablen-Erweiterungen (wie z. B. %C, %B, %G, ...) &deaktivieren"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Variablen beim Senden an den Server nicht erweitern. Eine Variable beginnt mit "
+"\"%\"; z. B. wird \"%B\" zu den Zeichen erweitert, die zum fett Drucken eines "
+"Textes benötigt werden."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "Alle Statusmeldungen in das Se&rverstatus-Unterfenster umleiten"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Rücklauflimit:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Maximale Anzahl der Zeilen im Zwischenspeicher, 0=unbegrenzt"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "K&urzformen für Modusänderungen benutzen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Zeichenketten für Kanalmodi als Kombination von einzelnen Buchstaben anstatt "
+"als lesbare Wörter darstellen. Aus \"*** Kanalmodi: keine Nachrichten von "
+"außerhalb\" wird \"*** Kanalmodi: n\""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " Zeilen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Markierungslinien"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Markierungslinien in allen Kanälen/Queries anzeigen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+"Letzte Position in Chatfenstern markieren, wenn diese ausgeblendet werden"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Fügt eine Markierung ein, sobald zu einem anderen Chatfenster geschaltet, oder "
+"die Anwendung minimiert wird."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Linie nur verschieben, wenn neuer Text angezeigt wird"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Automatisches Abrufen von Benutzerinformationen (/WHO) aktivieren"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Abrufen deaktivieren bei mehr als:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " Benutzer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Aktualisierungsintervall:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "OnScr&een-Anzeige verwenden"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "On&Screen-Anzeige"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Schatten anzeigen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD-Schriftart:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&OSD-Nachricht anzeigen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Bei Nennung Ihres Spitznamens i&m Kanal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Bei &jeder Nachricht im Kanal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Bei &Query"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Bei &Join/Part-Ereignissen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Eigene Farben verwenden"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "&Textfarbe:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Hintergrundfarbe:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Wei&tere Einstellungen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Dauer:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Bildschirm:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Fenster"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "N&eu"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Entfernen"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Ersetzen in"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Suchen"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Ersetzen mit"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Ersetzen in:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Suchen:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Ersetzen mit:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Zei&tmarken aktivieren"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "&Daten anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "&Rücklauf anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "Zei&len: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Layout"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Kanalthema anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Schalter für Kanal&modi anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Bild&laufleiste anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Feld &zum Ändern des eigenen Spitznamens anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Schnell&schalter anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Realnamen in Benutzerliste anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Be&nutzerliste des Kanals und Schnellschalter anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "&Rechnermasken in Benutzerliste anzeigen"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Hinter&grundbild aktivieren"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Pfad:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Eigene Farben"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"Eigene Farbeinstellungen für Eingabefeld, Benutzerliste und &Unterfensterleiste "
+"verwenden."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Hintergrund:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Servernachrichten:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "H&yperlink:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Kanal&nachrichten:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Aktion:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Rüc&klauf:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Befe&hl:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Queries:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Zeitmarke:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternative Hintergrundfarbe:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Farbige Spitznamen"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Farbe des eigenen Spitznamens:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Farbige IRC-Texte zul&assen"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ist diese Einstellung markiert, werden den IRC-Nachrichten hinzugefügte "
+"Farbcodes in Ihrem Chatfenster als farbiger Text dargestellt. Sie können Ihrem "
+"Text ebenfalls Farbcodes hinzufügen, indem Sie den Befehl \"Einfügen\"->"
+"\"IRC-Farben\" aus dem Menü verwenden."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Vorschau"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "So wird Ihre Nachricht mit den gewählten Farben aussehen"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Dies ist eine Vorschau, wie Ihre Nachricht mit diesen Farben bei anderen "
+"aussehen könnte."
+"<br>\n"
+"<b>Hinweis: Nicht alle Programme unterstützen Farbänderungen, und manche "
+"Benutzer ziehen es vor, Farbänderungen ganz abzuschalten.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Die gewählte Textfarbe wird in die Eingabezeile eingefügt."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Hier können Sie aussuchen, welche Farben für den Text Deiner nächsten "
+"Nachricht verwendet werden soll. Wählen Sie eine Farbe und klicken Sie auf "
+"\"OK\", damit diese in der Eingabezeile hinzugefügt wird. Jeder danach "
+"geschriebene Text wird in der gewählten Farbe gesendet, bis Sie die Farbe "
+"erneut ändern."
+"<br>\n"
+"<b>Hinweis: Nicht alle Benutzer haben die Darstellung von Farben in ihren "
+"Programmen aktiviert.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Vordergrundfarbe:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Die gewählte Hintergrundfarbe wird in die Eingabezeile eingefügt."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Hier können Sie die Hintergrundfarbe für Ihre nächste Nachricht "
+"einstellen.\n"
+"Wählen Sie eine Farbe und klicken Sie auf \"OK\" um die ausgewählte Farbe der "
+"Eingabezeile hinzuzufügen.\n"
+"Jeder Text wird nun solange die ausgewählte Farbe haben, bis eine andere Farbe "
+"ausgewählt wird. "
+"<br>\n"
+"Bei Auswahl der Standardeinstellung \"<i>Keine</i>\" wird die Hintergrundfarbe "
+"Ihrer Nachricht nicht verändert, und andere Benutzer sehen Ihre Nachricht mit "
+"ihrer normalen Hintergrund-Textfarbe. "
+"<br>\n"
+"<b>Hinweis: Nicht alle Benutzer haben die Darstellung von Farben in ihren "
+"Programmen aktiviert.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Warndialoge, die angezeigt werden sollen"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Passwort:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
+
+#~ msgid "Messages"
+#~ msgstr "Nachrichten"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "A&bwesenheitsnachrichten anzeigen"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Überall als &anwesend markieren"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Alle "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Warnung vor dem Löschen von Dateien, die per DCC empfangen wurden"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Der Key für %1 wurde festgelegt."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Konnte Datei %1 nicht entfernen."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC-Fehler"
+
+#~ msgid "Remove File"
+#~ msgstr "Datei löschen"
+
+#~ msgid "Transfer Details"
+#~ msgstr "DCC-Details"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Aus diesem Panel entfernen"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Empfangene Datei(en) entfernen"
+
+#~ msgid "&Remove File"
+#~ msgstr "Datei &löschen"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Soll die ausgewählte Datei wirklich gelöscht werden?\n"
+#~ "Sollen die %n ausgewählten Dateien wirklich gelöscht werden?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Löschbestätigung"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Benutzernamen eines Benutzers neben seinem Spitznamen in der Benutzerliste anzeigen."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Die Verbindung zu Server %1 ging verloren. %2. Es wird versucht, die Verbindung wieder herzustellen."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Stattdessen wird der Server %1 versucht."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Warte zwei Minuten vor dem nächsten Verbindungsversuch ..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Verfügbare Einstellungsgruppen: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Optionen verfügbar in Gruppe %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Aufruf: %1PREFS <Gruppe> <Option> <Wert> oder %2PREFS LIST zum Auflisten von Gruppen oder %3PREFS <Gruppe> LIST zum Auflisten von Einstellungen der Gruppe. Schreiben Sie Parameter in Anführungszeichen, wenn sie Leerzeichen enthalten."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DCC-Details"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Kanal&kennwort:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Bei Abwesenheit &Markierung einfügen"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Abwesenheitsma&rkierung einfügen, wenn Chatfenster verborgen ist"
+
+#~ msgid "&Connection"
+#~ msgstr "&Verbindung"
diff --git a/po/el/Makefile.am b/po/el/Makefile.am
new file mode 100644
index 0000000..da7e49a
--- /dev/null
+++ b/po/el/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = el
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/el/konversation.po b/po/el/konversation.po
new file mode 100644
index 0000000..ae4fdd0
--- /dev/null
+++ b/po/el/konversation.po
@@ -0,0 +1,7676 @@
+# translation of konversation.po to Greek
+#
+# Spiros Georgaras <sng@hellug.gr>, 2005, 2006, 2007.
+# Toussis Manolis <manolis@koppermind.homelinux.org>, 2005, 2006, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2007-10-15 14:36+0300\n"
+"Last-Translator: Spiros Georgaras <sng@hellug.gr>\n"
+"Language-Team: Greek <i18ngr@lists.hellug.gr>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Επιλογές για το κανάλι %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Απόκρυψη προχωρημένων λειτουργιών <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Εμφάνιση προχωρημένων λειτουργιών >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Νέο"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "άγνωστο"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Διαθέσιμες πληροφορίες για το αρχείο %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Πληροφορίες αρχείου"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Δε βρέθηκαν αναλυτικές πληροφορίες για αυτό το αρχείο."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Αποστολή"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Λήψη"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Σε αναμονή"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Προετοιμασία"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Αναμονή"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Σύνδεση"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Λήψη"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Αποστολή"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Έγινε"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Απέτυχε"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Εγκαταλείφθηκε"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/δευτ"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Ποιος είναι"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "Έ&κδοση"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Απόδοση Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Αφαίρεση Op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Απόδοση HalfOp"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Αφαίρεση HalfOp"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Απόδοση Voice"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Αφαίρεση Voice"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Λειτουργίες"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Kick"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Kickban"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Ban ψευδώνυμου"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Ban *!*@*.υπολογιστή"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Ban *!*@τομέα"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Ban *!χρήστη@*.υπολογιστή"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Ban *!χρήστη@τομέα"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Kickban *!*@*.υπολογιστή"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Kickban *!*@τομέα"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Kickban *!χρήστη@*.υπολογιστή"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Kickban *!χρήστη@τομέα"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Kick / Ban"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Παράβλεψη"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Αναίρεση παράβλεψης"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Άνοιγμα ε&ρωτήματος"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Άνοιγμα &συνομιλίας DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Αποστολή αρ&χείου..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Αποστολή email..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Συσχετίσεις βιβλίου διευθύνσεων"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Προσθήκη στα παρακολουθούμενα ψευδώνυμα"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Αυτό εμφανίζει όλο τον κόσμο μέσα στο κανάλι. Εμφανίζεται το ψευδώνυμο για "
+"κάθε άτομο."
+"<br>Συνήθως εμφανίζεται ένα εικονίδιο που υποδηλώνει την κατάσταση κάθε ατόμου, "
+"αλλά δε φαίνεται να έχετε εγκατεστημένο ένα θέμα εικονιδίων. Δείτε τις "
+"ρυθμίσεις του Konversation - στο <i>Ρύθμιση Konversation</i> στο μενού <i>"
+"Ρυθμίσεις</i>. Έπειτα δείτε τη σελίδα για τα <i>Θέματα</i> στην <i>Εμφάνιση</i>"
+".</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Αυτό εμφανίζει όλο το κόσμο μέσα στο κανάλι. Εμφανίζεται το ψευδώνυμο κάθε "
+"ατόμου, με μια εικόνα που υποδηλώνει την κατάστασή του."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Αυτό το άτομο έχει δικαιώματα admin.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Αυτό το άτομο είναι ένας owner καναλιού.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Αυτό το άτομο είναι ένας op καναλιού.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Αυτό το άτομο είναι ένας halfop καναλιού.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Αυτό το ψευδώνυμο έχει voice, και μπορεί να μιλήσει σε ένα ελεγχόμενο "
+"κανάλι.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Αυτό το άτομο δεν έχει ιδιαίτερα δικαιώματα.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Αυτό υποδηλώνει ότι αυτό το άτομο απουσιάζει αυτή τη στιγμή "
+"απασχολημένο.</td></tr></table>"
+"<p>Η σημασία του operator, του owner και του halfoperator διαφέρει ανάμεσα σε "
+"διάφορους εξυπηρετητές IRC."
+"<p>Αν μετακινηθείτε πάνω σε οποιοδήποτε ψευδώνυμο εμφανίζεται η τρέχουσα "
+"κατάστασή του, όπως επίσης και οποιαδήποτε πληροφορία υπάρχει διαθέσιμη στο "
+"βιβλίο διευθύνσεων για αυτό το άτομο. Δείτε το εγχειρίδιο του Konversation για "
+"περισσότερες πληροφορίες.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Επεξεργασία επαφής..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Επιλογή/τροποποίηση συσχέτισης..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Επιλογή επαφής..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Τροποποίηση συσχέτισης..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Δημιουργία νέας επαφής..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Διαγραφή συσχέτισης"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Κανάλι"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Ερώτημα"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Επισήμανση"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Εξαίρεση"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Καρτέλες"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Σήμερα"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Χθες"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (προσδιορισμένο)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Email"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Μάσκα υπολογιστή:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Μήνυμα απουσίας:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(άγνωστο)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Σε σύνδεση από:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Κλικ για εκτέλεση του επεξεργαστή κανονικών εκφράσεων (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+"Ο επεξεργαστής κανονικών εκφράσεων (KRegExpEditor) δεν είναι εγκατεστημένος"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Εξερχόμενα"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Εισερχόμενα"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Και τα δύο"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Συμμετοχή σε κανάλι στο %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Γρήγορη σύνδεση"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Εξυπηρετητής:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Εισάγετε εδώ τον εξυπηρετητή του δικτύου."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Θύρα:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Η θύρα που χρησιμοποιεί ο εξυπηρετητής IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Ψευδώνυμο:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Το ψευδώνυμο που επιθυμείτε να χρησιμοποιήσετε."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "Κ&ωδικός πρόσβασης:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Αν ο εξυπηρετητής IRC απαιτεί κωδικό πρόσβασης, εισάγετε τον εδώ (οι "
+"περισσότεροι εξυπηρετητές δεν απαιτούν κωδικό πρόσβασης.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Χρήση SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Σύν&δεση"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Σύνδεση με τον εξυπηρετητή"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Αδυναμία ανοίγματος μιας υποδοχής για αναμονή: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Προσφορά σύνδεσης συνομιλίας DCC στο %1 στη θύρα %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Συνομιλία DCC με %1 στη θύρα %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Επίτευξη σύνδεσης συνομιλίας DCC με %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Συνομιλία DCC με %1 από %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Επίτευξη σύνδεσης συνομιλίας DCC με %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Η σύνδεση απέτυχε, κωδικός σφάλματος %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Λήφθηκε άγνωστη αίτηση CTCP-%1 από %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Αδυναμία αποδοχής του πελάτη."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Προκαθορισμένο ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Λίστα εξυπηρετητών"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Κλικ εδώ για σύνδεση με το επιλεγμένο δίκτυο ή κανάλι IRC."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Η λίστα των διαθέσιμων δικτύων IRC εμφανίζονται εδώ. Ένα δίκτυο IRC είναι μια "
+"συλλογή συνεργαζόμενων εξυπηρετητών. Απαιτείται η σύνδεση σε έναν από τους "
+"εξυπηρετητές για να συνδεθείτε σε ολόκληρο το δίκτυο IRC. Μετά τη σύνδεση, το "
+"Konversation αυτόματα θα συμμετέχει στα εμφανιζόμενα κανάλια. Αν το "
+"Konversation εκκινεί για πρώτη φορά, είναι ήδη εισηγμένα για σας το δίκτυο "
+"Freenode και το κανάλι <i>#kde</i>."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Δίκτυο"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Ταυτότητα"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Κανάλια"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Νέο..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Κάντε κλικ εδώ για να ορίσετε ένα νέο δίκτυο, που περιλαμβάνει τον εξυπηρετητή "
+"για τη σύνδεση με αυτόν και τα κανάλια στα οποία θα γίνει συμμετέχει αυτόματα."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Επεξεργασία..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Εμφάνιση κατά την εκκίνηση της εφαρμογής"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Νέο δίκτυο"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Επεξεργασία δικτύου"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Δεν μπορείτε να διαγράψετε το %1.\n"
+"\n"
+"Το δίκτυο %2 απαιτείται να έχει τουλάχιστον έναν εξυπηρετητή."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Δεν μπορείτε να διαγράψετε τους επιλεγμένους εξυπηρετητές.\n"
+"\n"
+"Το δίκτυο %1 απαιτείται να έχει τουλάχιστον έναν εξυπηρετητή."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Επιθυμείτε πραγματικά τη διαγραφή των επιλεγμένων καταχωρήσεων;"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Επιθυμείτε πραγματικά τη διαγραφή του %1;"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Εμφάνιση τελευταίου:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Χρησιμοποιήστε αυτό το πλαίσιο για να ορίσετε το μέγιστο μέγεθος του αρχείου "
+"καταγραφής. Αυτή η ρύθμιση δεν έχει επίδραση μέχρι να επανεκκινήσετε το "
+"Konversation. Κάθε αρχείο καταγραφής μπορεί να έχει διαφορετική ρύθμιση."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Καθαρισμός αρχείου καταγραφής"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Τα μηνύματα του αρχείου καταγραφής εμφανίζονται εδώ. Τα παλαιότερα μηνύματα "
+"βρίσκονται στην κορυφή και τα πιο πρόσφατα κάτω."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Επιθυμείτε πραγματικά τη μόνιμη διαγραφή όλων των πληροφοριών καταγραφής αυτού "
+"του αρχείου;"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Σημείωση: Με την αποθήκευση του αρχείου καταγραφής αποθηκεύετε όλα τα δεδομένα "
+"του αρχείου, όχι μόνο το τμήμα που βλέπετε σε αυτόν τον προβολέα."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Αποθήκευση αρχείου καταγραφής"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Επιλογή φακέλου προορισμού"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Πληροφορίες"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Προσφορά σύνδεσης συνομιλίας DCC στο %1 στη θύρα %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Προσπάθειες επανασύνδεσης:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Είστε ήδη συνδεδεμένοι με %1. Επιθυμείτε την αποσύνδεση από '%2' και τη σύνδεση "
+"με '%3';"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Ήδη σε σύνδεση με το %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Σύνδεση"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Είστε ήδη συνδεδεμένοι με %1. Επιθυμείτε την αποσύνδεση από '%2' και τη σύνδεση "
+"με '%3';"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Επεξεργασία εξυπηρετητή"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Παρακαλώ συμπληρώστε την <b>ταυτότητά</b> σας.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Παρακαλώ συμπληρώστε το <b>πραγματικό όνομά</b> σας.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Παρακαλώ δώστε τουλάχιστον ένα <b>ψευδώνυμο</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Η ταυτότητά σας \"%1\" δεν είναι ρυθμισμένη σωστά:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Ρυθμίσεις ταυτότητας"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Επεξεργασία ταυτότητας..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Ταυτότητες"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Ταυτότητα:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Αντιγραφή"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Μετονομασία"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Γενικά"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Π&ραγματικό όνομα:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Εισάγετε εδώ το πραγματικό σας όνομα. Το IRC δεν έχει σκοπό να σας διατηρήσει "
+"κρυμμένο από τους φίλους ή εχθρούς σας. Να το έχετε αυτό στο νου σας αν "
+"θελήσετε να κινηθείτε κακόβουλα. Ένα πλαστό \"πραγματικό όνομα\" μπορεί να "
+"γίνει ένας καλός τρόπος να κρύψετε το φύλο σας από όλους τους nerds εκεί έξω, "
+"αλλά το PC που χρησιμοποιείτε μπορεί πάντα να εντοπιστεί έτσι ώστε να μην είστε "
+"πραγματικά ανώνυμος."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Ψευδώνυμο"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Αυτή είναι η λίστα με τα ψευδώνυμα σας. Ένα ψευδώνυμο είναι το όνομα με το "
+"οποίο θα σας γνωρίζουν οι άλλοι χρήστες. Μπορείτε να χρησιμοποιήσετε "
+"οποιοδήποτε όνομα επιθυμείτε. Ο πρώτος χαρακτήρας του πρέπει να είναι ένα "
+"γράμμα.\n"
+"\n"
+"Επειδή τα ψευδώνυμα είναι μοναδικά σε ένα ολόκληρο δίκτυο IRC, το επιθυμητό σας "
+"ψευδώνυμο μπορεί να απορριφθεί από τον εξυπηρετητή επειδή κάποιος άλλος ήδη "
+"χρησιμοποιεί αυτό το ψευδώνυμο. Εισάγετε εναλλακτικά ψευδώνυμα για σας. Αν η "
+"πρώτη σας επιλογή απορριφθεί από τον εξυπηρετητή, το Konversation θα δοκιμάσει "
+"τα εναλλακτικά ψευδώνυμα."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Προσθήκη..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Επεξεργασία..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Αυτόματη αναγνώριση"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Υ&πηρεσία:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Η υπηρεσία μπορεί να είναι όπως η <b><i>nickserv</i></b> "
+"ή ένα όνομα εξαρτώμενο από το δίκτυο όπως το <b><i>nickserv@services.dal.net</i>"
+"</b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Κωδικός πρόσβασης:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Απουσία"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Αν ενεργοποιήσετε αυτή την επιλογή, κάθε φορά που εκτελείτε μια εντολή <b>"
+"/away</b>, θα εμφανίζεται στο κανάλι μια οριζόντια γραμμή, η οποία θα σημειώνει "
+"το σημείο στο οποίο φύγατε. Οι άλλοι χρήστες δε βλέπουν αυτή τη γραμμή."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Ψευδώνυμο απουσίας:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Εισάγετε ένα ψευδώνυμο που να υποδηλώνει ότι απουσιάζετε. Κάθε φορά που δίνετε "
+"μια εντολή <b>/away msg</b> σε οποιοδήποτε συνδεδεμένο κανάλι, το Konversation "
+"αυτόματα θα τροποποιήσει το ψευδώνυμό σας στο ψευδώνυμο απουσίας. Έτσι οι άλλοι "
+"χρήστες θα μπορούν να αντιληφθούν ότι απουσιάζετε από τον υπολογιστή σας. Κάθε "
+"φορά που δίνετε μια εντολή <b>/away</b> σε κάποιο κανάλι στο οποίο απουσιάζετε, "
+"το Konversation αυτόματα θα τροποποιήσει το ψευδώνυμο σας ξανά στο αρχικό. Αν "
+"δεν επιθυμείτε την αυτόματη τροποποίηση του ψευδώνυμου σας κατά την απουσία "
+"σας, αφήστε το κενό."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " γραμμές"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "Σε ε&νέργεια ερωτήματος"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Αυ&τόματη συνέχιση λήψης"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Μήνυμα απουσίας:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Αν ενεργοποιήσετε αυτή την επιλογή, το Konversation αυτόματα θα στέλνει το "
+"μήνυμα απουσίας σε όλα τα συμμετέχοντα κανάλια με αυτή την ταυτότητα. Το <b>"
+"%s</b> αντικαθίσταται από το <b>msg</b>. Όταν δίνετε μια εντολή <b>/away</b> "
+"το επιστρεφόμενο μήνυμα θα εμφανιστεί σε όλα τα συμμετέχοντα κανάλια με αυτήν "
+"την ταυτότητα."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Μήνυμα απουσίας:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Επιστ&ρεφόμενο μήνυμα:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Προχωρημένα"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Προεντολή κελύφους:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Εδώ μπορείτε να εισάγετε μια εντολή που θα εκτελεστεί πριν εκκινήσει η σύνδεση "
+"με τον εξυπηρετητή"
+"<br>Αν έχετε πολλαπλούς εξυπηρετητές με αυτή την ταυτότητα αυτή η εντολή θα "
+"εκτελεστεί για κάθε εξυπηρετητή"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "Ταυ&τοποίηση:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Όταν συνδέεστε, πολλοί εξυπηρετητές αιτούν στον υπολογιστή σας μια απάντηση "
+"IDENT. Αν ο υπολογιστής σας δεν εκτελεί έναν εξυπηρετητή IDENT, αυτή η απάντηση "
+"αποστέλλεται από το Konversation. Δεν επιτρέπονται τα κενά."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Κωδικοποίηση:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Αυτή η ρύθμιση επηρεάζει την κωδικοποίηση των χαρακτήρων που πληκτρολογείτε για "
+"την αποστολή τους στον εξυπηρετητή. Επίσης επηρεάζει τα μηνύματα που "
+"εμφανίζονται. Όταν ανοίγετε το Konversation για πρώτη φορά, αυτόματα γίνεται "
+"ανάκτηση αυτής της ρύθμισης από το λειτουργικό σύστημα. Αν έχετε προβλήματα να "
+"δείτε σωστά τα μηνύματα των άλλων χρηστών, δοκιμάστε να τροποποιήσετε αυτήν τη "
+"ρύθμιση."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Αι&τία αποχώρησης:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr ""
+"Κάθε φορά που αποχωρείτε από ένα κανάλι, αυτό το μήνυμα αποστέλλεται στο "
+"κανάλι."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Αι&τία αποχώρησης:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr ""
+"Κάθε φορά που αποχωρείτε από ένα κανάλι, αυτό το μήνυμα αποστέλλεται στο "
+"κανάλι."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Αι&τία Kick:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Κάθε φορά που εκδιωχθήκατε (kick) από ένα κανάλι (συνήθως από έναν operator "
+"IRC), αυτό το μήνυμα αποστέλλεται στο κανάλι."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Τροποποίηση πληροφοριών ταυτότητας"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Απόρριψη όλων των τροποποιήσεων"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Πρέπει να προσθέσετε τουλάχιστον ένα ψευδώνυμο στην ταυτότητα."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Προσθήκη ψευδώνυμου"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Ψευδώνυμο:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Επεξεργασία ψευδώνυμου"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Προσθήκη ταυτότητας"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Όνομα ταυτότητας:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Πρέπει να δώσετε ένα όνομα στην ταυτότητα."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Μετονομασία ταυτότητας"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Αυτή η ταυτότητα χρησιμοποιείται, αν την αφαιρέσετε οι ρυθμίσεις δικτύου θα "
+"κάνουν χρήση της εφεδρικής προκαθορισμένης ταυτότητας. Να διαγραφεί;"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Επιθυμείτε σίγουρα τη διαγραφή όλων των πληροφοριών αυτής της ταυτότητας;"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Διαγραφή ταυτότητας"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Αντιγραφή ταυτότητας"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Κανονικοί χρήστες"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voice (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operators (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Admins καναλιού (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Owners καναλιού (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Εισαγωγή χαρακτήρα"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Εισαγωγή ενός χαρακτήρα"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Επεξεργασία σελιδοδεικτών Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Δεν υπάρχει ελεύθερη θύρα"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Αδυναμία ανοίγματος μιας υποδοχής"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Αναζήτηση κειμένου..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Αντιγραφή URL στο πρόχειρο"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Προσθήκη στους σελιδοδείκτες"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Αποθήκευση δεσμού ως..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Άνοιγμα ερωτήματος με το %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Συμμετοχή στο κανάλι %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "Μήνυμα της ημέρας"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Ειδοποίηση"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Συμμετοχή"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Αποχώρηση"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Άνοιγμα ερωτήματος"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Συμμετοχή"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Λήψη λίστας &χρηστών"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Λήψη &θέματος"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Δε βρέθηκαν ταιριάσματα για το \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Αποθήκευση δεσμού ως"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Λίστα εξυπηρετητών..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Διαχείριση δικτύων και εξυπηρετητών"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Γρήγορη &σύνδεση..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Πληκτρολογήστε τη διεύθυνση ενός νέου εξυπηρετητή IRC για σύνδεση"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Επανασύνδεση"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Επανασύνδεση με τον τρέχοντα εξυπηρετητή."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Αποσύνδεση"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Αποσύνδεση από τον τρέχοντα εξυπηρετητή."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Ταυτότητες..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+"Διαχείριση του ψευδωνύμου σας, του μηνύματος απουσίας και άλλων ρυθμίσεων "
+"ταυτότητας"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Ψευδώνυμα σε παρακολούθηση"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Κατάσταση &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Ά&νοιγμα αρχείου καταγραφής"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Άνοιγμα του ιστορικού για αυτό το κανάλι σε νέα καρτέλα"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Ρυθμίσεις &καναλιού..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Άνοιγμα των ρυθμίσεων του καναλιού αυτής της καρτέλας"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Λίστα καναλιών"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Εμφάνιση όλων των καναλιών αυτού του εξυπηρετητή"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Σύλληψη &URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Λίστα όλων των URL που έχουν αναφερθεί πρόσφατα σε νέα καρτέλα"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Νέο &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Άνοιγμα τερματικού σε νέα καρτέλα"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Επόμενη καρτέλα"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Προηγούμενη καρτέλα"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Κλείσιμο καρτέλας"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Επόμενη ενεργή καρτέλα"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Μετακίνηση καρτέλας πάνω"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Μετακίνηση καρτέλας κάτω"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Μετακίνηση καρτέλας δεξιά"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Μετακίνηση καρτέλας αριστερά"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Συμμετοχή σε κανάλι"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Ενεργοποίηση ειδοποιήσεων"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Συμμετοχή σε κανάλι"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Ορισμός κωδικοποίησης"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Μετάβαση στην καρτέλα %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "Κα&θαρισμός λίστας"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Καθαρισμός του περιεχομένου της τρέχουσας καρτέλας"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Καθαρισ&μός παραθύρου"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Καθαρισμός του περιεχομένου της τρέχουσας καρτέλας"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Καθαρισμός ό&λων των παραθύρων"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Καθαρισμός του περιεχομένου όλων των ανοικτών καρτελών"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Σ&υμμετοχή στο κανάλι..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&Χρώμα IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Ορισμός χρώματος του τρέχοντος μηνύματος IRC"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Απομνημόνευση γραμμής"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Προσθήκη μιας οριζόντιας γραμμής που μπορείτε να δείτε μόνο εσείς"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Ειδικός &χαρακτήρας..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Εισαγωγή οποιουδήποτε χαρακτήρα στο τρέχον IRC μήνυμά σας"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Κλείσιμο ό&λων των ανοικτών ερωτημάτων"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Απόκρυψη λίστας ψευδωνύμων"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>Επιθυμείτε σίγουρα την έξοδο από το <b>Konversation</b>;</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Επιβεβαίωση εξόδου"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Επιθυμείτε σίγουρα την έξοδο από το <b>Konversation</b>;</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Κλείνοντας το κύριο παράθυρο το Konversation θα συνεχίσει να εκτελείται στο "
+"πλαίσιο συστήματος. Χρησιμοποιήστε την <b>Έξοδο</b> από το μενού του <b>"
+"Konversation</b> για έξοδο από την εφαρμογή.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Προσάρτηση στο πλαίσιο συστήματος"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Αυτό θα αποκρύψει τη γραμμή μενού ολοκληρωτικά. Μπορείτε να την εμφανίσετε "
+"ξανά πληκτρολογώντας %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Εναλλαγή ειδοποιήσεων"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Εναλλαγή καθολικής απουσίας"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Εισαγωγή &χρώματος IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Εισαγωγή ειδικού χαρα&κτήρα..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "Εισαγωγή α&πομνημόνευσης γραμμής"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Λίστα καναλιών"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Ορισμός &καθολικής απουσίας"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Ακατέργαστο"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Χρήση: %1JOIN <κανάλι> [κωδικός]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Χρήση: %1KICK <ψευδώνυμο> [αιτία]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "Το %1KICK λειτουργεί μόνο μέσα από κανάλια."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"Το %1PART χωρίς παραμέτρους λειτουργεί μόνο μέσα από ένα κανάλι ή ερώτημα."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "Το %1PART χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "Το %1TOPIC χωρίς παραμέτρους λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "Το %1TOPIC χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"Το %1NAMES χωρίς προορισμό μπορεί να σας αποσυνδέσει από τον εξυπηρετητή. "
+"Ορίστε το '*' αν επιθυμείτε πραγματικά κάτι τέτοιο."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Χρήση: %1NOTICE <αποδέκτης> <μήνυμα>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Αποστέλλεται η ειδοποίηση %2 στον %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Χρήση: %1ME κείμενο"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Αποστολή αίτησης CTCP-%1 στο χρήστη %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Το αρχείο \"%1\" δεν υπάρχει."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Χρήση: %1DCC [SEND ψευδώνυμο αρχείο]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Χρήση: %1DCC [CHAT ψευδώνυμο]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Μη αναγνωρίσιμη εντολή %1DCC %2. Πιθανές εντολές είναι οι SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Χρήση: %1INVITE <ψευδώνυμο> [κανάλι]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "Το %1INVITE χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "Το %1 δεν είναι ένα κανάλι."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Χρήση: %1EXEC <σενάριο> [λίστα παραμέτρων]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Το όνομα σεναρίου δε μπορεί να περιέχει τα \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Χρήση: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Η τρέχουσα λίστα ειδοποιήσεων είναι κενή."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Τρέχουσα λίστα ειδοποιήσεων: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Εισάγετε το όνομα χρήστη και κωδικό πρόσβασης για δικαιώματα operator IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Κωδικός πρόσβασης operator IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "Το %1BAN χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "Το %1KICKBAN χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Χρήση: %1BAN [-HOST | -DOMAIN] [κανάλι] <χρήστης|μάσκα>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Χρήση: %1KICKBAN [-HOST | -DOMAIN] [κανάλι] <χρήστης|μάσκα> [αιτιολογία]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "Το %1UNBAN χωρίς όνομα καναλιού λειτουργεί μόνο μέσα από ένα κανάλι."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Χρήση: %1UNBAN [κανάλι] μοτίβο"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Ο χρήστης %1 προστέθηκε λίστα αγνόησης."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Χρήση: %1IGNORE [ -ALL ] <χρήστης 1> <χρήστης 2> ... <χρήστης n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Χρήση: %1UNIGNORE <χρήστης 1> <χρήστης 2> ... <χρήστης n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Ο χρήστης %1 αφαιρέθηκε από τη λίστα αγνόησης."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Ο χρήστης δεν υπάρχει στη λίστα αγνόησης: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Οι χρήστες δεν υπάρχουν στη λίστα αγνόησης : %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Χρήση: %1QUOTE εντολή λίστα"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Χρήση: %1SAY κείμενο"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Χρήση"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Χρήση: %1AME κείμενο"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Χρήση: %1AMSG κείμενο"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Χρήση: %1OMSG κείμενο"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Αποστολή ειδοποίησης \"%1\" στο χρήστη %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Χρήση: %1ONOTICE κείμενο"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Τρέχουσα κωδικοποίηση: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Έγινε αλλαγή σε κωδικοποίηση %1."
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "Το %1 δεν είναι έγκυρη κωδικοποίηση."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Χρήση: %1setkey <ψευδώνυμο> ή <κανάλι> <κλειδί> Ορίζει το κλειδί κωδικοποίησης "
+"για το ψευδώνυμο ή το κανάλι"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "Το πλήκτρο για το %1 διαγράφηκε."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Χρήση: %1delkey <ψευδώνυμο> ή <κανάλι> <κλειδί> Διαγράφει το κλειδί "
+"κωδικοποίησης για το ψευδώνυμο ή το κανάλι"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "Το πλήκτρο για το %1 διαγράφηκε."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "Το πλήκτρο για το %1 διαγράφηκε."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Χρήση: %1DNS <ψευδώνυμο>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "To %1 αναλύθηκε ως: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Αδυναμία ανάλυσης του %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Η αντίστροφη ανάλυση απαιτεί το KDE 3.5.1 ή νεότερο."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Χρήση: %1KILL <ψευδώνυμο> [αιτία]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Η γραμμή εισόδου είναι το μέρος που πληκτρολογείτε μηνύματα που θα "
+"αποσταλούν στο κανάλι, το ερώτημα ή τον εξυπηρετητή. Ένα μήνυμα που "
+"αποστέλλεται σε ένα κανάλι είναι ορατό από οποιονδήποτε στο κανάλι, ενώ ένα "
+"μήνυμα σε μια ερώτηση αποστέλλεται μόνο στο άτομο που βρίσκεται στην ερώτηση "
+"μαζί σας."
+"<p>Για την αυτόματη συμπλήρωση του ψευδωνύμου σας ξεκινήστε την πληκτρολόγηση "
+"και πατήστε το Tab. Αν δεν ξεκινήσετε την πληκτρολόγηση θα χρησιμοποιηθεί το "
+"τελευταίο συμπληρωμένο ψευδώνυμο."
+"<p>Μπορείτε επίσης να αποστείλετε ειδικές εντολές:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>ενέργεια</i></th>"
+"<td>εμφανίζει μια ενέργεια στο κανάλι ή το ερώτημα. Για παράδειγμα: <em>"
+"/me τραγουδά ένα τραγούδι</em> θα εμφανιστεί στο κανάλι ως 'Ψευδώνυμο τραγουδά "
+"ένα τραγούδι'.</td></tr>"
+"<tr>"
+"<th>/whois <i>ψευδώνυμο</i></th>"
+"<td>εμφανίζει πληροφορίες σχετικά με αυτό το άτομο, συμπεριλαμβάνοντας τα "
+"κανάλια στα οποία συμμετέχει.</td></tr></table>"
+"<p>Για περισσότερες εντολές, δείτε το εγχειρίδιο του Konversation."
+"<p>Ένα δεν μπορεί να περιέχει πολλαπλές γραμμές.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Προσπαθήσατε να επικολλήσετε ένα μεγάλο τμήμα κειμένου (%1 bytes ή %2 "
+"γραμμές) στη συνομιλία. Αυτό μπορεί να προκαλέσει επαναφορά στη σύνδεση ή "
+"εκδιώξεις λόγο πλημμυρίσματος καναλιού. Επιθυμείτε πραγματικά να "
+"συνεχίσετε;</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Προειδοποίηση μεγάλης επικόλλησης"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Ένα φιλικός προς το χρήστη πελάτης IRC"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Εξυπηρετητής για σύνδεση"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Θύρα για χρήση"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Κανάλι για συμμετοχή μετά τη σύνδεση"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Ψευδώνυμο για χρήση"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Κωδικός πρόσβασης για σύνδεση"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Χρήση SSL για τη σύνδεση"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2007 από την ομάδα του Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Το Konversation είναι ένας πελάτης για το πρωτόκολλο Internet Relay Chat "
+"(IRC).\n"
+"Συναντήστε φίλους στο διαδίκτυο, κάντε νέες γνωριμίες και ξεχαστείτε σε\n"
+"συζητήσεις για το αγαπημένο σας θέμα."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Αρχικός συγγραφέας, ιδρυτής του έργου"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Συντηρητής"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Συντηρητής, διαχειριστής εκδόσεων, περιβάλλον χρήστη, χειρισμός πρωτοκόλλων"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, χειρισμός κωδικοποιήσεων, τοποθέτηση OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Χειρισμός πρωτοκόλλων, γραμμή εισαγωγής"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Υποστήριξη Blowfish, υποστήριξη SSL, μεταφορά στο KNetwork, χρωματιστά "
+"ψευδώνυμα, θέματα λίστας ψευδωνύμων"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Επανασχεδίαση, ενσωμάτωση KAddressBook/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Φιλοξενία ιστοσελίδας"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Συντήρηση ιστοσελίδας"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Επέκταση πολλαπλών λειτουργιών, τοποθέτηση κλεισίματος γραφικού συστατικού, "
+"λειτουργία OSD"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Τεκμηρίωση, βελτιώσεις παρακολούθησης ψευδωνύμων, επέκταση προσαρμοσμένου "
+"περιηγητή ιστοσελίδων"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Ρύθμιση χρωμάτων, διάλογος τονισμού"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Διασύνδεση DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Μη-Latin1-Κωδικοποιήσεις"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Προβολή τμήματος Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Γρήγορη σύνδεση, μεταφορά νέας OSD, άλλες λειτουργίες και διορθώσεις"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Μια σειρά διορθώσεων και καθάρισμα πηγαίου"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Βελτιώσεις συρσίματος και &ελευθέρωσης"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Γραφικά"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Γραμμή αναζήτησης του στυλ Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+"Ακατέργαστη λειτουργία, ομαδοποίηση καρτελών ανά εξυπηρετητή, λίστα ban"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Διόρθωση πλαισίου συστήματος"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Διόρθωση σφαλμάτων"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Διόρθωση λειτουργιών επεκτάσεων χρήστη"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Διόρθωση κλεισίματος ορατής καρτέλας με συντόμευση"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Εναλλαγή καρτελών με το ροδάκι του ποντικιού"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Διόρθωση λειτουργίας ιδιοκτησίας καναλιού"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Επιλογή ενεργοποίησης χρωματικού φιλτραρίσματος IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Διορθώσεις σφαλμάτων, λειτουργία OSD, καθαρισμός θεμάτων"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Σενάριο Sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Λήφθηκε αίτηση CTCP-PING από %1 στο κανάλι %2, αποστολή απάντησης."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Λήφθηκε αίτηση CTCP-%1 από %2, αποστολή απάντησης."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Λήφθηκε αίτηση έκδοσης από %1 στο κανάλι %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Λήφθηκε αίτηση έκδοσης από %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Λήφθηκε μη έγκυρη αίτηση DCC SEND από %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Λήφθηκε μη έγκυρη αίτηση DCC ACCEPT από %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Λήφθηκε μη έγκυρη αίτηση DCC RESUME από %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Λήφθηκε μη έγκυρη αίτηση DCC CHAT από %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Άγνωστη εντολή DCC %1 λήφθηκε από %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Λήφθηκε άγνωστη αίτηση CTCP-%1 από %2 στο κανάλι %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Λήφθηκε άγνωστη αίτηση CTCP-%1 από %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 στο %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Λήφθηκε απάντηση CTCP-PING από %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Λήφθηκε απάντηση CTCP-%1 από %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Πρόσκληση"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "Ο χρήστης %1 σας προσκάλεσε στο κανάλι %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Καλώς ήρθατε"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr ""
+"Εξυπηρετητής %1 (Έκδοση %2), Λειτουργίες χρήστη: %3, Λειτουργίες καναλιού: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Υποστήριξη"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Οι προσωπικές σας λειτουργίες είναι:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Λειτουργίες καναλιού: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "προστασία θέματος"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "χωρίς εξωτερικά μηνύματα"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "μυστικό"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "μόνο πρόσκληση"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "ιδιωτικό"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "ελεγχόμενο"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "προστασία κωδικού"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "ανώνυμο"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop εξυπηρετητή"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "δεν επιτρέπονται χρώματα"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"περιορισμός σε %n χρήστη\n"
+"περιορισμός σε %n χρήστες"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Λειτουργία"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Λίστα καναλιών του %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Δημιουργήθηκε"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Αυτό το κανάλι δημιουργήθηκε στις %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Ποιος είναι"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "Ο χρήστης %1 τώρα αναγνωρίζεται ως %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Ονόματα"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Τέλος της λίστας NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "ΘΕΜΑ"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Το κανάλι %1 δεν έχει καθορισμένο θέμα."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Θέμα"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Το θέμα του καναλιού %1 είναι: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Το θέμα ορίστηκε από το χρήστη %1 στις %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Το θέμα για το %1 ορίστηκε από το χρήστη %2 στις %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "Ο χρήστης %1 χρησιμοποιεί τον υπολογιστή %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Δεν υπάρχει τέτοιο ψευδώνυμο/κανάλι."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Δεν υπάρχει τέτοιο ψευδώνυμο: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Δεν υπάρχει τέτοιο κανάλι."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Ψευδώνυμο"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Το ψευδώνυμο χρησιμοποιείται ήδη, δοκιμάστε ένα διαφορετικό."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Το ψευδώνυμο χρησιμοποιείται ήδη. Δοκιμή του %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Εσφαλμένο ψευδώνυμο. Τροποποίηση ψευδωνύμου σε %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Δεν είστε στο %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Μήνυμα της ημέρας:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Τέλος του μηνύματος της ημέρας"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Τώρα είστε ένας operator σε αυτόν τον υπολογιστή."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Χρήστες"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Τρέχοντες χρήστες στο δίκτυο: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Τρέχοντες χρήστες στο %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Απουσιάζει"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "Ο χρήστης %1 απουσιάζει: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Προσκαλέσατε το χρήστη %1 στο κανάλι %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "Ο χρήστης %1 είναι %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Το %1 (%2) αναλύθηκε στη διεύθυνση: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Αδύνατη η ανάλυση της διεύθυνσης του %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "Ο χρήστης %1 είναι ένας αναγνωρισμένος χρήστης."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Ποιος"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "Ο χρήστης %1 είναι %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Απουσιάζει)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Τέλος της λίστας /WHO για %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "Το ψευδώνυμο %1 είναι ένας χρήστης των καναλιών: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "Ο χρήστης %1 έχει voice στα κανάλια: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "Ο χρήστης %1 είναι halfop των καναλιών: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "Ο χρήστης %1 είναι operator των καναλιών: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "Ο χρήστης %1 είναι owner των καναλιών: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "Ο χρήστης %1 είναι admin των καναλιών: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "Ο χρήστης %1 είναι σε σύνδεση μέσω του %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "Ο χρήστης %1 είναι διαθέσιμος για βοήθεια."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "Ο %1 είναι ένας IRC Operator."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 μέρα\n"
+"%n μέρες"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 ώρα\n"
+"%n ώρες"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 λεπτό\n"
+"%n λεπτά"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 δευτερόλεπτο\n"
+"%n δευτερόλεπτα"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "Ο χρήστης %1 είναι σε αδράνεια για %2, %3, %4, και %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "Ο χρήστης %1 είναι σε αδράνεια για %2, %3, και %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "Ο χρήστης %1 είναι σε αδράνεια για %2 και %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"Ο χρήστης %1 είναι σε αδράνεια για 1 δευτερόλεπτο.\n"
+"Ο χρήστης %1 είναι σε αδράνεια για %n δευτερόλεπτα."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "Ο χρήστης %1 είναι σε σύνδεση από %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Τέλος της λίστας WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Υπολογιστής χρήστη"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 είναι %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC Operator)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (απουσιάζει)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Λίστα"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Λίστα των καναλιών:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n χρήστης): %2\n"
+"%1 (%n χρήστες): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Τέλος της λίστας καναλιών."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Λίστα ban:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "Το %1 ορίστηκε από το %2 την %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Τέλος της λίστας ban."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "Ο χρήστης %1 δεν είναι διαθέσιμος."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Άγνωστη εντολή."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Δεν έχει καταχωρηθεί."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Αυτή ν εντολή απαιτεί περισσότερες παραμέτρους."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Ορίσατε λειτουργία καναλιού -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " ορισμός λειτουργίας: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Προκαθορισμένη ταυτότητα"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Επεξεργασία ψευδώνυμου σε παρακολούθηση"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Όνομα &δικτύου:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Επιλέξτε εδώ τον εξυπηρετητή δικτύου για σύνδεση."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Ψευδώνυμο:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Το ψευδώνυμο που θα παρακολουθείται κατά τη σύνδεση σε έναν εξυπηρετητή του "
+"δικτύου.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Τροποποίηση πληροφοριών ειδοποίησης"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Η σύνδεση χρησιμοποιεί %1 bit SSL."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Η λειτουργία σύνδεσης σε εξυπηρετητές που χρησιμοποιούν κρυπτογραφημένες SSL "
+"επικοινωνίες δεν είναι διαθέσιμη στο Konversation επειδή η υποστήριξη OpenSSL "
+"δεν ήραν ενεργοποιημένη κατά τη στιγμή της μεταγλώττισης. Πρέπει να "
+"χρησιμοποιήσετε μια νέα έκδοση του KDE που να έχει υποστήριξη SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Το πιστοποιητικό SSL που επέστρεψε από τον εξυπηρετητή δεν αναγνωρίστηκε. "
+"Πιθανόν αυτός ο εξυπηρετητής δεν υποστηρίζει SSL στη δοσμένη θύρα; Αν αυτός ο "
+"εξυπηρετητής υποστηρίζει επίσης και κανονική χωρίς SSL επικοινωνία, τότε η SSL "
+"θα βρίσκεται σε άλλη θύρα."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"Η διεύθυνση IP του υπολογιστή %1 δεν ταιριάζει με αυτή για την οποία εκδόθηκε "
+"το πιστοποιητικό."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Πιστοποίηση εξυπηρετητή"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Λεπτομέρειες"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr ""
+"Το πιστοποιητικό του εξυπηρετητή (%1) απέτυχε στον έλεγχο πιστοποίησης."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Επιθυμείτε την αποδοχή αυτού του πιστοποιητικού για πάντα χωρίς ερώτηση;"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Για πάντα"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Μόνο για τις &τρέχουσες συνεδρίες"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Τονισμός] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Ερώτημα] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "Ο χρήστης %1 συμμετέχει στο %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "Ο χρήστης %1 αποχώρησε από %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "Ο χρήστης %1 βγήκε από %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "Ο χρήστης %1 τροποποίησε το ψευδώνυμο σε %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "Ο χρήστης %1 επιθυμεί να σας στείλει ένα αρχείο"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "Ο χρήστης %1 εκίνησε μια συνομιλία (ερώτημα) με σας."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "Ο χρήστης %1 είναι σε σύνδεση (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "Ο χρήστης %1 αποσυνδέθηκε (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Λάβατε kick από το χρήστη %1 από το κανάλι %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "Ο χρήστης %1 εκίνησε μια συνομιλία dcc με σας"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Τονισμός] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Αδύνατη η σύνδεση με το %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Συμμετέχετε στο %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Η φράση δε βρέθηκε"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Αναδιπλωμένη αναζήτηση"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Διασύνδεση δικτύου"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Απάντηση από εξυπηρετητή IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Ορισμός χειροκίνητα"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Επιλογέας χρώματος IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Κανένα"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Εξυπηρετητής:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Το όνομα ή το IP του εξυπηρετητή. Το irchelp.org συντηρεί μια λίστα των "
+"εξυπηρετητών."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Εισάγετε τον αριθμό της θύρας που απαιτείται για τη σύνδεση με τον εξυπηρετητή. "
+"Για τους περισσότερους εξυπηρετητές, αυτό είναι <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Κ&ωδικός πρόσβασης:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Ασ&φαλής σύνδεση (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Ενεργοποιήστε αυτή την επιλογή αν επιθυμείτε να χρησιμοποιήσετε το πρωτόκολλο "
+"Secure Socket Layer (SSL) για την επικοινωνία με τον εξυπηρετητή. Αυτό "
+"προστατεύει το ιδιωτικό απόρρητο της επικοινωνίας ανάμεσα στον υπολογιστή σας "
+"και τον εξυπηρετητή IRC. Ο εξυπηρετητής πρέπει να υποστηρίζει το πρωτόκολλο SSL "
+"για να λειτουργήσει αυτό. Στις περισσότερες περιπτώσεις αν ο εξυπηρετητής δεν "
+"υποστηρίζει SSL, η σύνδεση θα αποτύχει."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Απαιτείται η διεύθυνση του εξυπηρετητή."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Ο admin απαγόρευσε το δικαίωμα αποστολής αρχείων"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Το url \"%1\" δεν υπάρχει"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Αδυναμία ανάκτησης \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Εισαγωγή ονόματος αρχείου"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Το αρχείο που στέλνετε σε <i>%1</i> δεν έχει όνομα."
+"<br>Παρακαλώ εισάγετε ένα όνομα αρχείου που θα εμφανιστεί στον αποδέκτη, ή "
+"ακυρώστε τη μεταφορά dcc</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Δε δόθηκε όνομα αρχείου"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"Αδύνατη η αποστολή μιας αίτησης DCC SEND στο συνεργάτη μέσω του εξυπηρετητή "
+"IRC."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Αναμονή αποδοχής από απομακρυσμένο χρήστη"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Αδυναμία αποδοχής της σύνδεσης. (Σφάλμα υποδοχής)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Αδυναμία ανοίγματος του αρχείου: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Σφάλμα υποδοχής: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Λήξη χρονικού περιθωρίου"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Αποτυχία σύνδεσης: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Ο απομακρυσμένος χρήστης αποσυνδέθηκε"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"Η λειτουργία ήταν επιτυχής. Δε θα πρέπει να συμβαίνει σε ένα διάλογο σφάλματος."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Αδυναμία ανάγνωσης από το αρχείο \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Αδυναμία εγγραφής στο αρχείο \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Ένα κρίσιμο ανεπανόρθωτο σφάλμα συνέβη."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Αδυναμία ανοίγματος του αρχείου \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Η λειτουργία εγκαταλείφθηκε απρόσμενα."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Έληξε το χρονικό όριο της λειτουργίας."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Ένα απροσδιόριστο σφάλμα συνέβη κατά το κλείσιμο."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Άγνωστο σφάλμα: Κωδικός %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Αποστολή DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Λήψη DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Αντίστροφο DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "άγνωστο μέγεθος"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 στο %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (θύρα %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (θύρα %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Ναι, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1δευτ"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Έτοιμο."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Αυτό εμφανίζει τον αριθμό των χρηστών στο κανάλι, και των αριθμό αυτών που "
+"είναι χειριστές (ops)."
+"<p>Ο operator καναλιού είναι ένας χρήστης με ειδικά δικαιώματα, όπως τη "
+"δυνατότητα kick και ban χρηστών, την αλλαγή της λειτουργίας του καναλιού, και "
+"τη δημιουργία άλλων χειριστών</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Υστέρηση: Άγνωστη"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Όλες οι επικοινωνίες με τον εξυπηρετητή είναι κρυπτογραφημένη. Αυτό δυσκολεύει "
+"κάποιον να υποκλέψει την επικοινωνία σας."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Η γραμμή κατάστασης εμφανίζει διάφορα μηνύματα, περιλαμβάνοντας τα "
+"προβλήματα σύνδεσης με τον εξυπηρετητή. Στο δεξί άκρο εμφανίζεται η τρέχουσα "
+"καθυστέρηση του εξυπηρετητή. Η καθυστέρηση είναι ο χρόνος που απαιτείται για τη "
+"λήψη των μηνυμάτων σας από τον εξυπηρετητή και το αντίστροφο.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Υστέρηση: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Υστέρηση: %1 δ"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr ""
+"Χωρίς απάντηση από τον εξυπηρετητή %1 για περισσότερο από %2, %3, %4, και %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr ""
+"Χωρίς απάντηση από τον εξυπηρετητή %1 για περισσότερο από %2, %3, and %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Χωρίς απάντηση από τον εξυπηρετητή %1 για περισσότερο από %2 και %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Χωρίς απάντηση από τον εξυπηρετητή %1 για περισσότερο από 1 δευτερόλεπτο.\n"
+"Χωρίς απάντηση από τον εξυπηρετητή %1 για περισσότερο από %n δευτερόλεπτα."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Αναζήτηση για εξυπηρετητή %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Ο εξυπηρετητής %1 δε βρέθηκε. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Ο εξυπηρετητής βρέθηκε, γίνεται σύνδεση..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Συνδέθηκε: επαλήθευση σύνδεσης..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Η σύνδεση με τον εξυπηρετητή %1 απέτυχε: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Αδυναμία σύνδεσης με %1:%2 χρησιμοποιώντας κρυπτογράφηση SSL. Πιθανώς ο "
+"εξυπηρετητής να μην υποστηρίζει SSL, ή έχετε λανθασμένη θύρα; %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Σφάλμα σύνδεσης SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Αποσύνδεση από εξυπηρετητή."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Κανένα από τα ψευδώνυμα της ταυτότητας \"%1\" δεν έγινε δεκτό από τη σύνδεση "
+"\"%2\".\n"
+"Παρακαλώ δώστε ένα νέο ψευδώνυμο ή πατήστε Ακύρωση για να αποσυνδεθείτε:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Σφάλμα ψευδώνυμου"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Υπήρξε ένα σφάλμα κατά την ανάγνωση δεδομένων από τον εξυπηρετητή: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Επιλογή αρχείου(ων) για αποστολή σε %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "Ο χρήστης %1 προσφέρει την αποστολή του \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "άγνωστο μέγεθος"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Ερώτηση στο χρήστη %1 για την αποδοχή της αποστολής του \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Λήφθηκε μη έγκυρη παθητική αποστολή DCC με μήνυμα αποδοχής για το \"%1\" από "
+"%2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Συνέχεια λήψης του \"%1\" από %2 ξεκινώντας από το %3% του %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Λήφθηκε μη έγκυρο μήνυμα αποδοχής συνέχισης για το \"%1\" από %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+"Συνέχεια αποστολής του \"%1\" στο χρήστη %2 ξεκινώντας από το %3% του %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Λήφθηκε μη έγκυρη αίτηση συνέχισης λήψης για το αρχείο \"%1\" από %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Η λήψη του αρχείου \"%1\" από το χρήστη %2 ολοκληρώθηκε."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Η λήψη του αρχείου \"%1\" από το χρήστη %2 απέτυχε. Αιτία: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Η λήψη του \"%1\" από %2 ολοκληρώθηκε."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Η αποστολή του αρχείου \"%1\" στο χρήστη %2 απέτυχε. Αιτία: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Αποστολή του \"%1\" στο χρήστη %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Λήψη του \"%1\" (%2) από το χρήστη %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Προσκληθήκατε από %1 για συμμετοχή στο κανάλι %2. Αποδοχή της πρόσκλησης;"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Πρόσκληση"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Σφάλμα: Αδυναμία εύρεσης του σεναρίου \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Σφάλμα: Αδυναμία εκτέλεσης του σεναρίου \"%1\". Ελέγξτε τα δικαιώματα του "
+"αρχείου."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Απουσιάζει για την ώρα."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Αυτή τη στιγμή σημειώθηκε ότι απουσιάζετε."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Σημειώθηκε ότι δεν απουσιάζετε πια."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Σημειώθηκε ότι δεν απουσιάζετε."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Ψευδώνυμα σε παρακολούθηση"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Δίκτυο/Ψευδώνυμο/Κανάλι"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Πρόσθετες πληροφορίες"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Αυτά είναι τα ψευδώνυμα που βρίσκονται στη λίστα παρακολούθησης ψευδωνύμων, "
+"εμφανιζόμενα κάτω από τον εξυπηρετητή δικτύου στον οποίο είναι συνδεδεμένα. Η "
+"λίστα επίσης περιλαμβάνει τα ψευδώνυμα του KAddressBook που είναι συσχετισμένα "
+"με τον εξυπηρετητή δικτύου.</p>"
+"<p>Η στήλη <b>Πρόσθετες πληροφορίες</b> εμφανίζει κάθε πληροφορία διαθέσιμη για "
+"ένα ψευδώνυμο.</p>"
+"<p>Τα κανάλια στα οποίο συμμετέχει το ψευδώνυμο εμφανίζονται κάτω από κάθε ένα "
+"ψευδώνυμο.</p>"
+"<p>Τα ψευδώνυμα που εμφανίζονται κάτω από το <b>Χωρίς σύνδεση</b> "
+"δεν είναι συνδεδεμένα σε κανέναν από τους εξυπηρετητές του δικτύου.</p>"
+"<p>Με δεξί κλικ με το ποντίκι πάνω σε ένα ψευδώνυμο μπορούν να εκτελεστούν "
+"πρόσθετες λειτουργίες.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Επεξεργασία λίστας παρακολούθησης..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+"Κλικ για επεξεργασία της λίστας ψευδωνύμων που εμφανίζονται σε αυτή την οθόνη."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Βιβλίο διευθύνσεων:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Όταν επιλέγετε ένα ψευδώνυμο στην παραπάνω λίστα, αυτά τα κουμπιά "
+"χρησιμοποιούνται για τη συσχέτιση του ψευδώνυμου με μια καταχώρηση του "
+"KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Επεξεργασία ε&παφής..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Κλικ για δημιουργία, προβολή, ή επεξεργασία της καταχώρησης KAddressBook που "
+"συσχετίζεται με το ψευδώνυμο που είναι επιλεγμένο παραπάνω."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Τροποποίηση συσχέτισης..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Κλικ για τη συσχέτιση του ψευδώνυμου που είναι επιλεγμένο παραπάνω με μια "
+"καταχώρηση στο KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Διαγραφή συσχέτισης"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Κλικ για την αφαίρεση της συσχέτισης μεταξύ του επιλεγμένου ψευδώνυμου και μιας "
+"καταχώρησης του KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " σε σύνδεση μέσω %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " από %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Χωρίς σύνδεση"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voice"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " HalfOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operator"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Owner"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "&Δημιουργία νέας επαφής..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Επιλογή συσχέτισης..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Συμμετοχή σε κανάλι"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Επιλογή αρχείου ήχου"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Αρχή του αρχείου καταγραφής\n"
+"*** στο %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Αυτόματη συμμετοχή σε κανάλι μετά από πρόσκληση"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Σημειώστε ότι η αποθήκευση αρχείων καταγραφής θα αποθηκεύσει ολόκληρο το αρχείο"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Ερώτηση πριν τη διαγραφή αρχείων καταγραφής"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Ερώτηση κατά το κλείσιμο ερωτημάτων μετά από παράβλεψη του ψευδώνυμου"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Ερώτηση πριν τη σύνδεση σε διαφορετικό εξυπηρετητή του δικτύου"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Ερώτηση πριν τη σύνδεση σε διαφορετικό εξυπηρετητή του δικτύου"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Κλείσιμο καρτέλας εξυπηρετητή"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Κλείσιμο καρτέλας καναλιού"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Κλείσιμο καρτέλας ερωτήματος"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Η λίστα καναλιών μπορεί να ανοιχτεί μόνο από καρτέλες εξυπηρετητή"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Προειδοποίηση κατά την απόκρυψη του μενού του κύριου παραθύρου"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr ""
+"Προειδοποίηση όταν υπάρχει έντονη μεταφορά δεδομένων με τη λίστα καναλιών"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Προειδοποίηση κατά την επικόλληση μεγάλων τμημάτων κειμένου"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Προειδοποίηση κατά την έξοδο από το Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Λίστα καναλιών"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Ρυθμίσεις φίλτρου"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Ελάχιστοι χρήστες:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Μέγιστοι χρήστες:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Μπορείτε εδώ να περιορίσετε τη λίστα στα κανάλια που έχουν έναν ελάχιστο αριθμό "
+"χρηστών. Επιλέγοντας 0 απενεργοποιείται αυτό το κριτήριο."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Μπορείτε εδώ να περιορίσετε τη λίστα στα κανάλια που έχουν ένα μέγιστο αριθμό "
+"χρηστών. Επιλέγοντας 0 απενεργοποιείται αυτό το κριτήριο."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Μοτίβο φίλτρου:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Προορισμός φίλτρου:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Εισάγετε εδώ μια συμβολοσειρά φίλτρου."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Κανονική έκφραση"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Εφαρμογή φίλτρου"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Κλικ εδώ για την ανάκτηση της λίστας των καναλιών από τον εξυπηρετητή που "
+"συμμορφώνονται με το φίλτρο."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Η φιλτραρισμένη λίστα καναλιών εμφανίζεται εδώ. Σημειώστε ότι αν δε "
+"χρησιμοποιείτε κανονικές εκφράσεις, το Konversation εμφανίζει κάθε κανάλι που "
+"περιέχει στο όνομά του την εισηγμένη συμβολοσειρά φίλτρου. Δε χρειάζεται "
+"υποχρεωτικά να ξεκινά το όνομα με τη συμβολοσειρά που εισάγατε.\n"
+"\n"
+"Επιλέξτε ένα κανάλι για συμμετοχή κάνοντας κλικ σε αυτό. Δεξί κλικ σε ένα "
+"κανάλι για να λάβετε μια λίστα με όλες τις διευθύνσεις ιστοσελίδων που "
+"αναφέρονται στο θέμα του καναλιού."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Όνομα καναλιού"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Θέμα καναλιού"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Ανανέωση λίστας"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Αποθήκευση λίστας..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Συμμετοχή σε κανάλι"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Κάντε κλικ εδώ για συμμετοχή στο κανάλι. Μια νέα καρτέλα θα δημιουργηθεί για το "
+"νέο κανάλι."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Αποθήκευση λίστας καναλιών"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Λίστα καναλιών του Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Κανάλια: %1 (%2 εμφανίσεις)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Μη μοναδικοί χρήστες: %1 (%2 εμφανίσεις)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Άνοιγμα URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Δε βρέθηκε URL>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Λίστα καναλιών του %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Σε σύνδεση"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή μηνυμάτων, αλλά δεν ορίστηκε καμιά επαφή για αποστολή του μηνύματος σε "
+"αυτήν. Αυτό πιθανότατα είναι ένα προγραμματιστικό σφάλμα σε αυτή την εφαρμογή."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή μηνυμάτων, αλλά το Konversation δε μπόρεσε να βρει την καθορισμένη "
+"επαφή στο βιβλίο διευθύνσεων του KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή μηνυμάτων, αλλά ο ζητούμενος χρήστης %1 δεν είναι σε σύνδεση."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή ενός αρχείου σε μια επαφή, αλλά δεν ορίστηκε καμιά επαφή για αποστολή "
+"του αρχείου σε αυτήν. Αυτό πιθανότατα είναι ένα προγραμματιστικό σφάλμα σε αυτή "
+"την εφαρμογή."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή ενός αρχείου σε μια επαφή, αλλά το Konversation δε μπόρεσε να βρει την "
+"καθορισμένη επαφή στο βιβλίο διευθύνσεων του KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Κάποια άλλη εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για "
+"αποστολή ενός αρχείου σε μια επαφή, αλλά ο ζητούμενος χρήστης %1 δεν είναι σε "
+"σύνδεση."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Κάποια εφαρμογή KDE προσπάθησε να χρησιμοποιήσει το Konversation για την "
+"προσθήκη μιας επαφής. Το Konversation δεν υποστηρίζει κάτι τέτοιο."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Αδυναμία εκτέλεσης του προγράμματος βιβλίου διευθύνσεων (kaddressbook). "
+"Πιθανότατα να μην είναι εγκατεστημένο. Παρακαλώ εγκαταστήστε τα πακέτα "
+"'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"Η επαφή που επιλέξατε δεν περιέχει μια ηλεκτρονική διεύθυνση σχετιζόμενη με "
+"αυτήν. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Αδυναμία αποστολής ηλεκτρονικής αλληλογραφίας"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Αδυναμία εκτέλεσης του προγράμματος ηλεκτρονικής αλληλογραφίας. Πιθανότατα να "
+"μην είναι εγκατεστημένο. Για την εγκατάσταση του προγράμματος ηλεκτρονικής "
+"αλληλογραφίας του KDE (kmail) παρακαλώ εγκαταστήστε τα πακέτα 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Καμία από τις επαφές που επιλέξατε δεν είναι συσχετισμένη με επαφές του βιβλίου "
+"διευθύνσεων. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Η επαφή που επιλέξατε δεν είναι συσχετισμένη με επαφή του βιβλίου διευθύνσεων. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Κάποιες από τις επαφές (%1) που επιλέξατε δεν είναι συσχετισμένες με επαφές του "
+"βιβλίου διευθύνσεων. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Μία από τις επαφές (%1) που επιλέξατε δεν είναι συσχετισμένη με επαφή του "
+"βιβλίου διευθύνσεων. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Μπορείτε να κάνετε δεξί κλικ σε μια επαφή, και να επιλέξετε την επεξεργασία των "
+"συσχετίσεων του βιβλίου διευθύνσεων για τη σύνδεση της με το βιβλίο "
+"διευθύνσεων."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Καμία από τις επαφές που επιλέξατε δεν είναι συσχετισμένη με μια ηλεκτρονική "
+"διεύθυνση αλληλογραφίας. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Μερικές από τις επαφές (%1) που επιλέξατε δεν είναι συσχετισμένες με μια "
+"ηλεκτρονική διεύθυνση αλληλογραφίας. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Μία από τις επαφές (%1) που επιλέξατε δεν είναι συσχετισμένη με μια ηλεκτρονική "
+"διεύθυνση αλληλογραφίας. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Μπορείτε να κάνετε δεξί κλικ σε μια επαφή, και να επιλέξετε την επεξεργασία των "
+"επαφών του βιβλίου διευθύνσεων για τη προσθήκη μιας ηλεκτρονικής διεύθυνσης "
+"αλληλογραφίας."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Κάποιες από τις επαφές (%1) που επιλέξατε δεν είναι συσχετισμένες με τις επαφές "
+"του βιβλίου διευθύνσεων και κάποιες από τις επαφές (%2) δεν έχουν συσχετισμένη "
+"ηλεκτρονική διεύθυνση αλληλογραφίας με αυτές. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Μπορείτε να κάνετε δεξί κλικ σε μια επαφή, και να επιλέξετε επεξεργασία των "
+"συσχετίσεων του βιβλίου διευθύνσεων για τη σύνδεση σε μια επαφή στο βιβλίο "
+"διευθύνσεων, και να επιλέξετε επεξεργασία των επαφών του βιβλίου διευθύνσεων "
+"για την προσθήκη μιας ηλεκτρονικής διεύθυνσης αλληλογραφίας σε αυτή."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Επιθυμείτε την αποστολή του ηλεκτρονικού μηνύματος αλληλογραφίας ούτως ή άλλως "
+"στα ψευδώνυμα που περιέχουν μια ηλεκτρονική διεύθυνση;"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Αποστολή ηλεκτρονικού μηνύματος"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Σύνδεση ψευδώνυμου IRC σε επαφή του βιβλίου διευθύνσεων"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Επιλέξτε το άτομο που είναι το '%1'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Αυτή τη στιγμή το '%1' είναι συσχετισμένο με μια επαφή."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Αυτή τη στιγμή το '%1' είναι συσχετισμένο με την επαφή '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Προειδοποίηση:</b>Το '%1' αυτή τη στιγμή εμφανίζεται να ανήκει σε "
+"πολλαπλές επαφές. Παρακαλώ επιλέξτε τη σωστή επαφή.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Νέα καταχώρηση του βιβλίου διευθύνσεων"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Το όνομα της νέας καταχώρησης:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Σύλληψη URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Λίστα των διευθύνσεων που εμφανίζονται σε οποιοδήποτε παράθυρο του Konversation "
+"κατά τη διάρκεια της συνεδρίας."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Ά&νοιγμα URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Επιλέξτε παραπάνω ένα <b>URL</b>, έπειτα κάντε κλικ σε αυτό το κουμπί για "
+"την εκκίνηση της εφαρμογής που συσχετίζεται με τον τύπο mime του URL.</p>"
+"<p>Στις <b>Ρυθμίσεις</b>, κάτω από την <b>Συμπεριφορά</b> | <b>Γενικά</b>"
+", μπορείτε να ορίσετε έναν προσαρμοσμένο περιηγητή ιστοσελίδων για URL "
+"ιστοσελίδων.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Αντιγραφή URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Επιλέξτε παραπάνω ένα <b>URL</b>, έπειτα κάντε κλικ σε αυτό το κουμπί για την "
+"αντιγραφή του URL στο πρόχειρο."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Διαγραφή URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Επιλέξτε παραπάνω ένα <b>URL</b>, έπειτα κάντε κλικ σε αυτό το κουμπί για τη "
+"διαγραφή του URL από τη λίστα."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Αποθήκευση λίστας..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Κλικ για αποθήκευση ολόκληρης της λίστας σε ένα αρχείο."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "Κα&θαρισμός λίστας"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Κλικ για διαγραφή ολόκληρης της λίστας."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Αποθήκευση λίστας URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Επεξεργασία επικόλλησης πολλών γραμμών"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Προσθήκη ένδειξης &παράθεσης"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "Κα&νάλι:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Απαιτείται το όνομα του καναλιού."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Ακατέργαστη καταγραφή"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Αναζήτηση κειμένου στην τρέχουσα καρτέλα"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Λίστα καναλιών του %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Ά&νοιγμα αρχείου καταγραφής για %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Ρυθμίσεις για το &κανάλι %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Προκαθορισμένο ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Μπορείτε να αναζητήσετε μόνο στα πεδία κειμένου."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Αναζήτηση πληροφοριών κειμένου"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Αρχείο καταγραφής του %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Κατάσταση DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Η χρήση αυτής της λειτουργίας θα έχει σαν αποτέλεσμα σε αρκετή μεταφορά "
+"δεδομένων στο δίκτυο. Αν η σύνδεσή σας δεν είναι αρκετά γρήγορη, υπάρχει "
+"περίπτωση να αποσυνδεθεί ο πελάτης σας από τον εξυπηρετητή."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Προειδοποίηση λίστας καναλιών"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Αυτή η λίστα καναλιών μπορεί να ανοιχτεί μόνο μέσω ενός ερωτήματος, ενός "
+"καναλιού ή ενός παραθύρου κατάστασης για να μπορεί να εντοπιστεί ο εξυπηρετητής "
+"στον οποίο ανήκει η λίστα."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Εισάγετε εδώ το όνομα του δικτύου. Μπορείτε να δημιουργήσετε όσες καταχωρήσεις "
+"επιθυμείτε στην οθόνη λίστας εξυπηρετητών για το ίδιο δίκτυο."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Επιλέξτε μια ταυτότητα ή κάντε κλικ στο κουμπί επεξεργασίας για την προσθήκη "
+"μιας νέας ταυτότητας ή την επεξεργασία μιας υπάρχουσας. Η ταυτότητα "
+"χρησιμοποιείται για τον καθορισμό του ψευδώνυμου σας όταν συνδέεστε στο δίκτυο."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Προαιρετικό. Αυτή η εντολή θα αποσταλεί στον εξυπηρετητή μετά τη σύνδεση. "
+"Παράδειγμα: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+". Αυτό το παράδειγμα αναφέρεται στο δίκτυο freenode, το οποίο απαιτεί από τους "
+"χρήστες να εγγράφουν το ψευδώνυμό τους με έναν κωδικό πρόσβασης κατά τη "
+"σύνδεση. Το <i>konvirocks<i> είναι ο κωδικός πρόσβασης για το ψευδώνυμο που "
+"αποδίδεται από την ταυτότητα. Μπορείτε να εισάγετε παραπάνω από μία εντολές "
+"διαχωρίζοντάς τις εντολές με ελληνικό ερωτηματικό."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Ενεργοποιήστε αυτή την επιλογή αν επιθυμείτε το Konversation να συνδέεται "
+"αυτόματα σε αυτό το δίκτυο όταν ανοίγετε το Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Αυτή είναι μια λίστα των εξυπηρετητών IRC του δικτύου. Κατά τη σύνδεση στο "
+"δίκτυο, το Konversation θα προσπαθήσει να συνδεθεί στον πρώτον εξυπηρετητή. Αν "
+"αυτό αποτύχει, θα προσπαθήσει να συνδεθεί στο δεύτερο. Αν αυτό επιτύχει στον "
+"τρίτο, και ούτω καθ' εξής. Τουλάχιστον ένας εξυπηρετητής πρέπει να οριστεί. "
+"Κάντε κλικ σε έναν εξυπηρετητή για την ενεργοποίησή του."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Προαιρετικό. Αυτή είναι μια λίστα των καναλιών στα οποία θα συμμετέχετε "
+"αυτόματα μετά τη σύνδεση του Konversation με έναν εξυπηρετητή. Μπορείτε να το "
+"αφήσετε κενό αν δεν επιθυμείτε την αυτόματη συμμετοχή σε κανέναν κανάλι."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Τροποποίηση πληροφοριών δικτύου"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Προσθήκη εξυπηρετητή"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Επεξεργασία εξυπηρετητή"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Προσθήκη καναλιού"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Επεξεργασία καναλιού"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Απαιτείται το όνομα του δικτύου."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Χρειάζεται να προσθέσετε τουλάχιστον έναν εξυπηρετητή στο δίκτυο."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Θέματα Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Επιλογή πακέτου θέματος"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Αποτυχία λήψης του θέματος"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Η αρχειοθήκη θέματος δεν είναι έγκυρη."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Αδυναμία εγκατάστασης του θέματος"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Επιθυμείτε τη διαγραφή του %1;"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Αφαίρεση θέματος"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Πελάτης IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Επιλογή παραλήπτη"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Επιλογή ψευδώνυμου και κλείσιμο παραθύρου"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Κλείσιμο παραθύρου χωρίς αλλαγές"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Ο εξυπηρετητής %1 δε βρέθηκε."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Ο admin απαγόρευσε το δικαίωμα λήψης αρχείων"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Μη υποστηριζόμενη διαπραγμάτευση (μέγεθος αρχείου=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Αδυναμία δημιουργίας του φακέλου.</b><br>Φάκελος: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Αδύνατη η δημιουργία μιας διεργασίας KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Το αρχείο χρησιμοποιείται από μια άλλη μεταφορά.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Υπάρχει ένα ημιτελές αρχείο.</b>"
+"<br>%1"
+"<br>Μέγεθος του ημιτελούς αρχείου: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Το αρχείο υπάρχει ήδη.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Αδυναμία ανοίγματος του αρχείου.<br>Σφάλμα: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Αδύνατη η αποστολή μιας επιβεβαίωσης DCC SEND στο συνεργάτη μέσω του "
+"εξυπηρετητή IRC."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Αναμονή για σύνδεση"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Αναμονή αποδοχής από απομακρυσμένο υπολογιστή"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Αδύνατη η αποστολή μιας αίτησης συνέχισης DCC RECV στο συνεργάτη μέσω του "
+"εξυπηρετητή IRC."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Μη αναμενόμενη απάντηση από απομακρυσμένο υπολογιστή"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Σφάλμα μεταφοράς δεδομένων"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Σφάλμα KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Κάποιες λεπτομέρειες εμφανίζονται σε αυτήν τη γραμμή για το άτομο με το "
+"οποίο μιλάτε σε αυτό το ερώτημα. Το πλήρες όνομα και η μάσκα του υπολογιστή "
+"εμφανίζονται μαζί με κάθε εικόνα ή λογότυπο που συσχετίζεται με το άτομο αυτό "
+"στο KDE Addressbook."
+"<p>Δείτε το <i>Εγχειρίδιο του Konversation</i> για πληροφορίες σχετικά με τη "
+"συσχέτιση ενός ψευδώνυμου με μια επαφή στο βιβλίο διευθύνσεων και για μια "
+"εξήγηση της σημασίας της μάσκας υπολογιστή.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(απουσιάζει)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Επιθυμείτε την παράβλεψη του %1;"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Επιθυμείτε το κλείσιμο του ερωτήματος μετά την παράβλεψη αυτού του ψευδώνυμου;"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Κλείσιμο αυτού του ερωτήματος"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Διατήρηση του ανοικτού"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Επιθυμείτε την αναίρεση παράβλεψης του %1;"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Προκαθορισμένη ταυτότητα ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Επιθυμείτε το κλείσιμο του ερωτήματός σας με το %1;"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Κλείσιμο του ερωτήματος"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Συνομιλία με τον εαυτό σας"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "Ο χρήστης %1 αποχώρησε από αυτόν τον εξυπηρετητή."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "Ο χρήστης %1 αποχώρησε από αυτόν τον εξυπηρετητή (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Προεπισκόπηση OSD - σύρετε για επανατοποθέτηση"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operator"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Owner"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Half-operator"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Έχει voice"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Περιβάλλον"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Συμπεριφορά"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Ειδοποιήσεις"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Παράθυρο συνομιλίας"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Θέματα λίστας ψευδωνύμων"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Χρώματα"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Γρήγορα κουμπιά"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Σύνδεση"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Λίστα ψευδωνύμων"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Ψευδώνυμα εντολών"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Αυτόματη αντικατάσταση"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Καταγραφή"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Τονισμός"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Ψευδώνυμα σε παρακολούθηση"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Εμφάνιση πάνω στην οθόνη (OSD)"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Διάλογοι προειδοποίησης"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Ερώτηση λήψης DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Συνέχιση"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Α&ρχικό όνομα αρχείου"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Πρόταση &νέου ονόματος"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Αντικατάσταση"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Μετο&νομασία"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Αναζήτηση μπροστά"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Διάκριση πεζών/κεφαλαίων"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Ολόκληρες λέξεις μόνο"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Από το δρομέα"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "&Κλείσιμο καρτέλας"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Επιθυμείτε πραγματικά την αποσύνδεση από '%1';"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Αποσύνδεση από εξυπηρετητή"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Αποσύνδεση"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Ξεκίνησε"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Κατάσταση"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Συνεργάτης"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Πρόοδος"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Θέση"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Εναπομένει"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Ταχύτητα"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Διεύθυνση αποστολέα"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Αποδοχή"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Εγκατάλειψη"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Άνοιγμα αρχείου"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Έναρξη λήψης"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Εγκατάλειψη της μεταφοράς(ων)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Εκτέλεση του αρχείου"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Προβολή λεπτομερειών μεταφοράς DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Επιλογή όλων των αντικειμένων"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Ε&πιλογή των ολοκληρωμένων αντικειμένων"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Αποδοχή"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&Εγκατάλειψη"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Αποστολή ξανά"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Καθαρισμός"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Ά&νοιγμα αρχείου"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Πληροφορίες αρχείου"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Επεξεργασία ρυθμίσεων καναλιού"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Κάθε κανάλι στο IRC έχει ένα θέμα συσχετισμένο με αυτό. Αυτό είναι απλά ένα "
+"μήνυμα που μπορούν να δουν όλοι."
+"<p>Αν είστε ένας operator, ή η λειτουργία του καναλιού <em>'Θ'</em> "
+"δεν έχει οριστεί, μπορείτε να τροποποιήσετε το θέμα κάνοντας κλικ στο κουμπί "
+"επεξεργασίας ιδιοτήτων καναλιού στα αριστερά του θέματος. Μπορείτε εκεί επίσης "
+"να δείτε το ιστορικό των θεμάτων.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Η λειτουργία <b>Θ</b>έματος σημαίνει ότι μόνο ο χειριστής του καναλιού "
+"μπορεί να τροποποιήσει το θέμα του καναλιού.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p><b>Χ</b>ωρίς εξωτερικά μηνύματα σημαίνει ότι οι χρήστες που δε βρίσκονται "
+"στο κανάλι δε μπορούν να στείλουν κοινά μηνύματα στο κανάλι. Σχεδόν όλα τα "
+"κανάλια έχουν κάτι τέτοιο ενεργό για να αποτρέψουν ενοχλητικά μηνύματα.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα <b>Μ</b>υστικό κανάλι δε θα εμφανίζεται στη λίστα καναλιών ούτε θα "
+"μπορεί κάποιος χρήστης να ελέγξει αν συμμετέχετε σε αυτό με την εντολή <em>"
+"WHOIS</em> ή οποιαδήποτε άλλη παρόμοια. Μόνο τα άτομα στο ίδιο το κανάλι θα "
+"γνωρίζουν ότι συμμετέχετε σε αυτό, αν οριστεί αυτή η λειτουργία.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα κανάλι μόνο <b>Π</b>ρόσκλησης σημαίνει ότι μπορούν να συμμετέχουν σε "
+"αυτό μόνο άτομα που προσκλήθηκαν σε αυτό. Για να προσκαλέσετε κάποιο άτομο, "
+"ένας χειριστής του καναλιού πρέπει να δώσει την εντολή <em>"
+"/invite ψευδώνυμο</em> μέσα από το κανάλι αυτό.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα <b>Ι</b>διωτικό κανάλι εμφανίζεται στη λίστα όλων των καναλιών, αλλά όχι "
+"και το θέμα του. Μια εντολή ενός χρήστη <em>WHOIS</e> "
+"μπορεί ή δε μπορεί να εμφανίσει τη συμμετοχή σε ένα προσωπικό κανάλι ανάλογα με "
+"τον εξυπηρετητή IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα <b>Ε</b>λεγχόμενο κανάλι είναι ένα κανάλι στο οποίο μπορούν να μιλήσουν "
+"μόνο οι operator, οι halfoperator και όσοι έχουν voice.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα <b>Π</b>ροστατευμένο κανάλι απαιτεί από τους χρήστες την εισαγωγή "
+"κάποιου κωδικού πρόσβασης για να συμμετάσχουν.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα κανάλι που έχει <b>Π</b>εριορισμό χρηστών σημαίνει ότι περιορίζεται ο "
+"αριθμός χρηστών που μπορεί να συμμετέχει κάθε στιγμή. Κάποια κανάλια έχουν ένα "
+"bot που τροποποιεί αυτή τη λειτουργία αυτόματα ανάλογα με το φόρτο του "
+"καναλιού.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Μέγιστος αριθμός χρηστών που επιτρέπονται στο κανάλι"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Αυτό είναι το όριο χρηστών του καναλιού - ο μέγιστος αριθμός χρηστών που "
+"μπορούν να συμμετέχουν στο κανάλι κάθε στιγμή. Αν είστε ένας operator, μπορείτε "
+"να ορίσετε την τιμή αυτή. Η λειτουργία καναλιού <b>Θ</b>"
+"έμα (κουμπί στα αριστερά) θα οριστεί αυτόματα αν ορίσετε έναν τέτοιο "
+"αριθμό.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Αυτό εμφανίζει το τρέχον ψευδώνυμό σας, και κάθε εναλλακτικό που ορίσατε. "
+"Αν επιλέξετε ή πληκτρολογήσετε ένα διαφορετικό ψευδώνυμο, η αίτηση θα σταλεί "
+"στον εξυπηρετητή IRC για την αλλαγή του ψευδωνύμου σας. Αν ο εξυπηρετητής το "
+"επιτρέπει, το νέο ψευδώνυμο θα επιλεγεί. Αν πληκτρολογήσετε ένα νέο ψευδώνυμο "
+"θα πρέπει να πατήσετε το 'Enter' στο τέλος."
+"<p>Μπορείτε να προσθέσετε ή να τροποποιήσετε τα εναλλακτικά ψευδώνυμα από την "
+"επιλογή <em>Ταυτότητες</em> στο μενού <em>Αρχείο</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Επιθυμείτε την παράβλεψη των επιλεγμένων χρηστών;"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Επιθυμείτε την αναίρεση παράβλεψης των επιλεγμένων χρηστών;"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Συμπλήρωση"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Πιθανές συμπληρώσεις: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Κωδικός καναλιού"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Όριο ψευδωνύμου"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Εισαγωγή του νέου ορίου ψευδωνύμων:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Τώρα αναγνωρίζεστε ως %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "Ο χρήστης %1 τώρα αναγνωρίζεται ως %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Συμμετέχετε στο κανάλι %1. (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "Ο χρήστης %1 συμμετέχει σε αυτό το κανάλι (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Αποχωρίσατε από αυτόν εξυπηρετητή."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Αποχωρίσατε από αυτόν εξυπηρετητή (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Αποχωρίσατε από το κανάλι %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Αποχωρίσατε από το κανάλι %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "Ο χρήστης %1 αποχώρησε από αυτόν τον εξυπηρετητή (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "Ο χρήστης %1 αποχώρησε από αυτό το κανάλι."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "Ο χρήστης %1 αποχώρησε από αυτό το κανάλι (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Εκδιώξατε(kick) τον εαυτό σας από το κανάλι %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Εκδιώξατε(kick) τον εαυτό σας από το κανάλι %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Εκδιωχθήκατε(kick) από το κανάλι %1 από το χρήστη %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Εκδιωχθήκατε(kick) από το κανάλι %1 από το χρήστη %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Εκδιώξατε(kick) το χρήστη %1 από το κανάλι."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Εκδιώξατε(kick) το χρήστη %1 από το κανάλι (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "Ο χρήστης %1 εκδιώχθηκε από το κανάλι από το χρήστη %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "Ο χρήστης %1 εκδιώχθηκε από το κανάλι από το χρήστη %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n ψευδώνυμο\n"
+"%n ψευδώνυμα"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n ops)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Το θέμα του καναλιού είναι \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Ορίσατε το θέμα του καναλιού στο \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "Ο χρήστης %1 όρισε το θέμα του καναλιού σε \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Δώσατε δικαιώματα owner καναλιού στον εαυτό σας."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Δώσατε δικαιώματα owner καναλιού στο χρήστη %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα owner καναλιού σε σας."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα owner καναλιού στο χρήστη %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Αφαιρέσατε δικαιώματα owner καναλιού από σας."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Αφαιρέσατε δικαιώματα owner καναλιού από το χρήστη %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα owner καναλιού από σας."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα owner καναλιού από το χρήστη %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Δώσατε δικαιώματα admin καναλιού στον εαυτό σας."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Δώσατε δικαιώματα admin καναλιού στο χρήστη %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα admin καναλιού σε σας."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα admin καναλιού στο χρήστη %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Αφαιρέσατε δικαιώματα admin καναλιού από σας."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Αφαιρέσατε δικαιώματα admin καναλιού από το χρήστη %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα admin καναλιού από σας."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα admin καναλιού από το χρήστη %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Δώσατε δικαιώματα operator καναλιού στον εαυτό σας."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Δώσατε δικαιώματα operator καναλιού στο χρήστη %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα operator καναλιού σε σας."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα operator καναλιού στο χρήστη %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Αφαιρέσατε δικαιώματα operator καναλιού από σας."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Αφαιρέσατε δικαιώματα operator καναλιού από το χρήστη %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα operator καναλιού από σας."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα operator καναλιού από το χρήστη %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Δώσατε δικαιώματα halfop καναλιού στον εαυτό σας."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Δώσατε δικαιώματα halfop καναλιού στο χρήστη %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα halfop καναλιού σε σας."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "Ο χρήστης %1 έδωσε δικαιώματα halfop καναλιού στο χρήστη %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Αφαιρέσατε δικαιώματα halfop καναλιού από σας."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Αφαιρέσατε δικαιώματα halfop καναλιού από το χρήστη %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα halfop καναλιού από σας."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "Ο χρήστης %1 αφαίρεσε δικαιώματα halfop καναλιού από το χρήστη %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Δώσατε άδεια στον εαυτό σας να μιλήσει."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Δώσατε στο χρήστη %1 άδεια να μιλήσει."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "Ο χρήστης %1 σας έδωσε άδεια να μιλήσετε."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "Ο χρήστης %1 έδωσε στο χρήστη %2 άδεια να μιλήσει."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Αφαιρέσατε από τον εαυτό σας τη φωνή."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Αφαιρέσατε τη φωνή από το χρήστη %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "Ο χρήστης %1 αφαίρεσε τη φωνή από σας."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "Ο χρήστης %1 αφαίρεσε τη φωνή από το χρήστη %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'δεν επιτρέπονται χρώματα'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'δεν επιτρέπονται χρώματα'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'επιτρέπονται κωδικοί χρώματος'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr ""
+"Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'επιτρέπονται κωδικοί χρώματος'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'μόνο με πρόσκληση'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'μόνο με πρόσκληση'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Αφαιρέσατε τη λειτουργία 'μόνο με πρόσκληση' από το κανάλι."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "Ο χρήστης %1 αφαίρεσε τη λειτουργία 'μόνο με πρόσκληση' από το κανάλι."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'ελεγχόμενο'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'ελεγχόμενο'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'μη ελεγχόμενο'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'μη ελεγχόμενο'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'χωρίς εξωτερικά μηνύματα'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'χωρίς εξωτερικά μηνύματα'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Ορίσατε τη λειτουργία καναλιού 'επίτρεψε εξωτερικά μηνύματα'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr ""
+"Ο χρήστης %1 όρισε τη λειτουργία καναλιού 'επίτρεψε εξωτερικά μηνύματα'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Ορίσατε τη λειτουργία καναλιού σε 'ιδιωτικό'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού σε 'ιδιωτικό'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Ορίσατε τη λειτουργία καναλιού σε 'δημόσιο'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού σε 'δημόσιο'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Ορίσατε τη λειτουργία καναλιού σε 'μυστικό'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού σε 'μυστικό'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Ορίσατε τη λειτουργία καναλιού σε 'ορατό'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "Ο χρήστης %1 όρισε τη λειτουργία καναλιού σε 'ορατό'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Εναλλαγή από σας σε 'προστασία θέματος'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "Εναλλαγή από το χρήστη %1 σε 'προστασία θέματος'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Εναλλαγή από σας σε 'μη προστασία θέματος'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "Εναλλαγή από το χρήστη %1 σε 'μη προστασία θέματος'."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Ορίσατε το θέμα του καναλιού στο \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "Ο χρήστης %1 όρισε το θέμα του καναλιού σε \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Αφαιρέσατε το όριο καναλιού."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "Ο χρήστης %1 αφαίρεσε το όριο καναλιού."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Ορίσατε το όριο καναλιού σε %1 ψευδώνυμα."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "Ο χρήστης %1 όρισε το όριο καναλιού σε %2 ψευδώνυμα."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Αφαιρέσατε το όριο καναλιού."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "Ο χρήστης %1 αφαίρεσε το όριο καναλιού."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Ορίσατε απαγόρευση(ban) στο χρήστη %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "Ο χρήστης %1 όρισε απαγόρευση(ban) στο χρήστη %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Αφαιρέσατε την απαγόρευση(ban) από το χρήστη %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "Ο χρήστης %1 αφαίρεσε την απαγόρευση(ban) από το χρήστη %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Ορίσατε μια εξαίρεση απαγόρευσης(ban) στο χρήστη %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "Ο χρήστης %1 όρισε μια εξαίρεση απαγόρευσης(ban) στο χρήστη %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Αφαιρέσατε την εξαίρεση απαγόρευσης(ban) από το χρήστη %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "Ο χρήστης %1 αφαίρεσε την εξαίρεση απαγόρευσης(ban) από το χρήστη %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Ορίσατε μάσκα πρόσκλησης την %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "Ο χρήστης %1 όρισε μάσκα πρόσκλησης την %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Αφαιρέσατε τη μάσκα πρόσκλησης %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "Ο χρήστης %1 αφαίρεσε τη μάσκα πρόσκλησης %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Ορίσατε λειτουργία καναλιού +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "Ο χρήστης %1 όρισε λειτουργία καναλιού +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Ορίσατε λειτουργία καναλιού -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "Ο χρήστης %1 όρισε λειτουργία καναλιού -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Πρέπει να είστε ένας operator για να τροποποιήσετε αυτό."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Το θέμα μπορεί να τροποποιηθεί μόνο από operator καναλιού. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Χωρίς μηνύματα καναλιού από εξωτερικούς πελάτες. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Μυστικό κανάλι. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Κανάλι μόνο με πρόσκληση. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Ιδιωτικό κανάλι. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Ελεγχόμενο κανάλι. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Προστασία καναλιού με κωδικό πρόσβασης."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Ορισμός ορίου χρηστών στο κανάλι."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Επιθυμείτε να αποχωρίσετε από το %1;"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Αποχώρηση από το κανάλι"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Αποχώρηση"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Σπύρος Γεωργαράς,Τούσης Μανώλης"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "sng@hellug.gr,manolis@koppermind.homelinux.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Σε αναμονή"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Γραμμές: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "Ή&χος:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Γραμμές: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Κανονικοί χρήστες"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Σε αναμονή"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Σε αναμονή"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Λήψη"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Όνομα κουμπιού"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Ενέργεια κουμπιού"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Ενέργεια κουμπιού:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Όνομα κουμπιού:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Διαθέσιμοι αντικαταστάτες"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: Τρέχον κανάλι\n"
+"%K: Κωδικός εξυπηρετητή\n"
+"%u: Λίστα των επιλεγμένων ψευδωνύμων\n"
+"%s<term>%: το term χρησιμοποιείται για το διαχωρισμό ψευδωνύμων στο %u\n"
+"%n: Αποστολή εντολής απευθείας στον εξυπηρετητή αντί της χρήσης της γραμμής "
+"εισόδου"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Όνομα αρχείου:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Ίδιο:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Τύπος:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Κατάσταση:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Τοποθεσία:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Πρόοδος:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Συνεργάτης:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Άνοιγμα αρχείου"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Μέγεθος αρχείου:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Μέση ταχύτητα:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Συνέχιση:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Τρέχουσα ταχύτητα:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Τρέχουσα θέση:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Εναπομείναντας χρόνος:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Προσφέρθηκε στις:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Τελείωσε στις:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Εκίνησε στις:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Χρόνος μεταφοράς:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Ενεργοποίηση αυτόματης επανασύνδεσης"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Χρονικό περιθώριο επανασύνδεσης:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Προσπάθειες επανασύνδεσης:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " δευτερόλεπτα"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Απεριόριστο"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Αποσφαλμάτωση"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Εμφάνιση ακατέργαστης &καταγραφής κατά τη σύνδεση"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Μοτίβο"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Τύπος"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Μοτίβο:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Τύποι μηνυμάτων"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Νέο"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Αφαίρεση ό&λων"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Όνομα δικτύου:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Ταυτότητα:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Εντολές:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "&Σύνδεση κατά την εκκίνηση της εφαρμογής"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Εξυπηρετητές"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Προσθήκη..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "Ε&πεξεργασία..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Αυτόματη συμμετοχή σε κανάλια"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Επε&ξεργασία..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Ψευδώνυμο:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Αντικατάσταση:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Ψευδώνυμο"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Αντικατάσταση"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Αναζήτηση επόμε&νου"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Αναζήτηση προηγουμένου"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Εντολή που θα εκτελείται στο διπλό κλικ:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ταξινόμηση &χωρίς διάκριση πεζών/κεφαλαίων"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Ταξινόμηση κατά ε&νέργεια"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ταξινόμηση &κατά την κατάσταση χρήστη"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Εξήγηση"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Διευθέτηση της λίστας ψευδωνύμων με μεταφορά και απόθεση)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "Ε&γκατάσταση θέματος..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "Αφαί&ρεση θέματος"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Εικονίδιο για κανονικούς χρήστες"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Εικονίδιο για απόντες χρήστες"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Εικονίδιο για χρήστες με voice"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Εικονίδιο για χρήστες με δικαιώματα half-operator"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Εικονίδιο για χρήστες με δικαιώματα operator"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Εικονίδιο για χρήστες με δικαιώματα admin"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Εικονίδιο για χρήστες με δικαιώματα owner"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Προεπισκόπηση:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Εμφάνιση"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Τοποθέτηση:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Εμφάνιση &κουμπιού κλεισίματος στις καρτέλες"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "&Εμφάνιση του κουμπιού κλεισίματος στα δεξιά της γραμμής καρτέλας"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+"Περιορισμός του &μεγέθους της ετικέτας όλων των καρτελών ώστε να χωράνε στην "
+"οθόνη"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Εστίαση"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Εστίαση νέων καρτελών"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Εστίαση νέων ε&ρωτημάτων"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Λειτουργία"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Εντολή που θα ε&κτελείται όταν γίνεται διπλό κλικ σε ψευδώνυμο:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Όταν κάνετε διπλό κλικ σε ένα ψευδώνυμο στο παράθυρο <b>"
+"Ψευδώνυμα σε σύνδεση</b>, αυτή\n"
+"η εντολή τοποθετείται στη <b>γραμμή εισόδου</b> στο παράθυρο του "
+"εξυπηρετητή.</p>\n"
+"<p>Τα παρακάτω σύμβολα μπορούν να χρησιμοποιηθούν στην εντολή:</p>"
+"<ul>\n"
+"<li>%u: Το ψευδώνυμο στο οποίο έγινε διπλό κλικ.</li>\n"
+"<li>%K: Ο κωδικός πρόσβασης του εξυπηρετητή.</li>\n"
+"<li>%n: Αποστολή της εντολής απευθείας στον εξυπηρετητή αντί της χρήσης της "
+"γραμμής εισόδου.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Όταν κάνετε διπλό κλικ σε ένα ψευδώνυμο στο παράθυρο <b>"
+"Ψευδώνυμα σε σύνδεση</b>, αυτή\n"
+"η εντολή τοποθετείται στη <b>γραμμή εισόδου</b> στο παράθυρο του "
+"εξυπηρετητή.</p>\n"
+"<p>Τα παρακάτω σύμβολα μπορούν να χρησιμοποιηθούν στην εντολή:</p>"
+"<ul>\n"
+"<li>%u: Το ψευδώνυμο στο οποίο έγινε διπλό κλικ.</li>\n"
+"<li>%K: Ο κωδικός πρόσβασης του εξυπηρετητή.</li>\n"
+"<li>%n: Αποστολή της εντολής απευθείας στον εξυπηρετητή αντί της χρήσης της "
+"γραμμής εισόδου.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Διάστημα εν&ημέρωσης:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Το Konversation θα ελέγχει την κατάσταση των ψευδωνύμων στην παρακάτω λίστα με "
+"αυτό το χρονικό διάστημα."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&Εμφάνιση καρτέλας παρακολούθησης ψευδωνύμων σε σύνδεση στην εκκίνηση"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Όταν ενεργοποιηθεί, το παράθυρο <b>Ψευδώνυμα σε σύνδεση</b> "
+"θα ανοίγει αυτόματα κατά την εκκίνηση του Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Ενεργοποίηση παρακολούθησης ψευδωνύμων"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Όταν ενεργοποιείται η παρακολούθηση ψευδωνύμων, θα ειδοποιείστε όταν τα "
+"ψευδώνυμα που βρίσκονται στη λίστα <b>Παρακολουθούμενα δίκτυα/ψευδώνυμα</b> "
+"συνδεθούν ή αποσυνδεθούν.</p>\n"
+"<p>Μπορείτε να ανοίξετε το παράθυρο <b>Ψευδώνυμα σε σύνδεση</b> "
+"για να δείτε την κατάσταση όλων των ψευδωνύμων σε παρακολούθηση.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Δίκτυο:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"Το δίκτυο του εξυπηρετητή irc (π.χ. 'freenode') μέσω του οποίου είναι "
+"συνδεδεμένος ο παρακολουθούμενος χρήστης."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Το ψευδώνυμο (όνομα χρήστη) του επιλεγμένου για παρακολούθηση ατόμου"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Παρακολουθούμενα δίκτυα/ψευδώνυμα"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Όταν ενεργοποιείται η παρακολούθηση ψευδωνύμων, θα ειδοποιείστε όταν τα "
+"ψευδώνυμα που βρίσκονται στη λίστα <b>Παρακολουθούμενα δίκτυα/ψευδώνυμα</b> "
+"συνδεθούν ή αποσυνδεθούν.</p>\n"
+"<p>Μπορείτε να ανοίξετε το παράθυρο <b>Ψευδώνυμα σε σύνδεση</b> "
+"για να δείτε την κατάσταση όλων των ψευδωνύμων σε παρακολούθηση.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Κλικ για την προσθήκη ενός ψευδώνυμου στη λίστα."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Κλικ για αφαίρεση του επιλεγμένου ψευδώνυμου από τη λίστα."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Ενεργοποίηση καταγραφής"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Ενεργοποίηση &πεζών στα ονόματα αρχείου καταγραφής"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Προσθήκη ονόματος υπολογιστή στα ονόματα αρχείου καταγραφής"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Διαδρομή αρχείου καταγραφής:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Ενεργοποίηση πλαισίου συστήματος"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Χρήση πλαισίου συστήματος για ειδοποίηση νέου μηνύματος"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Μόνο ει&δοποίηση όταν ενεργοποιείται ένα συμβάν ή χρησιμοποιείται το τρέχον "
+"ψευδώνυμό σας"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, fuzzy, no-c-format
+msgid "Blin&k the icon"
+msgstr "Αναβόσβημα εικονιδίου"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Συμπλήρωση ψευδώνυμου"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Λειτουργία συμπλήρωσης:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Κυκλική εναλλαγή λίστας ψευδωνύμων"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Όπως το κέλυφος"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Όπως το κέλυφος με πλαίσιο συμπλήρωσης"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Πρό&θεμα στην αρχή της γραμμής:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Αλλού:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Διάκριση πεζών/κεφαλαίων"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Απενεργοποίηση ειδοποιήσεων κατά την α&πουσία"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Χρήση προσαρμοσμένης απάντησης έ&κδοσης:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Εδώ μπορείτε να ορίσετε μια προσαρμοσμένη απάντηση σε αιτήσεις <b>CTCP <i>"
+"VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Το πλαίσιο εισαγωγής μεγαλώνει με το κείμενο"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Ε&ντολή χαρακτήρων:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Χρήση προσαρμοσμένου &περιηγητή ιστού:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Προσαρμογή του μεγέθους της ετικέτας όλων των καρτελών ώστε να χωράνε στην "
+"οθόνη"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Απόκρυψη της γραμμή κύλισης"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Ενεργοποίηση του ορθογραφικού ελέγχου κατά την πληκτρολόγηση σε όλες τις "
+"γραμμές εισόδου IRC"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Η ενεργοποίηση αυτής της επιλογής θα έχει αποτέλεσμα το μεγάλωμα του πλαισίου "
+"εισαγωγής κάθετα όταν αυτό γεμίσει."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Απόκρυψη στο πλαίσιο συστήματος"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Έναρξη με κρυφό κύριο παράθυρο"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Εμφάνιση πραγματικών ονομάτων δίπλα στα ψευδώνυμα"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Άνοιγμα της καρτέλας παρακολούθησης ψευδωνύμων στην εκκίνηση"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Ενεργοποίηση emoticons"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Θέμα emoticons"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Θέ&μα"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Ημερομηνία"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Λει&τουργίες"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Το &θέμα μπορεί να αλλάξει από χειριστές του καναλιού"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Χωρίς εξωτερικά του καναλιού μηνύματα"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Μυστικό κανάλι, το κανάλι δεν εμφανίζεται στη λίστα καναλιών"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Μόνο &προσκεκλημένοι μπορούν να συμμετάσχουν στο κανάλι"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Αυτά ελέγχουν τη <em>λειτουργία</em> του καναλιού. Μόνο ένας operator "
+"μπορεί να κάνει τροποποιήσεις."
+"<p>Ένα κανάλι μόνο <b>Π</b>ρόσκλησης σημαίνει ότι μπορούν να συμμετέχουν σε "
+"αυτό μόνο άτομα που προσκλήθηκαν σε αυτό. Για να προσκαλέσετε κάποιο άτομο, "
+"ένας χειριστής του καναλιού πρέπει να δώσει την εντολή <em>"
+"/invite ψευδώνυμο</em> μέσα από το κανάλι αυτό.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"&Ελεγχόμενο κανάλι, μόνο τα άτομα με φωνή στο κανάλι μπορούν να γράψουν "
+"μηνύματα"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Κωδικός καναλιού"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Όριο &χρηστών:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Εμφάνιση &προχωρημένων λειτουργιών >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Παράμετρος"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Λίστα ban"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Αφαίρεση ban"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Προσθήκη ban"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Μάσκα υπολογιστή"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Ορίστηκε από"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Χρόνος ορισμού"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Αναζήτηση:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "Ρυθμίσεις DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Φάκελος λήψης:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Προσθήκη αποστολέα στο όνομα αρχείου"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Δη&μιουργία φακέλου για τον αποστολέα"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+"Μετατροπή των κενών σε υπογράμμιση στα ονόματα αρχείων πριν την αποστολή"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Αυτό&ματη αποδοχή προσφοράς λήψης"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Αυ&τόματη συνέχιση λήψης"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Ενεργοποίηση γρήγορης αποστολής DCC (Μπορεί να &μη λειτουργεί με όλους τους "
+"πελάτες)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Μέγε&θος ενδιάμεσης μνήμης:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Χρο&νικό όριο αποστολής DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Εφεδρεία διασύνδεσης IPv&4 για αποστολή DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Αν ενεργοποιηθεί αυτή η επιλογή οι μεταφορές dcc για συνδέσεις IPv6 θα γίνουν "
+"μέσω μιας διασύνδεσης IPv4 που ορίζεται εδώ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " δευτ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Ενεργοποίηση παθητικής αποστολής DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Μέθοδος ανάκτησης ίδιας IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Ί&δια IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Θύρες"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Ενεργοποίηση συγκεκριμένων θ&υρών για συνομιλία DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "στο"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Ενεργοποίηση συγκεκριμένων θ&υρών για τον εξυπηρετητή DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Χρήση χρωματιστού κειμένου"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Χρήση χρωματιστών LED"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Γεγονός εφαρμογής"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Τα γεγονότα της εφαρμογής συμβαίνουν στις καρτέλες του Konsole, της κατάστασης "
+"DCC και άλλες καρτέλες που δε χρησιμοποιούνται για συζήτηση."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Μήνυμα"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Προσωπικό μήνυμα"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Χρησιμοποιούμενο ψευδώνυμο"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Γεγονός καναλιού"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Τα γεγονότα του καναλιού είναι οι αλλαγές κατάστασης και η συμμετοχή/αποχώρηση "
+"χρηστών από το κανάλι."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Προτεραιότητα στα χρώματα τονισμού του παραθύρου συζήτησης"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Αν το ενεργοποιήσετε, θα χρησιμοποιηθούν τα χρώματα που επιλέξατε στις "
+"προτιμήσεις Τονισμού αντί των χρωμάτων του \"Χρησιμοποιούμενου ψευδωνύμου\" και "
+"του \"Τονισμού\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Ενεργοποίηση στα&θερής γραμματοσειράς για τα Μηνύματα Της Ημέρας"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Εμφάνιση Μηνύματος Της Ημέρας με σταθερή γραμματοσειρά"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "&Τονισμός ψευδωνύμων αποστολέων στην προβολή συνομιλίας"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Κείμενο συνομιλίας:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Λίστα ψευδωνύμων:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Γραμμή Tab:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Λίστα τονισμού"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Καν.Εκφρ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Τονισμοί"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Ήχος"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Αυτόματο κείμενο"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Μοτίβο:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Χρώμα:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "Ή&χος:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Δοκιμή ήχου"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Αυτόματο κείμενο:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Ενερ&γοποίηση ήχων για έντονα αντικείμενα της λίστας"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Πάντα &τονισμός του τρέχοντος ψευδωνύμου σας:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Πάντα τονισμός των &γραμμών σας:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Δημιουργία νέας &καταχώρησης..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Δημιουργία μιας νέας καταχώρησης στο βιβλίο διευθύνσεών σας"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Φωτογραφία"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Όνομα"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Επιλέξτε την επαφή με την οποία επιθυμείτε να επικοινωνήσετε με σύντομα "
+"μηνύματα"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Αναζήτηση:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Ενεργοποίηση ήχου &συστήματος κατά τη λήψη ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Ήχος συστήματος όταν λαμβάνεται ο χαρακτήρας ελέγχου ASCII BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Απόκρυψη γεγονότων &συμμετοχής/αποχώρησης/ψευδώνυμου"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Απενεργοποίηση ε&πέκτασης μεταβλητών (π.χ. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Να μη γίνεται επέκταση μεταβλητών κατά την αποστολή κειμένου στον εξυπηρετητή. "
+"Μια μεταβλητή ξεκίνα με το σύμβολο '%': για παράδειγμα το %B θα επεκταθεί στους "
+"χαρακτήρες που απαιτούνται ώστε να γίνει το κείμενο έντονο."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr ""
+"&Ανακατεύθυνση όλων των μηνυμάτων κατάστασης στο παράθυρο κατάστασης του "
+"εξυπηρετητή"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Όριο &κύλισης κειμένου:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Πόσες γραμμές θα αποθηκεύονται στην ενδιάμεση μνήμη, 0 = απεριόριστες"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Χρήση ακατέργαστων λειτουργιών για αλλαγές λειτουργίας"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Η συμβολοσειρά λειτουργίας του καναλιού θα διατηρηθεί ως ένας συνδυασμός "
+"χαρακτήρων αντί της μετάφρασής της σε ευανάγνωστη μορφή. Π.χ. Το '*** "
+"Λειτουργίες καναλιού: χωρίς εξωτερικά μηνύματα' θα γίνει '*** Λειτουργίες "
+"καναλιού: Χ'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " γραμμές"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Λίστα εξυπηρετητών"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Εμφάνιση γραμμής απομνημόνευσης σε όλα τα κανάλια συνομιλίας"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Εισαγωγή γραμμής απομνημόνευσης στο παράθυρο συνομιλίας όταν εναλλάσσετε σε "
+"διαφορετικό παράθυρο συνομιλίας ή όταν ελαχιστοποιήσετε την εφαρμογή."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Ενεργοποίηση αυτόματης αναζήτησης πληροφοριών χρήση (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Μεγ. αριθμός χρηστών σε ένα κανάλι:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " ψευδώνυμα"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Χρονικό διάστημα ενημέρωσης:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Ενεργοποίηση εμφάνισης πάνω-στην-οθόνη (OSD)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Σε εμ&φάνιση οθόνης"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Σχεδίαση σκιών"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Γραμματοσειρά OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Εμφάνιση μη&νύματος OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&Αν εμφανίζεται το ψευδώνυμό σας σε μήνυμα του καναλιού"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Σε κά&θε μήνυμα καναλιού"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Σε ε&νέργεια ερωτήματος"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Σε γεγονότα &συμμετοχής/αποχώρησης"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Ενεργοποίηση προσαρμοσμένων χρωμάτων"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Χρώμα κει&μένου:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Χρώμα &φόντου:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Ά&λλες ρυθμίσεις"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Διάρκεια:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "Ο&θόνη:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Παράθυρο"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Νέο"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "Αφαίρ&εση"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Αντικατάσταση"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Αναζήτηση"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Αντικατάσταση με"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Αντικατάσταση:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Αναζήτηση:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Αντικατάσταση με:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Ενεργοποίηση &χρονικών σφραγίδων"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Εμφάνιση η&μερομηνιών"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Μορφή:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Εμφάνιση καταγραφής"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Γραμμές: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Διάταξη"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Εμφάνιση θέματος καναλιού"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Εμφάνιση κου&μπιών λειτουργίας καναλιού"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Εμφάνιση γραμμή κύλισης"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Εμφάνιση &πλαισίου για αλλαγή του δικού σας ψευδωνύμου"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Εμφάνιση &γρήγορων κουμπιών"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Εμφάνιση πραγματικών ονομάτων δίπλα στα ψευδώνυμα"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Εμφάνιση &λίστας ψευδωνύμων καναλιού και κουμπιών λειτουργιών"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Εμφάνιση μάσκας υπολογιστή &στη λίστα ψευδωνύμων"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Ενεργοποίηση εικόνας &φόντου"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Διαδρομή:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Προσαρμοσμένα χρώματα"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Χρήση προσαρμοσμένων χρωμάτων στο πλαίσιο εισόδου, τη λίστα ψευδωνύμων και "
+"καρτελών"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Φόντο:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Μήνυμα ε&ξυπηρετητή:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "Υ&περδεσμός:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Μήνυμα καναλιού:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Ε&νέργεια:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Καταγραφή:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Μήνυμα ε&ντολής:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Μήνυμα ε&ρωτήματος:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Χρονική &σφραγίδα:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Εναλλακτικό &φόντο:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Χρωματιστά ψευδώνυμα"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Χρώμα του ψευδωνύμου &σας:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Επίτρεψε έγχρωμο κείμενο σε μηνύματα IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ενεργοποιώντας αυτή την επιλογή, οι χρωματικοί κώδικες που προσθέτονται σε "
+"μηνύματα IRC θα αποδίδονται στο παράθυρο συνομιλίας με χρωματισμένο κείμενο. "
+"Μπορείτε να προσθέσετε χρωματικούς κώδικες στα μηνύματά σας, επιλέγοντας "
+"Εισαγωγή -> Χρώμα IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Προεπισκόπηση"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Έτσι θα φαίνεται το μήνυμά σας με αυτά τα χρώματα"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Αυτή είναι μια προεπισκόπηση του τρόπου εμφάνιση του μηνύματός σας στους "
+"αναγνώστες του αν επιλέξετε αυτά τα χρώματα."
+"<br>\n"
+"<b>Σημείωση: Όλοι οι πελάτες δεν υποστηρίζουν χρώματα, και επίσης κάποιοι "
+"χρήστες μπορεί να έχουν επιλέξει την παράβλεψη των αλλαγών χρώματος.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Το επιλεγμένο έγχρωμο κείμενο προστίθεται στη γραμμή εισόδου."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Εδώ μπορείτε να επιλέξτε το χρώμα που επιθυμείτε για το κείμενο του "
+"επόμενου μηνύματός σας. Μόλις επιλέξετε ένα χρώμα κάντε κλικ στο Εντάξει, και "
+"το επιλεγμένο χρώμα θα προστεθεί στη γραμμή εισόδου. Κάθε κείμενο που θα "
+"γράψετε μετά από αυτό θα είναι με το επιλεγμένο χρώμα, μέχρι να αλλάξετε το "
+"χρώμα ξανά."
+"<br>\n"
+"<b>Σημείωση: Δεν ενεργοποιούν όλοι οι χρήστες την επιλογή εμφάνισης "
+"χρωμάτων.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Χρώμα &προσκηνίου:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Το επιλεγμένο χρώμα φόντου θα προστεθεί στη γραμμή εισόδου."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Εδώ μπορείτε να επιλέξτε το χρώμα που επιθυμείτε για το φόντο του επόμενου "
+"μηνύματός σας.\n"
+"Μόλις επιλέξετε ένα χρώμα κάντε κλικ στο Εντάξει, και το επιλεγμένο χρώμα θα "
+"προστεθεί στη γραμμή εισόδου.\n"
+"Κάθε κείμενο που θα γράψετε μετά από αυτό θα είναι με το επιλεγμένο χρώμα, "
+"μέχρι να αλλάξετε το χρώμα ξανά."
+"<br>\n"
+"Επιλέγοντας το προκαθορισμένο \"<i>Κανένα</i>\" δε θα τροποποιήσει το χρώμα του "
+"φόντου του μηνύματός σας, έτσι ώστε οι αναγνώστες του μηνύματός σας θα το δουν "
+"με το κανονικό χρώμα φόντου."
+"<br>\n"
+"<b>Σημείωση: Όλοι οι πελάτες δεν υποστηρίζουν χρώματα, και επίσης όλοι οι "
+"χρήστες δεν ενεργοποιούν την επιλογή εμφάνισης χρωμάτων.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Διάλογοι προειδοποίησης για εμφάνιση"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Κωδικός πρόσβασης:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Εξυπηρετητής:"
+
+#~ msgid "Messages"
+#~ msgstr "Μηνύματα"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Εμφάνιση μηνυμάτων α&πουσίας"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Ορισμός καθολικά της &διαθεσιμότητας"
+
+#~ msgid " s"
+#~ msgstr " δ"
+
+#~ msgid "Every "
+#~ msgstr "Κάθε"
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Προειδοποίηση κατά τη διαγραφή αρχείου που λήφθηκε με DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Το πλήκτρο για το %1 ορίστηκε με επιτυχία."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Αδυναμία αφαίρεσης του αρχείου '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "Σφάλμα DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Αφαίρεση αρχείου"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Λεπτομέρειες μεταφοράς"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Αφαίρεση από αυτόν τον πίνακα"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Αφαίρεση του ληφθέντος αρχείου(ων)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Αφαίρεση αρχείου"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Επιθυμείτε πραγματικά την αφαίρεση του επιλεγμένου αρχείου;\n"
+#~ "Επιθυμείτε πραγματικά την αφαίρεση των %n επιλεγμένων αρχείων;"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Επιβεβαίωση διαγραφής"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Εμφάνιση του πραγματικού ονόματος ενός ατόμου δίπλα στο ψευδώνυμό του στη λίστα ψευδωνύμων."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Η σύνδεση με τον εξυπηρετητή %1 χάθηκε: %2. Προσπάθεια για επανασύνδεση."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Δοκιμή στη θέση του, του εξυπηρετητή %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Αναμονή για 2 λεπτά πριν ακόμη μια προσπάθεια επανασύνδεσης..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Διαθέσιμες ομάδες προτίμησης: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Διαθέσιμες επιλογές στην ομάδα %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Χρήση: %1PREFS <ομάδα> <επιλογή> <τιμή> ή %2PREFS LIST για εμφάνιση λίστας των ομάδων ή %3PREFS ομάδα LIST για λίστα των επιλογών σε μια ομάδα. Βάλτε σε εισαγωγικά τις παραμέτρους αν περιέχουν κενά."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Λεπτομέρειες μεταφοράς"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Πλήκτρο καναλιού:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Εισαγωγή &γραμμής απομνημόνευσης κατά την απουσία"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Εισαγωγή &γραμμής απομνημόνευσης κατά την απόκρυψη του παραθύρου συνομιλίας"
diff --git a/po/en_GB/Makefile.am b/po/en_GB/Makefile.am
new file mode 100644
index 0000000..ce472fa
--- /dev/null
+++ b/po/en_GB/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = en_GB
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/en_GB/konversation.po b/po/en_GB/konversation.po
new file mode 100644
index 0000000..21c3326
--- /dev/null
+++ b/po/en_GB/konversation.po
@@ -0,0 +1,8388 @@
+# translation of konversation.po to British English
+# Copyright (C) 2003,2004, 2005 Free Software Foundation, Inc.
+# Malcolm Hunter <malcolm.hunter@gmx.co.uk>, 2003,2004.
+# Jonathan Riddell <kde-en-gb@jriddell.org>, 2003.
+# Andrew Coles <andrew_coles@yahoo.co.uk>, 2004, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2005-07-04 13:40+0100\n"
+"Last-Translator: Andrew Coles <andrew_coles@yahoo.co.uk>\n"
+"Language-Team: British English <kde-en-gb@kde.me.uk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, fuzzy, c-format
+msgid "Channel Settings for %1"
+msgstr "Channel Options for %1"
+
+#: src/channeloptionsdialog.cpp:148
+#, fuzzy
+msgid "&Hide Advanced Modes <<"
+msgstr "Show &Advanced Modes >>"
+
+#: src/channeloptionsdialog.cpp:152
+#, fuzzy
+msgid "&Show Advanced Modes >>"
+msgstr "Show &Advanced Modes >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "New"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "unknown"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Available information for file %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "File Information"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "No detailed information for this file found."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Send"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Receive"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Queued"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Preparing"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Connecting"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Receiving"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Sending"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Done"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Failed"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Aborted"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sec"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Give Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Take Op"
+
+#: src/nicklistview.cpp:56
+#, fuzzy
+msgid "Give HalfOp"
+msgstr "Give Op"
+
+#: src/nicklistview.cpp:57
+#, fuzzy
+msgid "Take HalfOp"
+msgstr "Take Op"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Give Voice"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Take Voice"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modes"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Kick"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Kickban"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Ban Nickname"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Ban *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Ban *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Ban *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Ban *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Kickban *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Kickban *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Kickban *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Kickban *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Kick / Ban"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignore"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+#, fuzzy
+msgid "Unignore"
+msgstr "Ignore"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Open &Query"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Open DCC &Chat"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Send &File..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Send Email..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Addressbook Associations"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+#, fuzzy
+msgid "Add to Watched Nicks"
+msgstr "Edit Watched Nickname"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Edit Contact..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Choose/Change Associations..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Choose Contact..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Change Association..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Create New Contact..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Delete Association"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Channel"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, fuzzy, no-c-format
+msgid "Query"
+msgstr "Open Query"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notice"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Exception"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+#, fuzzy
+msgid "Tabs"
+msgstr "Labels"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Today"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Yesterday"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identified)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Email"
+
+#: src/nickinfo.cpp:391
+#, fuzzy
+msgid "Hostmask:"
+msgstr "Hostmask"
+
+#: src/nickinfo.cpp:396
+#, fuzzy
+msgid "Away Message:"
+msgstr "Away Message"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(unknown)"
+
+#: src/nickinfo.cpp:406
+#, fuzzy
+msgid "Online Since:"
+msgstr "Online Since"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Click to run Regular Expression Editor (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Click to run Regular Expression Editor (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:59
+#, fuzzy
+msgid "Incoming"
+msgstr "&Encoding:"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr ""
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Join Channel on %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Quick Connect"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Server host:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Enter the host of the network here."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "The port that the IRC server is using."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Nick:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "The nick you want to use."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "P&assword:"
+
+#: src/quickconnectdialog.cpp:60
+#, fuzzy
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"If your IRC server requires a password, enter it here (most servers do not "
+"require a password)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Use SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "C&onnect"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Connect to the server"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Could not open a socket"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Offering DCC Chat connection to %1 on port %2..."
+
+#: src/dccchat.cpp:148
+#, fuzzy
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC chat with %1 on port %2"
+
+#: src/dccchat.cpp:160
+#, fuzzy
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Establishing DCC Chat connection to %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, fuzzy, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Establishing DCC Chat connection to %1 (%2:%3)..."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Connection broken, error code %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Received unknown CTCP-%1 request from %2"
+
+#: src/dccchat.cpp:323
+#, fuzzy
+msgid "Could not accept the client."
+msgstr "Could not accept the connection. (Socket Error)"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Default ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Server List"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Click here to connect to the selected IRC network and channel."
+
+#: src/serverlistdialog.cpp:112
+#, fuzzy
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"The list of configured IRC Networks are listed here. An IRC network is a "
+"collection of cooperating servers. You need only connect to one of the servers "
+"in the network to be connected to the entire IRC network. Once connected, "
+"Konversation will automatically join the Channels shown. When Konversation is "
+"started for the first time, the Freenode network and <i>#kde</i> "
+"channel are already entered for you. Click on a network to select it."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Network"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identity"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Channels"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&New..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Edit..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Connect on &application start up"
+
+#: src/serverlistdialog.cpp:213
+#, fuzzy
+msgid "New Network"
+msgstr "Network"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Edit Network"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+
+#: src/serverlistdialog.cpp:310
+#, fuzzy
+msgid "Do you really want to delete the selected entries?"
+msgstr "Do you really want to delete the selected networks?"
+
+#: src/serverlistdialog.cpp:312
+#, fuzzy
+msgid "Do you really want to delete %1?"
+msgstr "Do you want to remove %1 ?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Show last:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Clear Logfile"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Do you really want to permanently discard all log information of this file?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Save Logfile"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Choose Destination Folder"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Offering DCC Chat connection to %1 on port %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Reconnection attempts:"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, fuzzy, c-format
+msgid "Already connected to %1"
+msgstr "Select File to Send to %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Connecting"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Edit Server"
+
+#: src/connectionmanager.cpp:502
+#, fuzzy
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Please fill in your <b>ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Please fill in your <b>Real name</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Please provide at least one <b>Nickname</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+#, fuzzy
+msgid "Identity Settings"
+msgstr "Check Identity Settings"
+
+#: src/connectionmanager.cpp:518
+#, fuzzy
+msgid "Edit Identity..."
+msgstr "Add Identity"
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identities"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identity:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplicate"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Rename"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "General"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Real name:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Nickname"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Add..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Edit..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Auto Identify"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vice:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Pa&ssword:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Away"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Away nickname:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " lines"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "On &query activity"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Au&tomatically resume DCC download"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Away Message"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Away &message:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Re&turn message:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Advanced"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pre-shell command:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Encoding:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "&Part reason:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Whenever you leave a channel, this message is sent to the channel."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Part reason:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Whenever you leave a channel, this message is sent to the channel."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Kick reason:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Change identity information"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Discards all changes made"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "You must add at least one nick to the identity."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Add Nickname"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Nickname:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Edit Nickname"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Add Identity"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identity name:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "You need to give the identity a name."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Rename Identity"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Are you sure you want to delete all information for this identity?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Delete Identity"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplicate Identity"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normal Users"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voice (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operators (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+#, fuzzy
+msgid "Channel Admins (+p)"
+msgstr "Channel Admins"
+
+#: src/nicklistbehavior_preferences.cpp:68
+#, fuzzy
+msgid "Channel Owners (+q)"
+msgstr "Channel Owners"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Insert Character"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Insert a character"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation Bookmarks Editor"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "No vacant port"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Could not open a socket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Find Text..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copy URL to Clipboard"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Add to Bookmarks"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "Sa&ve List..."
+
+#: src/ircview.cpp:270
+#, fuzzy, c-format
+msgid "Open a query with %1"
+msgstr "Open Query"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, fuzzy, c-format
+msgid "Join the channel %1"
+msgstr "Join Channel on %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notify"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Join"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Part"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Open Query"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+#, fuzzy
+msgid "&Join"
+msgstr "Join"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr ""
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+#, fuzzy
+msgid "Get &topic"
+msgstr "Edit topic"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "No matches found for \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "&Save List..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Server List..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Quick &Connect..."
+
+#: src/konversationmainwindow.cpp:137
+#, fuzzy
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Type in the address of a new IRC server to connect to..."
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Reconnect"
+
+#: src/konversationmainwindow.cpp:141
+#, fuzzy
+msgid "Reconnect to the current server."
+msgstr "Connect to the server"
+
+#: src/konversationmainwindow.cpp:143
+#, fuzzy
+msgid "&Disconnect"
+msgstr "&Reconnect"
+
+#: src/konversationmainwindow.cpp:145
+#, fuzzy
+msgid "Disconnect from the current server."
+msgstr "Disconnect From Server"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identities..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Watched Nicks Online"
+
+#: src/konversationmainwindow.cpp:151
+#, fuzzy
+msgid "&DCC Status"
+msgstr "DCC Status"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Open Logfile"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+#, fuzzy
+msgid "&Channel Settings..."
+msgstr "O&ther Settings"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+#, fuzzy
+msgid "Channel &List"
+msgstr "Channel List"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL Catcher"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "New &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Next Tab"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Previous Tab"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Close &Tab"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "&Next Tab"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+#, fuzzy
+msgid "Move Tab Up"
+msgstr "Move Tab Left"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+#, fuzzy
+msgid "Move Tab Down"
+msgstr "Move Tab Left"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Move Tab Right"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Move Tab Left"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&Join Channel"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Enable Notifications"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&Join Channel"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Set Encoding"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Go to Tab %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "C&lear List"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Clear content of current window"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Clear Window"
+
+#: src/konversationmainwindow.cpp:258
+#, fuzzy
+msgid "Clear the contents of the current tab"
+msgstr "Clear content of current window"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Clear &All Windows"
+
+#: src/konversationmainwindow.cpp:261
+#, fuzzy
+msgid "Clear the contents of all open tabs"
+msgstr "Clear contents of all windows"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Join Channel..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC Colour..."
+
+#: src/konversationmainwindow.cpp:280
+#, fuzzy
+msgid "Set the color of your current IRC message"
+msgstr "Set the color of your current IRC message."
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Remember Line"
+
+#: src/konversationmainwindow.cpp:283
+#, fuzzy
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Add a horizontal line that only you can see."
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Special &Character..."
+
+#: src/konversationmainwindow.cpp:286
+#, fuzzy
+msgid "Insert any character into your current IRC message"
+msgstr "Insert any character into your current IRC message. "
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Close &All Open Queries"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Hide Nicklist"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+#, fuzzy
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+"<p>"
+"<center><img source=\"systray_shot\"></center></p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Docking in System Tray"
+
+#: src/konversationmainwindow.cpp:490
+#, fuzzy
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>This will hide the menu bar completely.You can show it again by typing "
+"%1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+#, fuzzy
+msgid "Toggle Notifications"
+msgstr "Enable Notifications"
+
+#: src/konversationmainwindow.cpp:540
+#, fuzzy
+msgid "Toggle Away Globally"
+msgstr "Set &Away Globally"
+
+#: src/konversationmainwindow.cpp:541
+#, fuzzy
+msgid "Insert &IRC Color..."
+msgstr "&IRC Colour..."
+
+#: src/konversationmainwindow.cpp:542
+#, fuzzy
+msgid "Insert Special &Character..."
+msgstr "Special &Character..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "&Remember Line"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Channel List"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Set &Away Globally"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Raw"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Usage: %1JOIN <channel> [password]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Usage: %1KICK <nick> [reason]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK only works from within channels."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART without parameters only works from within a channel or a query."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART without channel name only works from within a channel."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC without parameters only works from within a channel."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC without channel name only works from within a channel."
+
+#: src/outputfilter.cpp:575
+#, fuzzy
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Usage: %1NOTICE <recipient> <message>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Usage: %1AME text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+#, fuzzy
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Sending CTCP-%1 request to %2"
+
+#: src/outputfilter.cpp:877
+#, fuzzy
+msgid "File \"%1\" does not exist."
+msgstr "Error: File \"%1\" does not exist."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Usage: %1DCC [SEND nickname filename]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Usage: %1DCC [CHAT nickname]"
+
+#: src/outputfilter.cpp:899
+#, fuzzy
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Error: Unrecognised command DCC %1. Possible commands are SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+#, fuzzy
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Usage: INVITE <nick> [channel]"
+
+#: src/outputfilter.cpp:1011
+#, fuzzy
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "Error: INVITE without channel name works only from within channels."
+
+#: src/outputfilter.cpp:1023
+#, fuzzy
+msgid "%1 is not a channel."
+msgstr "Error: %1 is not a channel."
+
+#: src/outputfilter.cpp:1037
+#, fuzzy, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Usage: EXEC <script> [parameter list]"
+
+#: src/outputfilter.cpp:1049
+#, fuzzy
+msgid "Script name may not contain \"../\"!"
+msgstr "Error: Script name may not contain \"../\"!"
+
+#: src/outputfilter.cpp:1070
+#, fuzzy
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Usage: RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Current notify list is empty."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Current notify list: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Enter user name and password for IRC operator privileges:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC Operator Password"
+
+#: src/outputfilter.cpp:1194
+#, fuzzy
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "BAN without channel name works only from inside a channel."
+
+#: src/outputfilter.cpp:1196
+#, fuzzy
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "BAN without channel name works only from inside a channel."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Usage: BAN [-HOST | -DOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Usage: BAN [-HOST | -DOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1271
+#, fuzzy
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "UNBAN without channel name works only from inside a channel."
+
+#: src/outputfilter.cpp:1286
+#, fuzzy
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Usage: UNBAN [channel] pattern"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Added %1 to your ignore list."
+
+#: src/outputfilter.cpp:1345
+#, fuzzy
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Usage: IGNORE [ -ALL ] user list"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+
+#: src/outputfilter.cpp:1407
+#, fuzzy
+msgid "Removed %1 from your ignore list."
+msgstr "Added %1 to your ignore list."
+
+#: src/outputfilter.cpp:1413
+#, fuzzy, c-format
+msgid "No such ignore: %1"
+msgstr "%1: No such nick/channel."
+
+#: src/outputfilter.cpp:1419
+#, fuzzy, c-format
+msgid "No such ignores: %1"
+msgstr "%1: No such nick/channel."
+
+#: src/outputfilter.cpp:1432
+#, fuzzy
+msgid "Usage: %1QUOTE command list"
+msgstr "Usage: QUOTE command list"
+
+#: src/outputfilter.cpp:1448
+#, fuzzy
+msgid "Usage: %1SAY text"
+msgstr "Usage: SAY text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Usage"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Usage: %1AME text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Usage: %1AMSG text"
+
+#: src/outputfilter.cpp:1565
+#, fuzzy
+msgid "Usage: %1OMSG text"
+msgstr "Usage: %1AMSG text"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "Sending notice \"%1\" to %2."
+
+#: src/outputfilter.cpp:1584
+#, fuzzy
+msgid "Usage: %1ONOTICE text"
+msgstr "Usage: %1AME text"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Current notify list: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Set Encoding"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "Error: %1 is not a channel."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "The key for %1 is now deleted."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "The key for %1 is now deleted."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "The key for %1 is now deleted."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+#, fuzzy
+msgid "Usage: %1DNS <nick>"
+msgstr "Usage: %1KICK <nick> [reason]"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr ""
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr ""
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Usage: %1KICK <nick> [reason]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message can be a maximum of 512 letters long, and cannot contain multiple "
+"lines.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Large Paste Warning"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "A user friendly IRC client"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server to connect"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr ""
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Channel to join after connection"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Nickname to use"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Password for connection"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Use SSL for connection"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2005 by the Konversation team"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favourite subject."
+
+#: src/main.cpp:62
+#, fuzzy
+msgid "Original Author, Project Founder"
+msgstr "Original Author/Project Founder"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Maintainer"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+
+#: src/main.cpp:65
+#, fuzzy
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC rewrite, Encodings improvements, OSD positioning"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr ""
+
+#: src/main.cpp:67
+#, fuzzy
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish Support, SSL Support, Ported to KNetwork, Coloured Nicknames, Icon "
+"Theme Support"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refactoring, KAddressBook/Kontact integration"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Multiple modes extension, Close widget placement, OSD functionality"
+
+#: src/main.cpp:73
+#, fuzzy
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentation, Watched nicks online improvements,Custom web browser extension"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Colour configurator, Highlight dialogue"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP interface"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Non-Latin1-Encodings"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole part view"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Quick connect, Ported new OSD, other features and bugfixes"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "A Handful of fixes and code cleanup"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Drag&Drop improvements"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Artwork"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox style searchbar"
+
+#: src/main.cpp:83
+#, fuzzy
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw modes,Tab grouping per server"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "System tray patch"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Bug fixes"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Extended user modes patch"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Close visible tab with shortcut patch"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Cycle tabs with mouse scroll wheel"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Channel ownership mode patch"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Option to enable IRC colour filtering"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr ""
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr ""
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Received CTCP-PING request from %1 to channel %2, sending answer."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Received CTCP-%1 request from %2, sending answer."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Received Version request from %1 to channel %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Received Version request from %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Received Version request from %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Received Version request from %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Received Version request from %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Received Version request from %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Unknown DCC command %1 received from %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Received unknown CTCP-%1 request from %2 to Channel %3"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Received unknown CTCP-%1 request from %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 to %2- %3"
+
+#: src/inputfilter.cpp:444
+#, fuzzy
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Received CTCP-PING reply from %1: %2 seconds"
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Received CTCP-%1 reply from %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invite"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 invited you to channel %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Welcome"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Support"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Channel modes: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "topic protection"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "no messages from outside"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "secret"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "invite only"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "private"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderated"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "password protected"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonymous"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "no colours allowed"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limited to %n user\n"
+"limited to %n users"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Mode"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Channel List for %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Created"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "This channel was created on %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+#, fuzzy
+msgid "%1 is logged in as %2."
+msgstr "%1 is now known as %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Names"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "End of NAMES list."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr ""
+
+#: src/inputfilter.cpp:931
+#, fuzzy
+msgid "The channel %1 has no topic set."
+msgstr "The channel topic is \"%1\"."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Topic"
+
+#: src/inputfilter.cpp:950
+#, fuzzy
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "The channel topic is \"%1\"."
+
+#: src/inputfilter.cpp:965
+#, fuzzy
+msgid "The topic was set by %1 on %2."
+msgstr "Topic was set by %1 on %2."
+
+#: src/inputfilter.cpp:971
+#, fuzzy
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Topic was set by %1 on %2."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr ""
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: No such nick/channel."
+
+#: src/inputfilter.cpp:1001
+#, fuzzy, c-format
+msgid "No such nick: %1."
+msgstr "%1: No such nick/channel."
+
+#: src/inputfilter.cpp:1012
+#, fuzzy
+msgid "%1: No such channel."
+msgstr "%1: No such nick/channel."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nick"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Nickname already in use, try a different one."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Nickname already in use. Trying %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Erroneus nickname. Changing nick to %1."
+
+#: src/inputfilter.cpp:1074
+#, fuzzy, c-format
+msgid "You are not on %1."
+msgstr "You are now known as %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Message of the day:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "End of message of the day"
+
+#: src/inputfilter.cpp:1111
+#, fuzzy
+msgid "You are now an IRC operator on this server."
+msgstr "You have to be an operator to change this."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Users"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Current users on the network: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Current users on %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Away"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 is away: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "You invited %1 to channel %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+#, fuzzy
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 is %2&#64;%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr ""
+
+#: src/inputfilter.cpp:1239
+#, fuzzy
+msgid "%1 is an identified user."
+msgstr "%1 is an identified user"
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+#, fuzzy
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 is %2&#64;%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Away)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "End of /WHO list for %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 is a user on channels: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 has voice on channels: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 is a halfop on channels: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 is an operator on channels: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 is owner of channels: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 is admin on channels: %2"
+
+#: src/inputfilter.cpp:1434
+#, fuzzy
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 is online via %2 (%3)"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr ""
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (IRC Operator)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 day\n"
+"%n days"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 hour\n"
+"%n hours"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minute\n"
+"%n minutes"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 second\n"
+"%n seconds"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 has been idle for %2, %3, %4 and %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 has been idle for %2, %3 and %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 has been idle for %2 and %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 has been online since %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "End of WHOIS list."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Userhost"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC Operator)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (away)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "List"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "List of channels:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n user): %2\n"
+"%1 (%n users): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "End of channel list."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr ""
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1682
+#, fuzzy
+msgid "End of Ban List."
+msgstr "End of channel list."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr ""
+
+#: src/inputfilter.cpp:1726
+#, fuzzy
+msgid "%1: Unknown command."
+msgstr "<unknown> %1"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr ""
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr ""
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "You set the channel mode to 'quiet' on %1."
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " sets mode: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Default Identity"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Edit Watched Nickname"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Network name:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Pick the server network you will connect to here."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "N&ickname:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Change notify information"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Connection to Server %1 failed."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"The SSL certificate returned from the server was not recognised. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Server Authentication"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Details"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "The server (%1) certificate failed the authenticity test."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Would you like to accept this certificate forever without being prompted?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Forever"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Current Sessions Only"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[HighLight] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Query) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 joined %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 parted %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 quit %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 changed nickname to %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 wants to send a file to you"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 has started a conversation (query) with you."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 is online (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 went offline (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "You are kicked by %1 from %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 started a dcc chat with you"
+
+#: src/notificationhandler.cpp:291
+#, fuzzy
+msgid "[HighLight] (%1) *** %2"
+msgstr "[HighLight] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:304
+#, fuzzy, c-format
+msgid "Failed to connect to %1"
+msgstr "Select File to Send to %1"
+
+#: src/notificationhandler.cpp:315
+#, fuzzy, c-format
+msgid "You have joined %1."
+msgstr "You are now known as %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Phrase not found"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Wrapped search"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Network Interface"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Reply From IRC Server"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Specify Manually"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC Colour Chooser"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "None"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Pass&word:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "S&ecure connection (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr ""
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "The admin has restricted the right to send files"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "The url \"%1\" does not exist"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Could not retrieve \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Enter Filename"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "No filename was given"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Waiting remote user's acceptance"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Could not accept the connection. (Socket Error)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Could not open the file: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Socket error: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Timed out"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Connection failure: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Remote user disconnected"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"The operation was successful. Should never happen in an error dialogue."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Could not read from file \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Could not write to file \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "A fatal unrecoverable error occurred."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Could not open file \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "The operation was unexpectedly aborted."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "The operation timed out."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "An unspecified error happened on close."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Unknown error. Code %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC Receive : %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "DCC Receive : %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "unknown"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 joined %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 parted %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 parted %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " sec"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Ready."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+#, fuzzy
+msgid "Lag: Unknown"
+msgstr "Lag: not known"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Lag: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Lag: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "No answer from server %1 for more than %2, %3, %4 and %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "No answer from server %1 for more than %2, %3 and %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "No answer from server %1 for more than %2 and %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Looking for server %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Server %1 not found. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server found, connecting..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Connected; logging in..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Connection to Server %1 failed. %2"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL Connection Error"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Disconnect From Server"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+#, fuzzy
+msgid "Nickname error"
+msgstr "Nickname"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "There was an error reading the data from the server: %1"
+
+#: src/server.cpp:1636
+#, fuzzy, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Select File to Send to %1"
+
+#: src/server.cpp:1711
+#, fuzzy
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 is online via %2 (%3)"
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+#, fuzzy
+msgid "unknown size"
+msgstr "unknown"
+
+#: src/server.cpp:1742
+#, fuzzy
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1 is online via %2 (%3)"
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "Received invalid resume request for file \"%1\" (position %2) from %3."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Received invalid resume request for file \"%1\" (position %2) from %3."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Received invalid resume request for file \"%1\" (position %2) from %3."
+
+#: src/server.cpp:1887
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "DCC download of file \"%1\" finished."
+
+#: src/server.cpp:1890
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "DCC download of file \"%1\" failed. reason: %2"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "DCC upload of file \"%1\" failed. reason: %2"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr ""
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invitation"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Error: Could not find script \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Error: Could not execute script \"%1\". Check file permissions."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Gone away for now."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "You are now marked as being away."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "You are no longer marked as being away."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "You are not marked as being away."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Watched Nicks Online"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Network/Nickname/Channel"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Additional Information"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Edit Watch List..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Click to edit the list of nicknames that appear on this screen."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Address book:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Edit C&ontact..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Click to create, view or edit the KAddressBook entry associated with the "
+"nickname selected above."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Change Association..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Delete Association"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " online via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " since %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Offline"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voice"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " HalfOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operator"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Owner"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Create New C&ontact..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Choose Association..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Join Channel"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Select Sound File"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Automatically join channel on invite"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Notice that saving logfiles will save whole file"
+
+#: src/warnings_preferences.cpp:107
+#, fuzzy
+msgid "Ask before deleting logfile contents"
+msgstr "Question before deleting logfile contents"
+
+#: src/warnings_preferences.cpp:108
+#, fuzzy
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Question on closing queries after ignoring the nickname"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+
+#: src/warnings_preferences.cpp:111
+#, fuzzy
+msgid "Close server tab"
+msgstr "Close Tab"
+
+#: src/warnings_preferences.cpp:112
+#, fuzzy
+msgid "Close channel tab"
+msgstr "Channel List"
+
+#: src/warnings_preferences.cpp:113
+#, fuzzy
+msgid "Close query tab"
+msgstr "Close Tab"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "The channel list can only be opened from server-aware tabs"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Warning on hiding the main window menu"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Warning on high traffic with channel list"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Warning on pasting large portions of text"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Warning on pasting large portions of text"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Channel List"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filter Settings"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "M&inimum users:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Ma&ximum users:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "Filter &pattern:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filter target:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Enter a filter string here."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&Regular expression"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "Appl&y Filter"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Channel Name"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Channel Topic"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "Re&fresh List"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "Sa&ve List..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&Join Channel"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Click here to join the channel. A new tab is created for the channel."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Save Channel List"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Channels: %1 (%2 shown)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Non-unique users: %1 (%2 shown)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Open URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<No URL found>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Channel List for %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Online"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Cannot Send Email"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Send Email"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Link IRC Nick to Addressbook Contact"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Choose the person who '%1' is."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Currently '%1' is associated with a contact."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Currently '%1' is associated with contact '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "New Address Book Entry"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Name the new entry:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL Catcher"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Open URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behaviour</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copy URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Delete URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Sa&ve List..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Click to save the entire list to a file."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "C&lear List"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Click to erase the entire list."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Save URL List"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Edit Multiline Paste"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Add &Quotation Indicators"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "C&hannel:"
+
+#: src/channeldialog.cpp:73
+#, fuzzy
+msgid "The channel name is required."
+msgstr "This channel was created on %1."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Raw Log"
+
+#: src/viewcontainer.cpp:527
+#, fuzzy
+msgid "Search for text in the current tab"
+msgstr "Clear content of current window"
+
+#: src/viewcontainer.cpp:545
+#, fuzzy, c-format
+msgid "Channel &List for %1"
+msgstr "Channel List for %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Open Logfile for %1"
+
+#: src/viewcontainer.cpp:576
+#, fuzzy
+msgid "&Channel Settings for %1..."
+msgstr "Channel Options for %1"
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr ""
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "You can only search in text fields."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Find Text Information"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Logfile of %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC Status"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Channel List Warning"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Change network information"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Add Server"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Edit Server"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Add Channel"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Edit Channel"
+
+#: src/servergroupdialog.cpp:404
+#, fuzzy
+msgid "The network name is required."
+msgstr "This channel was created on %1."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "You need to add at least one server to the network."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Select Theme Package"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Failed to Download Theme"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Theme archive is invalid."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Cannot Install Theme"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Do you want to remove %1 ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Remove Theme"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC Client"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Select Recipient"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Select nickname and close the window"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Close the window without changes"
+
+#: src/konvdcop.cpp:156
+#, fuzzy
+msgid "getNickname: Server %1 is not found."
+msgstr "Server %1 not found. %2"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "The admin has restricted the right to receive files"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Unsupported negotiation (filesize=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Could not create a KIO instance"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>The file is already existing.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+#, fuzzy
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>A partial file is existing.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+#, fuzzy
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>The file is already existing.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Password for connection"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Waiting for remote host's acceptance"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Unexpected response from remote host"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Transferring error"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO error: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(away)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Do you want to ignore %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Do you want to close this query after ignoring this nickname?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Close This Query"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr ""
+
+#: src/channel.cpp:638 src/query.cpp:408
+#, fuzzy
+msgid "Do you want to stop ignoring %1?"
+msgstr "Do you want to ignore %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identity Default ( %1 )"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Do you want to close your query with %1?"
+msgstr "Do you want to ignore %1?"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Close Query"
+msgstr "Close This Query"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Talking to yourself"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+#, fuzzy
+msgid "%1 has left this server."
+msgstr "%1 has left this server. (%2)"
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1 has left this server. (%2)"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD Preview - drag to reposition"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operator"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Owner"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Half-operator"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Has voice"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+#, fuzzy
+msgid "Interface"
+msgstr "DCOP interface"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Behaviour"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, fuzzy, no-c-format
+msgid "Notifications"
+msgstr "Enable Notifications"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+#, fuzzy
+msgid "Chat Window"
+msgstr "&Clear Window"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Colours"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+#, fuzzy
+msgid "Quick Buttons"
+msgstr "Quick Buttons"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+#, fuzzy
+msgid "Connection"
+msgstr "Connecting"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+#, fuzzy
+msgid "Nickname List"
+msgstr "Nickname list:"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+#, fuzzy
+msgid "Command Aliases"
+msgstr "Command Aliases"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+#, fuzzy
+msgid "Auto Replace"
+msgstr "Replacement"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Logging"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, fuzzy, no-c-format
+msgid "Highlight"
+msgstr "Highlights"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Watched Nicknames"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+#, fuzzy
+msgid "On Screen Display"
+msgstr "On &Screen Display"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Warning Dialogues"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC Receive Question"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Resume"
+
+#: src/dccresumedialog.cpp:87
+#, fuzzy
+msgid "O&riginal Filename"
+msgstr "Enter Filename"
+
+#: src/dccresumedialog.cpp:88
+#, fuzzy
+msgid "Suggest &New Filename"
+msgstr "Suggest &New Name"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Overwrite"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "R&ename"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr ""
+
+#: src/searchbar.cpp:71
+#, fuzzy
+msgid "Case Sensitive"
+msgstr "Case sensitive"
+
+#: src/searchbar.cpp:72
+#, fuzzy
+msgid "Whole Words Only"
+msgstr "Whole words"
+
+#: src/searchbar.cpp:73
+#, fuzzy
+msgid "From Cursor"
+msgstr "From cursor"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Close &Tab"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Do you want to disconnect from '%1'?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Disconnect From Server"
+
+#: src/statuspanel.cpp:282
+#, fuzzy
+msgid "Disconnect"
+msgstr "&Reconnect"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Status"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Progress"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Position"
+
+#: src/dcctransferpanel.cpp:84
+#, fuzzy
+msgid "Remaining"
+msgstr "Remain"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Speed"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Sender Address"
+
+#: src/dcctransferpanel.cpp:115
+#, fuzzy
+msgid "Accept"
+msgstr "&Accept"
+
+#: src/dcctransferpanel.cpp:116
+#, fuzzy
+msgid "Abort"
+msgstr "A&bort"
+
+#: src/dcctransferpanel.cpp:118
+#, fuzzy
+msgid "Open File"
+msgstr "&Open File"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Start receiving"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Abort the transfer(s)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Run the file"
+
+#: src/dcctransferpanel.cpp:125
+#, fuzzy
+msgid "View DCC transfer details"
+msgstr "View DCC detail information"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Select All Items"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "S&elect All Completed Items"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Accept"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "A&bort"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&Resume"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Clear"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Open File"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "File &Information"
+
+#: src/channel.cpp:128
+#, fuzzy
+msgid "Edit Channel Settings"
+msgstr "O&ther Settings"
+
+#: src/channel.cpp:132
+#, fuzzy
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Topic "
+"button to the left of the topic. You can also view the history of topics "
+"there.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, fuzzy, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot sends messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maximum users allowed in channel"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Do you want to ignore the selected users?"
+
+#: src/channel.cpp:640
+#, fuzzy
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Do you want to ignore the selected users?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Completion"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Possible completions: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Channel Password"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Nick Limit"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Enter the new nick limit:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "You are now known as %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 is now known as %2."
+
+#: src/channel.cpp:1269
+#, fuzzy
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "You have joined channel %1. (%2)"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1308
+#, fuzzy
+msgid "You have left this server."
+msgstr "You have left this server. (%1)"
+
+#: src/channel.cpp:1310
+#, fuzzy
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "You have left this server. (%1)"
+
+#: src/channel.cpp:1315
+#, fuzzy, c-format
+msgid "You have left channel %1."
+msgstr "You have left channel %1. (%2)"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+#, fuzzy
+msgid "%1 has left this channel."
+msgstr "%1 has left this channel. (%2)"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1378
+#, fuzzy, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "You have kicked yourself from channel %1. (%2)"
+
+#: src/channel.cpp:1381
+#, fuzzy
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "You have kicked yourself from channel %1. (%2)"
+
+#: src/channel.cpp:1388
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "You have been kicked from channel %1 by %2. (%3)"
+
+#: src/channel.cpp:1394
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "You have been kicked from channel %1 by %2. (%3)"
+
+#: src/channel.cpp:1415
+#, fuzzy
+msgid "You have kicked %1 from the channel."
+msgstr "You have kicked %1 from the channel. (%2)"
+
+#: src/channel.cpp:1418
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "You have kicked %1 from the channel. (%2)"
+
+#: src/channel.cpp:1425
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 has been kicked from the channel by %2. (%3)"
+
+#: src/channel.cpp:1431
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 has been kicked from the channel by %2. (%3)"
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n nick\n"
+"%n nicks"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n ops)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "The channel topic is \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "You set the channel topic to \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 sets the channel topic to \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "You give channel owner privileges to yourself."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "You give channel owner privileges to %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 gives channel owner privileges to you."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 gives channel owner privileges to %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "You take channel owner privileges from yourself."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "You take channel owner privileges from %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 takes channel owner privileges from you."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 takes channel owner privileges from %2."
+
+#: src/channel.cpp:1643
+#, fuzzy
+msgid "You give channel admin privileges to yourself."
+msgstr "You give channel owner privileges to yourself."
+
+#: src/channel.cpp:1645
+#, fuzzy, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "You give channel owner privileges to %1."
+
+#: src/channel.cpp:1650
+#, fuzzy
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 gives channel owner privileges to you."
+
+#: src/channel.cpp:1652
+#, fuzzy
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 gives channel owner privileges to %2."
+
+#: src/channel.cpp:1660
+#, fuzzy
+msgid "You take channel admin privileges from yourself."
+msgstr "You take channel owner privileges from yourself."
+
+#: src/channel.cpp:1662
+#, fuzzy, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "You take channel owner privileges from %1."
+
+#: src/channel.cpp:1667
+#, fuzzy
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 takes channel owner privileges from you."
+
+#: src/channel.cpp:1669
+#, fuzzy
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 takes channel owner privileges from %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "You give channel operator privileges to yourself."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "You give channel operator privileges to %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 gives channel operator privileges to you."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 gives channel operator privileges to %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "You take channel operator privileges from yourself."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "You take channel operator privileges from %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 takes channel operator privileges from you."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 takes channel operator privileges from %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "You give channel halfop privileges to yourself."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "You give channel halfop privileges to %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 gives channel halfop privileges to you."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 gives channel halfop privileges to %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "You take channel halfop privileges from yourself."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "You take channel halfop privileges from %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 takes channel halfop privileges from you."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 takes channel halfop privileges from %2."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "You give yourself the permission to talk."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "You give %1 the permission to talk."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 gives you the permission to talk."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 gives %2 the permission to talk."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "You take the permission to talk from yourself."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "You take the permission to talk from %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 takes the permission to talk from you."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 takes the permission to talk from %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "You set the channel mode to 'no colours allowed'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 sets the channel mode to 'no colours allowed'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "You set the channel mode to 'allow colour codes'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 sets the channel mode to 'allow colour codes'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "You set the channel mode to 'invite only'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 sets the channel mode to 'invite only'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "You remove the 'invite only' mode from the channel."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 removes the 'invite only' mode from the channel."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "You set the channel mode to 'moderated'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 sets the channel mode to 'moderated'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "You set the channel mode to 'unmoderated'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 sets the channel mode to 'unmoderated'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "You set the channel mode to 'no messages from outside'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 sets the channel mode to 'no messages from outside'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "You set the channel mode to 'allow messages from outside'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 sets the channel mode to 'allow messages from outside'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "You set the channel mode to 'private'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 sets the channel mode to 'private'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "You set the channel mode to 'public'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 sets the channel mode to 'public'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "You set the channel mode to 'secret'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 sets the channel mode to 'secret'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "You set the channel mode to 'visible'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 sets the channel mode to 'visible'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "You switch on 'topic protection'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 switches on 'topic protection'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "You switch off 'topic protection'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 switches off 'topic protection'."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "You set the channel topic to \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 sets the channel topic to \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "You remove the channel limit."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 removes the channel limit."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "You set the channel limit to %1 nicks."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 sets the channel limit to %2 nicks."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "You remove the channel limit."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 removes the channel limit."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "You set a ban on %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 sets a ban on %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "You remove the ban on %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 removes the ban on %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "You set a ban exception on %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 sets a ban exception on %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "You remove the ban exception on %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 removes the ban exception on %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "You set invitation mask %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 sets invitation mask %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "You remove the invitation mask %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 removes the invitation mask %2."
+
+#: src/channel.cpp:1974
+#, fuzzy, c-format
+msgid "You set channel mode +%1"
+msgstr "You set the channel mode to 'quiet' on %1."
+
+#: src/channel.cpp:1975
+#, fuzzy
+msgid "%1 sets channel mode +%2"
+msgstr "%1 sets the channel mode to 'quiet' on %2."
+
+#: src/channel.cpp:1979
+#, fuzzy, c-format
+msgid "You set channel mode -%1"
+msgstr "You set the channel mode to 'quiet' on %1."
+
+#: src/channel.cpp:1980
+#, fuzzy
+msgid "%1 sets channel mode -%2"
+msgstr "%1 sets the channel mode to 'quiet' on %2."
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "You have to be an operator to change this."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Topic can be changed by channel operator only. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "No messages to channel from clients on the outside. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Secret channel. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Invite only channel. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Private channel. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Moderated channel. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Protect channel with a password."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Set user limit to channel."
+
+#: src/channel.cpp:2541
+#, fuzzy
+msgid "Do you want to leave %1?"
+msgstr "Do you want to remove %1 ?"
+
+#: src/channel.cpp:2542
+#, fuzzy
+msgid "Leave Channel"
+msgstr "Save Channel List"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Jonathan Riddell"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kde-en-gb@jriddell.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Queued"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr " lines"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "yes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Sound:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr " lines"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "yes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Normal Users"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Queued"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Queued"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Receiver:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Button Name"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Button Action"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, fuzzy, no-c-format
+msgid "Button action:"
+msgstr "Button Action"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, fuzzy, no-c-format
+msgid "Button name:"
+msgstr "Button Name"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"You can use the following placeholders:\n"
+"\n"
+"%c: Current channel\n"
+"%k: Channel password (not functional yet)\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "File:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, fuzzy, no-c-format
+msgid "Self:"
+msgstr "Self"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Status:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "Actio&n:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Progress:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Partner"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "&Open File"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "File:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&Resume"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Current notify list: %1"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Position:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Save to:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Transferring error"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Enable Automatic Reconnect"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "&Reconnect timeout:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Reconnection attempts:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " seconds"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Unlimited"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Debug"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Show raw &log window when connecting"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, fuzzy, no-c-format
+msgid "Pattern"
+msgstr "&Pattern:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr ""
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, fuzzy, no-c-format
+msgid "Pattern:"
+msgstr "&Pattern:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, fuzzy, no-c-format
+msgid "Message Types"
+msgstr "Messages"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&New"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, fuzzy, no-c-format
+msgid "Remove &All"
+msgstr "&Remove File"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "&Network name:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&Identity:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "Co&mmands:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Connect on &application start up"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servers"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Add..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Edit..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Auto Join Channels"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Edit..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, fuzzy, no-c-format
+msgid "Alias:"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, fuzzy, no-c-format
+msgid "Replacement:"
+msgstr "Replacement"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Replacement"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, fuzzy, no-c-format
+msgid "Find Ne&xt"
+msgstr "Find Text"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, fuzzy, no-c-format
+msgid "Find Previous"
+msgstr "&Previous Tab"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Command to be executed on double click:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Sort case &insensitive"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "On &query activity"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Sort b&y user status"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, fuzzy, no-c-format
+msgid "Explanation"
+msgstr "Exception"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, fuzzy, no-c-format
+msgid "Theme_Config"
+msgstr "Watched Nicknames"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstall Theme..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Remove Theme"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, fuzzy, no-c-format
+msgid "Icon for normal users"
+msgstr "Icon for normal users\""
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Icon for away users"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Icon for users with voice"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Icon for users with half-operator priviliges"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Icon for users with operator priviliges"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Icon for users with admin privileges"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Icon for users with owner privileges"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Preview:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, fuzzy, no-c-format
+msgid "TabBar_Config"
+msgstr "Watched Nicknames"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, fuzzy, no-c-format
+msgid "Placement:"
+msgstr "Replacement"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, fuzzy, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Show close b&utton on tabs"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, fuzzy, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "&Show a close tab button to the right in the tab bar"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, fuzzy, no-c-format
+msgid "Focus"
+msgstr "From cursor"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Mode"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Command e&xecuted when nickname is double clicked:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Update interval:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&Show watched nicks online tab on application startup"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Enable nickname watcher"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, fuzzy, no-c-format
+msgid "Network:"
+msgstr "&Network:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Watched Networks/Nicknames"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Click to add a nickname to the list."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Click to remove the selected nickname from the list."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Enable Logging"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Enable &lower case logfile names"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Append hostname to logfile names"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Logfile &path:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Enable System Tray"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, fuzzy, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Use sys&tem tray for new message notification"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Nickname Completion"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Completion &mode:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Cycle NickList"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Shell-Like"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Shell-Like with Completion Box"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Suffi&x at start of line:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Elsewhere:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Case sensitive"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Disable notifications while &away"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Use custom &version reply:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Comman&d char:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, fuzzy, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Use custom Web &browser:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "Docking in System Tray"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Show real names next to nicknames"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, fuzzy, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "&Show watched nicks online tab on application startup"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Enable emoticons"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Emoticons theme"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Topi&c"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Date"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&des"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Topic can only be changed by channel operators"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&No messages from outside the channel"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Secret channel, the channel is not listed in the channel list"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Only &invited are allowed to join the channel"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Moderated channel, only people with voice can write to the channel"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Channel Password"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "User &limit:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Show &Advanced Modes >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parameter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, fuzzy, no-c-format
+msgid "&Ban List"
+msgstr "&Channel List"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, fuzzy, no-c-format
+msgid "&Remove Ban"
+msgstr "&Remove File"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, fuzzy, no-c-format
+msgid "&Add Ban"
+msgstr "Add Channel"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, fuzzy, no-c-format
+msgid "Hostmask"
+msgstr "Hostmask"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, fuzzy, no-c-format
+msgid "Time Set"
+msgstr "Timed out"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "S&earch:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, fuzzy, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC Status"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, fuzzy, no-c-format
+msgid "Download &folder:"
+msgstr "DCC &folder:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, fuzzy, no-c-format
+msgid "&Add sender to file name"
+msgstr "Add &sender to file name"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Cr&eate folder for sender"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, fuzzy, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Automaticall&y accept DCC download"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, fuzzy, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Au&tomatically resume DCC download"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, fuzzy, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Enable fast DCC send (Might not work with all clients)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Buffer si&ze:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, fuzzy, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC send t&imout:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, fuzzy, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Fallback to an IPv&4 interface for dcc send:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sec"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Enable specific &ports for DCC send:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Method to get own IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "O&wn IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, fuzzy, no-c-format
+msgid "Ports"
+msgstr "Port"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Enable specific p&orts for DCC chat:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "to"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Enable specific &ports for DCC send:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, fuzzy, no-c-format
+msgid "Application event"
+msgstr "Application Startup"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, fuzzy, no-c-format
+msgid "Message"
+msgstr "Messages"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "&Server message:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, fuzzy, no-c-format
+msgid "Current nick used"
+msgstr "Current notify list: %1"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, fuzzy, no-c-format
+msgid "Channel event"
+msgstr "Channel Name"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Enable fi&xed font for MOTD messages"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Show MOTD (Message Of The Day) message in fixed font"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, fuzzy, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Make sender nicknames &bold in the chat view"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Chat text:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Nickname list:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, fuzzy, no-c-format
+msgid "Tab bar:"
+msgstr "Tab Bar"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "&Highlight List"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Highlights"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Sound"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Auto Text"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Pattern:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Colours"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Sound:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, fuzzy, no-c-format
+msgid "Test sound"
+msgstr "Text to find:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Auto text:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Enable sound for highlighted list items"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Alwa&ys highlight own current nick:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Always highlight own &lines:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Create New &Entry..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Create a new entry in your address book"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Photo"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Name"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Select the contact you want to communicate with via Instant Messaging"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "S&earch:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Enable s&ystem bell on incoming ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Hide &Join/Part/Nick events"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, fuzzy, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Redirect all status messages to the server status window"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Scroll&back limit:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, fuzzy, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "How many lines to keep in buffers, 0 = unlimitied"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Use raw modes for mode changes"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " lines"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Server List"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Show remember line in all channels and &queries"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Enable Automatic User Information Look Up (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Max. number of users in a channel:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " nicks"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Update interval:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Enable On Screen Display"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "On &Screen Display"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Draw shadows"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD font:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Show &OSD Message"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&If own nick appears in channel message"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "On an&y channel message"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "On &query activity"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "On &Join/Part events"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Enable Custom Colours"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Te&xt colour:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Background colour:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "O&ther Settings"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Duration:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "S&creen:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Window"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "New"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Removed"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, fuzzy, no-c-format
+msgid "Replace In"
+msgstr "Replacement"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, fuzzy, no-c-format
+msgid "Find"
+msgstr "&Find"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, fuzzy, no-c-format
+msgid "Replace With"
+msgstr "Replacement"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, fuzzy, no-c-format
+msgid "Replace in:"
+msgstr "Replacement"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, fuzzy, no-c-format
+msgid "Find:"
+msgstr "&Find"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, fuzzy, no-c-format
+msgid "Replace with:"
+msgstr "Replacement"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Enable &Timestamps"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Show &dates"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Bac&klog:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Layout"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Show channel topic"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Show channel &mode buttons"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Show bo&x to change own nickname"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Show &quick buttons"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Show real names next to nicknames"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, fuzzy, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Show channel &mode buttons"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, fuzzy, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Show hostmasks &in nickname list"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Enable Back&ground Image"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, fuzzy, no-c-format
+msgid "P&ath:"
+msgstr "&Path:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Custom Colours"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Background:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Server message:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "H&yperlink:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Channel &message:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Actio&n:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Bac&klog:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Comman&d message:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Query message:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Timestamp:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternate background:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Coloured Nicks"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Own nick colour:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Allow Coloured Text in IRC Messages"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"By enabling this option, colour codes added to IRC messages will be displayed "
+"in your chat window as coloured text. You can add colour codes to your "
+"messages, by selecting Insert -> IRC Colour"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Preview"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "This is how your message will look with these colours"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colours."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your colour changes.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "The chosen text colour is added to the input line."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Here you choose what colour you want you the text in the next message you "
+"send to be. If you choose a colour and click Ok, the chosen colour is added to "
+"the Input Line. Any text written after this will be in the chosen colour, "
+"until you change the colour again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Foreground colour:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "The chosen text-background colour is added to the input line."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Here you choose what colour you want you background for the text in the "
+"next message you send to be.\n"
+"If you choose a colour and click Ok, the chosen colour is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen colour, until you change the "
+"colour again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background colour of "
+"your message, so your readers will view your message with their normal "
+"background text colour."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Warning Dialogues to Show"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Password:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
+
+#~ msgid "Messages"
+#~ msgstr "Messages"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Show a&way messages"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Set &Available Globally"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Every "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Warning on deleting file received on DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "The key for %1 is successfully set."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Cannot remove file '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC Error"
+
+#, fuzzy
+#~ msgid "Remove File"
+#~ msgstr "&Remove File"
+
+#, fuzzy
+#~ msgid "Transfer Details"
+#~ msgstr "DCC &Detail"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Remove from this panel"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Remove the received file(s)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Remove File"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Delete Confirmation"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Show the real name of a person next to his/her nick in nickname list."
+
+#, fuzzy
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Connection to Server %1 lost. %2. Trying to reconnect."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Trying server %1 instead."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Waiting for 2 minutes before another reconnection attempt..."
+
+#, fuzzy
+#~ msgid "Available preferences groups: "
+#~ msgstr "Available Preference Groups: "
+
+#, fuzzy
+#~ msgid "Available options in group %1:"
+#~ msgstr "Available Options in Group %1:"
+
+#, fuzzy
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Usage: %1PREFS group option value or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DCC &Detail"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Channel &key:"
+
+#, fuzzy
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Insert remember &line when switching state to away"
+
+#, fuzzy
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Insert remember &line when switching state to away"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Connecting"
+
+#~ msgid "Application Startup"
+#~ msgstr "Application Startup"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "&Show server list dialogue"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 has identified for this nick."
+
+#~ msgid "&Channel"
+#~ msgstr "&Channel"
+
+#~ msgid "&Topic"
+#~ msgstr "&Topic"
+
+#~ msgid "&Save List..."
+#~ msgstr "&Save List..."
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "Automatically &join channel on invite"
+
+#~ msgid "Offering"
+#~ msgstr "Offering"
+
+#, fuzzy
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "There is no vacant port for DCC chat."
+
+#~ msgid "Update &interval:"
+#~ msgstr "Update &interval:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "No DCC download running on port %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "No DCC upload running on port %1."
+
+#, fuzzy
+#~ msgid "Alt+N"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+P"
+#~ msgstr "Alt+4"
+
+#~ msgid "File:"
+#~ msgstr "File:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Local Path:"
+
+#, fuzzy
+#~ msgid "Open this file"
+#~ msgstr "&Open File"
+
+#~ msgid "Sender:"
+#~ msgstr "Sender:"
+
+#~ msgid "Position:"
+#~ msgstr "Position:"
+
+#, fuzzy
+#~ msgid "Accept this transfer"
+#~ msgstr "Abort the transfer(s)"
+
+#, fuzzy
+#~ msgid "Abort this transfer"
+#~ msgstr "Abort the transfer(s)"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Do you really want to remove the received file?"
+
+#, fuzzy
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "DCC &Detail"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Position:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Sender Address"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Sender Address"
+
+#~ msgid "Switch To"
+#~ msgstr "Switch To"
+
+#~ msgid "&Channel:"
+#~ msgstr "&Channel:"
+
+#~ msgid "Removed"
+#~ msgstr "Removed"
+
+#, fuzzy
+#~ msgid "DCC %1: %2"
+#~ msgstr "DCC Send : %1"
+
+#, fuzzy
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 is %3%4"
+
+#~ msgid "&Network:"
+#~ msgstr "&Network:"
+
+#, fuzzy
+#~ msgid " Command Aliases"
+#~ msgstr "Command Aliases"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "www.konversation.org hosting"
+
+#, fuzzy
+#~ msgid "Various bug fixes"
+#~ msgstr "Bug fixes"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "Channel Options for %1"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "You are marked as being away."
+
+#, fuzzy
+#~ msgid "Edit Channel Properties"
+#~ msgstr "Edit Channel"
+
+#, fuzzy
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "Question on what to do on DCC resume"
+
+#, fuzzy
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "Automaticaly re&join channels on reconnect"
+
+#, fuzzy
+#~ msgid "Version"
+#~ msgstr "&Version"
+
+#, fuzzy
+#~ msgid "Ping"
+#~ msgstr "&Ping"
+
+#~ msgid "Server already connected."
+#~ msgstr "Server already connected."
+
+#~ msgid "New Alias"
+#~ msgstr "New Alias"
+
+#~ msgid "Add alias:"
+#~ msgstr "Add alias:"
+
+#~ msgid "RE"
+#~ msgstr "RE"
+
+#, fuzzy
+#~ msgid "DCC chat with %1 on %2:%3."
+#~ msgstr "DCC chat with %1 on %2:%3"
+
+#, fuzzy
+#~ msgid "Resuming download of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Resuming file \"%1\", offered by %2 from position %3."
+
+#, fuzzy
+#~ msgid "Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Resuming file \"%1\", offered by %2 from position %3."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" to %2 finished."
+#~ msgstr "DCC upload of file \"%1\" finished."
+
+#, fuzzy
+#~ msgid "Downloading \"%1\" (%2) from %3..."
+#~ msgstr "DCC download of file \"%1\" finished."
+
+#~ msgid "&Follow nick changes"
+#~ msgstr "&Follow nick changes"
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "Looking for host %1..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "Host found, connecting..."
+
+#~ msgid "Connection established."
+#~ msgstr "Connection established."
+
+#~ msgid "&Default"
+#~ msgstr "&Default"
+
+#, fuzzy
+#~ msgid "Autoreplace Patterns"
+#~ msgstr "Ignore Pattern"
+
+#, fuzzy
+#~ msgid "Direction:"
+#~ msgstr "&Duration:"
+
+#, fuzzy
+#~ msgid "Direction"
+#~ msgstr "topic protection"
+
+#, fuzzy
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "Input fields and nick list uses custom colours"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr "Offering \"%1\" to %2 for upload..."
+
+#, fuzzy
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 offers the file \"%2\" (%3 bytes) for download (%4:%5)."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" was accepted by %2."
+#~ msgstr "DCC upload of file \"%1\" failed. reason: %2"
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "Sending DCC Resume request to \"%1\" for file \"%2\"."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">Chat in %1</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">Chat with %1</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "&Channel List for %1"
+
+#~ msgid "Nicks Online"
+#~ msgstr "Nicks Online"
+
+#~ msgid "Themes"
+#~ msgstr "Themes"
+
+#~ msgid "Tab Bar"
+#~ msgstr "Tab Bar"
+
+#, fuzzy
+#~ msgid "Place tab bar at the top"
+#~ msgstr "Place tab labels on &top"
+
+#, fuzzy
+#~ msgid "&Bring new tabs to front"
+#~ msgstr "Bring new tabs to &front"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "When someone queries you, focus new &query"
+
+#~ msgid "Close Button"
+#~ msgstr "Close Button"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "DCC &Detail Information"
+
+#~ msgid "Find Text"
+#~ msgstr "Find Text"
+
+#~ msgid "Whole words"
+#~ msgstr "Whole words"
+
+#~ msgid "Search forward"
+#~ msgstr "Search forward"
+
+#~ msgid "Search for text"
+#~ msgstr "Search for text"
+
+#~ msgid "Close the window"
+#~ msgstr "Close the window"
+
+#~ msgid "Show help here"
+#~ msgstr "Show help here"
+
+#, fuzzy
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1 has joined this channel. (%2)"
+
+#, fuzzy
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "You have kicked yourself from the channel. (%1)"
+
+#, fuzzy
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "You have been kicked from the channel by %1. (%2)"
+
+#~ msgid "Skip creating taskbar entry"
+#~ msgstr "Skip creating taskbar entry"
+
+#~ msgid "If you enable this option Konversation will not show up in taskbar"
+#~ msgstr "If you enable this option Konversation will not show up in taskbar"
+
+#, fuzzy
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "Quick Buttons"
+
+#, fuzzy
+#~ msgid "Alt+Q"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+Z"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+D"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Form1"
+#~ msgstr "&Format:"
+
+#, fuzzy
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Alt+R"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+V"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+B"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+J"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "FontAppearance_Config"
+#~ msgstr "Chat Window"
+
+#, fuzzy
+#~ msgid "Alt+X"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "ChatWindowAppearance_Config"
+#~ msgstr "Chat Window"
+
+#, fuzzy
+#~ msgid "%1 unknown %2"
+#~ msgstr "<unknown> %1"
+
+#~ msgid "Only notify when someone says &your nick"
+#~ msgstr "Only notify when someone says &your nick"
+
+#~ msgid "Channel Owners"
+#~ msgstr "Channel Owners"
+
+#~ msgid "Channel Admins"
+#~ msgstr "Channel Admins"
+
+#~ msgid "Queries"
+#~ msgstr "Queries"
+
+#~ msgid "Notices"
+#~ msgstr "Notices"
+
+#~ msgid "CTCPs"
+#~ msgstr "CTCPs"
+
+#~ msgid "DCCs"
+#~ msgstr "DCCs"
+
+#~ msgid "C&lear"
+#~ msgstr "C&lear"
+
+#~ msgid "C&hannels"
+#~ msgstr "C&hannels"
+
+#~ msgid "&Queries"
+#~ msgstr "&Queries"
+
+#~ msgid "Not&ices"
+#~ msgstr "Not&ices"
+
+#~ msgid "C&TCPs"
+#~ msgstr "C&TCPs"
+
+#~ msgid "&DCCs"
+#~ msgstr "&DCCs"
+
+#~ msgid "&Exception"
+#~ msgstr "&Exception"
+
+#~ msgid "Select Background Image"
+#~ msgstr "Select Background Image"
+
+#~ msgid "Connect to a new server..."
+#~ msgstr "Connect to a new server..."
+
+#~ msgid "Set your nick, away message, etc..."
+#~ msgstr "Set your nick, away message etc..."
+
+#~ msgid "Lag: not known"
+#~ msgstr "Lag: not known"
+
+#, fuzzy
+#~ msgid "Log_Config"
+#~ msgstr "Watched Nicknames"
+
+#, fuzzy
+#~ msgid "ConnectionBehavior_Config"
+#~ msgstr "Connection"
+
+#, fuzzy
+#~ msgid "Alt+L"
+#~ msgstr "Alt+4"
+
+#~ msgid "&Blink the LED on the label when something has changed in the tab"
+#~ msgstr "&Blink the LED on the label when something has changed in the tab"
+
+#~ msgid "Place close button on the &right side of the tab"
+#~ msgstr "Place close button on the &right side of the tab"
+
+#~ msgid "Tab Management"
+#~ msgstr "Tab Management"
+
+#, fuzzy
+#~ msgid "NicklistBehavior_Config"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Alt+I"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+S"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+E"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+M"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+C"
+#~ msgstr "Alt+4"
+
+#~ msgid "A&dd..."
+#~ msgstr "A&dd..."
+
+#~ msgid "Add Network"
+#~ msgstr "Add Network"
+
+#~ msgid "&Group:"
+#~ msgstr "&Group:"
+
+#~ msgid "Optional. If you enter something here, all the Networks with the same Group will be listed together in the Server List screen."
+#~ msgstr "Optional. If you enter something here, all the Networks with the same Group will be listed together in the Server List screen."
+
+#~ msgid "%1omsg needs a message parameter"
+#~ msgstr "%1omsg needs a message parameter"
+
+#~ msgid "%1onotice needs a message parameter"
+#~ msgstr "%1onotice needs a message parameter"
+
+#~ msgid "Quit server when you hit the tab's close button"
+#~ msgstr "Quit server when you hit the tab's close button"
+
+#~ msgid "User Status"
+#~ msgstr "User Status"
+
+#~ msgid "Channel Modes: "
+#~ msgstr "Channel Modes: "
+
+#, fuzzy
+#~ msgid "Konversation::ChannelOptionsUI"
+#~ msgstr ""
+#~ "Konversation Channel List: %1 - %2\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "Alt+T"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Highlight_Config"
+#~ msgstr "Highlighting"
+
+#~ msgid "You set the channel mode to 'quiet' on %1."
+#~ msgstr "You set the channel mode to 'quiet' on %1."
+
+#~ msgid "%1 sets the channel mode to 'quiet' on %2."
+#~ msgstr "%1 sets the channel mode to 'quiet' on %2."
+
+#~ msgid "You remove the 'quiet' channel mode from %1."
+#~ msgstr "You remove the 'quiet' channel mode from %1."
+
+#~ msgid "%1 removes the 'quiet' channel mode from %2."
+#~ msgstr "%1 removes the 'quiet' channel mode from %2."
+
+#~ msgid "no"
+#~ msgstr "no"
+
+#~ msgid "Select DCC Download Folder"
+#~ msgstr "Select DCC Download Folder"
+
+#, fuzzy
+#~ msgid "Appearance-Chat Window"
+#~ msgstr "Chat Window"
+
+#, fuzzy
+#~ msgid "Appearance - Colors"
+#~ msgstr "Chat Window"
+
+#, fuzzy
+#~ msgid "Behavior - General"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Behavior - Connection"
+#~ msgstr "Connection"
+
+#, fuzzy
+#~ msgid "Behavior - Chatwindow"
+#~ msgstr "Connection"
+
+#, fuzzy
+#~ msgid "Behavior - Nickname List"
+#~ msgstr "Nickname List"
+
+#, fuzzy
+#~ msgid "Behavior - Tab Bar"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Behavior - Logging"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Behavior - DCC"
+#~ msgstr "Behaviour"
+
+#, fuzzy
+#~ msgid "Notification - Watched Nicknames"
+#~ msgstr "Edit Watched Nickname"
+
+#, fuzzy
+#~ msgid "Notification - Highlighting"
+#~ msgstr "Notification"
+
+#, fuzzy
+#~ msgid "Notification - On Screen Display"
+#~ msgstr "On Screen Display"
+
+#~ msgid "%1 sec"
+#~ msgstr "%1 sec"
+
+#~ msgid "Move Left"
+#~ msgstr "Move Left"
+
+#~ msgid "Move Right"
+#~ msgstr "Move Right"
+
+#~ msgid "Send Email..."
+#~ msgstr "Send Email..."
+
+#~ msgid "Edit &Contact..."
+#~ msgstr "Edit &Contact..."
+
+#~ msgid "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because the associated contact does not have any preferred email address set."
+#~ msgstr "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because the associated contact does not have any preferred email address set."
+
+#~ msgid "Sends an email to this contact using the preferred email address (%1) set in the contact's addressbook association"
+#~ msgstr "Sends an email to this contact using the preferred email address (%1) set in the contact's addressbook association"
+
+#~ msgid "Choose &Contact..."
+#~ msgstr "Choose &Contact..."
+
+#~ msgid "Create &New Contact..."
+#~ msgstr "Create &New Contact..."
+
+#~ msgid "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because this nick does not have any association with any contacts in your addressbook."
+#~ msgstr "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because this nick does not have any association with any contacts in your addressbook."
+
+#~ msgid "%1 - Offline"
+#~ msgstr "%1 - Offline"
+
+#~ msgid "Port to use, default is 6667"
+#~ msgstr "Port to use, default is 6667"
+
+#~ msgid "Edit Preferences"
+#~ msgstr "Edit Preferences"
+
+#~ msgid "Ignored Nicknames"
+#~ msgstr "Ignored Nicknames"
+
+#, fuzzy
+#~ msgid "Log"
+#~ msgstr "Logging"
+
+#, fuzzy
+#~ msgid "Theme"
+#~ msgstr "Themes"
+
+#, fuzzy
+#~ msgid "Warnings"
+#~ msgstr "Warning Dialogues"
+
+#~ msgid "Keep changes made to configuration and close the window"
+#~ msgstr "Keep changes made to configuration and close the window"
+
+#~ msgid "Keep changes made to configuration"
+#~ msgstr "Keep changes made to configuration"
+
+#~ msgid "unknown number of"
+#~ msgstr "unknown number of"
diff --git a/po/es/Makefile.am b/po/es/Makefile.am
new file mode 100644
index 0000000..d3df28d
--- /dev/null
+++ b/po/es/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = es
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/es/konversation.po b/po/es/konversation.po
new file mode 100644
index 0000000..2cd15ea
--- /dev/null
+++ b/po/es/konversation.po
@@ -0,0 +1,7625 @@
+# Translation of konversation to Spanish
+# This file is distributed under the same license as the Konversation package.
+# Copyright (C) 2003 Dario Abatianni <eisfuchs@tigress.com>
+#
+# Enrique Matias Sanchez (aka Quique) <cronopios@gmail.com>, 2003, 2004, 2005, 2006, 2007.
+# Pablo Pita Leira <pablo.pita@kdemail.net>, 2004.
+# Jaime Robles <jaime@kde.org>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2007-12-23 11:25+0100\n"
+"Last-Translator: Enrique Matias Sanchez (aka Quique) <cronopios@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"
+"X-Generator: KBabel 1.11.4\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Preferencias del canal de %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Ocultar los modos avanzados <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Mo&strar los modos avanzados >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Nuevo"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "desconocido"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Información disponible sobre el fichero %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Información del fichero"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "No se ha encontrado información detallada sobre este fichero."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Enviar"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Recibir"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "En cola"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Preparando"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "En espera"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Conectando"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Recibiendo"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Enviando"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Hecho"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Ha fallado"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Interrumpido"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/s"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Quien es"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versión"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Dar Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Quitar Op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Dar SemiOp"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Quitar SemiOp"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Dar voz"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Quitar voz"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modos"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Expulsar"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Expulsar y vetar"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Prohibir el apodo"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Prohibir *!*@*.máquina"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Prohibir *!*@dominio"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Prohibir *!usuario@*.máquina"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Prohibir *!usuario@dominio"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Expulsar y prohibir *!*@*.máquina"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Expulsar y prohibir *!*@dominio"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Expulsar y prohibir *!usuario@*.máquina"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Expulsar y prohibir *!usuario@dominio"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Expulsar / prohibir"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "No ignorar"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Abrir &consulta"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Abrir &conversación DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Enviar &fichero..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Enviar correo..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Asociaciones de la libreta de direcciones"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Añadir a los apodos vigilados"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Esto muestra toda la gente del canal. Se muestra el apodo de cada persona."
+"<br>Normalmente se muestra un icono que indica el estado de cada persona, pero "
+"no parece que usted tenga instalado ningún tema de iconos. Vea las preferencias "
+"de Konversation - <i>Configurar Konversation</i> bajo el menú <i>"
+"Preferencias</i>. Después vaya a la página de <i>Temas</i> en <i>Aspecto</i>"
+".</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Esto muestra a toda la gente del canal. Se muestra el apodo de cada "
+"persona, así como una imagen que indica su estado."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Esta persona tiene permisos de administrador.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Esta persona es dueña del canal.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Esta persona es operadora del canal.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Esta persona es semioperadora del canal.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Esta persona tiene voz, y puede por tanto hablar en un canal moderado.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Esta persona no tiene ningún permiso especial.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Esto indica que la persona está ausente en este momento.</td></tr></table>"
+"<p>El significado de administrador, propietario y semioperador varía entre los "
+"diferentes servidores de IRC."
+"<p>Al pasar el ratón sobre un apodo, se muestra su estado actual, así como la "
+"información que haya en la libreta de direcciones sobres esta persona. Consulte "
+"el manual de Konversation para más información.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Editar el contacto..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Elegir/cambiar asociaciones..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Elegir contacto..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Cambiar asociación..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Crear un nuevo contacto..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Borrar la asociación"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Consulta"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Aviso"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Excepción"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Solapas"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Hoy"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Ayer"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificado)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Correo"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Máscara de máquina:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Mensaje de ausencia:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(desconocido)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Conectado desde:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Pulse para ejecutar el editor de expresiones regulares (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "El editor de expresiones regulares (KRegExpEditor) no está instalado"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Saliente"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Entrante"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Ambos"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Unirse al canal en %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Conexión rápida"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servidor:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Introduzca aquí el servidor de la red."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Puerto:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "El puerto que usa el servidor IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Apodo:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "El apodo que desea usar."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "Contr&aseña:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Si el servidor de IRC requiere una contraseña, introdúzcala aquí (la mayoría de "
+"los servidores no precisan de contraseña)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Utilizar SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "C&onectar"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Conectarse al servidor"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "No se ha podido abrir un 'socket' de escucha: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Ofreciendo conexión de conversación DCC a %1 en el puerto %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Conversación DCC con %1 en el puerto %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Estableciendo conexión de conversación DCC con %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Conversación DCC con %1 en %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Se ha establecido una conexión de conversación DCC con %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Se ha roto la conexión, código de error %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Se ha recibido una petición CTCP-%1 desconocida de %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "No se ha podido aceptar el cliente."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Predeterminado ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Lista de servidores"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Pulse aquí para conectarse a la red y canal de IRC seleccionados."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Aquí tiene una lista con las redes de IRC configuradas. Una red de IRC es un "
+"conjunto de servidores que cooperan entre sí. Sólo necesita conectarse a uno de "
+"los servidores de la red para estar conectado a toda la red de IRC. Una vez "
+"conectado, Konversation se unirá automáticamente a los canales mostrados. "
+"Cuando se inicia Konversation por primera vez, ya están introducidos la red "
+"Freenode y el canal <i>#kde</i>."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Red"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identidad"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canales"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nuevo..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Pulse aquí para definir una nueva red, incluyendo el servidor al que desea "
+"conectarse, y los canales a los que unirse una vez conectado."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Editar..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Mostrar en el arranque de la aplicación"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nueva red"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Editar la red"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"No puede borrar %1.\n"
+"\n"
+"La red %2 necesita tener al menos un servidor."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"No puede borrar los servidores seleccionados.\n"
+"\n"
+"La red %1 necesita tener al menos un servidor."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "¿Seguro que desea borrar los elementos seleccionados?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "¿Seguro que desea borrar %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Mostrar los últimos:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Use este campo para indicar el tamaño máximo del fichero de registro. Esta "
+"opción no surtirá efecto hasta que reinicie Konversation. Cada fichero de "
+"registro puede tener una configuración independiente."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " kB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Borrar el fichero de registro"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Los mensajes del fichero de registro se muestran aquí. Los mensajes más "
+"antiguos están en la parte superior, y los más recientes en la inferior."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"¿Seguro que desea descartar definitivamente toda la información de registro de "
+"este fichero?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Nota: Al guardar el fichero de registro guardará todos los datos del fichero, "
+"no sólo la parte que puede ver en este visualizador."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Guardar el fichero de registro"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Elegir la carpeta de destino"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Información"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Ofreciendo conexión de conversación DCC a %1 en el puerto %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Intentos de reconexión:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Ya está conectado a %1. ¿Desea desconectarse de «%2» y conectarse a «%3» en su "
+"lugar?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Ya conectado a %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Conexión"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Ya está conectado a %1. ¿Desea desconectarse de «%2» y conectarse a «%3» en su "
+"lugar?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Editar el servidor"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Introduzca su <b>identidad</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Introduzca su <b>nombre real</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Introduzca al menos un <b>apodo</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Su identidad «%1» no está configurada correctamente:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Preferencias de la identidad"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Editar la identidad..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identidades"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identidad:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplicar"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Cambiar el nombre"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "General"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nombre &real:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Introduzca aquí su verdadero nombre. El IRC no pretende mantenerle oculto de "
+"sus amigos o enemigos. Tenga esto en cuenta si se siente tentado a comportarse "
+"indebidamente. Un «nombre verdadero» falso puede ser un buen método de "
+"disfrazar su género de los estúpidos que hay por ahí, pero su equipo siempre "
+"podrá ser localizado, así que nunca será realmente anónimo."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Apodo"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Ésta es su lista de apodos. Un apodo es el nombre por el que le conocerán los "
+"demás usuarios. Puede usar cualquier nombre que desee. El primer carácter debe "
+"ser una letra.\n"
+"\n"
+"Dado que los apodos deben ser únicos en cada red de IRC, el nombre deseado "
+"podría ser rechazado por el servidor si alguien estuviera usando ya ese apodo. "
+"Introduzca algunos apodos alternativos para usted mismo. Si su primera elección "
+"es rechazada por el servidor, Konversation intentará con los apodos "
+"alternativos."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Añadir..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Editar..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Identificar automáticamente"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vicio:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"El nombre del servicio puede ser <b><i>nickserv</i></b> "
+"o un nombre dependiente de la red como <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Contra&seña:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Ausente"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Marcar la última posición en las ventanas de charla al ausentarse"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Si marca esta casilla, siempre que efectúe una orden <b>/away</b>"
+", aparecerá una línea horizontal en el canal, marcando el punto es el que se "
+"ausentó. Los demás usuarios de IRC no verán esta línea horizontal."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Apodo en ausencia:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Introduzca un apodo que indique que usted está ausente. Siempre que efectúe una "
+"orden <b>/away mensaje</b> en cualquier canal al que esté unido con esta "
+"identidad, Konversation cambiará automáticamente su apodo al apodo en ausencia. "
+"Los demás usuarios podrán notar que está ausente de su equipo. Siempre que "
+"ejecute una orden <b>/away</b> en cualquier canal en el que esté ausente, "
+"Konversation cambiará automáticamente su apodo de vuelta al original. Si no "
+"quiere que su apodo cambie automáticamente al ausentarse, déjelo en blanco."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " líneas"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "En actividades de &consulta"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Reanudar au&tomáticamente las descargas"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Mensaje de ausencia:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Si marca esta casilla, Konversation enviará automáticamente un mensaje de "
+"ausencia a todos los canales a los que esté unido con esta identidad: <b>%s</b> "
+"es sustituido por el <b>mensaje</b>. Siempre que ejecute una orden <b>/away</b>"
+", se mostrará un mensaje de regreso en todos los canales a los que esté unido "
+"con esta identidad."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Mensaje de ausencia:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Mensaje de &regreso:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pre-orden:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Aquí puede introducir una orden a ejecutar antes de iniciar la conexión con el "
+"servidor."
+"<br>Si tiene varios servidores en esta identidad, la orden se ejecutara para "
+"cada uno de ellos"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent.:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Al conectarse, muchos servidores solicitan a su equipo una respuesta de IDENT. "
+"Si su equipo no está ejecutando un servidor de IDENT, esta respuesta en enviada "
+"por Konversation. No se permiten espacios."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Codificación:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Esta opción afecta a como se codifican y envían al servidor los caracteres que "
+"usted teclea. También afecta a como se muestran los mensajes. Cuando un usuario "
+"abre Konversation por primera vez, éste toma automáticamente esta opción del "
+"sistema operativo. Si tuviera problemas para ver correctamente los mensajes de "
+"otros usuarios, pruebe a cambiar esta configuración."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Razón del &abandono:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Siempre que abandone un canal, se enviará a él este mensaje."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Razón del &abandono:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Siempre que abandone un canal, se enviará a él este mensaje."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Razón de la &expulsión:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Siempre que sea expulsado de un canal (normalmente por un operador de IRC), se "
+"enviará este mensaje al canal."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Cambiar la información de identidad"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Descarta todos los cambios hechos"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Debe añadir al menos un apodo a la identidad."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Añadir el apodo"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Apodo:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Editar el apodo"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Añadir una identidad"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nombre de la identidad:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Debe dar un nombre a la identidad."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Cambiar el nombre de la identidad"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Esta identidad está en uso; si la elimina, las preferencias de red que la usan "
+"pasarán a usar la identidad predeterminada. ¿Debe borrarse de todas formas?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "¿Seguro que desea borrar toda la información de esta identidad?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Borrar la identidad"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplicar la identidad"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Usuarios normales"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voz (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Semiops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operadores (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administradores del canal (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Propietarios del canal (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Insertar carácter"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Insertar un carácter"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Editor de marcadores de Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "No hay ningún puerto disponible"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "No se ha podido abrir un 'socket'"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Buscar texto..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copiar el URL al portapapeles"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Añadir a los marcadores"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Guardar el enlace como..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Abrir una consulta con %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Unirse al canal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notificar"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Unirse"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Abandonar"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Abrir consulta"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Unirse"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Obtener la lista de &usuarios"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Obtener el &tema"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "No se ha encontrado ninguna coincidencia de «%1»."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Guardar el enlace como"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Lista de &servidores..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Gestionar las redes y los servidores"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Conexión rápida..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Introduzca la dirección del nuevo servidor de IRC al que conectarse"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Reconectarse"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Reconectarse al servidor actual."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Desconectarse"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Desconectarse del servidor actual."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identidades..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+"Gestionar las preferencias de apodo, ausencia y otras opciones de identidad"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Apodos &vigilados conectados"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Estado de &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Abrir el fichero de registro"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Abrir el histórico conocido de este canal en una nueva solapa"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Preferencias del &canal..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Abrir la ventana de preferencias del canal en esta solapa"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Lista de canales"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Mostrar una lista de todos los canales conocidos en este servidor"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Extractor de &URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+"Listar todos los URL que se han mencionado recientemente en una nueva solapa"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nueva &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Abrir una terminal en una nueva solapa"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Siguie&nte solapa"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "Solapa &anterior"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Cerrar la &solapa"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Siguiente solapa activa"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Mover la solapa hacia arriba"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Mover la solapa hacia abajo"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Mover la solapa a la derecha"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Mover la solapa a la izquierda"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Unirse al canal"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Habilitar las notificaciones"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Unirse al canal"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Especificar la codificación"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Ir a la solapa %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Limpiar las líneas &marcadoras"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Limpiar las líneas marcadoras de la solapa actual"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Limpiar la ventana"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Limpiar el contenido de la solapa actual"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Limpiar tod&as las ventanas"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Limpiar el contenido de todas las solapas abiertas"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Unirse al canal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Color de &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Establece el color de su mensaje de IRC actual"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "Línea &marcadora"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Insertar una línea horizontal en la solapa actual que sólo usted puede ver"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Carácter especial..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Insertar cualquier carácter en su mensaje actual de IRC"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Cerrar tod&as las consultas abiertas"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Ocultar la lista de apodos"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>¿Seguro que desea salir de <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Confirmar la salida"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>¿Seguro que desea salir de <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Konversation seguirá funcionando en la bandeja del sistema tras cerrar la "
+"ventana principal. Use <b>Salir</b> desde el menú <b>Konversation</b> "
+"para salir de la aplicación.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Anclar en la bandeja del sistema"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Esto ocultará la barra de menús completamente. Para que se muestre de "
+"nuevo, pulse %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Conmutar las notificaciones"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Conmutar la ausencia global"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Insertar un color de &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Insertar un &carácter especial..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Insertar una línea &marcadora"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Lista de &canales"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Poner como &ausente globalmente"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "En bruto"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Sintaxis: %1JOIN <canal> [contraseña]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Sintaxis: %1KICK <contraseña> [razón]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK solamente funciona desde dentro de un canal."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART sin parámetros funciona sólo desde dentro de un canal o una consulta."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART sin nombre de canal funciona sólo desde dentro de un canal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC sin parámetros funciona sólo desde dentro de un canal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC sin nombre de un canal funciona sólo desde dentro de un canal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES sin objetivo puede desconectarle del servidor. Indique «*» si realmente "
+"quiere esto."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Sintaxis: %1NOTICE <destinatario> <mensaje>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Enviando el aviso «%2» a %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Sintaxis: %1ME texto"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Enviando una petición CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "El fichero «%1» no existe."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Sintaxis: %1DCC [SEND apodo fichero]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Sintaxis: %1DCC [CHAT apodo]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Orden %1DCC %2 desconocida. Las órdenes posibles son SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Sintaxis: %1INVITE <apodo> [canal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr ""
+"%1INVITE sin nombre de canal funciona solamente desde dentro de un canal."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 no es un canal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Sintaxis: %1EXEC <script> [lista de parámetros]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "El nombre del script no puede contener «../»."
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Sintaxis: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "La lista actual de notificaciones está vacía."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Lista de notificaciones actual: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Introduzca el nombre de usuario y contraseña para obtener permisos de operador "
+"de IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Contraseña de operador de IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN sin nombre de canal funciona solamente desde dentro de un canal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr ""
+"%1KICKBAN sin nombre de canal funciona solamente desde dentro de un canal."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Sintaxis: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canal] "
+"<usuario|máscara>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Sintaxis: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canal] "
+"<usuario|máscara> [razón]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr ""
+"%1UNBAN sin nombre de canal funciona solamente desde dentro de un canal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Sintaxis: %1UNBAN [canal] patrón"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Se ha añadido %1 a su lista de ignorados."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Sintaxis: %1IGNORE [ -ALL ] <usuario 1> <usuario 2> ... <usuario n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Sintaxis: %1UNIGNORE <usuario 1> <usuario 2> ... <usuario n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Se ha eliminado %1 de su lista de ignorados."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "No existe tal ignorado: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "No existen tales ignorados: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Sintaxis: %1QUOTE lista de órdenes"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Sintaxis: %1SAY texto"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Sintaxis"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Sintaxis: %1AME texto"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Sintaxis: %1AMSG texto"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Sintaxis: %1OMSG texto"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Enviando el aviso «%1» a %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Sintaxis: %1ONOTICE texto"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "La codificación actual es: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Se ha cambiado a la codificación %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 no es una codificación válida."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Sintaxis: %1setkey <apodo> o <canal> <clave> Establece la clave de cifrado del "
+"apodo o canal."
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "Se ha borrado la tecla para %1."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Sintaxis: %1delkey <apodo> o <canal> Borra la clave de cifrado del apodo o "
+"canal."
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "Se ha borrado la tecla para %1."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "Se ha borrado la tecla para %1."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Sintaxis: %1DNS <apodo>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Resuelto %1 como: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "No se ha podido resolver %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "La resolución inversa requiere KDE 3.5.1 o superior."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Sintaxis: %1KILL <apodo> [comentario]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>La línea de entrada es donde usted teclea los mensajes a enviar al canal, "
+"consulta o servidor. Un mensaje enviado a un canal es visible para toda la "
+"gente del canal, mientras que un mensaje en una consulta se envía solamente a "
+"la persona con la que está conversando. "
+"<p>Para completar automáticamente el apodo que empiece a teclear, pulse la "
+"tecla tabulador. Si no ha empezado a teclear, se usará el último apodo "
+"completado con éxito."
+"<p>También puede enviar órdenes especiales:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>acción</i></th>"
+"<td>se muestra como una acción en el canal o consulta. Por ejemplo: <em>"
+"/me canta una canción</em> aparecerá en el canal como «Apodo canta una "
+"canción».</td></tr>"
+"<tr>"
+"<th>/whois <i>apodo</i></th>"
+"<td>muestra información sobre esta persona, incluyendo en que canales se "
+"encuentra.</td></tr></table>"
+"<p>Para más órdenes, consulte el Manual de Konversation."
+"<p>Un mensaje no puede contener varias líneas.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Está intentado pegar un gran cantidad de texto (%1 bytes o %2 líneas) en la "
+"conversación. Esto puede provocar que la conexión se rompa o una expulsión por "
+"enviar demasiados datos. ¿Seguro que quiere continuar?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Aviso de pegado grande"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Un cliente de IRC fácil de usar"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Servidor al que conectarse"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Puerto a usar"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canal al que unirse tras la conexión"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Apodo a usar"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Contraseña de conexión"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Usar SSL para la conexión"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C)2002-2007 por el equipo de Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation es un cliente para el protocolo Internet Relay Chat (IRC).\n"
+"Reúnase con amigos en la red, encuentre nuevas personas de confianza y\n"
+" suéltese hablando sobre sus temas favoritos."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Autor original, fundador del proyecto"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Encargado"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Responsable, coordinador de versiones, interacción con el usuario, manejo del "
+"protocolo"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, manejo de las codificaciones, posicionamiento de OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Manejo del protocolo, línea de entrada"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish, soporte de SSL, adaptación a KNetwork, apodos coloreados, temas de "
+"iconos"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refactorización, integración KAddressBook/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Alojamiento del sitio web"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Mantenimiento del sitio web"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Extensión de varios modos, colocación del elemento Cerrar, funcionalidad OSD"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentación, mejoras a los apodos vigilados conectados, extensión del "
+"navegador web personalizado"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configurador de colores, ventana de realce"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interfaz DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Codificaciones aparte de Latin 1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Vista del componente Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Conexión rápida, adaptación del nuevo OSD, otras características y correcciones"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Un puñado de correcciones y limpieza del código"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Mejoras a arrastrar y &soltar"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Trabajo artístico"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barra de búsqueda estilo Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+"Modos en bruto, agrupación de solapas por servidor, lista de prohibidos"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Parche para la bandeja del sistema"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Corrección de fallos"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Parche para los modos de usuario extendidos"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Parche para cerrar la solapa visible con un atajo"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Recorrer las solapas con la rueda del ratón"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Parche de modo de propiedad del canal"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Opción para habilitar el filtrado de colores IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Correcciones de fallos, trabajo de OSD, limpieza de temas"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Script sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"Se ha recibido una petición CTCP-PING de %1 al canal %2, enviando respuesta."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Se ha recibido una petición CTCP-%1 de %2, enviando respuesta."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Se ha recibido una petición de versión de %1 al canal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Se ha recibido una petición de versión de %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Se ha recibido una petición DCC SEND no válida de %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Se ha recibido una petición DCC ACCEPT no válida de %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Se ha recibido una petición DCC RESUME no válida de %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Se ha recibido una petición DCC CHAT no válida de %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Recibida orden DCC desconocida %1 de %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Se ha recibido una petición CTCP-%1 desconocida de %2 al canal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Se ha recibido una petición CTCP-%1 desconocida de %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 a %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Se ha recibido una respuesta de CTCP-PING de %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Se ha recibido una respuesta de CTCP-%1 de %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invitar"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 le ha invitado al canal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Bienvenido"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Servidor %1 (Versión %2), Modos de usuario: %3, Modos de canal: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Soporte"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Sus modos personales son:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modos del canal: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "protección de tema"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "sin mensajes del exterior"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "secreto"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "sólo por invitación"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privado"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderado"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "protegido con contraseña"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anónimo"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop de servidor"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "no se permiten colores"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limitado a %n usuario\n"
+"limitado a %n usuarios"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Modo"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Lista de canales de %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Creado"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Este canal fue creado el %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 está conectado ahora como %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nombres"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Fin de la lista de NOMBRES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TEMA"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "El canal %1 todavía no tiene definido su tema."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Tema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "El tema del canal %1 es: «%2»"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "El tema fue establecido por %1 en %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "El tema de %1 fue establecido por %2 en %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 está usando actualmente la máquina %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: No existe ese apodo o canal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "No existe ese apodo: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: No existe ese canal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Apodo"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "El apodo ya está en uso, pruebe otro apodo."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "El apodo ya está en uso. Intentando con %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Apodo erróneo. Cambiando el apodo a %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Usted no está en %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Mensaje del día:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Fin del mensaje del día"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Usted es ahora un operador de IRC en este servidor."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Usuarios"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Usuarios actualmente en la red: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Usuarios actualmente en %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Ausente"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 está ausente: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Ha invitado a %1 al canal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 es %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Resuelto %1 (%2) como la dirección: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "No se puede resolver la dirección %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 es un usuario identificado."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Quien"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 es %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Ausente)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Fin de la lista /WHO para %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 es usuario en los canales: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 tiene voz en los canales: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 es semioperador en los canales: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 es operador en los canales: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 es propietario de los canales: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 es administrador de los canales: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 está conectado vía %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 está disponible para ayudar."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 es un operador de IRC."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 día\n"
+"%n días"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 hora\n"
+"%n horas"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minuto\n"
+"%n minutos"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 segundo\n"
+"%n segundos"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 ha estado inactivo durante %2, %3, %4 y %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 ha estado inactivo durante %2, %3 y %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 ha estado inactivo durante %2 y %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 ha estado inactivo desde hace 1 segundo.\n"
+"%1 ha estado inactivo desde hace %n segundos."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 ha estado conectado desde %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Fin de la lista WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Máquina del usuario"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 está %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Operador de IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (ausente)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Lista de canales:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n usuario): %2\n"
+"%1 (%n usuarios): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Fin de la lista de canales."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Lista de vetados:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1definido por %2 en %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fin de la lista de vetados."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 no está disponible actualmente."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Orden desconocida."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "No registrado."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Esta orden requiere más parámetros."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Ha establecido modos personales: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "ha cambiado sus modos personales:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " establece el modo: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identidad predeterminada"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Editar los apodos vigilados"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Nombre de la &red:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Seleccione aquí la red de servidores a la que se conectará."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Apodo:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>El apodo a vigilar cuando se conecte a un servidor de la red.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Cambiar la información de notificación"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "La conexión está asegurada con SSL de %1 bits."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"La funcionalidad de conectarse a servidores usando comunicaciones cifradas por "
+"SSL no está disponible en Konversation porque no se habilitó el soporte de "
+"OpenSSL a la hora de compilar. Necesitará obtener una nueva versión de KDE que "
+"tenga soporte para SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"El certificado SSL devuelto por el servidor no fue reconocido. ¿Quizás este "
+"servidor no tenga soporte para SSL en el puerto indicado? Si este servidor "
+"soporta también comunicaciones normales, no SSL, la versión SSL estará en un "
+"puerto distinto."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"La dirección IP de la máquina %1 no corresponde con la indicada en el "
+"certificado."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autenticación del servidor"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detalles"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "El certificado del servidor (%1) no pasó el test de autenticidad."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "¿Desea acepta este certificado siempre, sin ser preguntado?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Siempre"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Sólo en las sesiones a&ctuales"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Realce] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Consulta] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 se ha unido a %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 ha abandonado %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 ha salido de %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ha cambiado su apodo a %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 desea enviarle un fichero"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 ha comenzado una conversación (consulta) con usted."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 está conectado (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 se ha desconectado (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Ha sido expulsado por %1 de %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 ha comenzado una conversación dcc con usted"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Realce] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "No ha sido posible conectarse a %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Usted se ha unido a %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Frase no encontrada"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Búsqueda interna"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interfaz de red"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Respuesta del servidor IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Indicar manualmente"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Selector de colores de IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Ninguna"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Servidor:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"El nombre o dirección IP del servidor. irchelp.org mantiene una lista de "
+"servidores."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Introduzca el número de puerto necesario para conectarse al servidor. En la "
+"mayoría de los servidores, debería ser el <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Contraseña:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Conexión s&egura (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Marque si desea usar el protocolo SSL (Secure Socket Layer) para comunicarse "
+"con el servidor. Esto protege la privacidad de sus comunicaciones entre su "
+"equipo y el servidor IRC. El serdebido debe soportar el protocolo SSL para que "
+"esto funcione. En la mayoría de los casos, si el servidor no soporta SSL, la "
+"conexión fallará."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Se requiere la dirección del servidor."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "El administrador ha restringido el derecho a enviar ficheros"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "El url «%1» no existe"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "No se ha podido recibir «%1»"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Introduzca el nombre del fichero"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>El fichero que está enviando a <i>%1</i> no tiene nombre."
+"<br>Introduzca un nombre de fichero para mostrárselo al receptor, o cancele la "
+"transferencia dcc</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "No se ha introducido ningún nombre de fichero"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"No se ha podido enviar una petición DCC SEND a la otra persona por medio del "
+"servidor IRC."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "A la espera de la aceptación del usuario remoto"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "No se ha podido aceptar la conexión (Error de 'socket')"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "No se ha podido abrir el fichero: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Error del 'socket': %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Tiempo agotado"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Fallo de conexión: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Usuario remoto desconectado"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"La operación se realizó con éxito. Nunca debería pasar en una ventana de error."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "No se ha podido leer del fichero «%1»."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "No se ha podido escribir al fichero «%1»."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Se ha producido un error fatal irrecuperable."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "No se ha podido abrir el fichero «%1»."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "La operación se ha interrumpido de manera inesperada."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "La operación ha expirado."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Se ha producido un error no especificado al cerrar."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Error desconocido. Código %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Envío DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Recepción DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (DCC inverso)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Servidor desconocido"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1en %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (puerto %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (puerto %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Sí, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 s"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Preparado."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Esto muestra el número de usuarios del canal, y el número de éstos que son "
+"operadores (ops)."
+"<p>Un operador de canal es un usuario que tiene permisos especiales, como la "
+"capacidad de expulsar y prohibir usuarios, cambiar los modos del canal y hacer "
+"operadores a otros usuarios.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Retraso: Desconocido"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Toda las comunicaciones con el servidor están cifradas. Esto hace más difícil "
+"que alguien pueda escucharlas."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>La barra de estado muestra varios mensajes, incluyendo cualquier problema "
+"de conexión con el servidor. A la derecha del todo se muestra la demora actual "
+"al servidor. La demora es el tiempo que tardan sus mensajes en llegar al "
+"servidor, y volver desde el servidor hasta usted.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Retraso: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Retraso: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Ninguna respuesta del servidor %1 desde hace más de %2, %3, %4 y %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Ninguna respuesta del servidor %1 desde hace más de %2, %3 y %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Ninguna respuesta del servidor %1 desde hace más de %2 y %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Sin respuesta del servidor %1 desde hace más de un segundo.\n"
+"Sin respuesta del servidor %1 desde hace más de %n segundos."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Buscando el servidor %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Servidor %1 no encontrado. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Servidor encontrado, conectando..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Conectado; ingresando..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "La conexión con el servidor %1 ha fallado: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"No ha sido posible conectarse a %1:%2 usando cifrado SSL. ¿Quizá el servidor no "
+"soporte SSL o haya elegido un puerto equivocado? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Error de conexión SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Desconectado del servidor."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"La conexión «%2» no aceptó ningún apodo de la identidad «%1».\n"
+"Introduzco un nuevo apodo o pulse Cancelar para desconectar:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Error del apodo"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Hubo un error leyendo los datos del servidor: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Seleccione el fichero (o ficheros) a enviar a %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 le ofrece enviarle «%2» (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "tamaño desconocido"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Pidiéndole a %1 que acepte el envío de «%2» (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Se ha recibido un mensaje no válido de aceptación de envío DCC pasivo de «%1» "
+"de %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Reanudando la descarga de «%1» de %2 empezando en el %3% de %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Se ha recibido un mensaje no válido de aceptación de reanudación de «%1» de %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Reanudando el envío de «%1» a %2 empezando en el %3% de %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Se ha recibido una petición de reanudación no válida de «%1» de %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "La descarga de «%1» de %2 ha finalizado."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "La descarga de «%1» de %2 ha fallado. Razón: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "El envío de «%1» a %2 ha finalizado."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "El envío de «%1»a %2 ha fallado. Razón: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Enviando «%1» a %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Descargando «%1» (%2) de %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 le ha invitado a unirse al canal %2. ¿Acepta la invitación?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invitación"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Error: No se ha encontrado el script «%1»."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Error: no se ha podido ejecutar el script «%1». Compruebe los permisos del "
+"fichero."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Ausente por ahora."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Usted está ahora marcado como ausente."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Usted ya no está marcado como ausente."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Usted no está marcado como ausente."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Apodos vigilados conectados"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Red/Apodo/Canal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Información adicional"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p> Estos son todos los apodos en su lista de apodos a vigilar, listados bajo "
+"la red de servidores a los que están conectados. Esta lista incluye también los "
+"apodos de KAddressBook asociados con la red de servidores.</p> "
+"<p>La columna de <b>Información adicional</b> muestra la información conocida "
+"sobre cada apodo.</p> "
+"<p>Los canales a los que se ha unido el apodo están listados bajo cada "
+"apodo.</p>"
+"<p>Los apodos que aparecen bajo <b>Desconectado</b> no están conectados a "
+"ningún servidor de la red.</p> "
+"<p>Pulse con el botón derecho del ratón sobre un apodo para realizar funciones "
+"adicionales.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Editar la lista a vigilar..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Pulse para editar la lista de apodos que aparecen en esta pantalla."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Libreta de direcciones:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Cuando selecciona un apodo de la lista de arriba, los botones de aquí se usan "
+"para asociar el apodo con una entrada de KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Editar c&ontacto..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Pulse para crear, ver, o editar una entrada de KAddressBook asociada al apodo "
+"seleccionado arriba."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Cambiar la asociación..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Pulse para asociar el apodo seleccionado arriba a una entrada de KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Borrar la asociación"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Pulse para eliminar la asociación entre el apodo seleccionado arriba y una "
+"entrada de KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " está conectado vía %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " desde %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Desconectado"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voz"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " SemiOperador"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operador"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Propietario"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Administrador"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Crear nuevo c&ontacto..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Elegir la asociación..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Unirse al canal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Seleccione el fichero de sonido"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Se ha iniciado el fichero de registro\n"
+"*** en %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Unirse automáticamente al canal al ser invitado"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Tenga en cuenta de que guardar ficheros de registro guardará todo el fichero"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Preguntar antes de borrar el contenido del fichero de registro"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Preguntar si cerrar las consultas después de ignorar el apodo"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Preguntar antes de conectarse a un servidor diferente de la red"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Preguntar antes de conectarse a un servidor diferente de la red"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Cerrar la solapa del servidor"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Cerrar la solapa de canales"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Cerrar la solapa de consulta"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"La lista de canales sólo puede ser abierta desde solapas que conozcan el "
+"servidor"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avisar al ocultar el menú de la ventana principal"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Avisar cuando haya mucho tráfico en la lista de canales"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avisar al pegar trozos grandes de texto"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Aviso al salir de Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Lista de canales"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Preferencias del filtro"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Mínimo de usuarios:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Máximo de usuarios:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Puede limitar la lista de canales a aquéllos que tengan un número mínimo de "
+"usuarios. Si elige 0, desactiva este criterio."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Puede limitar la lista de canales a aquéllos que tengan un número máximo de "
+"usuarios. Si elige 0, desactiva este criterio."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Patrón de filtrado:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Destino del filtro:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Introduzca aquí una cadena de filtro."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Expresión regular"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Aplicar el filtro"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Pulse aquí para recibir del servidor la lista de canales y aplicar el filtro."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Se muestra aquí la lista filtrada de canales. Observe que, si no usa "
+"expresiones regulares, Konversation lista cualquier canal cuyo nombre contenga "
+"la cadena de filtro que haya introducido. El nombre del canal no necesita "
+"comenzar con la cadena introducida.\n"
+"\n"
+"Seleccione el canal al que desee unirse pulsando sobre él. Pulse sobre el canal "
+"con el botón derecho para obtener una lista de todas las direcciones web "
+"mencionadas en el tema del canal."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nombre del canal"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Tema del canal"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Actualizar la lista"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Guardar la lista..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Unirse al canal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Pulse aquí para unirse al canal. Se crea una nueva solapa para él."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Guardar la lista de canales"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Lista de canales de Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canales: %1 (%2 visibles)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Usuarios no únicos: %1 (%2 visibles)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Abrir el URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Ningún URL encontrado>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Lista de canales de %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Conectado"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para mensajería "
+"instantánea, pero no indicó ningún contacto al que enviarle el mensaje. "
+"Probablemente sea un fallo de la otra aplicación."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para mensajería "
+"instantánea, pero Konversation no ha podido encontrar el contacto indicado en "
+"la libreta de direcciones de KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para mensajería "
+"instantánea, pero el usuario solicitado %1 no está conectado."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para enviar un fichero a "
+"un contacto, pero no indicó ningún contacto al que enviarle el fichero. "
+"Probablemente sea un fallo de la otra aplicación."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para enviar un fichero a "
+"un contacto, pero Konversation no ha podido encontrar el contacto indicado en "
+"la libreta de direcciones de KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para enviar un fichero a "
+"un contacto, pero el usuario solicitado %1 no está conectado actualmente."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Otra aplicación de KDE ha intentado usar Konversation para añadir un contacto. "
+"Konversation acepta esto."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"No se ha podido ejecutar el programa de libreta de direcciones (kaddressbook). "
+"Probablemente no esté instalado. Instale los paquetes «kdepim»."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"El contacto que ha seleccionado no tiene una dirección de correo asociada a el. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "No se puede enviar correo"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"No se ha podido ejecutar su programa de correo electrónico. Probablemente no "
+"esté instalado. Para instalar el programa de correo electrónico de KDE (kmail), "
+"instale los paquetes «kdepim»."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Ninguno de los contactos que ha seleccionado está asociado con contactos en la "
+"libreta de direcciones. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"El contacto que ha seleccionado no está asociado con ningún contacto en la "
+"libreta de direcciones. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Alguno de los contactos (%1) que ha seleccionado no está asociado con ningún "
+"contacto en la libreta de direcciones. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Uno de los contactos (%1) que ha seleccionado no está asociado con ningún "
+"contacto en la libreta de direcciones. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Puede pulsar con el botón de la derecha del ratón sobre un contacto, y elegir "
+"editar las asociaciones con la libreta de direcciones para asociarlo a un "
+"contacto de la libreta de direcciones."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Ninguno de los contactos que ha seleccionado tiene una dirección de correo "
+"asociada a él. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Alguno de los contactos (%1) que ha seleccionado no tienen una dirección de "
+"correo asociada a ellos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Uno de los contactos (%1) que ha seleccionado no tiene ninguna dirección de "
+"correo asociada a él. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Puede pulsar con el botón de la derecha del ratón sobre un contacto, y elegir "
+"editar el contacto de la libreta de direcciones, añadiéndole una dirección de "
+"correo electrónico."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Algunos de los contactos (%1) que ha seleccionado no están asociados con "
+"contactos de la libreta de direcciones, y algunos de los contactos (%2) no "
+"tienen ninguna dirección de correo asociada a ellos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Puede pulsar con el botón de la derecha del ratón sobre un contacto, y elegir "
+"editar las asociaciones con la libreta de direcciones para asociarlo a un "
+"contacto en la libreta de direcciones, y elegir editar el contacto de la "
+"libreta de direcciones, añadiéndole una dirección de correo electrónico."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"¿Desea enviar de todas formas un correo electrónico a los apodos para los que "
+"tiene una dirección de correo?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Enviar correo"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Enlazar el apodo de IRC a un contacto de la libreta de direcciones"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Elegir la persona que es «%1»."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "«%1» está actualmente asociado a un contacto."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "«%1» está actualmente asociado al contacto «%2»."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Aviso:</b>«%1» está listado actualmente como perteneciente a varios "
+"contactos. Seleccione el contacto correcto.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Nueva entrada en la libreta de direcciones"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nombre de la nueva entrada:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Extractor de URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Lista de URL (direcciones en internet) mencionadas en cualquier ventana de "
+"Konversation durante esta sesión."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Abrir el URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Seleccione un <b>URL</b> de arriba, y después pulse este botón para lanzar "
+"la aplicación asociada con el tipo mime del URL.</p> "
+"<p>En las <b>Preferencias</b>, bajo <b>Comportamiento</b> | <b>General</b>"
+", puede indicar un navegador web personalizado para los URL de tipo web.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copiar el URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Seleccione un <b>URL</b> de arriba, y pulse este botón para copiarlo al "
+"portapapeles."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Borrar el URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Seleccione un <b>URL</b> de arriba, y después pulse este botón para eliminarlo "
+"de la lista."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Guardar la lista..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Pulse para guardar la lista completa a un fichero."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Limpiar la lista"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Pulse para borrar la lista entera."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Guardar la lista de URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Editar pegado multilínea"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Añadir indicadores de &cita"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Canal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Se requiere el nombre del canal."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Registro en bruto"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Buscar texto en la solapa actual"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Lista de canales de %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Abrir el fichero de registro de %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Preferencias de &canal para %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Predeterminada (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Sólo puede buscar en campos de texto."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Buscar información textual"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Fichero de registro de %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Estado DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"El uso de esta función puede provocar mucho tráfico de red. Si su conexión no "
+"es lo suficientemente rápida, es posible que su cliente sea desconectado por el "
+"servidor."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Aviso de la lista de canales"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"La lista de canales sólo se puede abrir desde las ventanas de consulta, canal o "
+"estado, para saber a que servidor pertenece esta lista."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Introduzca aquí el nombre la red. Puede crear tantas entradas en la pantalla de "
+"la lista de servidores con la misma red como desee."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Elija una identidad existente o pulse el botón Editar para añadir una nueva "
+"identidad o editar una de las existentes. La identidad le identificará y "
+"determinará su apodo cuando se conecte a la red."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opcional. Esta orden será enviada al servidor tras conectarse. Ejemplo: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Este ejemplo es para la red "
+"freenode, que requiere que los usuarios registren su apodo con una contraseña i "
+"de autentiquen al conectarse. <i>konvirocks</i> es la contraseña para el apodo "
+"dado en la identidad. Puede introducir más de una orden separándolas por puntos "
+"y coma (;)."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Marque esta opción si quiere que Konversation se conecte automáticamente a esta "
+"red siempre que abra Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Ésta es una lista de los servidores de IRC en la red. Al conectarse a la red, "
+"Konversation intentará conectarse primero al servidor más alto. Si esto falla, "
+"intentará conectarse al segundo servidor. Si esto falla, lo intentará con el "
+"tercero, y así sucesivamente. Se debe indicar al menos un servidor. Pulse un "
+"servidor para seleccionarlo."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opcional. Ésta es una lista de los canales a los que se unirá automáticamente "
+"una vez que Konversation se haya conectado a un servidor. Puede dejar esto en "
+"blanco si no desea unirse automáticamente a ningún canal."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Cambiar la información de red"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Añadir servidor"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Editar el servidor"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Añadir canal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Editar el canal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "El nombre de la red es obligatorio."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Necesita añadir al menos un servidor a la red."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Temas de Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Seleccionar el paquete de tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "No fue posible descargar el tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "El archivo del tema no es válido."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "No se puede instalar el tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "¿Seguro que desea eliminar %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Eliminar el tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Cliente de IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Seleccione el destinatario"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Seleccionar el apodo y cerrar la ventana"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Cerrar la ventana sin cambios"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: no se ha encontrado el servidor %1."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "El administrador ha restringido el derecho a recibir ficheros"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Negociación no reconocida (tamaño de fichero=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>No se puede crear la carpeta.</b><br>Carpeta: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "No se ha podido crear una instancia KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>El fichero está siendo usado por otra transferencia.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Existe un fichero parcial.</b>"
+"<br>%1"
+"<br>Tamaño del fichero parcial: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>El fichero ya existe.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>No se ha podido abrir el fichero.<br>Error: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"No se ha podido enviar una confirmación de Reverse DCC SEND a la otra persona "
+"por medio del servidor IRC."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Esperando conexión"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Esperando la aceptación de la máquina remota"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"No se ha podido enviar una petición de reanudación de DCC RECV a la otra "
+"persona por medio del servidor IRC."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Respuesta inesperada de la máquina remota"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Error de transferencia"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Error de KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>En esta barra se muestran algunos detalles de la persona con la que está "
+"hablando en esta consulta. Se muestra el nombre completo y la máscara de "
+"máquina, junto con cualquier imagen o logotipo que esta persona tenga asociada "
+"en la libreta de direcciones de KDE."
+"<p>Consulte en el <i>Manual de Konversation</i> información sobre como asociar "
+"un apodo con un contacto en la Libreta de direcciones, y una explicación de qué "
+"es es la máscara de máquina.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(ausente)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "¿Desea ignorar a %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "¿Desea cerrar esta consulta después de ignorar este apodo?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Cerrar esta consulta"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Mantener abierto"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "¿Desea dejar de ignorar a %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identidad por omisión ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "¿Seguro que desea cerrar su consulta con %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Cerrar la consulta"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Hablando con usted mismo"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 ha dejado este servidor."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 ha dejado este servidor (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Previsualización OSD - arrastre para posicionar"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operador"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Propietario"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Semioperador"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Tiene voz"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interfaz"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportamiento"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notificaciones"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Ventana de conversación"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temas de la lista de apodos"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Colores"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Botones rápidos"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Conexión"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Lista de apodos"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Alias de órdenes"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Sustitución automática"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Registro"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Realces"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Apodos vigilados"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Visualización en pantalla"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Diálogos de advertencia"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Pregunta de recepción de DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Reanudar"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nombre del fichero o&riginal"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Sugerir un &nuevo nombre de fichero"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "S&obrescribir"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Cambiar &el nombre"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Buscar hacia adelante"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Diferenciar entre mayúsculas y minúsculas"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Sólo palabras completas"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Desde el cursor"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Cerrar la &solapa"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "¿Seguro que desea desconectarse de «%1»?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Desconectarse del servidor"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Desconectarse"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Empezado por"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Estado"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Compañero"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Progreso"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Posición"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Queda"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Velocidad"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Dirección del remitente"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Aceptar"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Interrumpir"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Abrir el fichero"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Comenzar a recibir"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Interrumpir la(s) transferencia(s)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Ejecutar el fichero"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Ver los detalles de la transferencia DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Seleccionar todos los elementos"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "S&eleccionar todos los elementos completados"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Aceptar"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&Interrumpir"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Reenviar"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Limpiar"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Abrir el fichero"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Información del fichero"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Editar las preferencias del canal"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Todo canal de IRC tiene un tema asociado a él. Éste es simplemente un "
+"mensaje que todos pueden ver."
+"<p>Si usted es un operador, o si no se ha establecido el modo de canal <em>"
+"'T'</em>, puede cambiar el tema pulsando el botón Editar propiedades del canal "
+"a la izquierda del tema. También puede ver allí el historial de temas.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>El modo <b>T</b>ema significa que solamente el operador del canal puede "
+"cambiar el tema del canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo puede cambiarlos un "
+"operador."
+"<p>Si<b>n</b> mensajes del exterior significa que los usuarios que no estén en "
+"el canal no pueden enviar mensajes para que toda la gente del canal los vea. "
+"Casi todos los canales tienen esto activado para impedir mensajes molestos.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>Un canal <b>S</b>ecreto no aparecerá en la lista de canales, ni ningún "
+"usuario podrá ver que usted están en el canal con la orden <em>WHOIS</em> "
+"o algo de por el estilo. Si este modo está activo, sólo las personas que están "
+"en el mismo canal sabrán que usted está en él.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>Un canal sólo por <b>i</b>nvitación significa que la gente sólo se puede "
+"unir al canal si es invitada. Para invitar a alguien, un operador de canal "
+"necesita enviar la orden <em>/invite apodo</em> desde dentro del canal.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos. "
+"<p>Un canal <b>p</b>rivado se muestra en el listado de todos los canales, pero "
+"el tema no se muestra. El <em>WHOIS</em> de un usuario puede mostrarle o no "
+"como unido a un canal privado, dependiendo del servidor de IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos. "
+"<p>Un canal <b>m</b>oderado es un canal en el que sólo pueden hablar los "
+"operadores, semioperadores y los que tengan voz.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>Un canal <b>p</b>rotegido requiere que los usuarios introduzcan una "
+"contraseña para unirse a él.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>Un canal con <b>l</b>ímite de usuarios significa que en un momento dado sólo "
+"puede haber en el canal una cantidad determinada de usuarios. Algunos canales "
+"tienen un robot que se se aloja en el canal y cambia esto automáticamente "
+"dependiendo de lo ocupado que esté el canal.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Número máximo de usuarios permitido en el canal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Éste el límite de usuarios del canal - el número máximo de usuarios que "
+"puede haber en el canal al mismo tiempo. Si usted es un operador, puede "
+"configurarlo. Si lo hace, se establecerá automáticamente el modo de canal <b>"
+"T</b>ema (el botón de la izquierda).</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Esto muestra su apodo actual, así como todas las alternativas que haya "
+"configurado. Si selecciona o escribe un apodo diferente, se enviará una "
+"petición al servidor de IRC para cambiar su apodo. Si el servidor lo permite, "
+"se seleccionará el nuevo apodo. Si escribe un nuevo apodo, necesita pulsar la "
+"tecla 'Intro' al final."
+"<p>Puede añadir o modificar los apodos alternativos desde la opción <em>"
+"Identidades</em> del menú <em>Archivo</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "¿Desea ignorar a los usuarios seleccionados?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "¿Desea dejar de ignorar a los usuarios seleccionados?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Terminación"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Posibles terminaciones: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Contraseña del canal"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Límite de apodos"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Introduzca el nuevo límite de apodos:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Usted es conocido ahora como %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 es conocido ahora como %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Se ha unido al canal %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 se ha unido a este canal (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Ha dejado este servidor."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Ha dejado este servidor (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Ha dejado el canal %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Ha dejado el canal %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 ha dejado este servidor (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 ha dejado este canal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 ha dejado este canal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Se ha expulsado a sí mismo del canal %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Se ha expulsado a sí mismo del canal %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Ha sido expulsado del canal %1 por %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Ha sido expulsado del canal %1 por %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Ha expulsado a %1 del canal."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Ha expulsado a %1 del canal (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 ha sido expulsado del canal por %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 ha sido expulsado del canal por %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n apodo\n"
+"%n apodos"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operador)\n"
+" (%n operadores)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "El tema del canal es «%1»."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Ha cambiado el tema del canal a «%1»."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 ha cambiado el tema del canal a «%2»."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Se ha dado privilegios de propietario de canal a sí mismo."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Ha dado privilegios de propietario de canal a %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 le ha dado privilegios de propietario de canal."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 le ha dado privilegios de propietario de canal a %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Recibe de usted mismo privilegios de propietario de canal."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Recibe de %1 privilegios de propietario de canal."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 recibe de usted privilegios de propietario de canal."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 recibe de %2 privilegios de propietario de canal."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Se da privilegios de administrador de canal a sí mismo."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Le da privilegios de administrador de canal a %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 le da privilegios de administrador de canal."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 le da privilegios de administrador de canal a %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Recibe de sí mismo privilegios de administrador del canal."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Recibe de %1 privilegios de administrador del canal."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 recibe de usted privilegios de administrador del canal."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 recibe de %2 privilegios de administrador del canal."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Se ha dado privilegios de operador de canal a sí mismo."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Ha dado privilegios de operador de canal a %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 le ha dado privilegios de operador de canal."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 le ha dado privilegios de operador de canal a %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Recibe de sí mismo privilegios de operador del canal."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Recibe de %1 privilegios de operador del canal."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 recibe de usted privilegios de operador del canal."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 recibe de %2 privilegios de operador del canal."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Usted se ha dado privilegios de semioperador de canal a sí mismo."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Usted ha dado privilegios de semioperador de canal a %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 le ha dado a usted privilegios de semioperador de canal."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 le ha dado privilegios de semioperador de canal a %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Recibe de sí mismo privilegios de semioperador."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Recibe privilegios de semioperador de canal de %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 recibe de usted privilegios de semioperador del canal."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 recibe de %2 privilegios de semioperador del canal."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Se da a usted mismo permiso para hablar."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Da a %1 permiso para hablar."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 le da permiso para hablar."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 le da a %2 permiso para hablar."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Recibe de sí mismo permiso para hablar."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Recibe de %1 permiso para hablar."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 recibe de usted permiso para hablar."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 recibe de %2 permiso para hablar."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Usted cambia el modo del canal a 'no se permiten colores'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 cambia el modo del canal a 'no se permiten colores'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Usted cambia el modo del canal a 'se permiten colores'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 cambia el modo del canal a 'se permiten colores'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Usted cambia el modo del canal a 'sólo invitados'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 cambia el modo del canal a 'sólo invitados'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Usted quita del canal el modo 'sólo invitados'."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 quita del canal el modo 'sólo invitados'."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Usted cambia el modo del canal a «moderado»."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 cambia el modo del canal a «moderado»."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Usted cambia el modo del canal a «no moderado»."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 cambia el modo del canal a «no moderado»."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Usted cambia el modo del canal a «sin mensajes del exterior»."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 cambia el modo del canal a «sin mensajes del exterior»."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Usted cambia el modo del canal a «permitir mensajes del exterior»."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 cambia el modo del canal a «permitir mensajes del exterior»."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Usted cambia el modo del canal a «privado»."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 cambia el modo del canal a «privado»."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Usted cambia el modo del canal a «público»."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 cambia el modo del canal a «público»."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Usted cambia el modo del canal a «secreto»."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 cambia el modo del canal a «secreto»."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Usted cambia el modo del canal a «visible»."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 cambia el modo del canal a «visible»."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Usted activa la «protección del tema»."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 activa la «protección del tema»."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Usted desactiva la «protección del tema»."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 desactiva la «protección del tema»."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Ha cambiado el tema del canal a «%1»."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 ha cambiado el tema del canal a «%2»."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Usted elimina el límite del canal."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 elimina el límite del canal."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Usted establece el límite del canal a %1 apodos."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 establece el límite del canal a %2 apodos."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Usted elimina el límite del canal."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 elimina el límite del canal."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Usted veta a %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 veta a %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Usted elimina el veto sobre %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 elimina el veto sobre %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Usted establece una excepción de veto sobre %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 establece una excepción de veto sobre %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Usted elimina la excepción de veto sobre %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 elimina la excepción de veto sobre %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Usted establece la máscara de invitación %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 establece la máscara de invitación %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Usted elimina la máscara de invitación %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 elimina la máscara de invitación %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Usted cambia el modo del canal a +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 cambia el modo del canal a +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Usted cambia el modo del canal a -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 cambia el modo del canal a -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Tiene que ser operador para modificar esto."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "El tema sólo puede ser cambiado por el operador del canal. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Prohibir los mensajes al canal de clientes del exterior. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canal secreto. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canal sólo por invitación. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canal privado. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canal moderado. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Proteger el canal con una contraseña."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Establecer el límite de usuarios del canal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "¿Desea dejar %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Dejar el canal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Dejar"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Enrique Matías Sánchez (Quique),Pablo Pita Leira"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "cronopios@gmail.com,pablo.pita@pitagoral.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "En cola"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Líneas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Sonido:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Líneas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Usuarios normales"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "En cola"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "En cola"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Recibir"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nombre del botón"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Acción del botón"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Acción del botón:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nombre del botón:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Rellenos disponibles"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Apodo actual\n"
+"%c: Canal actual\n"
+"%K: Contraseña del servidor\n"
+"%u: Lista de apodos seleccionados\n"
+"%s<term>%: término usado para separar los apodos en %u\n"
+"%n: Enviar la orden directamente al servidor en vez de a su línea de entrada"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Nombre del fichero:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Mismo:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Tipo:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Estado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Ubicación:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Progreso:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Compañero:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Abrir el fichero"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Tamaño del fichero:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Velocidad media:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Reanudado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Velocidad actual:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Posición actual:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Estimación del tiempo restante:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Ofrecido a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Finalizado a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Iniciado a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Tiempo de transferencia:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Habilitar la reconexión automática"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Tiempo máximo para la reconexión:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Intentos de reconexión:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " segundos"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Ilimitado"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Depuración"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Mostrar la ventana de &registros en bruto al conectarse"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Patrón"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tipo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Patrón:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Tipos de mensaje"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Nuevo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Eliminar &todo"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Nombre de la red:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identidad:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Órdenes:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Co&nectarse en el arranque de la aplicación"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servidores"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Añadir..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "E&ditar..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Unirse automáticamente a los canales"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Ed&itar..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Nombre alternativo:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Sustitución:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Nombre alternativo"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Sustitución"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Buscar el pró&ximo"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Buscar el anterior"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Órdenes a ejecutar cuando se pulse dos veces:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ordenar s&in diferenciar entre mayúsculas y minúsculas"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Ordenar por &actividad"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ordenar &por el estado del usuario"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Explicación"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Ordenar de nuevo los apodos con arrastrar y soltar)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstalar tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "Elimina&r el tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Icono para los usuarios normales"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Icono para los usuarios ausentes"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Iconos para los usuarios con voz"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Icono para los usuarios con privilegios de semioperador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Icono para los usuarios con privilegios de operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Icono para los usuarios con privilegios de administrador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Icono para los usuarios con privilegios de propietario"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Vista previa:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aspecto"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Colocación:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Mostrar los botones de &cierre en las solapas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Mostrar un botón de cierre en el lado de&recho de la barra de solapas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+"Limitar el &tamaño de las etiquetas de las solapas para que quepan todas en la "
+"pantalla"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Primer plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Poner las solapas nuevas en &primer plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Poner las &consultas nuevas en primer plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Modo"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Orden a &ejecutar cuando se pulse dos veces sobre el apodo:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Cuando pulsa dos veces sobre un apodo de la ventana de <b>"
+"Apodos conectados</b>,\n"
+"esta orden se sitúa en la <b>Línea de entrada</b> de la ventana del "
+"servidor.</p>\n"
+"<p>Se pueden usar los siguientes símbolos en la orden:</p>"
+"<ul>\n"
+"<li>%u: El apodo sobre el que se ha pulsado dos veces.</li>\n"
+"<li>%K: Contraseña del servidor.</li>\n"
+"<li>%n: Enviar la orden directamente al servidor en vez de a su línea de "
+"entrada.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Cuando pulsa dos veces sobre un apodo de la ventana de <b>"
+"Apodos conectados</b>,\n"
+" esta orden se sitúa en la <b>Línea de entrada</b> en la ventana del "
+"servidor.</p>\n"
+"<p>Se pueden usar los siguientes símbolos en la orden:</p>"
+"<ul>\n"
+"<li>%u: El apodo sobre el que se ha pulsado dos veces.</li>\n"
+"<li>%K: la contraseña del servidor.</li>\n"
+"<li>%n: Enviar la orden directamente al servidor en vez de a su línea de "
+"entrada.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Intervalo de act&ualización:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation comprobará el estado de los apodos listados abajo cada este "
+"intervalo."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+"Mostrar los apodos vigilados conectados en el arranque de la &aplicación"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Cuando está marcado, la ventana de <b>Apodos conectados</b> "
+"se abrirá automáticamente al iniciar Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Habilitar el vigilante de &apodos"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Cuando el vigilante de apodos está activado, será avisado cuando los apodos que "
+"aparecen en la lista de <b>Redes/apodos vigilados</b> "
+"se conecten o desconecten.</p>\n"
+"<p>También puede abrir la ventana <b>Apodos conectados</b> "
+"para ver el estado de todos los apodos vigilados.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Red:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"La red del servidor de IRC (como «freenode») a la que está conectado el usuario "
+"a vigilar seleccionado."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "El apodo (nombre de usuario) de la persona a vigilar seleccionada"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Redes/Apodos vigilados"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Si el vigilante de apodos está activado, se le avisará cuando los apodos de la "
+"lista de <b>Redes/apodos vigilados</b> se conecten o desconecten.</p>\n"
+"<p>También puede abrir la ventana <b>Apodos conectados</b> "
+"para ver el estado de todos los apodos vigilados.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Pulse para añadir un apodo a la lista."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Pulse para eliminar el apodo seleccionado de la lista."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Habilitar el registro"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Usar minúscu&las para los nombres de los ficheros de registro"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Añadir el nombre de la máquina al nombre del fichero"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Ruta del fichero de registro:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Habilitar la bandeja del sistema"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Usar la bandeja del sistema para la notificación de nuevos mensajes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Notificar solamente cuando se dispare un realce o se use su apodo actual"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Hacer &parpadear el icono"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Terminación de apodos"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Modo de terminación:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Recorrer la lista de apodos"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Tipo línea de órdenes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Tipo línea de órdenes con campo de terminación"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "&Sufijo al principio de línea:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&En otra parte:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Diferenciar mayúsculas y minúsculas"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Inhabilitar las notificaciones cuando se esté &ausente"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Usar respuesta de &versión personalizada:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Aquí puede establecer una respuesta personalizada a las peticiones <b>"
+"CTCP <i>VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "El campo de entrada se expande con el texto"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Carácter de or&den:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Utilizar &navegador web personalizado:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Limitar el tamaño de las etiquetas de las solapas para que quepan todas en la "
+"pantalla"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Ocultar la barra de desplazamiento"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Habilítelo si quiere comprobar la ortografía de todas las líneas introducidas "
+"en el IRC a medida que las escribe"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Si habilita esto, el campo de entrada crecerá verticalmente cuando se llene."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Oculto en la bandeja del sistema"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Iniciar con la ventana principal oculta"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Mo&strar los nombres reales al lado de los apodos"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Abrir la solapa de apodos vigilados en el arranque de la aplicación"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Habilitar los emoticonos"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tema de emoticonos"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Tema"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Fecha"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&dos"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "El &tema sólo puede ser cambiado por los operadores del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Si&n mensajes desde fuera del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canal &secreto, el canal no aparece en la lista de canales"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Solamente los &invitados pueden unirse al canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Éstos controlan el <em>modo</em> del canal. Sólo un operador puede "
+"cambiarlos."
+"<p>Un canal sólo por <b>i</b>nvitación significa que la gente sólo se puede "
+"unir al canal si es invitada. Para invitar a alguien, un operador del canal "
+"necesita lanzar la orden <em>/invite apodo</em> desde dentro del canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "Canal &moderado, sólo las personas con voz pueden escribir en el canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Contraseña del canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Límite de usuarios:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Mostrar los modos &avanzados >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Borrar, Tabulador, Borrar"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parámetro"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Lista de &vetados"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Elimina&r el veto"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Añadir un veto"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Máscara de la máquina"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Establecido por"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Tiempo definido"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Buscar:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Carpeta de descargas:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Añadir el remitente al nombre del fichero"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Cr&ear una carpeta para el remitente"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+"Convertir los espacios de los nombres de fichero a guiones bajos antes de "
+"enviar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Aceptar &automáticamente la oferta de descarga"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Reanudar au&tomáticamente las descargas"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Habilitar el envío rápido por DCC (puede que &no funcione con todos los "
+"clientes)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&Tamaño del búfer:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "T&iempo límite de envío DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Recurrir a una interfaz IPv&4 para envío DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Si esta opción está activa las descargas DCC de las conexiones IPv6 se "
+"realizarán por la interfaz IPv4 indicada aquí"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " s"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Habilitar Passive DCC send"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Método para obtener la IP propia:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "IP &propia:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Puertos"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Habilitar puert&os específicos para las charlas DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "a"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr ""
+"Habilitar unos &puertos específicos para el servidor de transferencias DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Usar texto coloreado"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Usar LED coloreados"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Suceso de la aplicación"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Los sucesos de la aplicación suceden en las solapas de Konsole, el estado DCC y "
+"otras solapas de la aplicación que no se usan directamente para charlar."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Mensaje"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Mensaje privado"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Apodo actual usado"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Suceso del canal"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Los sucesos del canal son los cambios de modo o los usuarios que entran y salen "
+"de un canal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Dar precedencia a los colores de realce de la ventana de charla"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Si selecciona esto, los colores que haya elegido en la página de preferencias "
+"del realce sustituirán a los colores del «Apodo usado actualmente» y del "
+"«Realce»."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Usar un tipo de letra &monoespaciado para los mensajes MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Muestra el MOTD (mensaje del día) en un tipo de letra monoespaciado"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr ""
+"En la ventana de charla, poner en &negrita los apodos de los remitentes"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Texto de charla:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Lista de apodos:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Barra de solapas:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Lista de realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Expresión regular"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Sonido"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Texto automático"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Patrón:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Color:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Sonido:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Probar el sonido"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Texto &automático:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Ha&bilitar los sonidos para los realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "&Siempre realzar el apodo propio actual:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Siempre realzar las &líneas propias:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Crear una nueva &entrada..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Crear una nueva entrada en su libreta de direcciones"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Fotografía"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nombre"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Seleccione el contacto con el que desea comunicarse por medio de mensajería "
+"instantánea"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Buscar:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Habilitar el pitido del &sistema al recibir un BEL de ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Hace sonar el pitido del sistema cuando se recibe un carácter de control ASCII "
+"BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Ocultar los sucesos de &unión/abandono/apodo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Inhabilitar la e&xpansión de variables (v.g.: %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"No expandir las variables al enviar texto al servidor. Una variable comienza "
+"con «%». Por ejemplo, %B expandirá los caracteres necesarios para poner un "
+"texto en negrita."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Redirigir los mensajes de estado a la ventana de estado del servidor"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Limite del &historial:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "¿Cuantas líneas se guardan en los búfer? 0 = ilimitado"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Usar los modos en bruto para los cambios de modo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Mantiene la cadena del modo del canal como una combinación de caracteres, en "
+"vez de traducirla a palabras inteligibles por humanos. Por ejemplo, «*** Modos "
+"del canal: sin mensajes del exterior» será «*** Modos del canal: n»"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " líneas"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Líneas marcadoras"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr ""
+"Mostrar las líneas insertadas manualmente en todas las ventanas de charla"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Marcar la última posición en una ventana de charla cuando se oculte"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Inserta una línea de recuerdo en la ventana de charla cuando cambia a otra "
+"ventana de charla o minimiza la aplicación."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Habilitar la búsqueda automática de información del usuario (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Número máximo de usuarios de un canal:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " apodos"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Intervalo de actualización:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Habilitar la visualización en pantalla"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Visualización en &pantalla"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Dibujar sombras"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Tipo de letra del OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Mostrar un mensaje &OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "S&i el apodo propio aparece en el mensaje del canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "En &cualquier mensaje del canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "En actividades de &consulta"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "En los sucesos de &unión/abandono"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Habilitar los colores personalizados"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Color del te&xto:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Color de &fondo:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "O&tras preferencias"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Duración:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Pantalla:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Ventana"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "Nue&vo"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Eliminar"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Sustituir en"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Buscar"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Sustituir por"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Sustituir en:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Buscar:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Sustituir por:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Habilitar las marcas de &tiempo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Mostrar las &fechas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Formato:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Mostrar el trabajo atrasado"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Líneas: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Disposición"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Mo&strar el tema del canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Mostrar los botones de &modo de canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Mostrar la barra de desplazamiento"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mostrar un &campo para cambiar el apodo propio"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Mostrar los botones &rápidos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Mo&strar los nombres reales al lado de los apodos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Mostrar la lista de &apodos y los botones rápidos del canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Mostrar las &máscaras de máquina en la lista de apodos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Habilitar la imagen de &fondo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Rut&a:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Colores personalizados"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Usar colores personalizados para el campo de entrada, la lista de apodos y la "
+"lista de solapas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Fondo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Mensaje del &servidor:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Enlace:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Mensaje del canal:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Acció&n:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Registro en &segundo plano:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Mensaje de or&den:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Mensaje de &consulta:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Marca de &tiempo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Fondo a&lternativo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Apodos coloreados"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Color del apodo pr&opio:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Permitir texto coloreado en los mensajes de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Al habilitar esta opción, los códigos de color añadidos a los mensajes de IRC "
+"se mostrarán en su ventana de conversación como texto coloreado. Puede añadir "
+"códigos de color a sus mensajes seleccionando Insertar -> Color de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Vista previa"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Así es como se mostrará su mensaje con estos colores"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Esto es una previsualización de como sus lectores podrían ver su mensaje si "
+"selecciona estos colores."
+"<br>\n"
+"<b>Nota: no todos los clientes admiten esto, y algunos usuarios pueden haber "
+"decidido ignorar sus cambios de color.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "El color de texto elegido se añade a la línea de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Aquí puede elegir el color que desee que tenga el texto del próximo mensaje "
+"que envíe. Si elije un color y pulsa Aceptar, el color elegido se añadirá a la "
+"línea de entrada. Todo texto que se escriba después de esto estará en el color "
+"elegido, hasta que vuelva a cambiar de color."
+"<br>\n"
+"<b>Nota: no todos los usuarios activan la opción que les permite ver esto.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Color &principal:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr ""
+"El color elegido para el fondo del texto se añade a la línea de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Aquí puede elegir el color que desee que tenga el fondo del texto del "
+"próximo mensaje que envíe.\n"
+"Si elije un color y pulsa Aceptar, el color elegido se añadirá a la línea de "
+"entrada.\n"
+"Todo texto que se escriba después de esto estará en el color elegido, hasta que "
+"vuelva a cambiar de color."
+"<br>\n"
+"Seleccionando el predefinido «<i>Ninguno</i>» no cambiará el color de fondo de "
+"su mensaje, de tal forma que sus lectores verán su mensaje con el color de "
+"texto de fondo normal."
+"<br>\n"
+"<b>Nota: no todos los usuarios activan la opción que les permite ver esto.</b>"
+"</qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Diálogos de advertencia a mostrar"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Contraseña:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Servidor:"
+
+#~ msgid "Messages"
+#~ msgstr "Mensajes"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Mostrar los mensajes de &ausencia"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Establecer como &disponible globalmente"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Cada "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avisar al borrar fichero recibido por DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Se ha definido con éxito la tecla para %1."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "No se ha podido eliminar el fichero «%1»."
+
+#~ msgid "DCC Error"
+#~ msgstr "Error de DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Eliminar el fichero"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detalles de la transferencia"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Eliminar de este panel"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Eliminar los ficheros recibidos"
+
+#~ msgid "&Remove File"
+#~ msgstr "Elimina&r el fichero"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "¿Seguro que desea eliminar el fichero seleccionado?\n"
+#~ "¿Seguro que desea eliminar los %n ficheros seleccionados?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Confirmación de borrado"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "En la lista de apodos, muestra el nombre real de una persona al lado de su apodo."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Se ha perdido la conexión con el servidor %1: %2. Intentando reconectar."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Intentando con el servidor %1 en su lugar."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Esperando dos minutos antes de otro intento de reconexión..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Grupos de preferencias disponibles: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Opciones disponibles en el grupo %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Sintaxis: %1PREFS <grupo> <opción> <valor> o %2PREFS LIST para listar los grupos o %3PREFS grupo LIST para listar las opciones en el grupo. Coloque los parámetros entre comillas si contienen espacios."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Detalles de la transferencia"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Clave del canal:"
diff --git a/po/et/Makefile.am b/po/et/Makefile.am
new file mode 100644
index 0000000..21009b2
--- /dev/null
+++ b/po/et/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = et
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/et/konversation.po b/po/et/konversation.po
new file mode 100644
index 0000000..9ec07ea
--- /dev/null
+++ b/po/et/konversation.po
@@ -0,0 +1,7515 @@
+# translation of konversation.po to Estonian
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+# Marek Laane <bald@starman.ee>, 2003-2008.
+# Hasso Tepper <hasso@kde.org>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-14 16:41+0200\n"
+"Last-Translator: Marek Laane <bald@starman.ee>\n"
+"Language-Team: Estonian <kde-et@linux.ee>\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"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Kanali valikud %1 jaoks"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Peida muud režiimid <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Näit&a muid režiime >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Uus"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "tundmatu"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Saadaolev info faili %1 kohta:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Faili info"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Faili kohta ei leitud üksikasjalikumat infot."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Saatmine"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Saamine"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Järjekorras"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Ettevalmistamine"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Ootel"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Ühendumine"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Saamine"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Saatmine"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Tehtud"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Ebaõnnestus"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Katkestatud"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sek"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "K&eson"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versioon"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Anna op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Võta op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Anna poolop"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Võta poolop"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Anna hääl"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Võta hääl"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Režiimid"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Viska välja"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Viska välja ja pagenda"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Pagenda kasutaja"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Pagenda *!*@*.masin"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Pagenda *!*@domeen"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Pagenda *!kasutaja@*.masin"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Pagenda *!kasutaja@domeen"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Viska välja ja pagenda *!*@*.masin"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Viska välja ja pagenda *!*@domeen"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Viska välja ja pagenda *!kasutaja@*.masin"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Viska välja ja pagenda *!kasutaja@domeen"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Viska välja / pagenda"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignoreeri"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Ära ignoreeri"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Ava &vestlus"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Ava D&CC vestlus"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Saada &fail..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Saada e-kiri..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Aadressiraamatu seosed"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Lisa jälgitavate kasutajate hulka"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>See näitab kõiki kanalil viibijaid. Näidatakse iga isiku hüüdnime."
+"<br>Tavaliselt näitab ikoon isikute staatust, kuid paistab, et sul ei ole ühtki "
+"ikooniteemat paigaldatud. Uuri Konversationi seadistusi - <i>"
+"Konversationi seadistamine...</i> menüüs <i>Seadistused</i>"
+". Ilmuvas dialoogis vali <i>Välimus</i> ja seal <i>Teemad</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>See näitab kõiki kanalil viibijaid. Näha on iga isiku hüüdnimi koos tema "
+"staatusele viitava pildiga."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Sel isikul on administraatori õigused.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>See on kanali omanik.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>See on kanali operaator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>See on kanali pooloperaator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Sel isikul on hääl, mistõttu ta võib vestelda ka modereeritaval "
+"kanalil.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Sel isikul pole mingeid eriprivileege.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>See tähendab, et isik on parajasti eemal.</td></tr></table>"
+"<p>Administraatori, omaniku ja pooloperaatori tähendused on erinevatel IRC "
+"serveritel erinevad."
+"<p>Hiire seismajätmine mõne hüüdnime kohal näitab tema praegust staatust ning "
+"aadressiraamatus tema kohta leiduvat infot (kui seda on). Täpsemalt vaata "
+"Konversationi käsiraamatust.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Muuda kontakti..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Vali/muuda seoseid..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Vali kontakt..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Muuda seost..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Loo uus kontakt..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Kustuta seos"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Vestlus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Märguanne"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Erand"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Kaardid"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Täna"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Eile"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (tuvastatud)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-post"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Masinamask:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Eemalolekusõnum:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(tundmatu)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Võrgus alates:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Klõpsa regulaaravaldiste redaktori (KRegExpEditor) käivitamiseks"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Regulaaravaldiste redaktor (KRegExpEditor) pole paigaldatud"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Väljuv"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Sisenev"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Mõlemad"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Liitu kanaliga serveris %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Kiirühendus"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Server:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Sisesta siia võrgu server."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Port, mida IRC server kasutab."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Hüüd&nimi:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Hüüdnimi, mida soovid kasutada."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "P&arool:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Kui sinu IRC server nõuab parooli, anna see siin. (Enamik servereid parooli ei "
+"nõua.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL-i kas&utamine"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Ü&henda"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Ühendumine serveriga"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Sokli avamine jälgimiseks nurjus: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "DCC vestluse ühenduse pakkumine %1-le pordis %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC vestlus kasutajaga %1 (port %2)"
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "DCC vestluse ühenduse kasutajaga %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC vestlust kasutajaga %1 (%2:%3)"
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "DCC vestluse ühendus kasutajaga %1 loodud"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Ühendus läks katki, veakood %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Saadi tundmatu CTCP-%1 soov kasutajalt %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Kliendi aktsepteerimine ebaõnnestus."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Vaikimisi ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Serverite nimekiri"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Klõpsa siia ühendumiseks valitud IRC võrgu ja kanaliga."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Siin on kirjas seadistatud IRC võrgud. IRC võrk kujutab endast koostööd "
+"tegevate serverite kogumit. Sul tuleb võtta ühendust ainult ühe võrku kuuluva "
+"serveriga ning sa oled kohe ühendatud terve IRC võrguga. Ühendumise järel võtab "
+"Konversation automaatselt ühendust kõigi näidatud kanalitega. Konversationi "
+"esmakordsel käivitamisel ootab sind juba ees Freenode'i võrk ja <i>#kde</i> "
+"kanal."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Võrk"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identiteet"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanalid"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Uus..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Klõpsa siia uue võrgu määramiseks (sealhulgas server, millega ühenduda, ja "
+"kanalid, millega ühendumise järel automaatselt liitutakse)."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "R&edigeeri..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Näitamine rakenduse käivitamisel"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Uus võrk"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Võrgu muutmine"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1 kustutamine ei ole võimalik.\n"
+"\n"
+"%2 võrk vajab vähemalt üht serverit."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Valitud serverite kustutamine ei ole võimalik.\n"
+"\n"
+"%1 võrk vajab vähemalt üht serverit."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Kas tõesti kustutada valitud kirjed?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Kas tõesti kustutada %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Näita viimast:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Selles kastis saab määrata logifaili maksimaalse suuruse. Määrang jõustub alles "
+"pärast Konversationi taaskäivitamist. Kõigil logifailidel võivad olla omaette "
+"määrangud."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Puhasta logifail"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr "Siin näeb logifaili teateid. Vanemad teated on ülal, viimased all."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "Kas tõesti kustutada jäädavalt kogu selle faili kohta logitud info?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Märkus: logifaili salvestades salvestatakse kõik failis olevad andmed, mitte "
+"ainult see, mis praegu näha."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Salvesta logifail"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Vali sihtkataloog"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Ühendumise proovimine masinaga %1 %2 sekundi pärast."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Taasühendumise proovimine masinaga %1 %2 sekundi pärast."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Taasühendumise katsete arv on täis."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Oled juba %1-ga ühendatud. Kas soovid avada uue ühenduse?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Juba %1-ga ühendatud"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Loo ühendus"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Oled juba %1-ga ühendatud '%2' kaudu (port %3). Kas soovid lülituda selle "
+"asemel '%4' (port %5) peale?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Serveri muutmine"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Palun täida oma <b>identiteet</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Palun täida oma <b>tegelik nimi</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Palun määra vähemalt üks <b>hüüdnimi</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Sinu identiteet \"%1\" ei ole korrektne:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Identiteedi seadistused"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Muuda identiteeti..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identiteedid"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identiteet:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplikaat"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Nimeta ümber"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Üldine"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Tegelik nimi:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Kirjuta siia oma pärisnimi. IRC ei ole mõeldud enda varjamiseks ei sõprade ega "
+"vaenlaste eest. Arvesta sellega, kui sind vaevab kiusatus midagi paha teha. Kui "
+"annad väljamõeldud \"tegeliku nime\", saad muidugi oma õige nime varjata, aga "
+"pea meeles, et alati on võimalik välja selgitada arvuti, mille taga töötad, nii "
+"et päris anonüümne ei saa sa kuidagi olla."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Hüüdnimi"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"See on sinu hüüdnimede nimekiri. Hüüdnimi on nimi, mille järgi teised sind "
+"tunnevad. Sa võid valida mis tahes nime, ainult et esimene märk peab olema "
+"täht.\n"
+"\n"
+"Kuna hüüdnimed peavad kogu IRC võrgus olema unikaalsed, võib juhtuda, et server "
+"lükkab sinu eelistatud hüüdnime tagasi, sest keegi juba kasutab sellist. "
+"Sellisel juhul on mõttekas määrata alternatiivsed hüüdnimed. Kui server lükkab "
+"esimese eelistuse tagasi, üritab Konversation kasutada alternatiive."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Lisa..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Muuda..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Automaatne identiteet"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "T&eenus:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Teenuse nimi võib olla näiteks <b><i>nickserv</i></b> "
+"või võrku äratoov, nagu <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Parool:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Eemalolek"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+"Viimase asukoha märkimine vestlusaknas ajaks, mil sellest eemal ollakse"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Selle märkimisel lisatakse alati, kui annad käsu <b>/away</b>"
+", kanalile rõhtjoon kohta, kus sa enda eemaleminekust teatasid. Teised IRC "
+"kasutajad seda joont ei näe."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Eemaloleku hüüdnimi:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Sisesta siia hüüdnimi, mida kasutatakse siis, kui oled eemal. Kui nüüd annad "
+"mis tahes kanalil, millega oled antud identiteeti kasutades liitunud, käsu <b>"
+"/away sõnum</b>, muudab Konversation sinu hüüdnime automaatselt eemaloleku "
+"hüüdnimeks. Teised kasutajad saavad selle järgi teada, et oled arvutist eemal. "
+"Kui annad hiljem kanalil, millel oled parajasti eemal, käsu <b>/away</b>"
+", muudab Konversation sinu hüüdnime taas algsele kujule. Kui sa ei soovi, et "
+"sinu hüüdnime eemale minnes automaatselt muudetaks, ära seda võimalust kasuta."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Automaatne eemalolek"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Selle märkimisel määrab Konversation kõigi seda identiteeti kasutavate "
+"ühenduste puhul automaatselt olekuks 'eemal', kui käivitub ekraanisäästja või "
+"on möödunud allpool määratud hulk aega ilma mingi tegevuseta."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Eemalolek määratakse pärast"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " minutit"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "kasutaja tegevusetust"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Automaatne aktiivsuse taastamine"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Selle märkimisel lõpetab Konversation automaatselt kõigi seda identiteeti "
+"kasutavate ühenduste eemaloleku, kui ekraanisäästja peatab töö või tuvastatakse "
+"kasutaja tegevus."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Eemalolekusõnumid"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Selle märkimisel saadab Konversation automaatselt eelmaolekusõnumi kõigile "
+"kanalitele, millega oled antud identiteeti kasutades liitunud. <b>%s</b> "
+"asemele pannakse <b>sõnum</b>. Kui annad käsu <b>/away</b>"
+", näidatakse kõigil kanalitel, millega oled antud identiteeti kasutades "
+"liitunud, naasmissõnumit."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Eemal&olekusõnum:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Naasmis&sõnum:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Muud"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "Shelli eel&käsk:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Siin saab määrata käsu, mis käivitatakse enne serveriga ühenduse loomist"
+"<br>Kui sul on antud identiteediga mitu serverit, käivitatakse käsk kõigi "
+"serverite jaoks"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Ühendumisel esitavad paljud serverid sinu arvutile IDENT-päringu. Kui sinu "
+"arvutis ei tööta IDENT-server, saadab vastuse Konversation. Tühikud ei ole "
+"vastuses lubatud."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Kodeering:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Siin saab määrata, millises kodeeringus edastatakse sinu kirjutatud märgid "
+"serverile. See mõjutab ka sõnumite näitamist. Konversationi esmakordsel "
+"kasutamisel hangib rakendus selle väärtuse automaatselt operatsioonisüsteemist. "
+"Kui sul aga tekib raskusi teiste kasutajate sõnumite korrektse nägemisega, võid "
+"üritada seda väärtust muuta."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "&Väljumise põhjus:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Serverist lahkudes saadetakse alati teistele siin antud sõnum."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "La&hkumise põhjus:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Kanalilt lahkudes saadetakse kanalile alati siin antud sõnum."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Väljavis&kamise põhjus:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Kui sind kanalilt välja visatakse (tavaliselt saab seda teha IRC operaator), "
+"saadetakse see sõnum kanalile."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Identiteedi info muutmine"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Tühistab kõik tehtud muudatused"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Identiteedile tuleb lisada vähemalt üks hüüdnimi."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Palun anna tegelik nimi."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Hüüdnime lisamine"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Hüüdnimi:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Hüüdnime muutmine"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Identiteedi lisamine"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identiteedi nimi:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Identiteedile tuleb anda nimi."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Identiteedi ümbernimetamine"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"See identiteet on kasutusel. Selle emaldamisel antakse seda kasutavatele "
+"võrguseadistustele vaikeidentiteet. Kas ikkagi kustutada?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Kas tõesti kustutada jäädavalt kogu selle identiteedi info?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Identiteedi kustutamine"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Identiteedi kloonimine"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Tavalised kasutajad"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Hääl (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Pooloperaatorid (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operaatorid (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Kanali administraatorid (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Kanali omanikud (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Sümboli lisamine"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Lisa sümbol"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversationi järjehoidjate redaktor"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Vaba porti pole"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Sokli avamine ebaõnnestus"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Otsi teksti..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Kopeeri URL lõikepuhvrisse"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Lisa järjehoidjatesse"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "&Salvesta link kui..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Ava vestlus kasutajaga %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Liitu kanaliga %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Märguanne"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Liitumine"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Lahkumine"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Ava vestlus"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "L&iitu"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Hangi kas&utajate nimekiri"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Hangi &teema"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\" sobivusi ei leitud."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Lingi salvestamine"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Serverite nimekiri..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Võrkude ja serverite haldamine"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Kiirühendus..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Kirjuta uue IRC serveri aadress, millega ühendus luua"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "Ü&henda uuesti"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Taasühendumine aktiivse serveriga"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "Katkesta ühendus"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Ühenduse katkestamine aktiivse serveriga"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identiteedid..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Hüüdnime, eemaloleku ja muude endaga seotud asjade haldamine"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Jälgitavad kasutajad võrgus"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC olek"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Ava logifail"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Avab kanali ajaloo uuel kaardil"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Kanali seadistused..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Avab antud kaardi kanali seadistuste dialoogi"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Kana&lite nimekiri"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Näitab serveri kõigi teadaolevate kanalite nimekirja."
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "U&RL püüdja"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Näitab kõigi kanalitel mainitud URL-ide ajalugu uuel kaardil"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&Uus Konsool"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Avab terminali uuel kaardil."
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Jär&gmine kaart"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Eelmine kaart"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Sulge kaart"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Järgmine aktiivne kaart"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Liiguta kaart üles"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Liiguta kaart alla"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Liiguta kaart paremale"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Liiguta kaart vasakule"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Liitu kanaliga uuesti"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Luba märguanded"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Liitu ühendumisel"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Määra kodeering"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Mine kaardile %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "&Puhasta meelespidamisread"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Aktiivse kaardi puhastamine meelespidamisridadest"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Puhasta aken"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Aktiivse akna sisu puhastamine"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Pu&hasta kõik aknad"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Kõigi avatud akende sisu puhastamine"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Globaalne eemalolek"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Liitu kanali&ga..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Lisa &IRC värv..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Määrab sinu praeguse IRC sõnumi värvi."
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Meelespidamisrida"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Lisab aktiivsel kaardil ainult sulle nähtava rõhtjoone"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Lisa erisüm&bol..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Lisab mis tahes sümboli sinu praegusesse IRC sõnumisse"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "S&ulge kõik avatud vestlused"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Peida kasutajate nimekiri"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>Sul on pooleli DCC failiülekanne. Kas tõesti soovid <b>Konversationist</b> "
+"väljuda?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Väljumise kinnitus"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Kas tõesti soovid <b>Konversationist</b> väljuda?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Peaakna sulgemine jätab Konversationi käima süsteemses salves. Rakendusest "
+"väljumiseks kasuta menüüs <b>Konversation</b> leiduvat käsku b>Välju</b>.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Dokkimine süsteemsesse salve"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>See peidab üldse menüüriba. Seda saab näha uuesti, kui kirjutada %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Märguannete lülitamine"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Glo&baalse eemaloleku lülitamine"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Lisa &IRC värv..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Lisa erisüm&bol..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Lisa &meelespidamisrida"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Ka&nalite nimekiri"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Määra glo&baalselt eemalolevaks"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Toores"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Kasutamine: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Kasutamine: %1JOIN <kanal> [parool]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Kasutamine: %1KICK <kasutaja> [põhjus]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK toimib ainult kanalitel."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART ilma parameetriteta toimib ainult kanalil või vestluses."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART ilma kanalinimeta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC ilma parameetriteta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC ilma kanalinimeta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES ilma sihtmärgita võib isegi katkestada ühenduse serveriga. Kui sa seda "
+"tõesti tahad, siis lisa vähemalt '*'."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Kasutamine: %1close [aken] sulgeb nimega antud kanali või vestluskaardi või "
+"aktiivse kaardi, kui nimi on andmata."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Kasutamine: %1NOTICE <saaja> <sõnum>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Sõnumi \"%2\" saatmine kasutajale %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Kasutamine: %1ME tekst"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "CTCP-%1 soovi saatmine kasutajale %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Faili \"%1\" ei ole olemas."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Kasutamine: %1DCC [SEND kasutaja failinimi]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Kasutamine: %1DCC [CHAT kasutaja]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Tundmatu käsk %1DCC %2. Võimalikud käsud on SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Kasutamine: %1INVITE <kasutaja> [kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE ilma kanalinimeta toimib ainult kanalitel."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 ei ole kanal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Kasutamine: %1EXEC <skript> [parameetrite nimekiri]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Skripti nimes ei tohi esineda \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Kasutamine: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Aktiivne märguannete nimekiri on tühi."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Aktiivne märguannete nimekiri: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Sisesta IRC operaatori õiguste saamiseks nimi ja parool:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC operaatori parool"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN ilma kanalinimeta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN ilma kanalinimeta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Kasutamine: %1BAN [-MASIN | -DOMEEN | -KASUTAJA_MASIN | -KASUTAJA_DOMEEN] "
+"[kanal] <kasutaja|mask>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Kasutamine: %1KICKBAN [-MASIN | -DOMEEN | -KASUTAJA_MASIN | -KASUTAJA_DOMEEN] "
+"[kanal] <kasutaja|mask> [põhjus]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN ilma kanalinimeta toimib ainult kanalil."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Kasutamine: %1UNBAN [kanal] muster"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 lisati sinu ignoreeritavate nimekirja."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+"Kasutamine: %1IGNORE [ -ALL] <kasutaja 1> <kasutaja 2> ... <kasutaja n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Kasutamine: %1UNIGNORE <kasutaja 1> <kasutaja 2> ... <kasutaja n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 eemaldati sinu ignoreeritavate nimekirjast."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "%1: pole sellist ignoreeritavat."
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "%1: pole selliseid ignoreeritavaid."
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Kasutamine: %1QUOTE käskude nimekiri"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Kasutamine: %1SAY tekst"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Kasutamine"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Kasutamine: %1AME tekst"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Kasutamine: %1AMSG tekst"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Kasutamine: %1OMSG tekst"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Märguande \"%1\" saatmine kasutajale %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Kasutamine: %1ONOTICE tekst"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Aktiivne kodeering: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Lülituti %1 kodeeringule."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 ei ole sobiv kodeering."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Kasutamine: %1setkey [<kasutaja|kanal>] <võti> määrab krüptovõtme kasutajale "
+"või kanalile. Kanali- või päringukaardil viibides määrab sellele võtme %2setkey "
+"<võti>."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "%1 võti on nüüd määratud."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Kasutamine: %1delkey <kasutaja> või <kanal> kustutab kasutaja või kanali "
+"krüptovõtme"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "%1 võti on nüüd kustutatud."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 võti on \"%2\"."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "%1 võtit ei ole määratud."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Kasutamine: %1DNS <kasutaja>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 lahendamine: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1 lahendamine ebaõnnestus"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Pöördlahendamine nõuab KDE versiooni 3.5.1 või uuemat."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Kasutamine: %1KILL <kasutaja> [kommentaar]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Sisendrida on koht, kuhu saad kirjutada sõnumid kanalile, vestlusse või "
+"serverisse saatmiseks. Kanalile saadetavat sõnumit näevad kõik kanalil "
+"viibijad, vestlusevastust aga ainult isik, kellega vestluse käigus suhtled."
+"<p>Kasutaja hüüdnime automaatseks lõpetamiseks kirjuta selle algus ja vajuta "
+"klahvi TAB. Kui sa ei ole ühtegi märki kirjutanud, kasutatakse viimati "
+"automaatselt lõpetatud hüüdnime."
+"<p>Kasutada saab ka mitmeid erikäske:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>näitab kanalil või vestluses mingit tegevust. Näiteks <em>"
+"/me laulab laulu</em> on kanalil näha kui 'kasutaja laulab laulu'.</td></tr>"
+"<tr>"
+"<th>/whois <i>hüüdnimi</i></th>"
+"<td>näitab infot määratud isiku kohta, sealhulgas kanaleid, millel ta "
+"viibib.</td></tr></table>"
+"<p>Rohkem infot leiab käskude ja nende kasutamise kohta Konversationi "
+"käsiraamatust."
+"<p>Sõnum ei tohi sisaldada mitut rida.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Püüad palju teksti korraga vestlusse asetada (%1 baiti või %2 rida). See "
+"võib tuua kaasa ühenduse lähtestamise või pommitamise. Kas tõesti jätkata?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Suure asetamise hoiatus"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Kasutajasõbralik IRC klient"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// URL või serveri masinanimi"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Kasutatav server"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Kasutatav port"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanal, millega ühenduse loomisel liituda"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Kasutatav hüüdnimi"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Ühenduse parool"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "SSL-ühenduse kasutamine"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008: Konversationi meeskond"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation on interneti retranslatsioonivestluse (IRC) protokolli klient.\n"
+"See lubab sul sõpradega võrgus suhelda, uusi tutvusi sõlmida ja\n"
+"ennastunustavalt mis tahes teemal lobiseda."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Originaali autor, projekti rajaja"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Hooldaja"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Hooldaja, väljalasete korraldaja, kasutajaliides, protokolli käsitlemine"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, kodeeringuparandused, OSD asukoht"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protokolli käsitlemine, sisendirida"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfishi toetus, SSL toetus, portimine KNetworki, värvilised hüüdnimed, "
+"hüüdnimeteemad"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Ümbertöötamine, KDE aadressiraamatuga ja Kontactiga põimimine"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Veebisaidi ülalpidamine"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Veebisaidi hooldus"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Mitme režiimi laiendus, sulgemiselemendi asukoht, OSD kasutamine"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentatsioon, hüüdnimede jälgimise parandused, kohandatud veebilehitseja "
+"laiendus"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Värvide seadistamine, esiletõstu dialoog"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP liides"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Mitte-Latin1 kodeeringud"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsooli komponendi vaade"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Kiirühendus, uue OSD port, muud võimalused ja parandused"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Rida parandusi ja koodi puhastamist"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Lohistamise parandused"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Kunstiline kujundus"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefoxi stiilis otsinguriba"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+"Toorrežiimid, kaartide rühmitamine serverite kaupa, pagendamise nimekiri"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Süsteemse salve paik"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Veaparandused"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Laiendatud kasutajarežiimide paik"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Nähtava kaardi kiirklahviga sulgemise paik"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Kaartide vahetamine hiirerattaga"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Kanali omaniku režiimi paik"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC värvifiltri lubamise võimalus"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Veaparandused, OSD, teemade puhastamine"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo skript"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Automaatse ühendumise kontekstimenüü"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Saadi CTCP-PING soov kasutajalt %1 kanalile %2, vastuse saatmine."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Saadi CTCP-%1 soov kasutajalt %2, vastuse saatmine."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Saadi versioonisoov kasutajalt %1 kanalile %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Saadi versioonisoov kasutajalt %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Saadi vigane DCC SEND soov kasutajalt %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Saadi vigane DCC ACCEPT soov kasutajalt %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Saadi vigane DCC RESUME soov kasutajalt %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Saadi vigane DCC CHAT soov kasutajalt %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Saadi tundmatu DCC käsk %1, saatja oli %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Saadi tundmatu CTCP-%1 soov kasutajalt %2 kanalile %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Saadi tundmatu CTCP-%1 soov kasutajalt %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 -> %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Saadi CTCP-PING vastus kasutajalt %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Saadi CTCP-%1 vastus kasutajalt %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Kutse"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 kutsus sind kanalile %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Tere tulemast"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (versioon %2), kasutaja lipud: %3, kanali lipud: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Toetus"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Sinu isiklikud režiimid on:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Kanali režiimid: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "teemakaitse"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "väljaspoolt teateid ei lubata"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "salajane"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "ainult kutsega"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privaat"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "modereeritud"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "parooliga kaitstud"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonüümne"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "värvid pole lubatud"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"piiratud %n kasutajaga\n"
+"piiratud %n kasutajaga"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Režiim"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "Kanali URL: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Loodud"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "See kanal on loodud %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Keson"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 on sisse loginud nimega %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nimed"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "NAMES (hüüdnimed) nimekirja lõpp."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Kanalile %1 pole teemat määratud."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Teema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Kanali teema on %1 jaoks on \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Teema määras %1 %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Teema %1 jaoks määras %2 %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 kasutab tegelikult masinat %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: pole sellist kasutajat/kanalit."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "%1: pole sellist kasutajat."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: pole sellist kanalit."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Hüüdnimi"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Hüüdnimi on juba kasutusel, proovi mõnda muud."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Hüüdnimi on juba kasutusel. Proovitakse %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Vigane hüüdnimi. Muudetakse: %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Sa ei ole kanalil %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Päeva sõnum:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Päeva sõnumi lõpp"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Sa oled nüüd selles serveris IRC operaator."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Kasutajad"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Praegu kasutajaid võrgus: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Praegu %1 kasutajaid: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Eemal"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 on eemal: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Kutsusid %1 kanalile %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 on %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 (%2) lahendamine aadressiks: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "%1 (%2) aadressi lahendamine ebaõnnestus"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 on tuvastatud kasutaja."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Kes"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 on %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (eemal)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1 /WHO nimekirja lõpp"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 on kasutaja kanalitel: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 on häälega kanalitel: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 on pooloperaator kanalitel: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 on operaator kanalitel: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 on kanalite omanik: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 on administraator kanalitel: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 on võrgus %2 (%3) kaudu."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 on kättesaadav abiks."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 on IRC operaator."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 päev\n"
+"%n päeva"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 tund\n"
+"%n tundi"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minut\n"
+"%n minutit"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 sekund\n"
+"%n sekundit"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 on jõude juba %2, %3, %4 ja %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 on jõude juba %2, %3 ja %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 on jõude juba %2 ja %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 on jõude juba 1 sekund.\n"
+"%1 on jõude juba %n sekundit."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 on võrgus alates %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "KESON nimekirja lõpp."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Kasutaja masin"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 on %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC operaator)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (eemal)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Nimekiri"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Kanalite nimekiri:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n kasutaja): %2\n"
+"%1 (%n kasutajat): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Kanalite nimekirja lõpp."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Pagendusnimekiri:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1: määras %2 %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Pagendusnimekirja lõpp."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 pole praegu kättesaadav."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1 tundmatu käsk."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Pole registreeritud."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: see käsk vajab rohkem parameetreid."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Määrasid isiklikud režiimid: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "on muutnud sinu isiklikke režiime:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " määrab režiimi: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Vaikeidentiteet"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Jälgitavate kasutajate muutmine"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Võrgu &nimi:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Siin saab määrata serveri võrgu, millega ühendus luua."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Hüüdn&imi:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>Hüüdnimi, mida jälgida ühenduse loomisel võrgu serveriga.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Märguande info muutmine"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Ühendust turvab %1-bitine SSL."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Konversation ei saa kasutada võimalust luua ühendus serveritega, mis pruugivad "
+"krüptitud SSL-kommunikatsiooni, sest kompileerimise ajal ei olnud OpeNSSL-i "
+"toetus sisse lülitatud. Sul tuleb hankida KDE uuem versioon, millel on SSL-i "
+"toetus."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Serverilt saadud SSL-sertifikaati ei tuntud ära. Vahest ei toeta server SSL-i "
+"selles pordis? Kui server toetab ka tavalist, SSL-i mittekasutavat "
+"kommunikatsiooni, siis võib SSL olla kasutusel mõnes muus pordis."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"Masina %1 IP-aadress ei vasta sellele, millele on sertifikaat välja antud."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Serveri autentimine"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Üksikasjad"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Serveri (%1) sertifikaat ei läbinud autentsustesti."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Kas aktsepteerida seda sertifikaati edaspidi alati ilma küsimata?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Alati"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "A&inult käesolevas seansis"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Esiletõst] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Vestlus] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 liitus kanaliga %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 lahkus kanalilt %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 väljus kanalilt %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 võttis hüüdnimeks %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 soovib sulle faili saata"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 alustas sinuga vestlust."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 on võrgus (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 läks võrgust ära (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 viskas sind välja kanalilt %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 alustas sinuga DCC vestlust"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Esiletõst] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Ühendumine %1-ga ebaõnnestus"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Sa ühinesid kanaliga %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Fraasi ei leitud"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Üleminev otsing"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr "Seda ei saa tagasi võtta. Kas tõesti võtta kasutusele vaikeväärtused?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Väärtuste lähtestamine"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Võrguliides"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Vastus IRC serverist"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Käsitsi määratud"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC värvi valija"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Puudub"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Serveri nimi või IP-aadress. Serverite nimekirja haldab irchelp.org."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Pordi number, mida on vaja serveriga ühendumiseks. Enamikul serveritest on see "
+"<b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Pa&rool:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Turvalin&e ühendus (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Selle märkimisel kasutatakse serveriga suhtlemisel turvalise soklikihi (SSL) "
+"protokolli. See kaitseb sinu arvuti ja IRC serveri suhtlemise privaatsust. "
+"Selleks peab ka server toetama SSL protokolli. Kui server seda ei toeta, siis "
+"enamasti ühendust luua ei õnnestu."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Serveri aadress on nõutav."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Administraator on piiranud failide saatmise õigusi"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL-i \"%1\" ei ole olemas"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" tõmbamine ebaõnnestus"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Sisesta failinimi"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Failil, mida üritad saata kasutajale <i>%1</i>, puudub failinimi."
+"<br>Palun anna failinimi, mida näidatakse saajale, või katkesta DCC edastus</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Failinime pole antud"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "DCC SEND soovi saatmine partnerile ISC serveri kaudu nurjus."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Oodatakse kaugkasutaja nõusolekut"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Ühenduse aktsepteerimine ebaõnnesus. (Sokliviga)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Faili %1 avamine ebaõnnestus"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Sokli viga: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Aegus"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Ühendus ebaõnnestus: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Kaugkasutaja katkestas ühenduse"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Operatsioon oli edukas. Veadialoogi ei peaks küll ilmuma."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Faili \"%1\" lugemine ebaõnnestus."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Faili \"%1\" kirjutamine ebaõnnestus."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Tekkis saatuslik ja parandamatu viga."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Faili \"%1\" avamine ebaõnnestus."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Operatsioon lõpetati ootamatult."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Operatsioon aegus."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Sulgemisel tekkis selgusetu viga."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Tundmatu viga. Kood %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC saatmine"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC saamine"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Tagurpidi DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Tundmatu server"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 (%2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Jahj, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 sek"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsool"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Valmis."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>See näitab kanali kasutajate ning selle operaatorite arvu."
+"<p>Kanali operaator on spetsiaalsete privileegidega kasutaja, kes näiteks võib "
+"kasutajaid minema lüüa ja pagendada, muuta kanali režiimi või ka anda teistele "
+"kasutajatele operaatori õigused.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Viivitus: teadmata"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Kogu suhtlus serveriga on krüptitud. Nii on võõrastel raskem sinu suhtlemist "
+"jälgida ja pealt kuulata."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Olekuriba näitab mitmesuguseid teateid, sealhulgas probleeme serveriga "
+"ühendumisel. Paremas servas näeb parajasti valitsevat viivitust serveriga "
+"suhtlemisel. Viivitus tähendabki aega, mille jooksul sõnum liigub sinult "
+"serverini ja serverilt sulle tagasi.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Viivitus: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Viivitus: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Serverist %1 pole vastust juba %2, %3, %4 ja %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Serverist %1 pole vastust juba %2, %3 ja %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Serverist %1 pole vastust juba %2 ja %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Serverist %1 pole vastust juba üle 1 sekundi.\n"
+"Serverist %1 pole vastust juba %n sekundit."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Otsitakse serverit %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Serverit %1 ei leitud: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server leitud, ühendumine..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Ühendus loodud. Sisselogimine..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Ühendus serveriga %1 kadus: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Ühenduse loomine serverisse %1:%2 SSL-krüptimist kasutades ebaõnnestus. Vahest "
+"ei toeta server SSL-i või on port valesti määratud? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL-ühenduse viga"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Ühenduse katkemine serveriga %1."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Ükski identiteedi \"%1\" hüüdnimi pole ühendusele \"%2\" vastuvõetav.\n"
+"Palun sisesta uus või klõpsa 'Loobu' ühenduse katkestamiseks:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Hüüdnime viga"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Tekkis viga andmete lugemisel serverist: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "%1-le saadetava faili valimine"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 teeb ettepaneku saata sulle \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "tundmatu suurus"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Kasutajal %1 palutakse nõustuda \"%2\" üleslaadimisega (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Saadi vigane passiivse DCC saatmise vastuvõtmise teade faili \"%1\" kohta %2 "
+"käest."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "\"%1\" allalaadimise taasalustamine %2-lt (laaditud %3%, kokku %4)..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Saadi vigane taasalustamissoov vastuvõtmise teade faili \"%1\" kohta %2 käest."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "\"%1\" üleslaadimise taasalustamine %2-le (laaditud %3%, kokku %4)..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Saadi vigane taasalustamissoov faili \"%1\" kohta %2 käest."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Faili \"%1\" allalaadimine kasutajalt %2 lõpetatud."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Faili \"%1\" allalaadimine kasutajalt %2 ebaõnnestus. Põhjus: %3"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Faili \"%1\" üleslaadimine kasutajale %2 lõpetatud."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Faili \"%1\" üleslaadimine kasutajale %2 ebaõnnestus. Põhjus: %3"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Faili \"%1\" saatmine kasutajale %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Faili \"%1\" (%2) allalaadimine kasutajalt %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 kutsub sind ühinema kanaliga %2. Kas võtad kutse vastu?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Kutse"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Viga: skripti \"%1\" ei leitud."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Viga: skripti \"%1\" käivitamine ebaõnnestus. Kontrolli faili õigusi."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Praegu eemale läinud"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Oled nüüd märgitud eemalolevaks."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Sa ei ole enam märgitud eemalolevaks."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Sa ei ole märgitud eemalolevaks."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Jälgitavad kasutajad võrgus"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Võrk/Hüüdnimi/Kanal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Lisainfo"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Siin on kõik sinu jälgitavate kasutajate kirjas olevad hüüdnimed vastavalt "
+"serveri võrgule, millega nad on ühenduses. Nimekirja kuuluvad ka kasutajad KDE "
+"aadressiraamatus, mis on seotud serveri võrguga.</p>"
+"<p>Veerus <b>Lisainfo</b> on näha kasutajate kohta teada olev info.</p>"
+"<p>Kanalid, millega kasutaja on ühinenud, on kirjas iga hüüdnime juures.</p>"
+"<p>Kasutajad märkega <b>Võrgust ära</b> ei ole ühendunud ühegi antud võrgu "
+"serveriga</p>"
+"<p>Hiire parema nupu klõpsuga hüüdnimel avanev menüü võimaldab ette võtta veel "
+"mitmesuguseid toiminguid.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "Muuda jälgimisnim&ekirja..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Klõpsa ekraanil nähtavate hüüdnimede nimekirja muutmiseks."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Aadressiraamat:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Ülalasuvast nimekirjast hüüdnime valides saab siinsete nuppudega seostada "
+"kasutaja KDE aadressiraamatu kirjega."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Muuda ko&ntakti..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Klõpsa ülal valitud hüüdnimega seotud KDE aadressiraamatu kirje loomiseks, "
+"vaatamiseks või muutmiseks."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Muu&da seost..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "Klõpsa ülal valitud hüüdnime sidumiseks KDE aadressiraamatu kirjega."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Kustuta seos"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Klõpsa seose eemaldamiseks ülal valitud hüüdnime ja KDE aadressiraamatu kirje "
+"vahel."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " võrgus %1 kaudu"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " alates %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Pole võrgus"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Häälega"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Pooloper"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Oper"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Omanik"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Loo uus k&ontakt..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Vali seos..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "Liitu kanali&ga"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Helifaili valimine"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Logifail alustatud\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Automaatne liitumine kanaliga kutse peale"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Märguanne, et logifaili salvestamine salvestab terve faili"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Küsitakse enne logifaili sisu kustutamist"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Küsitakse vestluse sulgemisel pärast kasutaja ignoreerimist"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Küsitakse enne ühendumist teise serveriga võrgus"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Küsitakse enne uut ühendust sama võrgu või serveriga"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Suletakse serveri kaart"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Suletakse kanali kaart"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Suletakse vestluse kaart"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Kanalite nimekirja saab avada ainult serveriteadlikel kaartidel"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Hoiatus peaakna menüü peitmisel"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Hoiatus kanalite nimekirja suure koormuse eest"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Hoiatus suure teksti asetamisel"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Hoiatus Konversationist väljumisel"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Hoiatus väljumisel, kui on aktiivseid DCC failiülekandeid"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Kanalite nimekiri"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filtri seadistused"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Min. kasutajaid:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Maks. kasutajaid:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanalite nimekirja saab piirata nende kanalitega, millel on vähemalt "
+"siinmääratud arv kasutajaid. 0 tähendab selle kriteeriumi mittearvestamist."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanalite nimekirja saab piirata nende kanalitega, millel on vähem kui "
+"siinmääratud arv kasutajaid. 0 tähendab selle kriteeriumi mittearvestamist."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Filtri muster:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filtri sihtmärk:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Sisesta siia filtri string."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Regulaaravaldis"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Rakenda filter"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Klõpsa siia kanalite tõmbamiseks serverist ja nende näitamiseks vastavalt "
+"valitud filtrile."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Siin näeb filtreeritud kanaleid. Arvesta, et kui sa ei kasuta regulaaravaldisi, "
+"näitab Konversation kõiki kanaleid, mille nimes sisaldub filtris määratud "
+"string (sealjuures ei pea kanali nimi selle stringiga algama, see võib esineda "
+"ka selle nime sees).\n"
+"\n"
+"Kanali, millega soovid liituda, saab valida selle nimele klõpsates. Kanali "
+"nimel hiire parema nupuga klõpsates näeb kõiki kanali teemas mainitud "
+"veebiaadresse."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Kanali nimi"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Kanali teema"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Värskenda nimekirja"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Salvesta nimekiri..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Liitu kanaliga"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Klõpsa siia kanaliga liitumiseks. Kanalile luuakse uus kaart."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Salvesta kanalite nimekiri"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversationi kanalite nimekiri: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanaleid: %1 (%2 näidatud)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Mitteunikaalseid kasutajaid: %1 (%2 näidatud)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Ava URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<URL-i ei leitud>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Kanalite nimekiri %1 jaoks"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Võrgus"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi kiirsuhtluseks, kuid ei määranud "
+"kontakti, kellele sõnum saata. See on arvatavasti tolle rakenduse viga."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi kiirsuhtluseks, kuid "
+"Konversation ei leidnud KDE aadressiraamatust määratud kontakti."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi kiirsuhtluseks, kuid soovitud "
+"kasutaja %1 ei ole võrgus."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi faili saatmiseks kontaktile, "
+"kuid ei määranud kontakti, kellele fail saata. See on arvatavasti tolle "
+"rakenduse viga."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi faili saatmiseks kontaktile, "
+"kuid Konversation ei leidnud KDE aadressiraamatust määratud konakti."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi faili saatmiseks kontaktile, "
+"kuid soovitud kasutaja %1 ei ole võrgus."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Muu KDE rakendus üritas kasutada Konversationi kontakti lisamiseks. "
+"Konversation ei toeta seda võimalust."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Aadressiraamatu (kaddressbook) käivitamine ebaõnnestus. Tõenäoliselt ei ole "
+"seda siis paigaldatudki. Palun paigalda mooduli 'kdepim' paketid."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Sinu valitud kontaktiga ei ole seotud e-posti aadressi."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "E-kirja saatmine ebaõnnestus"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"E-posti rakenduse käivitamine ebaõnnestus. Tõenäoliselt ei ole seda siis "
+"paigaldatudki. KDE e-posti rakenduse KMail paigaldamiseks paigalda palun "
+"mooduli 'kdepim' paketid."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "Ükski valitud kontaktidest ei ole seotud aadressiraamatu kontaktidega."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Sinu valitud kontakt ei ole seotud aadressiraamatu kontaktiga."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Mõned valitud kontaktidest (%1) ei ole seotud aadressiraamatu kontaktidega."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Üks valitud kontaktidest (%1) ei ole seotud aadressiraamatu kontaktiga."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Kontaktil hiire parema nupuga klõpsates saab muuta aadressiraamatu seoseid, et "
+"siduda need aadressiraamatu kontaktiga."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Ühelgi valitud kontaktiga ei ole seotud e-posti aadressi."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "Mõnega valitud kontaktidest (%1) ei ole seotud e-posti aadressi."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "Ühega valitud kontaktidest (%1) ei ole seotud e-posti aadressi."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Kontaktil hiire parema nupuga klõpsates saab muuta aadressiraamatu kontakti, et "
+"lisada neile e-posti aadress."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Mõned valitud kontaktidest (%1) ei ole seotud aadressiraamatu kontaktidega, "
+"mõnega kontaktidest (%2) ei ole aga seotud e-posti aadressi."
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Kontaktil hiire parema nupuga klõpsates saab muuta aadressiraamatu seoseid, et "
+"siduda need aadressiraamatu kirjega, ning aadressiraamatu kontakti, et lisada "
+"neile e-posti aadress."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Kas saata e-kiri igal juhul neile kasutajatele, kellel on e-posti aadress?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Saada e-kiri"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Seo IRC hüüdnimi aadressiraamatu kontaktiga"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Vali isik, kes on '%1'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Praegu on '%1' seotud kontaktiga."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Praegu on '%1' seotud kontaktiga '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Hoiatus:</b> '%1' on praegu kirjas kohe mitmele kontaktile kuuluvana. "
+"Palun vali korrektne kontakt.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Uus aadressiraamatu kirje"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Uue kirje nimi:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL püüdja"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"URL-ide nimekiri, mida on kasutatud mis tahes Konversationi aknas käesoleva "
+"seansi ajal."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Ava URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Vali ülal <b>URL</b> ja klõpsa sellele nupule rakenduse käivitamiseks, mis "
+"on seotud antud URL-i MIME tüübiga.</p>"
+"<p><b>Seadistused</b> | <b>Käitumine</b> | <b>Üldine</b> "
+"võimaldab määrata veebi-URL-idele kohandatud veebilehitseja.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Kopeeri URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Vali ülal <b>URL</b> ja klõpsa sellele nupule URL-i kopeerimiseks "
+"lõikepuhvrisse."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "K&ustuta URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Vali ülal <b>URL</b> ja klõpsa sellele nupule URL-i kustutamiseks nimekirjast."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Salvesta nimekiri..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Klõpsa kogu nimekirja salvestamiseks failina."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Tühjenda nimekiri"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Klõpsa kogu nimekirja tühjendamiseks."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Salvesta URL nimekiri"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Redigeeri mitmerealist asetamist"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Lisa tsitaadi &indikaatorid"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Kanal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Kanali nimi on nõutav."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Toorlogi"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Teksti otsimine aktiivsel kaardil"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "Kana&lite nimekiri %1 jaoks"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Ava %1 logifail"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "&Kanali valikud %1 jaoks..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Vaikimisi ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Otsida saab ikka ainult teksti."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Teksti otsimise info"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 logifail"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC olek"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Selle funktsiooni kasutamine võib võrguliiklust tugevasti paisutada. Kui sul "
+"pole piisavalt kiiret ühendust, on võimalik, et sinu klient lendab serverist "
+"välja!"
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Kanalite nimekirja hoiatus"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Kanalite nimekirja saab avada ainult vestluse, kanali või olekuaknast, et "
+"leida, millisele serverile see nimekiri kuulub."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Kirjuta siia võrgu nimi. Serveri nimekirja aknas võib ka ühe ja sama võrgu "
+"kirjeid luua nii palju kui süda lustib."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Vali olemasolev identiteet või klõpsa nupule Muuda uue identiteedi lisamiseks "
+"või olemasoleva muutmiseks, Identiteet on mõeldud sinu tuvastamiseks ning "
+"määrab kindlaks sinu hüüdnime võrku ühendumisel."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Lisavõimalus. See käsk saadetakse serverile pärast ühendumist. Näide: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Antud näide on mõeldud Freenode'i "
+"võrgule, mis nõuab kasutajatelt ühendumisel enda hüüdnime registreerimist nii "
+"kasutajanime kui parooliga. <i>konvirocks<i> ongi identiteedis määratud "
+"hüüdnime parool. Käske võib anda ka mitu, sellisel juhul tuleb need eraldada "
+"semikooloniga."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Märkimisel võtab Konversation käivitamisel automaatselt ühendust antud võrguga."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"See on võrgu IRC serverite nimekiri. Võrguga ühendudes üritab Konversation "
+"kõigepealt luua ühenduse ülemise serveriga. Kui see ei õnnestu, üritatakse "
+"ühendus luua teise serveriga, seejärel kolmandaga ja nii edasi. Määrata tuleb "
+"vähemalt üks server. Esiletõstmiseks klõpsa serveri nimele."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Lisavõimalus. See on kanalite nimekiri, millega liitutakse automaatselt pärast "
+"seda, kui Konversation on loonud serveriga ühendus. Kui see tühjaks jätta, ei "
+"liituta automaatselt ühegi kanaliga."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Võrgu info muutmine"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Serveri lisamine"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Serveri muutmine"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Kanali lisamine"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Kanali muutmine"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Võrgu nimi on nõutav."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Võrgule tuleb lisada vähemalt üks server."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversationi teemad"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Teemapaketi valimine"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Teema tõmbamine ebaõnnestus"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Teemaarhiiv on vigane."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Teema paigaldamine ebaõnnestus"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Kas eemaldada %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Teema eemaldamine"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC klient"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Saaja valimine"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Vali hüüdnimi ja sulge aken"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Sulgeb akna muutusi tegemata"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: serverit %1 ei leitud."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Administraator on piiranud failide saamise õigusi"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Vigane saatja aadress (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Toetuseta läbirääkimised (failisuurus=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Kataloogi loomine ebaõnnestus.</b><br>Kataloog: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "KIO protsessi loomine ebaõnnestus"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Faili kasutatakse juba teises ülekandes.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Olemas on osaline fail.</b>"
+"<br>%1"
+"<br>Osalise faili suurus: %2 baiti"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Fail on juba olemas.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Faili avamine ebaõnnestus.<br>Viga: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Tagurpidi DCC SEND vastuvõtmise saatmine partnerile IRC serveri kaudu nurjus."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Ühenduse ootel"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Oodatakse kaugmasina nõusolekut"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"DCC RECV taastamise soovi saatmine partnerile IRC serveri kaudu nurjus."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Ootamatu vastus kaugmasinalt"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Edastamise viga"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO viga: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Sellel ribal näeb teatud infot isiku kohta, kellega käesolevas vestluses "
+"suhtled. Näha on täielik nimi ja masinamask, samuti pilt või logo, mis on antud "
+"isikuga seotud KDE aadressiraamatus."
+"<p><i>Konversationi käsiraamat</i> räägib lähemalt kasutaja seostamisest "
+"aadressiraamatu kontaktiga ning selgitab masinamaski tähendust.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(eemal)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Kas ignoreerida kasutajat %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Kas sulgeda see vestlus pärast antud kasutaja ignoreerimist?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Sulge see vestlus"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Hoia avatuna"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Kas lõpetada kasutaja %1 ignoreerimine?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Vaikeidentiteet ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Kas sulgeda vestlus kasutajaga %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Sulge vestlus"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Vestlus iseendaga"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 lahkus sellest serverist."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 lahkus sellest serverist (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD eelvaatlus - lohista asukoha muutmiseks"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operaator"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Omanik"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Pooloperaator"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Häälega"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Liides"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Käitumine"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Märguanded"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Vestlusaken"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Hüüdnimeteemad"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Värvid"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Kiirnupud"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Ühendus"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Hüüdnimede nimekiri"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Käsu aliased"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Automaatne asendus"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Logimine"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Esiletõst"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Jälgitavad kasutajad"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Ekraaniesitus (OSD)"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Hoiatusdialoogid"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC saamise küsimus"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Jätka"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "O&riginaalfaili nimi"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Paku uus &nimi"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Kirj&uta üle"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Nimeta üm&ber"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Otsimine edasisuunas"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Tõstutundlik"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Ainult terved sõnad"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Alates kursorist"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Kas tõesti sulgeda '%1'?\n"
+"\n"
+" Suletakse ka kõik sellega seotud kaardid."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Kaardi sulgemine"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Kas tõesti lõpetada ühendus serveriga '%1'?\n"
+"\n"
+" Suletakse ka kõik sellega seotud kaardid."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Ühenduse katkestamine serveriga"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Katkesta ühendus"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Alustatud"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Olek"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Edenemine"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Asukoht"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Jäänud"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Kiirus"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Saatja aadress"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Aktsepteeri"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Katkesta"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Ava fail"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Alusta saamist"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Katkesta edastused"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Käivita fail"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Vaata DCC edastuse üksikasju"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Vali kõik elemendid"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "V&ali kõik lõpetatud elemendid"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Aktsepteeri"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&Katkesta"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Saada uuesti"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Puhasta"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Ava fail"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Faili info"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Kanali seadistuste muutmine"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Igal IRC kanalil on oma teema. See on tegelikult lihtsalt sõnum, mida "
+"näevad kõik kasutajad."
+"<p>Kui oled operaator või kui kanalile ei ole määratud režiimi <em>'T'</em>"
+", saad muuta teemat oma teksti teemareale kirjutades ja teemast vasakul pool "
+"asuvale nupule Muuda kanali omadusi vajutades. Varasemaid teemasid on võimalik "
+"näha samas asuvast rippmenüüst.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p>Režiim <b>T</b> ehk 'teema' tähendab, et ainult kanali operaator saab muuta "
+"kanali teemat.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>N</b> ehk 'väljaspoolt kanalit ei ole sõnumid lubatud' tähendab, et "
+"kasutajad, kes ei viibi kanalil, ei saa saata sõnumeid, mida võiksid näha kõik "
+"kasutajad. Peaaegu kõik kanalid kasutavad seda võimalust tülikate ja segavate "
+"sõnumite tõrjumiseks ning vältimiseks.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>S</b> ehk 'salajane kanal' ei ole näha kanalite nimekirjas, samuti ei näe "
+"ükski kasutaja sinu viibimist sellisel kanalis käsuga <em>KESON</em> "
+"või muu nipiga. Selle režiimi korral teavad sinu viibimisest kanalil ainult "
+"teised samal kanalil viibijad.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>I</b> ehk 'ainult kutsetega kanal' tähendab, et sellega saab liituda "
+"ainult siis, kui sulle vastav kutse esitatakse. Selleks peab kanali operaator "
+"andma kanalil viibides käsu <em>/invite kasutaja</em>.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>P</b>rivaatkanal on küll näha kõigi kanalite nimekirjas, kuid selle teema "
+"mitte. Sõltuvalt IRC serverist võib kasutaja käsk <em>KESON</em> "
+"näidata neid privaatkanalil viibivana, aga ei pruugi seda teha.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>M</b>odereeritav kanal on selline, kus saavad rääkida ainult operaatorid, "
+"pooloperaatorid ja häälega kasutajad.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>P</b>arooliga kaitstud kanal nõuab kasutajalt ühinemiseks parooli "
+"andmist.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>L</b> ehk kanal, millele on seatud kasutajate limiit, tähendab seda, et "
+"korraga saab kanalil viibida ainult määratud arv kasutajaid. Mõnel kanalil "
+"tegutseb robot, kes muudab seda väärtust automaatselt vastavalt kanali "
+"aktiivsusele.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maks. lubatud kasutajate arv kanalil"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>See on kanali kasutajate limiit - maksimaalne arv kasutajaid, kes tohivad "
+"korraga kanalil viibida. Kui oled operaator, saad selle arvu määrata kanalile "
+"režiimi <b>T</b>eema (nupp vasakul) andes ja sisestades vajaliku numbri.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>See näitab sinu praegust hüüdnime ja kõiki sinu määratud alternatiive. Kui "
+"valid või kirjutad erineva hüüdnime, saadetakse IRC serverile soov sinu "
+"hüüdnime muuta. Kui server seda lubab, saadki uut hüüdnime kasutada. Kui "
+"kirjutad uue hüüdnime, tuleb lõpus vajutada klahvi 'Enter'."
+"<p>Alternatiivseid hüüdnimesid saad lisada, kui valid menüüst <em>Fail</em> "
+"kirje <em>Identiteedid</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Kas ignoreerida valitud kasutajaid?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Kas lõpetada valitud kasutajate ignoreerimine?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Lõpetamine"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Võimalikud lõpetused: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Kanali parool"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Hüüdnimede piirang"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Anna uus hüüdnimede piirang:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Sa kannad nüüd nime %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 kannab nüüd nime %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Liitusid kanaliga %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 liitus kanaliga (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Lahkusid sellest serverist."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Lahkusid sellest serverist (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Lahkusid kanalilt %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Lahkusid kanalilt %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 lahkus sellest serverist (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 lahkus sellelt kanalilt."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 lahkus sellelt kanalilt (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Viskasid iseennast kanalilt %1 välja."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Viskasid iseennast kanalilt %1 välja (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 viskas sind kanalilt %1 välja."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 viskas sind kanalilt %1 välja (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Sa viskasid kanalilt välja kasutaja %1."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Sa viskasid kanalilt välja kasutaja %1 (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 viskas kanalilt välja kasutaja %1."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 viskas kanalilt välja kasutaja %1 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n kasutaja\n"
+"%n kasutajat"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operaator)\n"
+" (%n operaatorit)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Kanali teema on \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Määrasid kanali teemaks \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 määras kanali teemaks \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Andsid iseendale kanali omaniku õigused."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Andsid kanali omaniku õigused hüüdnimele %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 andis kanali omaniku õigused sulle."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 andis kanali omaniku õigused hüüdnimele %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Võtsid iseendalt kanali omaniku õigused."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Võtsid kanali omaniku õigused hüüdnimelt %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 võtab kanali omaniku õigused sinult."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 võtab kanali omaniku õigused hüüdnimelt %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Andsid iseendale kanali administraatori õigused."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Andsid hüüdnimele %1 kanali administraatori õigused."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 andis sulle kanali administraatori õigused."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 andis hüüdnimele %2 kanali administraatori õigused."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Võtsid iseendalt üle kanali administraatori õigused."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Võtsid hüüdnimelt %1 kanali administraatori õigused."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 võtab sinult kanali administraatori õigused."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 võtab hüüdnimelt %2 kanali administraatori õigused."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Andsid iseendale kanali operaatori õigused."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Andsid hüüdnimele %1 kanali operaatori õigused."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 andis sulle kanali operaatori õigused."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 andis hüüdnimele %2 kanali operaatori õigused."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Võtsid iseendalt kanali operaatori õigused."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Võtsid hüüdnimelt %1 kanali operaatori õigused."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 võtab sinult kanali operaatori õigused."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 võtab hüüdnimelt %2 kanali operaatori õigused."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Andsid iseendale kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Andsid hüüdnimele %1 kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 andis sulle kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 andis hüüdnimele %2 kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Võtsid iseendalt kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Võtsid hüüdnimelt %1 kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 võtab sinult kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 võtab hüüdnimelt %2 kanali pooloperaatori õigused."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Andsid endale õiguse häält teha."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Andsid hüüdnimele %1 õiguse häält teha."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 andis sulle õiguse häält teha."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 andis hüüdnimele %2 õiguse häält teha."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Võtsid iseendalt õiguse häält teha."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Võtsid hüüdnimelt %1 õiguse häält teha."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 võttis sinult õiguse häält teha."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 võttis hüüdnimelt %2 õiguse häält teha."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Määrasid kanali režiimiks 'värvid pole lubatud'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 määras kanali režiimiks 'värvid pole lubatud'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Määrasid kanali režiimiks 'värvikoodid on lubatud'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 määras kanali režiimiks 'värvikoodid on lubatud'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Määrasid kanali režiimiks 'ainult kutsetega'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 määras kanali režiimiks 'ainult kutsetega'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Eemaldasid kanalilt režiimi 'ainult kutsetega'."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 eemaldas kanalilt režiimi 'ainult kutsetega'."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Määrasid kanali režiimiks 'modereeritud'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 määras kanali režiimiks 'modereeritud'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Määrasid kanali režiimiks 'modereerimata'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 määras kanali režiimiks 'modereerimata'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Määrasid kanali režiimiks 'väljaspoolt teateid ei lubata'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 määras kanali režiimiks 'väljaspoolt teateid ei lubata'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Määrasid kanali režiimiks 'väljaspoolt teated lubatud'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 määras kanali režiimiks 'väljaspoolt teated lubatud'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Määrasid kanali režiimiks 'privaat'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 määras kanali režiimiks 'privaat'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Määrasid kanali režiimiks 'avalik'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 määras kanali režiimiks 'avalik'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Määrasid kanali režiimiks 'salajane'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 määras kanali režiimiks 'salajane'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Määrasid kanali režiimiks 'nähtav'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 määras kanali režiimiks 'nähtav'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Lülitasid sisse 'teemakaitse'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 lülitas sisse 'teemakaitse'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Lülitasid välja 'teemakaitse'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 lülitas välja 'teemakaitse'."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Määrasid kanali võtmeks \"%1\"."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 määras kanali võtmeks \"%2\"."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Eemaldasid kanali võtme."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 eemaldas kanali võtme."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Seadsid kanalile piiriks %1 hüüdnime."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 seadis kanalile piiriks %2 hüüdnime."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Eemaldasid kanali piirangu."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 eemaldas kanali piirangu."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Määrasid pagenduse hüüdnimele %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 määras pagenduse hüüdnimele %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Eemaldasid pagenduse hüüdnimelt %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 eemaldas pagenduse hüüdnimelt %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Määrasid pagenduse erandi hüüdnimele %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 määras pagenduse erandi hüüdnimele %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Eemaldasid pagenduse erandi hüüdnimelt %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 eemaldas pagenduse erandi hüüdnimelt %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Määrasid kutsemaski %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 määras kutsemaski %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Eemaldasid kutsemaski %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 eemaldas kutsemaski %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Määrasid kanali režiimiks +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 määras kanali režiimiks +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Määrasid kanali režiimiks -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 määras kanali režiimiks -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Selle muutmiseks pead olema operaator."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Teemat saab muuta ainult kanali operaator. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Väljaspoolt kanalit ei ole klientide sõnumid lubatud. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Salajane kanal. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Ainult kutsetega kanal. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privaatkanal. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Modereeritav kanal. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Parooliga kaitstud kanal."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Seab kanalile kasutajate arvu piirangu."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Kas lahkuda kanalilt %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Kanalilt lahkumine"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Lahku"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Marek Laane"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "bald@starman.ee"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Aeglane järjekord"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "rida"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "baiti"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Vanus:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Arv:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Read:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Baidid:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Tavaline järjekord"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Kiire järjekord"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Kõik järjekorrad"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Saadud:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Baidid (toor):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Baidid (kodeeritud):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nupu nimi"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Nupu toiming"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Nupu toiming:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nupu nimi:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Saadaolevad kohatäitjad"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: aktiivne hüüdnimi\n"
+"%c: aktiivne kanal\n"
+"%K: serveri parool\n"
+"%u: valitud hüüdnimede nimekiri\n"
+"%s<märk>%: märk, mida %u korral kasutatakse hüüdnimede eristamiseks\n"
+"%n: käsk saadetakse otse serverile, mitte sisendreale"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Failinimi:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Ise:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Tüüp:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Olek:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Asukoht:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Edenemine:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partner:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Ava kataloog"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Faili suurus:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Keskmine kiirus:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Taastatud:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Praegune kiirus:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Praegune positsioon:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Hinnanguliselt aega jäänud:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Pakuti:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Lõpetatud:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Alustatud:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Edastamise aeg:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Automaatse taasühendumise lubamine"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Taasühendumise viivitus:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Taasühendumise katsed:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " sek"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Piiramatu"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Silumine"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Toorlogi akna &näitamine ühendumisel"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Muster"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tüüp"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Muster:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Sõnumite tüübid"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Uus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Eemalda kõik"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Võrgu nimi:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identiteet:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Käsud:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Ühendumine rakenduse käivit&amisel"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Serverid"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "Lis&a..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Muuda..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Automaatne liitumine kanalitega"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "M&uuda..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Asendus:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Asendus"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Otsi &järgmine"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Otsi &eelmine"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Topeltklõpsu korral käivitatav käsk:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Sort&eerimine tõstutundetult"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Sor&teerimine aktiivsuse järgi"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Sorteerimine kasutaja staatuse &järgi"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Selgitus"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Hüüdnimede sorteerimise järjekorda saab muuta lohistades)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&Paigalda teema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Eemalda teema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Tavaliste kasutajate ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Eemalolevate kasutajate ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Häälega kasutajate ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Pooloperaatorite ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Operaatorite ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Administraatorite ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Omanike ikoon"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Eelvaatlus:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Välimus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Asetus:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Kaar&tidel näidatakse sulgemisnuppu"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Sulgemisnuppu näi&datakse kaardiriba paremas servas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Kaartide nimetu&ste suurust kohandatakse vastavalt ruumile"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Fookus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Fookus uutel kaartidel"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Foo&kus uutel vestlustel"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Hiir"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "Kaardi sulge&mine hiire keskmise nupuga"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Top&eltklõpsuga hüüdnimel käivitatav käsk:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Aknas <b>Kasutajad võrgus</b> mõnel hüüdnimel topeltklõpsu tehes edastatakse "
+"see käsk serveriaknas <b>sisendreale</b>.</p>\n"
+"<p>Käsus saab kasutada järgmisi sümboleid:</p>"
+"<ul>\n"
+"<li>%u: hüüdnimi, millel topeltklõps tehti.</li>\n"
+"<li>%K: serveri parool.</li>\n"
+"<li>%n: käsk saadetakse otse serverisse, mitte sisendireale.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Aknas <b>Kasutajad võrgus</b> mõnel hüüdnimel topeltklõpsu tehes edastatakse "
+"see käsk serveriaknas <b>sisendreale</b>.</p>\n"
+"<p>Käsus saab kasutada järgmisi sümboleid:</p>"
+"<ul>\n"
+"<li>%u: hüüdnimi, millel topeltklõps tehti.</li>\n"
+"<li>%K: serveri parool.</li>\n"
+"<li>%n: käsk saadetakse otse serverisse, mitte sisendireale.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "&Uuendamise intervall:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation kontrollib allpool toodud hüüdnimede staatust määratud ajavahemiku "
+"järel."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Jälgitavate kasutajate võrgu&soleku näitamine käivitamisel"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Sisselülitamisel avatakse Konversationi käivitamisel automaatselt aken <b>"
+"Kasutajad võrgus</b>.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Kasutaja jälgija kas&utamine"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kui kasutaja jälgija on sisse lülitatud, saad teada, kui hüüdnimed, kes "
+"leiduvad <b>Jälgitavate võrkude/kasutajate</b> nimekirjas, tulevad võrku või "
+"lahkuvad.</p>\n"
+"<p>Lisaks sellele võid ka avada akna <b>Kasutajad võrgus</b>"
+", kus näeb kõigi jälgitavate hüüdnimede staatust.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Võrk:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"IRC serveri võrk (näiteks 'freenode'), kus asub valitud jälgitav kasutaja."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Jälgitava kasutaja hüüdnimi."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Jälgitavad võrgud/kasutajad"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kui kasutaja jälgija on sisse lülitatud, saad teada, kui hüüdnimed, kes "
+"leiduvad <b>Jälgitavate võrkude/kasutajate</b> nimekirjas, tulevad võrku või "
+"lahkuvad.</p>\n"
+"<p>Lisaks sellele võid ka avada akna <b>Kasutajad võrgus</b>"
+", kus näeb kõigi jälgitavate hüüdnimede staatust.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Klõpsa kasutaja lisamiseks nimekirja."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Klõpsa valitud kasutaja eemaldamiseks nimekirjast."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Logimise lubamine"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Väiketähelised logi&faili nimed"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Failinimele lisatakse masinanimi"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Lo&gifaili asukoht:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Süsteemse salve lubamine"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Süs&teemses salves näidatakse uute sõnumite märguandeid"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Märguanne ainult esiletõstmise või enda aktiivse hüüdnime kasutamise korral"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "I&kooni vilgutamine"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Aken peidetakse käivitamisel"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Hüüdnime lõpetamine"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Lõ&petamise režiim:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Hüüdnimede läbikerimine"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Shelli moodi"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Shelli moodi lõpetamise kastiga"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Sufiks &rea alguses:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "M&ujal:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Tõstutundlik"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Märgu&annete keelamine eemalolekul"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Kohandatud &versioonivastus:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Siin saab määrata omaloodud vastuse <b>CTCP <i>VERSION</i></b> soovile.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Sisestuskast laieneb teksti lisamisel"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Käsu sümbol:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Muu vee&bilehitseja kasutamine:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Kaartide nimetuste suurust kohandatakse vastavalt ruumile"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Kerimisriba peitmine"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Sisselülitamise korral kontrollitakse kõigi IRC sisendridade teksti selle "
+"kirjutamise ajal"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Selle sisselülitamisel kasvab sisestuskast püstsuunas, kui tekst selle täidab."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Peitmine süsteemsesse salve"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Käivitamine peidetud peaaknaga"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Päri&snime näitamine hüüdnime kõrval"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Jälgitavate kasutajate kaardi avamine käivitamisel"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Emotikonide lubamine"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Emotikoniteema"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Tee&ma"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Kuupäev"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Režiimi&d"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Teemat saab muuta ainult kanali operaator."
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Väljaspoolt ka&nalit teateid ei lubata"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Salajane kanal, ei näidata kanalite nimekirjas"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "A&inult kutsetega kanal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Nende nuppudega saab määrata kanali <em>režiimi</em>"
+". Seda saab muuta ainult operaator."
+"<p><b>I</b> ehk 'ainult kutsetega kanal' tähendab, et sellega saab liituda "
+"ainult siis, kui sulle vastav kutse esitatakse. Selleks peab kanali operaator "
+"andma kanalil viibides käsu <em>/invite kasutaja</em>.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Modereeritav kanal, kus saavad suhelda ainult häälega kasutajad"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "Kanali &parool:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Kasutajate &limiit:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Näit&a muid režiime >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parameeter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Pagendusnimekiri"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Lõ&peta pagendus"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Kehtesta pagendus"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Masinamask"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Määras"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Määramise aeg"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Otsing:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Allalaadimiste kataloo&g:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Failinimele lisatakse saatja"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Saatjale luuakse kataloo&g"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Tühikud failinimedes teisendatakse enne saatmist alakriipsudeks"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "A&utomaatne nõustumine allalaadimissoovidega"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Allalaadimis&te automaatne jätkamine"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Kii&re DCC saatmise lubamine (ei pruugi töötada kõigi klientidega)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&Puhvri suurus:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC saatm&ise aegumine:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "DCC saatmisel IPv&4 liidese kasutamine:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Sisselülitamisel sooritatakse DCC edastused IPv6 ühenduste puhul siinmääratud "
+"IPv4 liidesega"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " baiti"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sek"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Passiivse DCC saatmise lubamine"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "Oma IP hankimise &meetod:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Oma I&P:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Pordid"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "DCC vestlusel &kasutatakse konkreetseid porte:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "kuni"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "DCC ülekandel kasutatakse konkreetseid &porte:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Värvilise teksti kasutamine"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Värviliste LED-ide kasutamine"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Rakenduse sündmus"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Rakenduse sündmused leiavad aset Konsooli kaartidel, DCC oleku kaardil ja muude "
+"rakenduste kaartidel, mida ei kasutata otseselt vestluseks."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Sõnum"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Privaatsõnum"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Aktiivne hüüdnimi"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Kanali sündmus"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Kanali sündmused on režiimi muutmine või kasutajate liitumine/lahkumine."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Eelistatakse vestlusakna esiletõstmise värve"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Selle valimisel tühistavad värvid, mida oled valinud esiletõstmise kaardil, "
+"värvid, mis on määratud valikutele \"Aktiivne hüüdnimi\" ja \"Esiletõstmine\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Päevasõnu&mitel kasutatakse fikseeritud fonti"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Päevasõnumi (MOTD) näitamine fikseeritud fondiga"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Saatjate hüüdnimed muudetakse vestlusvaates &rasvaseks"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Vestluse tekst:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Hüüdnimede nimekiri:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Kaardiriba:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Esiletõstude nimekiri"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Regulaaravaldis"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Esiletõstud"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Heli"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Automaatne tekst"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Muster:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Värv"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Heli:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Testi heli"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Automaatne tekst:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Heli lubamine esiletõstmise korral"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Oma praegune &hüüdnimi tõstetakse alati esile:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "&Oma read tõstetakse alati esile:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Loo uus kirj&e..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Uue kirje loomine sinu aadressiraamatus"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Foto"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nimi"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Kontakti valimine, kellega IM vahendusel suhelda"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Ots&ing:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "&Piiks siseneva ASCII BEL korral"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "ASCII BEL (0x07) juhtsümboli saamisel mängitakse süsteemset piiksu"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Liitumis/lahkumis/&hüüdnimesündmuste peitmine"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Muutujate (nt. %C, %B, %G jne.) laien&damise keelamine"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Teksti saatmisel serverisse ei laiendata muutujaid. Muutuja alguses seisab '%' "
+"- näiteks %B laiendatakse sümboliteks, mida on vaja teksti muutmiseks "
+"rasvaseks."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "Olekuteated suunatakse se&rveri oleku aknasse"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Taga&sikerimise limiit:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Mitu rida hoida puhvris (0 = piiramatu)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Režiimi muutmisel toorrežiimide kasutamine"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Kanalirežiimi näitamine sümbolitena, mitte normaalsete sõnadema. Näiteks '*** "
+"Kanali režiimid: väljastpoolt kanalit teateid ei lubata' asemel näidatakse '*** "
+"Kanali režiimid: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " rida"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Meelespidamisread"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Käsitsi lisatud ridade näitamine kõigis vestlusakendes"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Vestlusaknas viimase asukoha tähistamine ajaks, mil see on peidetud"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Vestlusaknasse lisatakse meelespidamisrida, kui lülitud mõnele teisele "
+"vestlusaknale või minimeerid rakenduse."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Rida liigutatakse ainult siis, kui näidatakse uut teksti"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Automaatse kasutajainfo päringu (/WHO) lubamine"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Kasutajate maks. arv kanalil:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " kasutajat"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Uuendamise intervall:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "OSD l&ubamine"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "O&SD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "Va&rju näitamine"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD font:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "OS&D sõnumi näitamine"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "kui &oma nimi esineb kanali sõnumis"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "suvalisel &kanalil"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "&vestluses"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "l&iitumis/lahkumisteadetes"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Kohandatud värvide kasutamine"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "T&eksti värv:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Tausta &värv:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Muu&d seadistused"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Kestus:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "Ekraa&n:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " msek"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "A&ken"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Uus"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Eemalda"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Asendus kohas"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Otsitav"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Asendus"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Asendus kohas:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Otsitav:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Asendus:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Aja&templite lubamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "Kuupäeva&de näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "Vormin&g:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Lo&gi näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Read: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Paigutus"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Kanali teema näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Kanalirežiimi &nuppude näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Ke&rimisriba näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Kast&i näitamine oma hüüdnime muutmiseks"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "&Kiirnuppude näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Pärisnime näitamine hüüdnimede nimekirjas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Ka&nali hüüdnimede nimekirja ja kiirnuppude näitamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "M&asinamaskide näitamine hüüdnimede nimekirjas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Taustapil&di kasutamine"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Asukoht:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Kohandatud värvid"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"Kohandat&ud värvide kasutamine sisestuskastis ning kasutajate ja kaartide "
+"nimekirjas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "Ta&ust:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Serveri sõnum:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hüperlink:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Kanali sõnum:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Toiming:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Lo&gi:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Kä&susõnum:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Vestlusesõnum:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Aja&tempel:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "&Alternatiivne taust:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Värvilised hüüdnimed"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Oma hüüdnime värv:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Värvilise teksti lub&amine IRC sõnumites"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Sisselülitamisel näidatakse IRC sõnumitele lisatud värvikoode vestlusaknas "
+"värvilise tekstina. Värvikoode saab sõnumitele lisada käsuga Lisamine -> "
+"Lisa IRC värv"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Eelvaatlus"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Selline hakkab sinu sõnum välja nende värvidega välja nägema"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Siin näidatakse eelvaatlusena, kuidas teised hakkavad sinu sõnumeid nägema, "
+"kui valid need värvid."
+"<br>\n"
+"<b>Märkus: seda ei toeta mitte kõik kliendid ning mõned kasutajad võivad olla "
+"ka otsustanud sinu värvimuudatusi ignoreerida.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Valitud teksti värv lisatakse sisendireale."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Siin saab määrata, mis värvi peaks olema sinu saadetava järgmise sõnumi "
+"tekst. Kui valid värvi ja klõpsad 'OK', lisatakse valitud värv sisendireale. "
+"Kõik selle järele kirjutatav tekst on valitud värviga, kuni otsustad taas värvi "
+"muuta."
+"<br>\n"
+"<b>Märkus: kõigil kasutajatel ei pruugi selle nägemise võimalus olla sisse "
+"lülitatud.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Esiplaani värv:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Valitud tekstitausta värv lisatakse sisendireale."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Siin saab määrata, mis värvi peaks olema sinu saadetava järgmise sõnumi "
+"teksti taust.\n"
+"Kui valid värvi ja klõpsad 'OK', lisatakse valitud värv sisendireale.\n"
+"Kõik selle järele kirjutatav tekst on valitud värviga, kuni otsustad taas värvi "
+"muuta."
+"<br>\n"
+"Kui valid vaikeväärtuse \"<i>Puudub</i>\", siis sinu teksti taustavärvi ei "
+"muudeta ja lugejad näevad sinu sõnumit enda tavalise teksti taustavärviga."
+"<br>\n"
+"<b>Märkus: seda ei toeta mitte kõik kliendid ning mõned kasutajad võivad olla "
+"ka selle nägemise võimaluse välja lülitanud.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Näidatavad hoiatusdialoogid"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "P&arool:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#~ msgid "Messages"
+#~ msgstr "Sõnumid"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "&Eemalolekusõnumite näitamine"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Määr&a globaalselt kättesaadavaks"
+
+#~ msgid " s"
+#~ msgstr " sek"
+
+#~ msgid "Every "
+#~ msgstr "Pärast "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Hoiatus saadud DCC faili kustutamisel"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1 võti määrati edukalt."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Faili '%1' eemaldamine ebaõnnestus."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC viga"
+
+#~ msgid "Remove File"
+#~ msgstr "Eemalda fail"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Edastuse üksikasjad"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Eemalda sellelt paneelilt"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Eemalda valitud failid"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Eemalda fail"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Kas tõesti kustutada valitud fail?\n"
+#~ "Kas tõesti kustutada valitud %n faili?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Kustutamise kinnitus"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Isiku pärisnime näitamine hüüdnime kõrval hüüdnimede nimekirjas."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Ühendus serveriga %1 kadus: %2. Püütakse uuesti ühenduda."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Proovitakse serverit %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Oodatakse 2 minutit enne uut ühenduse loomise katset..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Saadaolevad eelisgrupid: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Saadaolevad võtmed grupis %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Kasutamine: %1PREFS <grupp> <võti> <väärtus> või %2PREFS LIST gruppide nägemiseks või %3PREFS grupp LIST grupi võtmete nägemiseks. Kui parameetrites on tühikuid, aseta parameetrid jutumärkidesse."
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Eemale minnes l&isatakse meelespidamisrida"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Vestlusakna peitmisel l&isatakse meelespidamisrida"
+
+#~ msgid "&Connection"
+#~ msgstr "Ü&hendus"
diff --git a/po/fi/Makefile.am b/po/fi/Makefile.am
new file mode 100644
index 0000000..b5f8c61
--- /dev/null
+++ b/po/fi/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = fi
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/fi/konversation.po b/po/fi/konversation.po
new file mode 100644
index 0000000..d971e44
--- /dev/null
+++ b/po/fi/konversation.po
@@ -0,0 +1,8364 @@
+# translation of konversation.po to
+# translation of konversation.po to Finnish
+# Copyright (C).
+# Teemu Rytilahti <teemu.rytilahti@kde-fi.org>, 2003.
+# Ilkka Pirskanen <ilkka.pirskanen@kolumbus.fi>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2005-11-05 21:46+0200\n"
+"Last-Translator: Ilkka Pirskanen <ilkka.pirskanen@kolumbus.fi>\n"
+"Language-Team: Finnish <fi@li.org>\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/channeloptionsdialog.cpp:38
+#, fuzzy, c-format
+msgid "Channel Settings for %1"
+msgstr "Kanavan %1 asetukset"
+
+#: src/channeloptionsdialog.cpp:148
+#, fuzzy
+msgid "&Hide Advanced Modes <<"
+msgstr "Näytä &lisäkanavatilat >>"
+
+#: src/channeloptionsdialog.cpp:152
+#, fuzzy
+msgid "&Show Advanced Modes >>"
+msgstr "Näytä &lisäkanavatilat >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Uusi"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "tuntematon"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Tiedoston %1 tiedot:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Tiedostotiedot"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Tästä tiedostosta ei löytynyt tietoja."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Lähetä"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Vastaanota"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Jonossa"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Valmistellaan"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Yhdistetään"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Vastaanotetaan"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Lähetetään"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Valmis"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Epäonnistui"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Keskeytettiin"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1 sekunnissa"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versio"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Lähetä tiedustelupaketti"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Anna operaattorioikeus"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Peruuta operaattorioikeus"
+
+#: src/nicklistview.cpp:56
+#, fuzzy
+msgid "Give HalfOp"
+msgstr "Anna operaattorioikeus"
+
+#: src/nicklistview.cpp:57
+#, fuzzy
+msgid "Take HalfOp"
+msgstr "Peruuta operaattorioikeus"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Anna äänioikeus"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Peruuta äänioikeus"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Kanavatilat"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Heitä ulos"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Heitä ulos ja anna porttikielto"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Anna porttikielto nimimerkille"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Anna porttikielto *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Anna porttikielto *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Anna porttikielto *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Anna porttikielto *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Heitä ulos ja anna porttikielto *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Heitä ulos ja anna porttikielto *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Heitä ulos ja anna porttikielto *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Heitä ulos ja anna porttikielto *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Heitä ulos / Anna porttikielto"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ohita"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+#, fuzzy
+msgid "Unignore"
+msgstr "Ohita"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Avaa &keskustelu"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Avaa D&CC-keskustelu"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Lähetä &tiedosto..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Lähetä sähkö&posti..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Osoitekirjakohdistukset"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+#, fuzzy
+msgid "Add to Watched Nicks"
+msgstr "Muokkaa seurattua nimimerkkiä"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Tämä näyttää kaikki kanavan henkilöt. Jokaisen henkilön nimimerkki "
+"näytetään."
+"<br>Tavallisesti kuvake näyttää kunkin henkilön tilan, mutta näyttää siltä, "
+"että kuvakkeita ei ole asennettu. Käytä komentoa <i>"
+"Muokkaa asetuksia (Konversation) </i> valikosta <i>Asetukset</i>"
+". Katso sitten välilehteä <i>Teemat</i> osastosta <i>Ulkonäko</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Tämä luettelo näyttää kaikki kanavan henkilöt. Kunkin henkilön osalta "
+"näytetään nimimerkki ja tilakuvake."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Tällä henkilöllä on ylläpitäjän oikeudet.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Tämä henkilö on kanavan omistaja.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Tämä henkilö on kanavan operaattori.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Tämä henkilö on kanavan puolioperaattori.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Tällä henkilöllä on äänioikeus, ja hän voi siten keskustella moderoidulla "
+"kanavalla.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Tällä henkilöllä ei ole mitään erityisiä oikeuksia.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Tämä näyttää henkilön olevan tällä hetkellä poissa .</td></tr></table>"
+"<p>Ylläpitäjän, operaattorin ja puolioperaattorin roolien merkitys vaihtelee "
+"eri IRC-palvelimilla."
+"<p>Liikuttamalla hiiren minkä tahansa nimimerkin päälle saadaan näkyviin "
+"nimimerkin tämänhetkinen tila, kuten myös osoitekirjaan tallennetut tiedot "
+"henkilöstä. Saadaksesi lisätietoja katso Konversation-käyttöohjetta.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Muokkaa yhteystietoa..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Valitse/Muuta kohdistuksia..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Valitse yhteystieto..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Muuta kohdistusta..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Luo uusi yhteystieto..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Poista kohdistus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanava"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, fuzzy, no-c-format
+msgid "Query"
+msgstr "Avaa keskustelu"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, fuzzy, no-c-format
+msgid "Notice"
+msgstr "Huomautus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Poikkeus"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+#, fuzzy
+msgid "Tabs"
+msgstr "Otsikot"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Tänään"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Eilen"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (tunnistettu)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Sähköposti"
+
+#: src/nickinfo.cpp:391
+#, fuzzy
+msgid "Hostmask:"
+msgstr "Palvelinpeite"
+
+#: src/nickinfo.cpp:396
+#, fuzzy
+msgid "Away Message:"
+msgstr "Poissoloviesti"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(tuntematon)"
+
+#: src/nickinfo.cpp:406
+#, fuzzy
+msgid "Online Since:"
+msgstr "Käyttäjä paikalla alkaen"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Napsauta suorittaaksesi säännöllisten lausekkeiden muokkaimen (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+"Napsauta suorittaaksesi säännöllisten lausekkeiden muokkaimen (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:59
+#, fuzzy
+msgid "Incoming"
+msgstr "M&erkistö:"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr ""
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Liity kanavaan palvelimella %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Pikayhdistäminen"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Palvelimen nimi:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Anna verkon palvelimen nimi."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Portti:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Portti, jota IRC-palvelin käyttää."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Nimimerkki:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Nimimerkki, jota haluat käyttää."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "S&alasana:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Mikäli IRC-palvelin vaatii salasanan, anna se tässä (useimmat palvelimet eivät "
+"vaadi salasanaa)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Käytä SSL-yhteyttä"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Yhdistä"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Yhdistä palvelimeen"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Vastakkeena avaus ei onnistunut"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Tarjotaan DCC-keskustelua %1:lle portissa %2..."
+
+#: src/dccchat.cpp:148
+#, fuzzy
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC-keskustelu %1:n kanssa portissa %2"
+
+#: src/dccchat.cpp:160
+#, fuzzy
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Muodostetaan DCC-keskusteluyhteyttä %1:n kanssa (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, fuzzy, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Muodostetaan DCC-keskusteluyhteyttä %1:n kanssa (%2:%3)..."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Yhteys katkesi, virhekoodi %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Vastaanotettiin tuntematon CTPCP-%1-pyyntö palvelimelta %2"
+
+#: src/dccchat.cpp:323
+#, fuzzy
+msgid "Could not accept the client."
+msgstr "Yhteyttä ei voitu hyväksyä (vastakevirhe)"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Oletus ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Palvelinluettelo"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Napsauta tässä yhdistääksesi valittuun IRC-verkkoon ja kanavaan."
+
+#: src/serverlistdialog.cpp:112
+#, fuzzy
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Määritetyt IRC-verkot näytetään tässä luettelossa. IRC-verkko on kokoelma "
+"yhteistyössä toimivia palvelimia. Vain yhteen verkon palvelimeen yhdistäminen "
+"riittää koko IRC-verkkoon yhdistämiseen. Kun yhteys on muodostettu, "
+"Konversation liittyy automaattisesti näytettyihin kanaviin. Kun Konversation "
+"käynnistetään ensimmäisen kerran, Freenode-verkko ja <i>#kde</i>"
+"-kanava on valmiiksi syötetty. Napsauta verkkoa valitaksesi sen."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Verkko"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Henkilöllisyys"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanavat"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Uusi..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Napsauta tässä määritelläksesi uuden verkon mukaan lukien palvelin, johon "
+"yhdistetään ja kanavat, joihin automaattisesti liitytään yhdistettäessä."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Muokkaa..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Yhdistä &sovelluksen käynnistyessä"
+
+#: src/serverlistdialog.cpp:213
+#, fuzzy
+msgid "New Network"
+msgstr "Verkko"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Muokkaa verkkoa"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+
+#: src/serverlistdialog.cpp:310
+#, fuzzy
+msgid "Do you really want to delete the selected entries?"
+msgstr "Poistetaanko valitut verkot varmasti?"
+
+#: src/serverlistdialog.cpp:312
+#, fuzzy
+msgid "Do you really want to delete %1?"
+msgstr "Haluatko poistaa teeman %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Näytä viimeinen:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Käytä tätä laatikkoa asettaaksesi lokitiedoston suurimman mahdolisen koon. Tämä "
+"asetus ei astu voimaan, ennen kuin käynnistät Konversationin uudelleen. "
+"Jokaisella lokitiedostolla voi olla oma asetus."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " Kt"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Tyhjennä lokitiedosto"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Lokitiedoston viestit näytetään tässä. Vanhimmat viestit ovat ylhäällä ja "
+"uusimmat alhaalla."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "Poistetaanko varmasti kaikki lokitieto tässä tiedostossa?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Huomaa: Tallentamalla lokitiedoston tallennat kaiken tiedoston tiedon, et vain "
+"tälle näyttimelle näkyvää osaa."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Tallenna lokitiedosto"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Valitse kohdekansio"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Tiedot"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Tarjotaan DCC-keskustelua %1:lle portissa %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Uudelleenyhdistämisyritykset:"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, fuzzy, c-format
+msgid "Already connected to %1"
+msgstr "Valitse vastaanottajalle %1 lähetettävä tiedosto"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Yhdistetään"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Muokkaa palvelinta"
+
+#: src/connectionmanager.cpp:502
+#, fuzzy
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Anna <b>tunnuksesi</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Anna <b>oikea nimesi</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Anna vähintään yksi <b>nimimerkki</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Henkilöllisyys \"%1\" ei ole oikein määritelty:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+#, fuzzy
+msgid "Identity Settings"
+msgstr "Tarkista henkilöllisyysasetukset"
+
+#: src/connectionmanager.cpp:518
+#, fuzzy
+msgid "Edit Identity..."
+msgstr "Lisää henkilöllisyys"
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Henkilöllisyydet"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Henkilöllisyys:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Monista"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Nimeä uudelleen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Yleiset"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Oikea nimi:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Anna tässä oikea nimesi. IRC ei ole tarkoitettu salaamaan oikeaa "
+"henkilöllisyyttäsi ystäviltäsi tai vihollisiltasi. Pidä tämä mielessä, jos aiot "
+"käyttäytyä huonosti. Väärä \"oikea nimi\" voi kuulostaa hyvältä tavalta salata "
+"sukupuolesi kaikilta nörteiltä, mutta käyttämäsi tietokone voidaan aina "
+"jäljittää, joten et koskaan ole varmasti tuntematon."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Nimimerkki"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Tämä on luettelo nimimerkeistäsi. Nimimerkki on nimi, jolla toiset käyttäjät "
+"tuntevat sinut. Voit käyttää mitä tahansa haluaamaasi nimeä. Ensimmäinen merkki "
+"pitää olla kirjain.\n"
+"\n"
+"Koska nimimerkkien pitää olla yksilöiviä koko IRC-verkossa, palvelin saattaa "
+"hylätä haluamasi nimimerkin, koska joku toinen jo käyttää sitä. Anna "
+"vaihtoehtoisia nimimerkkejä, koska jos palvelin hylkää ensimmäisen valintasi, "
+"Konversation yrittää vaihtoehtoisia nimimerkkejä."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Lisää..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Muokkaa..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Automaattinen tunnistus"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "&Palvelu:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Palvelu voi olla <b><i>nickserv</i></b> tai verkkokohtainen nimi, kuten <b><i>"
+"nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "S&alasana:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Poissa"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Jos valitset tämän, aina antaessasi komennon <b>/away</b>"
+", lisätään kanavalle vaakaviiva merkitsemään lähtöajankohtaasi. Muut "
+"IRC-käyttäjät eivät näe tätä viivaa."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Nimimerkki poissaollessasi:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Anna nimimerkki, jota käytetään poissaollessasi. Aina kun annat komennon <b>"
+"/away msg</b> millä tahansa kanavalla, johon olet liittynyt tällä "
+"henkilöllisyydellä, Konversation muuttaa automaattisesti nimimerkkisi tähän "
+"nimimerkkiin. Muut käyttäjät näkevät jo nimimerkistäsi, että olet poissa "
+"tietokoneen luota. Aina kun annat komennon <b>/away</b> "
+"millä tahansa kanavalla, josta olet poissa, Konversation vaihtaa nimimerkkisi "
+"takaisin alkuperäiseksi. Jos et haluat automaattisesti vaihtaa nimimerkkiäsi "
+"lähtiessäsi pois, jätä tämä tyhjäksi."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " riviä"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "&Keskustelutapahtumasta"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Jatka automaaa&ttisesti latausta"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Poissoloviesti"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Mikäli valitset tämän valinnan, Konversation lähettää poissaoloviestin kaikille "
+"kanaville, joihin olet liittynyt tällä henkilöllisyydellä. <b>%s</b> "
+"korvataan <b>msg</b>:llä. Aina antaessasi komennon <b>/away</b> "
+"paluuviesti näytetään kaikilla kanavilla, johon olet liittynyt tällä "
+"henkilöllisyydellä."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Poissaoloviesti:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Paluuvies&ti:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Lisäasetukset"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Esikomento komentotulkissa:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Tässä voit antaa komennon, joka suoritetaan ennen yhdistämistä palvelimeen."
+"<br>Jos tällä henkilöllisyydellä on monta palvelinta, tämä komento suoritetaan "
+"jokaiselle palvelimelle"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "&Tunnus:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Kun yhteys palvelimeen muodostetaan, monet palvelimet vaativat käyttäjän "
+"tunnistautuvan. Mikäli tietokoneessasi ei ole käynnissä "
+"tunnistautumispalvelinta, Konversation lähettää tämän vastauksen. Välilyönnit "
+"eivät ole sallittuja."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "M&erkistö:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Tämä asetus vaikuttaa siihen, kuinka kirjoittamasi merkit koodataan "
+"palvelimelle lähetettäessä. Se vaikuttaa myös siihen, kuinka viestit näytetään. "
+"Kun ensimmäisen kerran käynnistät Konversationin, se hakee asetuksen "
+"käyttöjärjestelmältä. Jos sinulla on vaikeuksia nähdä toisten kirjoittamia "
+"viestejä oikein, yritä vaihtaa tätä asetusta."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "&Poistumissyy:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Aina kun jätät kanavan, tämä viesti lähetetään kanavalle."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Poistumissyy:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Aina kun jätät kanavan, tämä viesti lähetetään kanavalle."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Ulosheiton syy:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Aina kun sinut heitetään ulos kanavalta (yleensä IRC-operaattorin toimesta), "
+"tämä viesti lähetetään kanavalle."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Vaihda henkilöllisyystietoja"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Hylkää kaikki tehdyt muutokset"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Henkilöllisyydellä on oltava ainakin yksi nimimerkki."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Lisää nimimerkki"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Nimimerkki:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Muokkaa nimimerkkiä"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Lisää henkilöllisyys"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Henkilöllisyyden nimi:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Henkilöllisyydellä on oltava nimi."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Nimeä henkilöllisyys uudelleen"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Tämä henkilöllisyys on käytössä. Jos poistat sen, sitä käyttävät "
+"verkkoasetukset palautuvat oletushenkilöllisyyden asetuksiin. Poistetaanko se "
+"silti?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Poistetaanko varmasti kaikki tämän henkilöllisyyden tiedot?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Poista henkilöllisyys"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Monista henkilöllisyys"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Tavallisett käyttäjät"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Äänioikeutetut (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Puolioperaattorit (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operaattorit (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+#, fuzzy
+msgid "Channel Admins (+p)"
+msgstr "Kanavan ylläpitäjät"
+
+#: src/nicklistbehavior_preferences.cpp:68
+#, fuzzy
+msgid "Channel Owners (+q)"
+msgstr "Kanavan omistajat"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Lisää merkki"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Lisää merkin"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation kirjanmerkkimuokkain"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Ei vapaata porttia"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Vastakkeena avaus ei onnistunut"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Etsi..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Kopioi verkko-osoite leikepöydälle"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Lisää kirjanmerkkeihin"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "&Tallenna luettelo..."
+
+#: src/ircview.cpp:270
+#, fuzzy, c-format
+msgid "Open a query with %1"
+msgstr "Avaa keskustelu"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, fuzzy, c-format
+msgid "Join the channel %1"
+msgstr "Liity kanavaan palvelimella %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "Päivän viesti"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Ilmoitukset"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Liity"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Poistu"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Avaa keskustelu"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+#, fuzzy
+msgid "&Join"
+msgstr "Liity"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr ""
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+#, fuzzy
+msgid "Get &topic"
+msgstr "&Aihe"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Ei löytynyt osumia \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "&Tallenna luettelo..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Palvelinluettelo..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Pikayhdistäminen..."
+
+#: src/konversationmainwindow.cpp:137
+#, fuzzy
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Anna uuden IRC-palvelimen osoite yhdistämistä varten..."
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Yhdistä uudelleen"
+
+#: src/konversationmainwindow.cpp:141
+#, fuzzy
+msgid "Reconnect to the current server."
+msgstr "Yhdistä palvelimeen"
+
+#: src/konversationmainwindow.cpp:143
+#, fuzzy
+msgid "&Disconnect"
+msgstr "Katkaise"
+
+#: src/konversationmainwindow.cpp:145
+#, fuzzy
+msgid "Disconnect from the current server."
+msgstr "Katkaise yhteys palvelimeen"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Henkilöllisyydet..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Paikalla olevat seuratut nimimerkit"
+
+#: src/konversationmainwindow.cpp:151
+#, fuzzy
+msgid "&DCC Status"
+msgstr "DCC-tila"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Avaa lokitiedosto"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+#, fuzzy
+msgid "&Channel Settings..."
+msgstr "&Muut asetukset"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+#, fuzzy
+msgid "Channel &List"
+msgstr "Kanavaluettelo"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Verkko-osoitteiden kaappaaja"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Uusi &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Seuraava välilehti"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Edellinen välilehti"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Sul&je välilehti"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "&Seuraava välilehti"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+#, fuzzy
+msgid "Move Tab Up"
+msgstr "Siirrä välilehteä vasemmalle"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+#, fuzzy
+msgid "Move Tab Down"
+msgstr "Siirrä välilehteä vasemmalle"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Siirrä välilehteä oikealle"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Siirrä välilehteä vasemmalle"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&Liity kanavalle"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Käytä ilmoituksia"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&Liity kanavalle"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Aseta merkistö"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Siirry välilehteen %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "T&yhjennä luettelo"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Tyhjennä nykyisen ikkunan sisältö"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Tyhjennä ikkuna"
+
+#: src/konversationmainwindow.cpp:258
+#, fuzzy
+msgid "Clear the contents of the current tab"
+msgstr "Tyhjennä nykyisen ikkunan sisältö"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Tyhjennä &kaikki ikkunat"
+
+#: src/konversationmainwindow.cpp:261
+#, fuzzy
+msgid "Clear the contents of all open tabs"
+msgstr "Tyhjennä kaikkien ikkunoiden sisältö"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Liity kanavalle..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC-väri..."
+
+#: src/konversationmainwindow.cpp:280
+#, fuzzy
+msgid "Set the color of your current IRC message"
+msgstr "Aseta nykyisen IRC-viestisi väri."
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Muistiviiva"
+
+#: src/konversationmainwindow.cpp:283
+#, fuzzy
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Lisää vaakaviiva, joka näkyy ikkunassa."
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Erikoismerkki..."
+
+#: src/konversationmainwindow.cpp:286
+#, fuzzy
+msgid "Insert any character into your current IRC message"
+msgstr "Lisää mikä tahansa merkki IRC-viestiisi. "
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Sulje &kaikki avoimet keskustelut"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Piiloita nimimerkkiluettelo"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+#, fuzzy
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Pääikkunan sulkemisen jälkeen Konversation on käynnissä ilmoitusalueella. "
+"Käytä komentoa <b>Lopeta</b> <b>Konversation</b>-valikosta sulkeaksesi "
+"sovelluksen.</p>"
+"<p>"
+"<center><img source=\"systray_shot\"></center></p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Telakointi ilmoitusalueelle"
+
+#: src/konversationmainwindow.cpp:490
+#, fuzzy
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Tämä piilottaa valikkopalkin kokonaan. Se saadaan takaisin näkyviin "
+"komennolla %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+#, fuzzy
+msgid "Toggle Notifications"
+msgstr "Käytä ilmoituksia"
+
+#: src/konversationmainwindow.cpp:540
+#, fuzzy
+msgid "Toggle Away Globally"
+msgstr "Siirry &poissaolevaksi kaikkialla"
+
+#: src/konversationmainwindow.cpp:541
+#, fuzzy
+msgid "Insert &IRC Color..."
+msgstr "&IRC-väri..."
+
+#: src/konversationmainwindow.cpp:542
+#, fuzzy
+msgid "Insert Special &Character..."
+msgstr "&Erikoismerkki..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "&Muistiviiva"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Kanavaluettelo"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Siirry &poissaolevaksi kaikkialla"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Raaka"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Käyttö: %1JOIN <kanava> [salasana]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Käyttö: %1KICK <nimimerkki> [syy]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK toimii vain kanavien sisältä."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART ilman parametreja toimii vain kanavan tai keskustelun sisältä."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART ilman kanavan nimeä toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC ilman parametreja toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC ilman kanavan nimeä toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:575
+#, fuzzy
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"NAMES ilman kohdetta saattaa katkaista yhteyden palvelimeen. Anna '*' vain, jos "
+"varmasti haluat tehdä tämän."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Käyttö: %1NOTICE <vastaanottaja> <viesti>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Käyttö: %1AME teksti"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+#, fuzzy
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Lähetetään CTCP-%1 -pyyntö käyttäjälle %2"
+
+#: src/outputfilter.cpp:877
+#, fuzzy
+msgid "File \"%1\" does not exist."
+msgstr "Virhe: Tiedostoa \"%1\" ei ole olemassa."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Käyttö: %1DCC [SEND nimimerkki tiedostonimi]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Käyttö: %1DCC [CHAT nimimerkki]"
+
+#: src/outputfilter.cpp:899
+#, fuzzy
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Virhe: Tunnistamaton komento DCC %1. Mahdolliset komennot ovat SEND, CHAT ja "
+"CLOSE."
+
+#: src/outputfilter.cpp:996
+#, fuzzy
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Käyttö: INVITE <nimimerkki> [kanava]"
+
+#: src/outputfilter.cpp:1011
+#, fuzzy
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "Virhe: INVITE ilman kanavan nimeä toimii vain kanavien sisältä."
+
+#: src/outputfilter.cpp:1023
+#, fuzzy
+msgid "%1 is not a channel."
+msgstr "Virhe: %1 ei ole kanava."
+
+#: src/outputfilter.cpp:1037
+#, fuzzy, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Käyttö: EXEC <komentojono> [parametriluettelo]"
+
+#: src/outputfilter.cpp:1049
+#, fuzzy
+msgid "Script name may not contain \"../\"!"
+msgstr "Virhe: Komentojonon nimi ei saa sisältää merkkejä \"../\"!"
+
+#: src/outputfilter.cpp:1070
+#, fuzzy
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Käyttö: RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Nykyinen ilmoitusluettelo on tyhjä."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Nykyinen ilmoitusluettelo: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Anna käyttäjätunnus ja salasana IRC-operaattorioikeuksille:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC-operaattorin salasana"
+
+#: src/outputfilter.cpp:1194
+#, fuzzy
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "BAN ilman kanavan nimeä toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:1196
+#, fuzzy
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "BAN ilman kanavan nimeä toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Käyttö: BAN [-HOST | -DOMAIN] [kanava] <käyttäjä|peite>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Käyttö: BAN [-HOST | -DOMAIN] [kanava] <käyttäjä|peite>"
+
+#: src/outputfilter.cpp:1271
+#, fuzzy
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "UNBAN ilman kanavan nimeä toimii vain kanavan sisältä."
+
+#: src/outputfilter.cpp:1286
+#, fuzzy
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Käyttö: UNBAN [kanava] peite"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 lisättiin ohitettavien luetteloon."
+
+#: src/outputfilter.cpp:1345
+#, fuzzy
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Käyttö: IGNORE [ -ALL ] käyttäjäluettelo"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+
+#: src/outputfilter.cpp:1407
+#, fuzzy
+msgid "Removed %1 from your ignore list."
+msgstr "%1 lisättiin ohitettavien luetteloon."
+
+#: src/outputfilter.cpp:1413
+#, fuzzy, c-format
+msgid "No such ignore: %1"
+msgstr "%1: Nimimerkkiä/Kanavaa ei ole."
+
+#: src/outputfilter.cpp:1419
+#, fuzzy, c-format
+msgid "No such ignores: %1"
+msgstr "%1: Nimimerkkiä/Kanavaa ei ole."
+
+#: src/outputfilter.cpp:1432
+#, fuzzy
+msgid "Usage: %1QUOTE command list"
+msgstr "Käyttö: QUOTE komentoluettelo"
+
+#: src/outputfilter.cpp:1448
+#, fuzzy
+msgid "Usage: %1SAY text"
+msgstr "Käyttö: SAY teksti"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Käyttö"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Käyttö: %1AME teksti"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Käyttö: %1AMSG teksti"
+
+#: src/outputfilter.cpp:1565
+#, fuzzy
+msgid "Usage: %1OMSG text"
+msgstr "Käyttö: %1AMSG teksti"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "Lähetetään huomautus \"%1\" käyttäjälle %2."
+
+#: src/outputfilter.cpp:1584
+#, fuzzy
+msgid "Usage: %1ONOTICE text"
+msgstr "Käyttö: %1AME teksti"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Nykyinen ilmoitusluettelo: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Aseta merkistö"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "Virhe: %1 ei ole kanava."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "Avain %1:lle poistettiin."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "Avain %1:lle poistettiin."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "Avain %1:lle poistettiin."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+#, fuzzy
+msgid "Usage: %1DNS <nick>"
+msgstr "Käyttö: %1KICK <nimimerkki> [syy]"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr ""
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr ""
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Käyttö: %1KICK <nimimerkki> [syy]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Syöteriville kirjoitetaan kanavalle, keskusteluun tai palvelimelle "
+"lähetettävät viestit. Kanavalle lähetettävän viestin näkee jokainen kanavaan "
+"liittynyt. Sen sijaan keskusteluun lähetetyn viestin näkee vain henkilö, kenen "
+"kanssa keskustelet."
+"<p>Voit lähettää myös erikoiskomentoja:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>toiminto</i></th>"
+"<td>näkyy toimintana kanavassa tai keskustelussa. Esimerkiksi: <em>"
+"/me laulaa laulun</em> näkyy kanavalla 'Nimimerkki laulaa laulun'.</td></tr>"
+"<tr>"
+"<th>/whois <i>nimimerkki</i></th>"
+"<td>näyttää tietoja tästä henkilöstä, mukaan lukien ne kanavat, joihin hän on "
+"liittynyt.</td></tr></table>"
+"<p>Saadaksesi lisätietoja komennoista katso Konversation-käyttöohjetta."
+"<p>Viesti voi olla korkeintaan 512 merkkiä pitkä, eikä voi sisältää useita "
+"rivejä.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Yrität liittää keskusteluun suuren määrän tekstiä (%1 tavua tai %2 riviä). "
+"Tämä saattaa aiheuttaa yhteyden katkeamisen tai automaattisen ulosheittämisen. "
+"Haluatko varmasti jatkaa?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Suuren liittämisen varoitus"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Käyttäjäystävällinen IRC-asiakas"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Palvelin, johon yhdistetään"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Käytettävä portti"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanava, johon liitytään yhdistämisen jälkeen"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Käytettävä nimimerkki"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Yhteyden salasana"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Käytä SSL-yhteyttä"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2005 Konversation-ryhmä"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation on asiakasohjelma Internet Relay Chat (IRC) -yhteyskäytännölle.\n"
+"Tapaa ystäviä netissä, tee uusia tuttavuuksia ja uppoudu keskusteluun "
+"lempiaiheestasi."
+
+#: src/main.cpp:62
+#, fuzzy
+msgid "Original Author, Project Founder"
+msgstr "Alkuperäinen tekijä/Projektin perustaja"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Ylläpitäjä"
+
+#: src/main.cpp:64
+#, fuzzy
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "Verkkosemantiikka, kirjanmerkit, syötteen käsittely"
+
+#: src/main.cpp:65
+#, fuzzy
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr ""
+"DCC-uudelleenkirjoitus, merkistöparannuksia, kuvaruutunäytön sijoittelu"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr ""
+
+#: src/main.cpp:67
+#, fuzzy
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish-tuki, SSL-tuki, KNetwork-siirto, väritetyt nimimerkit, kuvakkeiden "
+"teematuki"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Siistiminen, KAddressBook/Kontact-integrointi"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Monitilalaajennus, Sulje-härvelin sijoittelu, kuvaruutunäyttö"
+
+#: src/main.cpp:73
+#, fuzzy
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentaatio, paikalla olevien seurattujen nimimerkkien parannukset, muokattu "
+"www-selainlaajennus"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Värimuokkain, korostusikkuna"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP-rajapinta"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Ei-Latin1-merkistöt"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole-näkymä"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Pikayhdistäminen, uuden kuvaruutunäytön käyttöönotto, muita ominaisuuksia ja "
+"virhekorjauksia"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Kourallinen korjauksia ja koodin siivousta"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Vedä ja pudota -parannuksia"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Taidetta"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox-tyylinen etsintäpalkki"
+
+#: src/main.cpp:83
+#, fuzzy
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raakatilat, välilehtien ryhmittely palvelimittain"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Ilmoitusaluekorjaus"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Virhekorjauksia"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Täydensi käyttäjätilojen korjausta"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Sulje näkyvä välilehti pikakomennolla -korjaus"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Kierrätä välilehtiä hiiren rullalla"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Kanavan omistajatilojen korjaus"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Mahdollisuus tehdä IRC-värisuodatus"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr ""
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr ""
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"Vastaanotettiin CTCP-PING-pyyntö käyttäjältä %1 kanavalle %2, lähetetään "
+"vastaus."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Vastaanotettiin CTCP-%1-pyyntö käyttäjältä %2, lähetetään vastaus."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Vastaanotettiin versiotiedustelu käyttäjältä %1 kanavalle %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Vastaanotettiin versiotiedustelupyyntö käyttäjältä %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Vastaanotettiin versiotiedustelupyyntö käyttäjältä %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Vastaanotettiin versiotiedustelupyyntö käyttäjältä %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Vastaanotettiin versiotiedustelupyyntö käyttäjältä %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Vastaanotettiin versiotiedustelupyyntö käyttäjältä %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Tuntematon DCC-komento %1 vastaanotettiin käyttäjältä %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Vastaanotettiin tuntematon CTCP-%1-pyyntö käyttäjältä %2 kanavalle %3"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Vastaanotettiin tuntematon CTPCP-%1-pyyntö palvelimelta %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 käyttäjälle %2- %3"
+
+#: src/inputfilter.cpp:444
+#, fuzzy
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Vastaanotettiin CTCP-PING vastaus käyttäjältä %1: %2 sekuntia"
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Vastaanotettiin CTCP-%1 vastaus käyttäjältä %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Kutsu"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 kutsui sinut kanavalle %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Tervetuloa"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Palvelin %1 (versio %2), käyttäjätilat: %3, kanavatilat: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Tuki"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Kanavatilat: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "aihesuojaus"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "ei viestejä ulkopuolelta"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "salainen"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "vain kutsulla"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "yksityinen"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderoitu"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "salasanasuojattu"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonyymi"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "operaattorioikeuden automaattipalautus"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "värit ei sallittu"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"rajoitettu %n käyttäjään\n"
+"rajoitettu %n käyttäjään"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Tila"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "Verkko-osoite"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Palvelimen %1 kanavaluettelo"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Luotu"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Tämä kanava on luotu %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+#, fuzzy
+msgid "%1 is logged in as %2."
+msgstr "%1 vaihtoi nimimerkiksi %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nimet"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "NAMES-luettelon loppu."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr ""
+
+#: src/inputfilter.cpp:931
+#, fuzzy
+msgid "The channel %1 has no topic set."
+msgstr "Kanavan aihe on \"%1\"."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Aihe"
+
+#: src/inputfilter.cpp:950
+#, fuzzy
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Kanavan aihe on \"%1\"."
+
+#: src/inputfilter.cpp:965
+#, fuzzy
+msgid "The topic was set by %1 on %2."
+msgstr "Aiheen asetti %1 %2."
+
+#: src/inputfilter.cpp:971
+#, fuzzy
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Aiheen asetti %1 %2."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr ""
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Nimimerkkiä/Kanavaa ei ole."
+
+#: src/inputfilter.cpp:1001
+#, fuzzy, c-format
+msgid "No such nick: %1."
+msgstr "%1: Nimimerkkiä/Kanavaa ei ole."
+
+#: src/inputfilter.cpp:1012
+#, fuzzy
+msgid "%1: No such channel."
+msgstr "%1: Nimimerkkiä/Kanavaa ei ole."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nimimerkki"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Nimimerkki on jo käytössä, kokeile toista."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Nimimerkki on jo käytössä. Kokeillaan %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Virheellinen nimimerkki. Vaihdetaan nimimerkiksi %1."
+
+#: src/inputfilter.cpp:1074
+#, fuzzy, c-format
+msgid "You are not on %1."
+msgstr "Uusi nimimerkkisi on %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Päivän viesti:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Päivän viestin loppu"
+
+#: src/inputfilter.cpp:1111
+#, fuzzy
+msgid "You are now an IRC operator on this server."
+msgstr "Sinun on oltava operaattori vaihtaaksesi tätä."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Käyttäjät"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Verkon käyttäjät: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Kanavan %1 käyttäjät: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Poissa"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 on poissa: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Kutsuit %1:n kanavalle %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+#, fuzzy
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 on %2&#64;%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr ""
+
+#: src/inputfilter.cpp:1239
+#, fuzzy
+msgid "%1 is an identified user."
+msgstr "%1 on tunnistettu käyttäjä"
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+#, fuzzy
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 on %2&#64;%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Poissa)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "/WHO-luettelon loppu kanavalle %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 on käyttäjä kanavilla: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 on äänioikeutettu kanavilla: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 on puolioperaattori kanavilla: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 on operaattori kanavilla: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 on omistaja kanavilla: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 on ylläpitäjä kanavilla: %2"
+
+#: src/inputfilter.cpp:1434
+#, fuzzy
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 on paikalla %2 (%3) välityksellä"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr ""
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (IRC-operaattori)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 päivä\n"
+"%n päivää"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 tunti\n"
+"%n tuntia"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minuutti\n"
+"%n minuuttia"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 sekunti\n"
+"%n sekuntia"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 on ollut jouten %2 %3 %4 %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 on ollut jouten %2 %3 %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 on ollut jouten %2 %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 on ollut jouten 1 sekunnin.\n"
+"%1 on ollut jouten %n sekuntia."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 on ollut paikalla alkaen %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS-luettelon loppu."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Käyttäjäpalvelin"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC-operaattori)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (poissa)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Luettelo"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Kanavaluettelo:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n käyttäjä): %2\n"
+"%1 (%n käyttäjää): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Kanavaluettelon loppu."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr ""
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1682
+#, fuzzy
+msgid "End of Ban List."
+msgstr "Kanavaluettelon loppu."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr ""
+
+#: src/inputfilter.cpp:1726
+#, fuzzy
+msgid "%1: Unknown command."
+msgstr "<tuntematon> %1"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr ""
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr ""
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Asetit kanavatilan -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " asettaa tilan: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Oletushenkilöllisyys"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Muokkaa seurattua nimimerkkiä"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Verkon nimi:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Valitse tässä palvelinverkko, johon yhdistetään."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "N&imimerkki:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Seurattava nimimerkki, kun olet yhteydessä verkon palvelimeen.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Muuta ilmoitustietoja"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Yhteys palvelimeen %1 epäonnistui: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Yhdistäminen palvelimiiin käyttäen salattua SSL-viestintää ei ole mahdollista, "
+"koska OpenSSL-tukea ei ole otettu käyttöön kääntämisen yhteydessä. Asenna "
+"KDE:stä uusi versio, jossa on SSL-tuki."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Palvelimen palauttamaa SSL-varmennetta ei tunnistettu. Tämä palvelin ei ehkä "
+"tarjoa SSL-tukea käytetyssä portissa. Mikäli tämä palvelin tukee tavallista, "
+"ei-SSL-viestintää, on SSL eri portissa."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "Palvelimen %1 IP-osoite ei vastaa sitä, jolle varmenne on myönnetty."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Palvelimen todentaminen"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Tiedot"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Palvelimen (%1) varmenne ei läpäissyt aitoustarkistusta."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Hyväksytäänkö tämä varmenne aina tulevaisuudessa niin, että varmenteesta ei "
+"enää koskaan huomauteta?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Aina"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Vain nykyiselle istunnolle"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Korostus] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Keskustelu) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 liittyi kanavalle %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 poistui kanavalta %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 lähti kanavalta %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 vaihtoi nimimerkiksi %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 haluaa lähettää tiedoston sinulle"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 on aloittanut keskustelun kanssasi."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 on paikalla (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 poistui paikalta (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 heitti sinut ulos kanavalta %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 aloitti suoran keskustelun kanssasi"
+
+#: src/notificationhandler.cpp:291
+#, fuzzy
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Korostus] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:304
+#, fuzzy, c-format
+msgid "Failed to connect to %1"
+msgstr "Valitse vastaanottajalle %1 lähetettävä tiedosto"
+
+#: src/notificationhandler.cpp:315
+#, fuzzy, c-format
+msgid "You have joined %1."
+msgstr "Uusi nimimerkkisi on %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Lausetta ei löytynyt"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Kiertävä haku"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Verkkoliitäntä"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "IRC-palvelimen vastaus"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Määrittele käsin"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC-värivalitsin"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Ei mitään"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Palvelin:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Palvelimen nimi tai IP-osoite. irchelp.org ylläpitää luetteloa palvelimista."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Anna porttinumero, johon yhdistetään. Useimmilla palvelimilla tämä on <b>"
+"6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Salasana:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "S&alattu yhteys (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Valitse tämä, jos haluat käyttää Secure Socket Layer (SSL) yhteyskäytäntöä "
+"viestiessäsi palvelimen kanssa. Tämä suojaa viestintäsi yksityisyyttä "
+"tietokoneesi ja IRC-palvelimen välillä. Toimiakseen palvelimen täytyy tukea "
+"SSL-yhteyskäytäntöä. Mikäli palvelin ei tue SSL:ää, useimmissa tapauksissa "
+"yhteys epäonnistuu."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr ""
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Ylläpitäjä on rajoittanut oikeutta lähettää tiedostoja"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Verkko-osoitetta \"%1\" ei ole"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Tiedoston \"%1\" haku ei onnistunut"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Anna tiedoston nimi"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Tiedostolla, jota olet lähettämässä vastaanottajalle <i>%1</i>"
+", ei ole nimeä."
+"<br>Anna vastaanottajalle näytettävä tiedostonimi, tai peruuta dcc-siirto</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Tiedostonimeä ei annettu"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Odotetaan etäkäyttäjän hyväksyntää"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Yhteyttä ei voitu hyväksyä (vastakevirhe)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Tiedoston avaus ei onnistunut: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Vastakevirhe: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Aikakatkaisu"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Yhteysvirhe: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Etäkäyttäjän yhteys katkesi"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Toimenpide onnistui. Tätä ei pitäisi tapahtua virheikkunassa."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Tiedoston \"%1\" lukeminen ei onnistunut."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Tiedostoon \"%1\" kirjoittaminen ei onnistunut."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Tapahtui vakava, peruuttamaton virhe."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Tiedoston \"%1\" avaus ei onnistunut."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Toimenpide keskeytettiin odottomatta."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Toimenpide aikakatkaistiin."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Sulkemisessa tapahtui määrittelemätön virhe."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Tuntematon virhe. Koodi %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC-vastaanotto : %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "DCC-vastaanotto : %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "tuntematon koko"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 liittyi kanavalle %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 poistui kanavalta %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 poistui kanavalta %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr ". sekunti"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Valmis."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Tämä näyttää kanavan kaikkien käyttäjien lukumäärän ja operaattorien "
+"lukumäärän."
+"<p>Kanavan operaattori on käyttäjä, jolla on eritysoikeuksia, kuten "
+"mahdollisuus heittää ulos käyttäjiä ja antaa käyttäjille porttikieltoja, "
+"muuttaa kanavatiloja ja tehdä muista käyttäjistä operaattoreita</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+#, fuzzy
+msgid "Lag: Unknown"
+msgstr "Viive: ei tiedossa"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Kaikki viestiliikenne palvelimelle on salattu. Tämä tekee viestinnän "
+"seuraamisen ulkopuoliselle vaikeaksi."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Tilapalkki näyttää erilaisia viestejä mukaan lukien palvelimeen "
+"yhdistämisessä tapahtuneet ongelmat. Verkkoviive palvelimeen on nähtävillä "
+"äärimmäisenä oikealla. Verkkoviive on se aika, joka viesteilläsi kestää "
+"saavuttaa palvelin, ja palvelimen viestien saavuttaa sinut.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Viive: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Viive: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Palvelimelta %1 ei vastausta yli %2 %3 %4 %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Palvelimelta %1 ei vastausta yli %2 %3 %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Palvelimelta %1 ei vastausta yli %2 %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Palvelimelta %1 ei vastausta yli 1 sekuntiin.\n"
+"Palvelimelta %1 ei vastausta yli %n sekuntiin."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Etsitään palvelinta %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Palvelinta %1 ei löydetty. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Palvelin löydettiin, yhdistetään..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Yhdistetty, kirjaudutaan sisään..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Yhteys palvelimeen %1 epäonnistui: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Palvelimeen %1:%2 yhdistäminen käyttäen SSL-salausta ei onnistunut. Palvelin ei "
+"ehkä tue SSL:ää, tai portti saattaa olla väärä. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL-yhteysvirhe"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Katkaise yhteys palvelimeen"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+#, fuzzy
+msgid "Nickname error"
+msgstr "Nimimerkki"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Tapahtui virhe luettaessa palvelimen lähettämää tietoa: %1"
+
+#: src/server.cpp:1636
+#, fuzzy, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Valitse vastaanottajalle %1 lähetettävä tiedosto"
+
+#: src/server.cpp:1711
+#, fuzzy
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 on paikalla %2 (%3) välityksellä"
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "tuntematon koko"
+
+#: src/server.cpp:1742
+#, fuzzy
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1 on paikalla %2 (%3) välityksellä"
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Vastaanotettiin epäkelpo jatkamispyyntö tiedostolle \"%1\" (kohta %2) "
+"lähettäjältä %3."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Vastaanotettiin epäkelpo jatkamispyyntö tiedostolle \"%1\" (kohta %2) "
+"lähettäjältä %3."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+"Vastaanotettiin epäkelpo jatkamispyyntö tiedostolle \"%1\" (kohta %2) "
+"lähettäjältä %3."
+
+#: src/server.cpp:1887
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Tiedoston \"%1\" DCC-lataus päättyi."
+
+#: src/server.cpp:1890
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Tiedoston \"%1\" DCC-lataus epäonnistui. Syy: %2"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Tiedoston \"%1\" DCC-lähetys epäonnistui. Syy: %2"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr ""
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 kutsui sinut liittymään kanavalle %2. Hyväksytkö kutsun?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Kutsu"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Virhe: Komentojonoa \"%1\" ei löytynyt."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Virhe: Komentojonon \"%1\" suoritus ei onnistunut. Tarkista tiedoston oikeudet."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Lähtenyt toistaiseksi."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Olet nyt poissaoleva."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Et ole enää poissaoleva."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Et ole poissaoleva."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Paikalla olevat seuratut nimimerkit"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Verkko/Nimimerkki/Kanava"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Lisätietoja"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Nämä ovat nimimerkkejä seurattujen nimimerkkien luettelostasi. Ne on "
+"ryhmitelty sen palvelinverkon mukaan, johon ne ovat kytkeytyneet. Luettelo "
+"sisältää myös nimimerkit KAddressBookista, jotka on kohdistettu "
+"palvelinverkkon.</p>"
+"<p>Sarake <b>Lisätietoja</b> näyttää kustakin nimimerkistä tiedetyt asiat.</p>"
+"<p>Kanavat, joihin nimimerkki on liittynyt, näytetään kunkin nimimerkin "
+"alla.</p>"
+"<p>Nimimerkit, jotka ovat otsikon <b>Poissa</b> alla, eivät ole yhteydessä "
+"mihinkään verkon palvelimeen.</p>"
+"<p>Napsauta hiiren kakkospainikkeella nimimerkkiä suorittaaksesi "
+"lisätoimintoja.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Muokkaa seurantaluetteloa..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Napsauta muokataksesi tällä ruudulla näkyvää nimimerkkiluetteloa."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Osoitekirja:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Kun valitset nimimerkin yllä olevasta luettelosta, tässä olevia painikkeita "
+"käytetään kohdistamaan nimimerkki osoitekirjan yhteystietoon."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Muokaa &yhteystietoa..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Napsata luodaksesi, näyttääksesi tai muokataksesi osoitekirjan yhteystietoa, "
+"joka on kohdistettu yllä valittuun nimimerkkiin."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Muuta kohdistusta..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Napsauta kohdistaaksesi yllä valittu nimimerkki osoitekirjan yhteystietoon."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Poista kohdistus"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Napsauta poistaaksesi kohdistuksen yllä valitun nimimerkin ja osoitekirjan "
+"yhteystiedon väliltä."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " paikalla %1 välityksellä"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " alkaen %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Poissa"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Äänioikeus"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Puolioperaattori"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operaattori"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Omistaja"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Ylläpitäjä"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Luo uusi &yhteystieto..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Valitse kohdistus..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Liity kanavalle"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Valitse äänitiedosto"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Lokitiedosto aloitettiin\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Liity automaattisesti kanavalle kutsuttaessa"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Huomaa, että lokitiedostojen tallentaminen tallentaa koko tiedoston"
+
+#: src/warnings_preferences.cpp:107
+#, fuzzy
+msgid "Ask before deleting logfile contents"
+msgstr "Varmista ennen lokitiedoston sisällön tyhjentämistä"
+
+#: src/warnings_preferences.cpp:108
+#, fuzzy
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr ""
+"Varmista keskusteluiden sulkeminen, mikäli nimimerkki merkitään ohitettavaksi"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr ""
+"<qt>Seurattava nimimerkki, kun olet yhteydessä verkon palvelimeen.</qt>"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr ""
+"<qt>Seurattava nimimerkki, kun olet yhteydessä verkon palvelimeen.</qt>"
+
+#: src/warnings_preferences.cpp:111
+#, fuzzy
+msgid "Close server tab"
+msgstr "Sulje välilehti"
+
+#: src/warnings_preferences.cpp:112
+#, fuzzy
+msgid "Close channel tab"
+msgstr "Kanavaluettelo"
+
+#: src/warnings_preferences.cpp:113
+#, fuzzy
+msgid "Close query tab"
+msgstr "Sulje välilehti"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Kanavaluettelo voidaan avata vain palvelinvälilehdiltä"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Varoita pääikkunan valikon piilottamisesta"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr ""
+"Varoita kanavaluettelon aiheuttamasta verkkoliikenteen suuresta määrästä"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Varoita suuren tekstimäärän liittämisestä"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Varoita suuren tekstimäärän liittämisestä"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Kanavaluettelo"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Suodatinasetukset"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "Väh&immäiskäyttäjämäärä:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Eni&mmäiskäyttäjämäärä:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanavaluettelo voidaan rajoittaa käyttäjien vähimmäismäärän perusteella. "
+"Valitsemalla 0 poistetaan rajoitus käytöstä."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanavaluettelo voidaan rajoittaa käyttäjien enimmäismäärän perusteella. "
+"Valitsemalla 0 poistetaan rajoitus käytöstä."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "Suodatus&peite:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Suodatuskohde:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Anna suodatusmerkkijono."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&Säännöllinen lauseke"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "&Käytä suodatinta"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Napsauta tästä hakeaksesi kanavaluettelon palvelimelta ja käyttääksesi "
+"suodatinta."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Suodatettu luettelo kanavista näytetään tässä. Huomaa, että jollei säännöllisiä "
+"lausekkeita käytetä, Konversation sisällyttää luetteloon kaikki kanavat, joiden "
+"nimi sisältää annetun merkkijonon. Kanavan nimen ei tarvitse alkaa annetulla "
+"merkkijonolla.\n"
+"\n"
+"Valitse kanava, johon haluat liittyä, napsauttamalla sitä. Napsauta hiiren "
+"kakkospainikeella kanavaa nähdäksesi kaikki verkko-osoitteet, jotka mainitaan "
+"kanavan aiheessa."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Kanavan nimi"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Kanavan aihe"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "&Päivitä luettelo"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "&Tallenna luettelo..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&Liity kanavalle"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Napsauta tästä liittyäksesi kanavalle. Kanavalle luodaan uusi välilehti."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Tallenna kanavaluettelo"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation kanavaluettelo: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanavia: %1 (%2 näytetty)"
+
+#: src/channellistpanel.cpp:487
+#, fuzzy
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Ei-yksilöiviä käyttäjiä: %1 (%2 näytetty)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Avaa verkko-osoite"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Verkko-osoitetta ei löytynyt>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Palvelimen %1 kanavaluettelo"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Paikalla"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia pikaviestintään, mutta ei "
+"välittänyt yhteystietoa, jolle viesti lähetettäisiin. Tämä on todennäköisesti "
+"virhe toisessa sovelluksessa."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia pikaviestintään, mutta "
+"Konversation ei löydä välitettyä yhteystietoa KDE-osoitekirjasta."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia pikaviestintään, mutta "
+"välitetty käyttäjä %1 ei ole nyt paikalla."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia lähettääkseen tiedoston "
+"toiselle käyttäjälle, mutta ei välittänyt yhtään yhteystietoa. Tämä on "
+"todennäköisesti virhe toisessa sovelluksessa."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia lähettääksen tiedoston "
+"toiselle käyttäjälle, mutta Konversation ei löydä välitettyä yhteystietoa "
+"KDE-osoitekirjasta."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia tiedoston lähettämiseen "
+"toiselle käyttäjälle, mutta välitetty käyttäjä %1 ei ole nyt paikalla."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Toinen KDE-sovellus yritti käyttää Konversationia lisätäkseen yhteystiedon. "
+"Konversation ei tue tällaista toiminnallisuutta."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Osoitekirjaohjelman (kaddressbook) suorittaminen ei onnistunut. Tämä johtuu "
+"todennäköisesti siitä, että sitä ei ole asennettu. Asenna 'kdepim'-paketit."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Valitulla yhteystiedolla ei ole kohdistettua sähköpostiosoitetta. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Sähköpostin lähettäminen ei onnistu"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Sähköpostiohjelman suorittaminen ei onnistunut. Tämä johtuu todennäköisesti "
+"siitä, että sitä ei ole asennettu. Asentaaksesi KDE-sähköpostiohjelman (kmail) "
+"asenna 'kdepim'-paketit."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Yhdelläkään valitsemistasi yhteystiedoista ei ole kohdistettua yhteystietoa "
+"osoitekirjassa. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Valitsemallasi yhteystiedolla ei ole kohdistettua yhteystietoa osoitekirjassa. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Joillakin valitsemistasi yhteystiedoista (%1) ei ole kohdistettua yhteystietoa "
+"osoitekirjassa. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Yhdellä valitsemistasi yhteystiedoista (%1) ei ole kohdistettua yhteystietoa "
+"osoitekirjassa. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Voit napsauttaa yhteystietoa hiiren kakkospainikkeella, ja valita osoitekirjan "
+"kohdistuksen muokkauksen kohdistaaksesi yhteystiedon osoitekirjan "
+"yhteystietoon."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Yhdelläkään valitsemistasi yhteystiedoista ei ole kohdistettua "
+"sähköpostiosoitetta. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Joillakin valitsemistasi yhteystiedoista (%1) ei ole kohdistettua "
+"sähköpostiosoitetta. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Yhdellä valitsemistasi yhteystiedoista (%1) ei ole kohdistettua "
+"sähköpostiosoitetta. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Voit napsauttaa yhteystietoa hiiren kakkospainikkeella, ja valita osoitekirjan "
+"yhteystiedon muokkauksen lisätäksesi yhteystiedolle sähköpostiosoitteen."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Joillakin valitsemistasi yhteystiedoista (%1) ei ole kohdistettua yhteystietoa "
+"osoitekirjassa, ja joillakin valitsemistasi yhteystiedoista (%2) ei ole "
+"kohdistettua sähköpostiosoitetta. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Voit napsauttaa yhteystietoa hiiren kakkospainikkeella, ja valita osoitekirjan "
+"kohdistuksen muokkauksen kohdistaaksesi yhteystiedon osoitekirjan "
+"yhteystietoon, ja valita osoitekirjan yhteystiedon muokkauksen lisätäksesi "
+"yhteystiedolle sähköpostiosoitteen."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Lähetetäänkö silti sähköposti nimimerkeille, joilla on sähköpostiosoite?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Lähetä sähköposti"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Kohdista IRC-nimimerkki osoitekirjan yhteystietoon"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Valitse nimimerkkiä %1 vastaava henkilö."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Tällä hetkellä '%1' on kohdistettu yhteystietoon."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Tällä hetkellä '%1' on kohdistettu yhteystietoon '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Varoitus:</b> '%1' on tällä hetkellä kohdistettu useaan yhteystietoon. "
+"Valitse oikea yhteystieto.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Uusi osoitekirjan yhteystieto"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Anna uuden yhteystiedon nimi:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Verkko-osoitekaappaaja"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Luettelo verkko-osoitteista, jotka on mainittu missä tahansa "
+"Konversation-ikkunassa tämän istunnon aikana."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Avaa verkko-osoite"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Valitse <b>verkko-osoite</b> ylhäältä ja napsauta sitten tätä painiketta "
+"käynnistääksesi sovelluksen, joka on liitetty verkko-osoitteen "
+"MIME-tyyppiin.</p>"
+"<p><b>Asetukset</b>-valikossa <b>Ulkonäkö</b>-kohdassa välilehdellä <b>"
+"Yleiset</b>voidaan määritellä haluttu www-selain verkko-osoitteille.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Kopioi verkko-osoite"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Valitse <b>verkko-osoite</b> ylhäällä, ja napsauta sitten tätä painiketta "
+"kopioidaksesi verkko-osoitteen leikepöydälle."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Poista verkko-osoite"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Valitse <b>verkko-osoite</b> ylhäällä, ja napsauta sitten tätä painiketta "
+"poistaaksesi verkko-osoitteen luettelosta."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Tallenna luettelo..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Napsauta tallentaaksesi koko luettelon tiedostoon."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "T&yhjennä luettelo"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Napsauta tyhjeentäksesi koko luettelon."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Tallenna verkko-osoiteluettelo"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Muokkaa monirivistä liittämistä"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Lisää &lainausmerkintä"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Kanava:"
+
+#: src/channeldialog.cpp:73
+#, fuzzy
+msgid "The channel name is required."
+msgstr "Tämä kanava on luotu %1."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Raakaloki"
+
+#: src/viewcontainer.cpp:527
+#, fuzzy
+msgid "Search for text in the current tab"
+msgstr "Tyhjennä nykyisen ikkunan sisältö"
+
+#: src/viewcontainer.cpp:545
+#, fuzzy, c-format
+msgid "Channel &List for %1"
+msgstr "Palvelimen %1 kanavaluettelo"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Avaa lokitiedosto kanavalle %1"
+
+#: src/viewcontainer.cpp:576
+#, fuzzy
+msgid "&Channel Settings for %1..."
+msgstr "Kanavan %1 asetukset"
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Oletusmerkistö ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Voit etsiä vain tekstikentistä."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Etsi tekstitietoa"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Kanavan %1 lokitiedosto"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC-tila"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Tämän toiminnallisuuden käyttö saattaa johtaa verkkoliikenteen kasvuun. Jos "
+"yhteys ei ole tarpeeksi nopea, on mahdollista, että palvelin katkaisee "
+"yhteyden."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Kanavaluettelovaroitus"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Kanavaluettelo voidaan avata vain keskustelu-, kanava- tai tilaikkunasta "
+"nähdäksesi mille palvelimelle luettelo kuuluu."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Anna verkon nimi. Verkkoluetteloon voidaan luoda samalle verkolle haluttu määrä "
+"merkintöjä."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Valitse olemassa oleva henkilöllisyys tai napsauta Muokkaa-painiketta "
+"lisätäksesi uuden henkilöllisyyden tai muokataksesi olemassa olevaa. "
+"Henkilöllisyys määrittelee nimimerkkisi kytkeytyessäsi verkkooon."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Valinnainen. Tämä komento lähetetään palvelimelle kytkeytymisen jälkeen. "
+"Esimerkki: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+". Tämä esimerkki on freenode-verkolle, joka vaatii käyttäjiä rekisteröimään "
+"nimimerkkinsä salasanalla ja kirjautumaan sisään kytkeytymisen yhteydessä. <i>"
+"konvirocks<i> on henkilöllisyydessä määritellyn nimimerkin salasana. Useampi "
+"kuin yksi komento voidaan antaa erottamalla ne puolipisteellä toisistaan."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Valitse tämä, mikäli haluat Konversationin automaattisesti kytkeytyvän verkkoon "
+"aina, kun käynnistät Konversationin."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Tämä on IRC-palvelinten luettelo verkossa. Kun kytkeydyt verkkoon, Konversation "
+"yrittää kytkeytyä luettelon ensimmäiseen palvelimeen ensin. Mikäli tämä "
+"epäonnistuu, yritetään toista palvelinta. Mikäli tämäkin epäonnistuu, yritetään "
+"kolmatta palvelinta jne. Vähintään yksi palvelin on määriteltävä. Napsauta "
+"palvelinta valitaksesi sen."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Valinnainen. Tämä on luettelo kanavista, joihin kytkeydytään automaattisesti, "
+"kun Konversation on kytkeytynyt palvelimeen. Tämä voidaan jätttää tyhjäksi, jos "
+"ei haluta kytkeytyä millekään kanavalle."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Vaihda verkon tietoja"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Lisää palvelin"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Muokkaa palvelinta"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Lisää kanava"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Muokkaa kanavaa"
+
+#: src/servergroupdialog.cpp:404
+#, fuzzy
+msgid "The network name is required."
+msgstr "Tämä kanava on luotu %1."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Verkkoon pitää lisätä vähintään yksi palvelin."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation-teemat"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Valitse teemapaketti"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Teeman lataus ei onnistunut"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Teema-arkisto on epäkelpo."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Teeman asennus ei onnistunut"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Haluatko poistaa teeman %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Poista teema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC-asiakas"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Valitse vastaanottaja"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Valitse nimimerkki ja sulje ikkuna"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Sulje ikkuna tekemättä muutoksia"
+
+#: src/konvdcop.cpp:156
+#, fuzzy
+msgid "getNickname: Server %1 is not found."
+msgstr "Palvelinta %1 ei löydetty. %2"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Ylläpitäjä on rajoittanut oikeutta vastaanottaa tiedostoja"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+#, fuzzy
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Tukematon tiedustelu (tiedostokoko = 0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Kansio luominen ei onnistunut.</b><br>Kansio: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "KIO-ilmentymän luominen ei onnistunut"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Tiedosto on jo olemassa.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+#, fuzzy
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Osittainen tiedosto on olemassa.</b>"
+"<br>%1"
+"<br>Osittaisen tiedoston koko: %2 tavua"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+#, fuzzy
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Tiedosto on jo olemassa.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Tiedoston avaaminen ei onnistunut.<br>Virhe: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Yhteyden salasana"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Odotetaan etäpalvelimen hyväksyntää"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Odottamaton vastaus etäpalvelimelta"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Siirtovirhe"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO-virhe: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Joitakin tietoja henkilöstä, kenen kanssa keskustelet, näytetään tässä "
+"palkissa. Koko nimi ja palvelinpeite näytetään, samoin kuin tämän henkilön kuva "
+"tai logo, joka on liitetty tähän henkilöön KDE-osoitekirjassa."
+"<p>Katso <i>Konversation-käyttöohjetta</i> saadaksesi lisätietoja nimimerkin "
+"kohdistamisesta osoitekirjan yhteystietoon, ja palvelinpeitteen määritelmä.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(poissa)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Haluatko ohittaa %1:n?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Haluatko sulkea tämän kyselyn, koska nimimerkki päätettiin ohittaa?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Sulje tämä keskustelu"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Jatka keskustelua"
+
+#: src/channel.cpp:638 src/query.cpp:408
+#, fuzzy
+msgid "Do you want to stop ignoring %1?"
+msgstr "Haluatko ohittaa %1:n?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Oletushenkilöllisyys ( %1 )"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Do you want to close your query with %1?"
+msgstr "Haluatko ohittaa %1:n?"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Close Query"
+msgstr "Sulje tämä keskustelu"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Puhut itsellesi"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+#, fuzzy
+msgid "%1 has left this server."
+msgstr "%1 poistui tältä palvelimelta. (%2)"
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1 poistui tältä palvelimelta. (%2)"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Kuvaruutunäytön esikatselu - vedä ja pudota sijoittaaksesi uudelleen"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operaattori"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Ylläpitäjä"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Omistaja"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Puolioperaattori"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Äänioikeutettu"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+#, fuzzy
+msgid "Interface"
+msgstr "DCOP-rajapinta"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Käyttäytyminen"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, fuzzy, no-c-format
+msgid "Notifications"
+msgstr "Käytä ilmoituksia"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+#, fuzzy
+msgid "Chat Window"
+msgstr "&Tyhjennä ikkuna"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+#, fuzzy
+msgid "Colors"
+msgstr "Väritetyt nimimerkit"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+#, fuzzy
+msgid "Quick Buttons"
+msgstr "Käyttäytyminen - Pikapainikkeet"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+#, fuzzy
+msgid "Connection"
+msgstr "Yhdistetään"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+#, fuzzy
+msgid "Nickname List"
+msgstr "Nimimerkkiluettelo:"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+#, fuzzy
+msgid "Command Aliases"
+msgstr "Käyttäytyminen - Komentoaliakset"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+#, fuzzy
+msgid "Auto Replace"
+msgstr "Korvaus"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+#, fuzzy
+msgid "Logging"
+msgstr "&Ota loki käyttöön"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, fuzzy, no-c-format
+msgid "Highlight"
+msgstr "Korostukset"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, fuzzy, no-c-format
+msgid "Watched Nicknames"
+msgstr "Muokkaa seurattua nimimerkkiä"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+#, fuzzy
+msgid "On Screen Display"
+msgstr "Kuva&ruutunäyttö"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Varoitusikkunat"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC-vastaanottokysymys"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Jatka"
+
+#: src/dccresumedialog.cpp:87
+#, fuzzy
+msgid "O&riginal Filename"
+msgstr "Anna tiedoston nimi"
+
+#: src/dccresumedialog.cpp:88
+#, fuzzy
+msgid "Suggest &New Filename"
+msgstr "Ehdota &uutta nimeä"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Korvaa"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "&Nimeä uudelleen"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr ""
+
+#: src/searchbar.cpp:71
+#, fuzzy
+msgid "Case Sensitive"
+msgstr "Kirjainkoon huomioiva"
+
+#: src/searchbar.cpp:72
+#, fuzzy
+msgid "Whole Words Only"
+msgstr "Vain kokonaiset sanat"
+
+#: src/searchbar.cpp:73
+#, fuzzy
+msgid "From Cursor"
+msgstr "Kohdistimen paikasta"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Sul&je välilehti"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Katkaistaanko yhteys '%1'?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Katkaise yhteys palvelimeen"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Katkaise"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Tila"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Kumppani"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Edistyminen"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Kohta"
+
+#: src/dcctransferpanel.cpp:84
+#, fuzzy
+msgid "Remaining"
+msgstr "Jäljellä"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Nopeus"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Lähettäjän osoite"
+
+#: src/dcctransferpanel.cpp:115
+#, fuzzy
+msgid "Accept"
+msgstr "&Hyväksy"
+
+#: src/dcctransferpanel.cpp:116
+#, fuzzy
+msgid "Abort"
+msgstr "&Keskeytä"
+
+#: src/dcctransferpanel.cpp:118
+#, fuzzy
+msgid "Open File"
+msgstr "&Avaa tiedosto"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Aloita vastaanotto"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Keskeytä siirto/siirrot"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Suorita tiedosto"
+
+#: src/dcctransferpanel.cpp:125
+#, fuzzy
+msgid "View DCC transfer details"
+msgstr "Näytä DCC-lisätiedot"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Valitse &kaikki kohteet"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Valitse kaikki &valmistuneet kohteet"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Hyväksy"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&Keskeytä"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&Jatka"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Tyhjennä"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Avaa tiedosto"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Tiedostot&iedot"
+
+#: src/channel.cpp:128
+#, fuzzy
+msgid "Edit Channel Settings"
+msgstr "&Muut asetukset"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Jokaisella IRC-kanavalla on aihe. Tämä on yksinkertaisesti viesti, jonka "
+"kaikki näkevät."
+"<p>Mikäli olet operaattori tai kanavatilaa <em>'T'</em> "
+"ei ole asetettu, voit vaihtaa aihetta napsauttamalla painiketta Muuta kanavan "
+"asetuksia aiheen vasemmalla puolella. Tässä voidaan nähdä myös "
+"aihehistoria.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>T</b>-tila tarkoittaa, että vain operaattori voi vaihtaa kanavan "
+"aihetta.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, fuzzy, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>N</b>-tila tarkoittaa, että käyttäjät, jotka eivät ole kanavalla, eivät "
+"voi lähettää viestejä, joita kaikki kanavalla olijat näkevät. Lähes kaikilla "
+"kanavilla on tämä tila haitanteon estämiseksi.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>S</b>-tila tarkoittaa, että kanava on salainen, eikä kanava näy "
+"kanavaluettelossa, eikä kukaan käyttäjä näe, että olet tällä kanavalla "
+"komennolla <em>WHOIS</em> tai vastaavalla. Vain samalla kanavalla olijat "
+"tietävät, että olet liittynyt tälle kanavalle, mikäli tämä tila on "
+"asetettu.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>I</b>-tila tarkoittaa, että kanavalla voi liittyä vain kutsuttaessa. "
+"Kutsuakseseen jonkun kanavan operaattorin tulee antaa komento <em>"
+"/invite nimimerkki</em> kanavan sisältä.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>P</b>-tila tarkoittaa, että kanava on yksityinen, ja sen nimi näytetään "
+"kanavaluettelossa, mutta aihetta ei. Komento <em>WHOIS</em> "
+"saattaa näyttää tai olla näyttämättä kanavan riippuen IRC-palvelimesta.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>M</b>-tila tarkoittaa, että kanava on moderoitu, ja vain operaattorit, "
+"puolioperaattorit ja äänioikeutetut voivat keskustella.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>P</b>-tila tarkoittaa, että kanava on suojattu, ja käyttäjien on "
+"annettava salasana liittyäkseen kanavalle.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em>. Vain operaattori voi vaihtaa "
+"kanavatiloja."
+"<p><b>L</b>-tila tarkoittaa, että kanavalla on käyttäjämääräraja, joka "
+"rajoittaa kanavaan kerralla liittyneiden määrää. Joillakin kanavilla on botti, "
+"joka automaattisesti muuttaa tätä rajaa kanavan ruuhkaisuuden mukaan.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Kanavan käyttäjien enimmäismäärä"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Tämä on kanavan käyttäjämääräraja - enimmäismäärä käyttäjiä, jotka "
+"kanavalla voivat olla yhtä aikaa. Operaattori voi asettaa tämän rajan. Mikäli "
+"raja asetetaan, myös <b>T</b> (aihe) kanavatila asetetaan automaattisesti.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Tämä näyttää nykyisen nimimerkkisi, ja muut vaihtoehtoiset nimimerkit, "
+"jotka olet asettanut. Jos valitset tai kirjoitat muun nimimerkin, "
+"IRC-palvelimelle lähetetään pyyntö nimimerkin vaihtamiseksi. Mikäli palvelin "
+"sallii, nimimerkkisi vaihdetaan. Jos kirjoitat uuden nimimerkin, tarvitsee "
+"sinun painaa 'Enter' lopuksi."
+"<p>Voit lisätä ja vaihtaa vaihtoehtoisia nimimerkkejä komennolla <em>"
+"Henkilöllisyys</em> valikossa <em>Tiedosto</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Haluatko ohittaa valitut käyttäjät?"
+
+#: src/channel.cpp:640
+#, fuzzy
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Haluatko ohittaa valitut käyttäjät?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Täydentäminen"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Mahdolliset täydentämiset: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Kanavan salasana"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Käyttäjämääräraja"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Anna uusi käyttäjämääräraja:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Uusi nimimerkkisi on %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 vaihtoi nimimerkiksi %2."
+
+#: src/channel.cpp:1269
+#, fuzzy
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Liityit kanavalle %1. (%2)"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1308
+#, fuzzy
+msgid "You have left this server."
+msgstr "Poistuit tältä palvelimelta. (%1)"
+
+#: src/channel.cpp:1310
+#, fuzzy
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Poistuit tältä palvelimelta. (%1)"
+
+#: src/channel.cpp:1315
+#, fuzzy, c-format
+msgid "You have left channel %1."
+msgstr "Poistuit kanavalta %1. (%2)"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+#, fuzzy
+msgid "%1 has left this channel."
+msgstr "%1 poistui tältä kanavalta. (%2)"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1378
+#, fuzzy, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Heitit itsesi ulos kanavalta %1 (%2)"
+
+#: src/channel.cpp:1381
+#, fuzzy
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Heitit itsesi ulos kanavalta %1 (%2)"
+
+#: src/channel.cpp:1388
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 heitti sinut ulos kanavalta %1. (%3)"
+
+#: src/channel.cpp:1394
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 heitti sinut ulos kanavalta %1. (%3)"
+
+#: src/channel.cpp:1415
+#, fuzzy
+msgid "You have kicked %1 from the channel."
+msgstr "Heitit %1:n kanavalta ulos. (%2)"
+
+#: src/channel.cpp:1418
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Heitit %1:n kanavalta ulos. (%2)"
+
+#: src/channel.cpp:1425
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 heitti %1:n ulos kanavalta. (%3)"
+
+#: src/channel.cpp:1431
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 heitti %1:n ulos kanavalta. (%3)"
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n nimimerkki\n"
+"%n nimimerkkiä"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operaattori)\n"
+" (%n operaattoria)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Kanavan aihe on \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Asetit kanavan aiheeksi \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 asetti kanavan aiheeksi \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Annoit kanavan omistajan oikeudet itsellesi."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "%1 sai kanavan omistajan oikeudet sinulta."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 antoi kanavan omistajan oikeudet sinulle."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 antoi kanavan omistajan oikeudet %2:lle."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Otit kanavan omistajan oikeudet pois itseltäsi."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Otit kanavan omistajan oikeudet pois %1:lta."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 otti kanavan omistajan oikeudet pois sinulta."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 otti kanavan omistajan oikeudet pois %2:lta."
+
+#: src/channel.cpp:1643
+#, fuzzy
+msgid "You give channel admin privileges to yourself."
+msgstr "Annoit kanavan omistajan oikeudet itsellesi."
+
+#: src/channel.cpp:1645
+#, fuzzy, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "%1 sai kanavan omistajan oikeudet sinulta."
+
+#: src/channel.cpp:1650
+#, fuzzy
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 antoi kanavan omistajan oikeudet sinulle."
+
+#: src/channel.cpp:1652
+#, fuzzy
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 antoi kanavan omistajan oikeudet %2:lle."
+
+#: src/channel.cpp:1660
+#, fuzzy
+msgid "You take channel admin privileges from yourself."
+msgstr "Otit kanavan omistajan oikeudet pois itseltäsi."
+
+#: src/channel.cpp:1662
+#, fuzzy, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Otit kanavan omistajan oikeudet pois %1:lta."
+
+#: src/channel.cpp:1667
+#, fuzzy
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 otti kanavan omistajan oikeudet pois sinulta."
+
+#: src/channel.cpp:1669
+#, fuzzy
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 otti kanavan omistajan oikeudet pois %2:lta."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Annoit kanavan operaattorin oikeudet itsellesi."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "%1 sai kanavan operaattorin oikeudet sinulta."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 antoi kanavan operaattorin oikeudet sinulle."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 antoi kanavan operaattorin oikeudet %2:lle."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Otit kanavan operaattorin oikeudet pois itseltäsi."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Otit kanavan operaattorin oikeudet pois %1:lta."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 otti kanavan operaattorin oikeudet pois sinulta."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 otti kanavan operaattorin oikeudet pois %2:lta."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Annoit kanavan puolioperaattorin oikeudet itsellesi."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "%1 sai kanavan puolioperaattorin oikeudet sinulta."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 antoi kanavan puolioperaattorin oikeudet sinulle."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 antoi kanavan puolioperaattorin oikeudet %2:lle."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Otit kanavan puolioperaattorin oikeudet pois itseltäsi."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Otit kanavan puolioperaattorin oikeudet pois %1:lta."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 otti kanavan puolioperaattorin oikeudet pois sinulta."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 otti kanavan puolioperaattorin oikeudet pois %2:lta."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "Annoit itsellesi äänioikeuden."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "%1 sai äänioikeuden sinulta."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 antoi äänioikeuden sinulle."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 antoi äänioikeuden %2:lle."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Otit äänioikeuden pois itseltäsi."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Otit äänioikeuden pois %1:lta."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 otti äänioikeuden pois sinulta."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 otti äänioikeuden pois %2:lta."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Asetit kanavan tilaksi 'värit ei sallittu'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 asetti kanavan tilaksi 'värit ei sallittu'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Asetit kanavan tilaksi 'värit sallittu'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 asetti kanavan tilaksi 'värit sallittu'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Asetit kanavan tilaksi 'vain kutsulla'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 asetti kanavan tilaksi 'vain kutsulla'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Poistit kanavalta 'vain kutsulla' tilan."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 otti kanavalta pois 'vain kutsulla' tilan."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Asetit kanavan tilaksi 'moderoitu'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 asetti kanavan tilaksi 'moderoitu'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Asetit kanavan tilaksi 'ei moderoitu'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 asetti kanavan tilaksi 'ei moderoitu'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Asetit kanavan tilaksi 'ei viestejä ulkopuolelta'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 asetti kanavan tilaksi 'ei viestejä ulkopuolelta'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Asetit kanavan tilaksi 'ulkopuoliset viestit sallitu'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 asetti kanavan tilaksi 'ulkopuoliset viestit sallittu'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Asetit kanavan tilaksi 'yksityinen'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 asetti kanavan tilaksi 'yksityinen'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Asetit kanavan tilaksi 'julkinen'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 asetti kanavan tilaksi 'julkinen'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Asetit kanavan tilaksi 'salainen'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 asetti kanavan tilaksi 'salainen'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Asetit kanavan tilaksi 'näkyvä'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 asetti kanavan tilaksi 'näkyvä'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Asetit aihesuojauksen päälle."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 asetti aihesuojauksen päälle."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Otit aihesuojauksen pois päältä."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 otti aihesuojauksen pois päältä."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Asetit kanavan aiheeksi \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 asetti kanavan aiheeksi \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Poistit käyttäjämäärärajan."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 poisti käyttäjämäärärajan."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Asetit kanavan käyttäjämäärän rajaksi %1 nimimerkkiä."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 asetti kanavan käyttäjämäärän rajaksi %2 nimimerkkiä."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Poistit käyttäjämäärärajan."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 poisti käyttäjämäärärajan."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "%1 sai porttikiellon sinulta."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 antoi porttikiellon %2:lle."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Peruit %1:n porttikiellon."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 perui %2:n porttikiellon."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Asetit porttikiellon poikkeuksen %1:lle."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 asetti porttikiellon poikkeuksen %2:lle."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Poistit porttikielloin poikkeuksen %1:lta."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 poisti porttikiellon poikkeuksen %2:lta."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Asetit kutsupeitteen %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 asetti kutsupeitteen %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Poistit kutsupeitteen %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 poisti kutsupeitteen %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Asetit kanavatilan +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 asetti kanavatilan +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Asetit kanavatilan -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 asetti kanavatilan -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Sinun on oltava operaattori vaihtaaksesi tätä."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Aihetta voi vaihtaa vain kanavan operaattori. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Ei viestejä ulkopuolelta kanavalle. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Salainen kanava. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Vain kutsulla -kanava. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Yksityinen kanava. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Moderoitu kanava. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Suojaa kanava salasanalla."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Aseta kanavalle käytttäjämääräraja."
+
+#: src/channel.cpp:2541
+#, fuzzy
+msgid "Do you want to leave %1?"
+msgstr "Haluatko poistaa teeman %1?"
+
+#: src/channel.cpp:2542
+#, fuzzy
+msgid "Leave Channel"
+msgstr "Tallenna kanavaluettelo"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Ilkka Pirskanen<br>Teemu Rytilahti"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "<br>ilkka.pirskanen@kolumbus.fi<br>teemu.rytilahti@kde-fi.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Jonossa"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr " riviä"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "kyllä"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "Ää&ni:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr " riviä"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "kyllä"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Tavallisett käyttäjät"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Jonossa"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Jonossa"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Vastaanottaja:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Painikkeen nimi"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Painikkeen toiminto"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, fuzzy, no-c-format
+msgid "Button action:"
+msgstr "Painikkeen toiminto"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, fuzzy, no-c-format
+msgid "Button name:"
+msgstr "Painikkeen nimi"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"Voit käyttää seuraavia muuttujia:\n"
+"%c: Nykyinen kanava\n"
+"%k: Kanavan salasana (ei vielä toiminnassa)\n"
+"%K: Palvelimen salasana\n"
+"%u: Luettelo valituista nimimerkeistä\n"
+"%s<erotin>%: erotin, jota käytetään erottamaan nimimerkit toisistaan "
+"%u-muuttujassa\n"
+"%n: Lähetä komento suoraan palvelimelle oman syöterivin sijasta"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "Tiedosto:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, fuzzy, no-c-format
+msgid "Self:"
+msgstr "Itse"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Tila:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "&Toiminto:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Edistyminen:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Kumppani"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "&Avaa tiedosto"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "Tiedosto:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&Jatka"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Nykyinen ilmoitusluettelo: %1"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Sijainti:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Tallenna tiedostoon:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Siirtovirhe"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Yhdistä automaattisesti uudelleen"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "&Uudelleenyhdistämisen aikakatkaisu:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Uudelleenyhdistämisyritykset:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " sekuntia"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Rajattomasti"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Virheenjäljitys"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "&Näytä raakaloki-ikkuna yhdistettäessä"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, fuzzy, no-c-format
+msgid "Pattern"
+msgstr "&Peite:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr ""
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, fuzzy, no-c-format
+msgid "Pattern:"
+msgstr "&Peite:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, fuzzy, no-c-format
+msgid "Message Types"
+msgstr "Viestit"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Uusi"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, fuzzy, no-c-format
+msgid "Remove &All"
+msgstr "&Poista tiedosto"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "&Verkon nimi:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&Henkilöllisyys:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "Ko&mennot:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Yhdistä &sovelluksen käynnistyessä"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Palvelimet"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Lisää..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Muokkaa..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Liity kanaville automaattisesti"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Muokkaa..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, fuzzy, no-c-format
+msgid "Alias:"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, fuzzy, no-c-format
+msgid "Replacement:"
+msgstr "Korvaus"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Korvaus"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, fuzzy, no-c-format
+msgid "Find Ne&xt"
+msgstr "Etsi tekstiä"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, fuzzy, no-c-format
+msgid "Find Previous"
+msgstr "&Edellinen välilehti"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Komento, joka suoritetaan kaksoisnapsauttassa:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Lajittele kirjainkokoa &huomioimatta"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "&Keskustelutapahtumasta"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Lajittele kä&yttäjän tilan mukaan"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, fuzzy, no-c-format
+msgid "Explanation"
+msgstr "Poikkeus"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, fuzzy, no-c-format
+msgid "Theme_Config"
+msgstr "Muokkaa seurattua nimimerkkiä"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "Ase&nna teema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Poista teema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, fuzzy, no-c-format
+msgid "Icon for normal users"
+msgstr "Tavallisten käyttäjien kuvake\""
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Poissaolevien käyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Äänioikeutettujen käyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Puolioperaattorikäyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Operaattorikäyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Kanavan ylläpitäjäkäyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Kanavan omistajakäyttäjien kuvake"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Esikatselu:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, fuzzy, no-c-format
+msgid "TabBar_Config"
+msgstr "Muokkaa seurattua nimimerkkiä"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, fuzzy, no-c-format
+msgid "Placement:"
+msgstr "Korvaus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, fuzzy, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Näytä välilehtien &sulkemispainikkeet"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, fuzzy, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Näytä välilehtien &sulkemispainikkeet välilehtipalkissa"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, fuzzy, no-c-format
+msgid "Focus"
+msgstr "Kohdistimen paikasta"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Tila"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Komento, joka &suoritetaan kaksoisnapsauttaessa nimimerkkiä:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Kun kaksoisnapsautat nimimerkkiä <b>Paikalla olevat nimimerkit</b> "
+"-ikkunassa, tämä\n"
+"komento sijoitetaan <b>Syöteriville</b> palvelinikkunassa.</p>\n"
+"<p>Komennossa voidaan käyttää seuraavia symboleja:</p>"
+"<ul>\n"
+"<li>%u: Kaksoisnapsautettu nimimerkki.</li>\n"
+"<li>%K: Palvelimen salasana.</li>\n"
+"<li>%n: Lähetä komento suoraan palvelimelle syöterivin sijaan.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Kun kaksoisnapsautat nimimerkkiä <b>Paikalla olevat nimimerkit</b> "
+"-ikkunassa, tämä\n"
+"komento sijoitetaan <b>Syöteriville</b> palvelinikkunassa.</p>\n"
+"<p>Komennossa voidaan käyttää seuraavia symboleja:</p>"
+"<ul>\n"
+"<li>%u: Kaksoisnapsautettu nimimerkki.</li>\n"
+"<li>%K: Palvelimen salasana.</li>\n"
+"<li>%n: Lähetä komento suoraan palvelimelle syöterivin sijaan.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Päivitysaikaväli:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation tarkistaa alla lueteltujen nimimerkkien tilan määritetyn "
+"aikavälein."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+"&Näytä paikalla olevien seurattujen nimimerkkien välilehti käynnistyksessä"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Jos valittu, <b>Nimimerkit paikalla</b> -ikkuna avataan automaattisesti, "
+"kun Konversation käynnistetään.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Käytä nimimerkken seurantaa"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kun nimimerkkien seuranta on käytössä, näytetään huomautus,kun <b>"
+"Seuratut Verkot/Nimimerkit</b> luettelossa tapahtuu paikalle tulemisia tai "
+"poistumisia.</p>\n"
+"<p>Voit myös avata <b>Paikalla olevat nimimerkit</b> "
+"-ikkunan nähdäksesi kaikkien seurattujen nimimerkkien tilan.</p>\n"
+")\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, fuzzy, no-c-format
+msgid "Network:"
+msgstr "&Verkko:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Seuratut verkot/nimimerkit"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kun nimimerkkien seuranta on käytössä, näytetään huomautus,kun <b>"
+"Seuratut Verkot/Nimimerkit</b> luettelossa tapahtuu paikalle tulemisia tai "
+"poistumisia.</p>\n"
+"<p>Voit myös avata <b>Paikalla olevat nimimerkit</b> "
+"-ikkunan nähdäksesi kaikkien seurattujen nimimerkkien tilan.</p>\n"
+")\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Napsauta lisätäksesi uuden nimimerkin luetteloon."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Napsauta poistaaksesi valitun nimimerkin luettelosta."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Ota loki käyttöön"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Käytä &pienaakkosia lokitiedoston nimessä"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Lisää palvelimen nimi lokitiedoston nimiin"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Lokitiedoston &polku:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Näytä kuvake ilmoitusalueella"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Käytä ilmoitusaluetta uusista viesteistä huomattamiseen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Nimimerkkien täydennys"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Täydennys&tapa:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Kierrätä nimimerkkiluetteloa"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Komentotulkin kaltainen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Komentotulkin kaltainen täyttökentällä"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Loppu&liite rivin alussa:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Muualla:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Kirjainkoon huomioiva"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Älä käytä huomatuksia &poissaollessasi"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Käytä muokattua &versiovastausta:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Tässä voit asettaa muokatun vastauksen <b>CTCP <i>VERSION</i></b>"
+"-kyselylle.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Komentomerkki:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, fuzzy, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Käytä omaa &www-selainta:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "Telakointi ilmoitusalueelle"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Näytä &oikeat nimet nimimerkkien vieressä"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Avaa seurattujen nimimerkkien välilehti käynnistyksessä"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Käytä tunnekuvakkeita"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tunnekuvaketeema"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Ai&he"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Päivämäärä"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Kanava&tilat"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Aiheen voi muuttaa vain kanavan operaattori"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Ei viestejä kanavan ulkopuolelta"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Salainen kanava, kanava ei näy kanavaluettelossa"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Vain &kutsun saaneet voivat liittyä kanavalle"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Nämä ohjaavat kanavan <em>tilaa</em> . Vain operaattori voi vaihtaa "
+"kanavatilaa."
+"<p>Vain kutsusta (<b>I</b>) -kanavalle voi liittyä vain kutsun saaneet "
+"henkilöt. Kutsuakseen henkilön kanavan operaattorin tulee antaa komento <em>"
+"/invite nimimerkki</em> kanavan sisältä.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Moderoitu kanava, vain äänioikeutetut voivat kirjoittaa kanavalle"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Kanavan salasana"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Käyttäjä&raja:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Näytä &lisäkanavatilat >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parametri"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, fuzzy, no-c-format
+msgid "&Ban List"
+msgstr "&Kanavaluettelo"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, fuzzy, no-c-format
+msgid "&Remove Ban"
+msgstr "&Poista tiedosto"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, fuzzy, no-c-format
+msgid "&Add Ban"
+msgstr "Lisää kanava"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, fuzzy, no-c-format
+msgid "Hostmask"
+msgstr "Palvelinpeite"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, fuzzy, no-c-format
+msgid "Time Set"
+msgstr "Aikakatkaisu"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "H&aku:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, fuzzy, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC-tila"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Lataus&kansio:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Lisää lähettäjä tiedostonimiin"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&Luo kansio lähettejälle"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, fuzzy, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Hyväks&y automaattisesti latauspyynnöt"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Jatka automaaa&ttisesti latausta"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Käytä nopeaa &DCC-lähetystä (ei välttämättä toimi kaikkien asiakkaiden kanssa)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Puskurin kok&o:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, fuzzy, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC-lähetyksen a&ikakatkaisu:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, fuzzy, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Käytä IPv&4-liitäntään dcc-lähetyksessä:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "Mikäli tämä valitaan, IPv6-yhteyksien siirrot tehdään IPv4-liitännällä"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " tavua"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr ". sekunti"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Käytä määriteltyjä p&ortteja DCC-keskustelulle:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Menetelmä oman IP:n saamiseksi:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Oma IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, fuzzy, no-c-format
+msgid "Ports"
+msgstr "Portti"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Käytä määriteltyjä p&ortteja DCC-keskustelulle:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, fuzzy, no-c-format
+msgid "to"
+msgstr "-->"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Käytä määriteltyjä p&ortteja DCC-keskustelulle:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, fuzzy, no-c-format
+msgid "Application event"
+msgstr "Sovelluksen käynnistys"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, fuzzy, no-c-format
+msgid "Message"
+msgstr "Viestit"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "&Palvelinviesti:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, fuzzy, no-c-format
+msgid "Current nick used"
+msgstr "Nykyinen ilmoitusluettelo: %1"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, fuzzy, no-c-format
+msgid "Channel event"
+msgstr "Kanavan nimi"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Käytä &tasavälistä kirjasinta päivän viesteille"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Näytä päivän viesti tasavälisellä kirjasimella"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, fuzzy, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "&Lihavoi lähettävät nimimerkit keskustelunäkymässä"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Keskusteluteksti:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Nimimerkkiluettelo:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "&Korostusluettelo"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Korostukset"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Ääni"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Automaattiteksti"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Peite:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Väritetyt nimimerkit"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "Ää&ni:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, fuzzy, no-c-format
+msgid "Test sound"
+msgstr "Etsittävä teksti:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Automaattiteksti:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Käytä ääniä luettelon &korostetuissa merkinnöissä"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Korosta aina &nykyisen nimimerkin sisältävät rivit:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Korosta aina omat &rivit:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Luo uusi &yhteystieto..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Luo uusi yhteystieto osoitekirjaan"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Valokuva"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nimi"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Valitse yhteystieto, jonka kanssa haluat viestiä pikaviestimellä"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "H&aku:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Käytä järjestelmä&merkkiääntä, kun vastaanotetaan ASCII BEL-merkki"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Soita järjestelmän äänimerkki, kun ohjausmerkki ASCII BEL (0x07) vastaanotetaan"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Piilota &Liity/Poistu/Nimimerkki-tapahtumat"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Älä käytä &muuttujalaajennusta (esim. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Älä laajenna muuttujia, kun tekstiä lähetetään palvelimelle. Muuttuja alkaa "
+"%-merkillä, ja esimerkiksi %B laajenee merkeiksi, joilla saadaan aikaiseksi "
+"lihavointi."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, fuzzy, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Välitä kaikki tilaviestit järjestelmän tilaikkunaan"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Takaisinvieritysraja:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, fuzzy, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Kuinka monta riviä pidetään puskurissa, 0 = rajattomasti"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Käytä raakatiloja tilavaihdoksiin"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Pidä kanavan tilamerkkijono kirjainyhdistelmänä eikä tulkittuna. Esimerkiksi "
+"'*** Kanavatilat: ei sanomia ulkopuolelta' esitetään '*** Kanavatilat: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " riviä"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Palvelinluettelo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Näytä muistiviiva kaikilla kanavilla ja k&yselyissä"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Käytä automaattista käyttäjätiedon hakua (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Kanavan käyttäjien enimmäismäärä:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " nimimerkkiä"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Päivitysaikaväli:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Käytä kuvaruutunäyttöä"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Kuva&ruutunäyttö"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Piirrä varjot"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Kuvaruutunäytön kirjasin:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Näytä k&uvaruutunäytön viesti"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&Jos oma nimimerkki on mainittu kanavan viestissä"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "&Mistä tahansa kanavan viestistä"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "&Keskustelutapahtumasta"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "&Liittymis/eroamistapahtumista"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Käytä omia värejä"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Te&kstin väri:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Taustaväri:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Muut asetukset"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Kesto:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Ruutu:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Ikkuna"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "Uusi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Poistettiin"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, fuzzy, no-c-format
+msgid "Replace In"
+msgstr "Korvaus"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, fuzzy, no-c-format
+msgid "Find"
+msgstr "&Etsi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, fuzzy, no-c-format
+msgid "Replace With"
+msgstr "Korvaus"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, fuzzy, no-c-format
+msgid "Replace in:"
+msgstr "Korvaus"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, fuzzy, no-c-format
+msgid "Find:"
+msgstr "&Etsi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, fuzzy, no-c-format
+msgid "Replace with:"
+msgstr "Korvaus"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Käytä &aikaleimoja"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Näytä &päivämäärät"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Muoto:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Alku&loki:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Sijoittelu"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Näytä kanavan aihe"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Näytä kanava&tilapainikkeet"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Näytä kenttä &oman nimimerkin muuttamiseksi"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Näytä &pikapainikkeet"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Näytä &oikeat nimet nimimerkkien vieressä"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, fuzzy, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Näytä kanava&tilapainikkeet"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, fuzzy, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Näytä &palvelinpeitteet nimimerkkiluettelossa"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Käytä taustak&uvaa"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, fuzzy, no-c-format
+msgid "P&ath:"
+msgstr "&Polku:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Omat värit"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Tausta:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Palvelinviesti:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "H&yperlinkki:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Kanavan &viesti:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Toiminto:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, fuzzy, no-c-format
+msgid "Bac&klog:"
+msgstr "Alku&loki:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "&Komentoviesti:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Keskusteluviesti:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Aikaleima:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "&Vaihtoehtoinen tausta:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Väritetyt nimimerkit"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Oman nimimerkin väri:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Salli väritetty teksti IRC-viesteissä"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Käyttämällä tätä valintaa IRC-viesteihin lisätyt värikoodit näytetään "
+"värillisenä tekstinä. Värikoodeja lisätään tekstiin valitsemalla Lisää -> "
+"IRC-väri"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Esikatselu"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Tältä viestisi näyttävät näillä väreillä väritettynä"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Tästä esikatselussa nähdään, miltä viesti lukijoille näyttää valituilla "
+"väreillä."
+"<br>\n"
+"<b>Huomaa: Kaikki asiakkaat eivät tue tätä, ja jotkut käyttäjät ovat saattaneet "
+"poistaa värit käytöstä.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Valittu tekstiväri lisätään syöteriville."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Tässä valitset värin, jota haluat käyttää seuraavassa lähettämässäsi "
+"viestissäsi. Jos valitset värin ja painat OK-painiketta, valittu väri lisätään "
+"syöteriville. Tämän jälkeen kirjoitettava teksti on valitun väristä, kunnes "
+"vaihdat väriä uudelleen."
+"<br>\n"
+"<b>Huomaa: Kaikilla käyttäjillä ei ole käytössä värillistä tekstiä.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Tekstin väri:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Valittu tekstin taustaväri lisätään syöteriville."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Tässä valitset värin, jota haluat käyttää taustavärinä seuraavassa "
+"lähettämässäsi viestissäsi.\n"
+"Jos valitset värin ja painat OK-painiketta, valittu väri lisätään "
+"syöteriville.\n"
+"Tämän jälkeen kirjoitettava teksti on valitun väristä, kunnes vaihdat väriä "
+"uudelleen."
+"<br>\n"
+"Oletusarvo \"<i>Ei mitään</i>\" ei vaihda tekstin taustaväriä, joten lukijat "
+"näkevät viestisi valitulla taustavärillään."
+"<br>\n"
+"<b>Huomaa: Kaikki asiakkaat eivät tue tätä, ja kaikki käyttäjät eivät käytä "
+"tätä valintaa.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Näytettävät varoitusikkunat"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Salasana:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Palvelin:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
+
+#~ msgid "Messages"
+#~ msgstr "Viestit"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Näytä &poissaoloviestit"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Siirry &paikallaolevaksi kaikkialla"
+
+#~ msgid " s"
+#~ msgstr " sekuntia"
+
+#~ msgid "Every "
+#~ msgstr "Joka "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Varoita DCC:llä vastaanotetun tiedoston poistamisesta"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Avain %1:lle asetettiin."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Tiedoston '%1' poisto ei onnistunut."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC-virhe"
+
+#, fuzzy
+#~ msgid "Remove File"
+#~ msgstr "&Poista tiedosto"
+
+#, fuzzy
+#~ msgid "Transfer Details"
+#~ msgstr "DCC-lisätie&dot"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Poista tästä paneelista"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Poista vastaanotetut tiedosto(t)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Poista tiedosto"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Poistetaanko valittu tiedosto varmasti?\n"
+#~ "Poistetaanko valitut %n tiedostoa varmasti?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Poistamisvarmistus"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Näytä henkilön oikea nimi nimimerkkinsä vieressä nimimerkkiluettelossa."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Yhteys palvelimeen %1 katkesi: %2. Yritetään yhdistää uudelleen."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Kokeillaan sen sijaan palvelinta %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Odotetaan kaksi minuuttia ennen seuraava yritystä yhdistää uudelleen..."
+
+#, fuzzy
+#~ msgid "Available preferences groups: "
+#~ msgstr "Asetusryhmät: "
+
+#, fuzzy
+#~ msgid "Available options in group %1:"
+#~ msgstr "Asetukset ryhmässä %1:"
+
+#, fuzzy
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Käyttö: %1PREFS ryhmä asetus arvo tai %2PREFS LIST nähdäksesi luettelon ryhmistä tai %3PREFS ryhmä LIST nähdäksesi luettelon ryhmän asetuksista. Käytä lainausmerkkejä parametrien ympärillä, jos ne sisältävät välilyöntejä."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DCC-lisätie&dot"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Kanavan &avain:"
+
+#, fuzzy
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Lisää muistiviiva, kun siirryt poissao&levaksi"
+
+#, fuzzy
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Lisää muistiviiva, kun siirryt poissao&levaksi"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Yhdistetään"
+
+#~ msgid "Application Startup"
+#~ msgstr "Sovelluksen käynnistys"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "&Näytä palvelinluetteloikkuna"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 on tunnistautunut täksi nimimerkiksi."
+
+#~ msgid "&Channel"
+#~ msgstr "&Kanava"
+
+#~ msgid "&Topic"
+#~ msgstr "&Aihe"
+
+#~ msgid "&Save List..."
+#~ msgstr "&Tallenna luettelo..."
+
+#~ msgid "hh:mm"
+#~ msgstr "tt:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "tt:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "&Liity kanavalle automaattisesti kutsuttaessa"
+
+#~ msgid "Offering"
+#~ msgstr "Tarjotaan"
+
+#, fuzzy
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "DCC-keskustelulle ei ole vapaata porttia."
+
+#~ msgid "Update &interval:"
+#~ msgstr "&Päivitysaikaväli:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "Kun nimimerkkien seuranta on käytössä, näytetään huomautus,kun <b>Seuratut Verkot/Nimimerkit</b> luettelossa tapahtuu paikalle tulemisia tai poistumisia.</p>\n"
+#~ "<p>Voit myös avata <b>Paikalla olevat nimimerkit</b> -ikkunan nähdäksesi kaikkien seurattujen nimimerkkien tilan.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "Portissa %1 ei ole käynnissä DCC-latausta."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "Portissa %1 ei ole käynnissä DCC-lähetystä."
+
+#, fuzzy
+#~ msgid "Alt+N"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+P"
+#~ msgstr "Alt+4"
+
+#~ msgid "File:"
+#~ msgstr "Tiedosto:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Paikallinen polku:"
+
+#, fuzzy
+#~ msgid "Open this file"
+#~ msgstr "&Avaa tiedosto"
+
+#~ msgid "Sender:"
+#~ msgstr "Lähettäjä:"
+
+#~ msgid "Position:"
+#~ msgstr "Sijainti:"
+
+#, fuzzy
+#~ msgid "Accept this transfer"
+#~ msgstr "Keskeytä siirto/siirrot"
+
+#, fuzzy
+#~ msgid "Abort this transfer"
+#~ msgstr "Keskeytä siirto/siirrot"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Poistetaanko vastaanotettu tiedosto varmasti?"
+
+#, fuzzy
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "DCC-lisätie&dot"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Sijainti:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Lähettäjän osoite"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Lähettäjän osoite"
+
+#~ msgid "Switch To"
+#~ msgstr "Siirry"
+
+#~ msgid "&Channel:"
+#~ msgstr "&Kanava:"
+
+#~ msgid "Removed"
+#~ msgstr "Poistettiin"
+
+#, fuzzy
+#~ msgid "DCC %1: %2"
+#~ msgstr "DCC-lähetys : %1"
+
+#, fuzzy
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 on %3%4"
+
+#~ msgid "&Network:"
+#~ msgstr "&Verkko:"
+
+#, fuzzy
+#~ msgid " Command Aliases"
+#~ msgstr "Käyttäytyminen - Komentoaliakset"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "www.konversation.org hostaus"
+
+#, fuzzy
+#~ msgid "Various bug fixes"
+#~ msgstr "Virhekorjauksia"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "Kanavan %1 asetukset"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "Olet poissaoleva."
+
+#~ msgid "Edit Channel Properties"
+#~ msgstr "Muokkaa kanavan asetuksia"
+
+#, fuzzy
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "Varmista, mitä tehdään DCC:tä jatkettaessa"
+
+#, fuzzy
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "&Liity kanavalle automaattisesti uudelleenyhdistettäessä"
+
+#, fuzzy
+#~ msgid "Version"
+#~ msgstr "&Versio"
+
+#, fuzzy
+#~ msgid "Ping"
+#~ msgstr "&Lähetä tiedustelupaketti"
+
+#~ msgid "Server already connected."
+#~ msgstr "Yhteys palvelimeen on jo muodostettu."
+
+#~ msgid "New Alias"
+#~ msgstr "Uusi alias"
+
+#~ msgid "Add alias:"
+#~ msgstr "Lisää alias:"
+
+#~ msgid "RE"
+#~ msgstr "RE"
+
+#, fuzzy
+#~ msgid "DCC chat with %1 on %2:%3."
+#~ msgstr "DCC-keskustelu %1:n kanssa %2:%3"
+
+#, fuzzy
+#~ msgid "Resuming download of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Jatketaan tiedostoa \"%1\", jota tarjoaa %2 kohdasta %3."
+
+#, fuzzy
+#~ msgid "Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Jatketaan tiedostoa \"%1\", jota tarjoaa %2 kohdasta %3."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" to %2 finished."
+#~ msgstr "Tiedoston \"%1\" DCC-lähetys päättyi."
+
+#, fuzzy
+#~ msgid "Downloading \"%1\" (%2) from %3..."
+#~ msgstr "Tiedoston \"%1\" DCC-lataus päättyi."
+
+#~ msgid "&Follow nick changes"
+#~ msgstr "&Seuraa nimimerkkien muutoksia"
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "Etsitään palvelinta %1..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "Palvelin löydettiin, yhdistetään..."
+
+#~ msgid "Connection established."
+#~ msgstr "Yhteys muodostettu."
+
+#~ msgid "&Default"
+#~ msgstr "&Oletus"
+
+#, fuzzy
+#~ msgid "Autoreplace Patterns"
+#~ msgstr "Ohitettavien peite"
+
+#, fuzzy
+#~ msgid "Direction:"
+#~ msgstr "&Kesto:"
+
+#, fuzzy
+#~ msgid "Direction"
+#~ msgstr "aihesuojaus"
+
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "Syötekentissä ja nimimerkkiluettelossa käytetään omia &värejä"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr "Tarjotaan \"%1\" käyttäjälle %2 lähetettäväksi..."
+
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 (%2:%3) tarjoaa tiedostoa \"%4\" (%5) ladattavaksi."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" was accepted by %2."
+#~ msgstr "Tiedoston \"%1\" DCC-lähetys epäonnistui. Syy: %2"
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "Hyväksytään DCC-jatkamispyyntö käyttäjältä \"%1\" tiedostolle \"%2\"."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "Lähetetään DCC-jatkamispyyntö käyttäjälle \"%1\" tiedostosta \"%2\"."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">Keskustelu %1:ssa</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">Keskustelu %1:n kanssa</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "&Palvelimen %1 kanavaluettelo"
+
+#~ msgid "Nicks Online"
+#~ msgstr "Paikalla olevat nimimerkit"
+
+#, fuzzy
+#~ msgid "Place tab bar at the top"
+#~ msgstr "Sijoita välilehtien otsikot &ylös"
+
+#, fuzzy
+#~ msgid "&Bring new tabs to front"
+#~ msgstr "Tuo uudet välilehdet &eteen"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "Kun joku aloittaa keskustelun, siirry &keskusteluun"
+
+#~ msgid "Close Button"
+#~ msgstr "Sulje-painike"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "DCC-lisätie&dot"
+
+#~ msgid "Find Text"
+#~ msgstr "Etsi tekstiä"
+
+#~ msgid "Whole words"
+#~ msgstr "Vain kokonaiset sanat"
+
+#~ msgid "Search forward"
+#~ msgstr "Haku eteenpäin"
+
+#~ msgid "Search for text"
+#~ msgstr "Hae tekstiä"
+
+#~ msgid "Close the window"
+#~ msgstr "Sulje ikkuna"
+
+#~ msgid "Show help here"
+#~ msgstr "Näytä ohje tässä"
+
+#, fuzzy
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1 liittyi tälle kanavalle. (%2)"
+
+#, fuzzy
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "Heitit itsesi ulos kanavalta. (%1)"
+
+#, fuzzy
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "%1 heitti sinut ulos kanavalta. (%2)"
+
+#~ msgid "Skip creating taskbar entry"
+#~ msgstr "Ohita tehtäväpalkin merkintä"
+
+#~ msgid "If you enable this option Konversation will not show up in taskbar"
+#~ msgstr "Jos valitset tämän, Konversation ei tule näkyviin tehtäväpalkkiin"
+
+#, fuzzy
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "Käyttäytyminen - Pikapainikkeet"
+
+#, fuzzy
+#~ msgid "Alt+Q"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+Z"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+D"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Form1"
+#~ msgstr "&Muoto:"
+
+#, fuzzy
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "Muokkaa seurattua nimimerkkiä"
+
+#, fuzzy
+#~ msgid "Alt+R"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+V"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+B"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+J"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "FontAppearance_Config"
+#~ msgstr "Ulkonäkö - Kirjasimet"
+
+#, fuzzy
+#~ msgid "Alt+X"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "%1 unknown %2"
+#~ msgstr "<tuntematon> %1"
+
+#~ msgid "Only notify when someone says &your nick"
+#~ msgstr "Huomata vain, kun viestissä on &nimimerkkisi"
+
+#~ msgid "Channel Owners"
+#~ msgstr "Kanavan omistajat"
+
+#~ msgid "Channel Admins"
+#~ msgstr "Kanavan ylläpitäjät"
+
+#~ msgid "Queries"
+#~ msgstr "Keskustelut"
+
+#~ msgid "Notices"
+#~ msgstr "Ilmoitukset"
+
+#~ msgid "CTCPs"
+#~ msgstr "CTCP:t"
+
+#~ msgid "DCCs"
+#~ msgstr "DCC:t"
+
+#~ msgid "C&lear"
+#~ msgstr "&Tyhjennä"
+
+#~ msgid "C&hannels"
+#~ msgstr "&Kanavat"
+
+#~ msgid "&Queries"
+#~ msgstr "K&eskustelut"
+
+#~ msgid "Not&ices"
+#~ msgstr "Ilmo&itukset"
+
+#~ msgid "C&TCPs"
+#~ msgstr "&CTCP:t"
+
+#~ msgid "&DCCs"
+#~ msgstr "&DCC:t"
+
+#~ msgid "&Exception"
+#~ msgstr "&Poikkeus"
+
+#~ msgid "Select Background Image"
+#~ msgstr "Valitse taustakuva"
+
+#~ msgid "Connect to a new server..."
+#~ msgstr "Yhdistä uuteen palvelimeen..."
+
+#~ msgid "Set your nick, away message, etc..."
+#~ msgstr "Aseta nimimerkki, poissaoloviesti jne."
+
+#~ msgid "Lag: not known"
+#~ msgstr "Viive: ei tiedossa"
+
+#, fuzzy
+#~ msgid "Log_Config"
+#~ msgstr "Muokkaa seurattua nimimerkkiä"
+
+#, fuzzy
+#~ msgid "Alt+L"
+#~ msgstr "Alt+4"
+
+#~ msgid "&Blink the LED on the label when something has changed in the tab"
+#~ msgstr "&Vilkuta LED-valoa, mikäli välilehdellä tapahtuu muutoksia"
+
+#~ msgid "Place close button on the &right side of the tab"
+#~ msgstr "Sijoita sulkemispainike välilehden &oikealle puolelle"
+
+#~ msgid "Tab Management"
+#~ msgstr "Välilehtien hallinta"
+
+#, fuzzy
+#~ msgid "Alt+I"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+S"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+E"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+M"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+C"
+#~ msgstr "Alt+4"
+
+#~ msgid "A&dd..."
+#~ msgstr "&Lisää..."
+
+#~ msgid "Add Network"
+#~ msgstr "Lisää verkko"
+
+#~ msgid "&Group:"
+#~ msgstr "&Ryhmä:"
+
+#~ msgid "Optional. If you enter something here, all the Networks with the same Group will be listed together in the Server List screen."
+#~ msgstr "Valinnainen. Jos tähän annetaan jotain, kaikki verkot, joilla on sama ryhmä, näytetään palvelinluetteloikkunassa yhdessä."
+
+#~ msgid "%1omsg needs a message parameter"
+#~ msgstr "%1omsg vaatii parametrin"
+
+#~ msgid "%1onotice needs a message parameter"
+#~ msgstr "%1onotice vaatii viestiparametrin"
+
+#~ msgid "Quit server when you hit the tab's close button"
+#~ msgstr "Katkaise yhteys palvelimeen, kun palvelimen välilehti suljetaan"
+
+#~ msgid "User Status"
+#~ msgstr "Käyttäjän tila"
+
+#~ msgid "Channel Modes: "
+#~ msgstr "Kanavatilat: "
+
+#, fuzzy
+#~ msgid "Konversation::ChannelOptionsUI"
+#~ msgstr ""
+#~ "Konversation kanavaluettelo: %1 - %2\n"
+#~ "\n"
+
+#, fuzzy
+#~ msgid "Alt+T"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Highlight_Config"
+#~ msgstr "Korostukset"
+
+#, fuzzy
+#~ msgid "You set the channel mode to 'quiet' on %1."
+#~ msgstr "Asetit kanavan tilaksi 'hiljainen' %1:lla."
+
+#, fuzzy
+#~ msgid "%1 sets the channel mode to 'quiet' on %2."
+#~ msgstr "%1 asetti kanavan tilaksi 'hiljainen' %2:lla."
+
+#~ msgid "You remove the 'quiet' channel mode from %1."
+#~ msgstr "Poistit kanavan tilan 'hiljainen' %1:lta."
+
+#~ msgid "%1 removes the 'quiet' channel mode from %2."
+#~ msgstr "%1 poisti kanavan tilan 'hiljainen' %2:lta."
+
+#~ msgid "no"
+#~ msgstr "ei"
+
+#~ msgid "Select DCC Download Folder"
+#~ msgstr "Valitse DCC-latauskansio"
+
+#~ msgid "Appearance-Chat Window"
+#~ msgstr "Ulkonäkö - Keskusteluikkuna"
+
+#~ msgid "Appearance - Themes"
+#~ msgstr "Ulkonäkö - Teemat"
+
+#~ msgid "Appearance - Colors"
+#~ msgstr "Ulkonäkö - Värit"
+
+#~ msgid "Behavior - General"
+#~ msgstr "Käyttäytyminen - Yleiset"
+
+#~ msgid "Behavior - Connection"
+#~ msgstr "Käyttäytyminen - Yhteys"
+
+#~ msgid "Behavior - Chatwindow"
+#~ msgstr "Käyttäytyminen - Keskusteluikkuna"
+
+#~ msgid "Behavior - Nickname List"
+#~ msgstr "Käyttäytyminen - Nimimerkkiluettelo"
+
+#~ msgid "Behavior - Tab Bar"
+#~ msgstr "Käyttäytyminen - Välilehtipalkki"
+
+#~ msgid "Behavior - Logging"
+#~ msgstr "Käyttäytyminen - Lokit"
+
+#, fuzzy
+#~ msgid "Behavior - DCC"
+#~ msgstr "Käyttäytyminen"
+
+#~ msgid "Notification - Watched Nicknames"
+#~ msgstr "Ilmoitukset - Seuratut nimimerkit"
+
+#~ msgid "Notification - Highlighting"
+#~ msgstr "Ilmoitukset - Korostukset"
+
+#~ msgid "Notification - On Screen Display"
+#~ msgstr "Ilmoitukset - Kuvaruutunäyttö"
+
+#~ msgid "%1 sec"
+#~ msgstr "%1 sekuntia"
+
+#~ msgid "Move Left"
+#~ msgstr "Siirry vasemmalle"
+
+#~ msgid "Move Right"
+#~ msgstr "Siirry oikealle"
+
+#~ msgid "Send Email..."
+#~ msgstr "Lähetä sähköpostia..."
+
+#~ msgid "Edit &Contact..."
+#~ msgstr "Muokkaa &yhteystietoa..."
+
+#~ msgid "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because the associated contact does not have any preferred email address set."
+#~ msgstr "Lähettää sähköpostin tälle yhteystiedolle käyttäen oletussähköpostiosoitetta yhteystiedon osoitekirjakohdistuksessa. Tämä ei ole tällä hetkellä käytössä, koska kohdistetulla yhteystiedolla ei ole asetettu oletussähköpostiosoitetta."
+
+#~ msgid "Sends an email to this contact using the preferred email address (%1) set in the contact's addressbook association"
+#~ msgstr "Lähettää sähköpostin tälle yhteystiedolle käyttäen oletussähköpostiosoitetta (%1), joka on osoitekirjassa kohdistettu tälle yhteystiedolle"
+
+#~ msgid "Choose &Contact..."
+#~ msgstr "Valitse &yhteystieto..."
+
+#~ msgid "Create &New Contact..."
+#~ msgstr "Luo &uusi yhteystieto..."
+
+#~ msgid "Sends an email to this contact using the preferred email address set in the contact's addressbook association. This is currently disabled because this nick does not have any association with any contacts in your addressbook."
+#~ msgstr "Lähettää sähköpostin tälle yhteystiedolle käyttäen oletussähköpostiosoitetta yhteystiedon osoitekirjakohdistuksessa. Tämä ei ole tällä hetkellä käytössä, koska nimimerkkiä ei ole kohdistettu mihinkään osoitekirjan yhteystietoon."
+
+#~ msgid "%1 - Offline"
+#~ msgstr "%1 - Poissa"
diff --git a/po/fr/Makefile.am b/po/fr/Makefile.am
new file mode 100644
index 0000000..1e563b7
--- /dev/null
+++ b/po/fr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = fr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/fr/konversation.po b/po/fr/konversation.po
new file mode 100644
index 0000000..b3f3ae5
--- /dev/null
+++ b/po/fr/konversation.po
@@ -0,0 +1,7722 @@
+# translation of konversation.po to français
+# translation of konversation.po to
+# traduction de konversation.po en français
+#
+# Nicolas Ternisien <nicolast@libertysurf.fr>, 2004, 2005.
+# Yann Verley <yann.verley@free.fr>, 2005.
+# Matthieu Robin <kde@macolu.org>, 2005.
+# Nicolas Ternisien <nicolas.ternisien@gmail.com>, 2005, 2006.
+# Bruno Patri <bruno.patri@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2007-04-28 10:26+0200\n"
+"Last-Translator: Bruno Patri <bruno.patri@gmail.com>\n"
+"Language-Team: français <kde-francophone@kde.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Options de canal pour %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "Cac&her les modes avancés <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "A&fficher les modes avancés >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Nouveau"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "inconnu"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Informations disponibles pour le fichier %1 :"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informations du fichier"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Aucune information détaillée trouvée pour ce fichier."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Envoyer"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Recevoir"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "En attente"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "En préparation"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "En attente"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Connexion en cours"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Réception en cours"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Envoi en cours"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Terminé"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Échoué"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Abandonné"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1 / sec."
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Donner les droits opérateur"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Prendre les droits opérateur"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Donner les droits demi-opérateur"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Prendre les droits demi-opérateur"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Donner la parole"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Interdire de parler"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modes"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Expulser"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Expulser et bannir"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Bannir ce pseudonyme"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Bannir *!*@*.hôte"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Bannir *!*@domaine"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Bannir *!utilisateur@*.hôte"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Bannir *!utilisateur@domaine"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Expulser et bannir *!*@*.hôte"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Expulser et bannir *!*@domaine"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Expulser et bannir *!utilisateur@*.hôte"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Expulser et bannir *!utilisateur@domaine"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Expulser / Bannir"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorer"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Ne plus ignorer"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Ouvrir la &requête"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Ouvrir une &discussion DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Envoyer un &fichier..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Envoyer un courriel..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Associations du carnet d'adresses"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Ajouter aux pseudos surveillés"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Ceci affiche les personnes présentes dans le canal. Le pseudo de chaque "
+"personne est affiché."
+"<br>Une icône est toujours affichée afin de montrer l'état de chaque personne, "
+"mais il semble que vous n'ayez aucun thème d'icône installé. Voyez la "
+"configuration de Konversation - <i>Configurer Konversation</i> "
+"- dans le menu <i>Paramètres</i>. Puis, affichez la page des <i>Thèmes</i> "
+"dans <i>Apparence</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Ceci affiche la liste des personnes situées dans le canal. Le pseudo de "
+"chaque personne est affiché, avec une image décrivant son état."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Cette personne possède les privilèges d'administrateur.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Cette personne est le propriétaire du canal.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Cette personne est un opérateur du canal.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Cette personne est un demi-opérateur du canal.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Cette personne a le droit de parler, et peut alors discuter dans un canal "
+"modéré.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Cette personne n'a pas de privilèges particuliers.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Cela indique que cette personne est pour le moment absente.</td></tr>"
+"</table>"
+"<p>La signification de l'administrateur, le propriétaire et des demi-opérateurs "
+"varie entre les différents serveurs IRC."
+"<p>Le passage avec la souris sur chaque pseudonyme affiche leur état actuel, "
+"ainsi que différentes informations du carnet d'adresses sur cette personne. "
+"Veuillez lire le manuel de Konversation pour plus d'informations.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Modifier le contact..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Choisir / Changer les associations..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Choisir le contact..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Changer l'association..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Créer un nouveau contact..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Supprimer l'association"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Requête"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Remarque"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Exception"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Onglets"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Aujourd'hui"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Hier"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identifié)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Courriel"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Masque de l'hôte :"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Message d'absence :"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(inconnu)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Connecté depuis :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Cliquez ici pour lancer l'éditeur d'expressions rationnelles (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+"L'éditeur d'expressions rationnelles (KRegExpEditor) n'est pas installé"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Sortie"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Entrée"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Les deux"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Rejoindre le canal sur %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Connexion rapide"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Serveur :"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Saisissez l'hôte du réseau ici."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port :"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Le port utilisé par le serveur IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Pseud&o :"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Le pseudo que vous voulez utiliser."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Mot de passe :"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Si le serveur IRC nécessite un mot de passe, saisissez le ici (la plupart ne "
+"demandent aucun mot de passe)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Utiliser SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "C&onnecter"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Connecter au serveur"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Impossible d'ouvrir un socket d'écoute : %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Proposer une connexion de discussion DCC à %1 sur le port %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Discussion DCC avec %1 sur le port %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Établissement d'une connexion de discussion DCC vers %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Discussion DCC avec %1 sur %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Connexion de discussion DCC établie avec %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Connexion interrompue, code d'erreur %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Réception d'une requête CTCP-%1 inconnue de la part de %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Impossible d'accepter le client."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Par défaut ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Liste des serveurs"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr ""
+"Cliquez ici pour vous connecter au réseau IRC et au canal sélectionnés."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"La liste des réseaux IRC configurés est affichée ici. Un réseau IRC est une "
+"collection de serveurs coopérant ensemble. Vous devez uniquement vous connecter "
+"à l'un des serveurs du réseau pour être connecté au réseau IRC entier. Une fois "
+"connecté, Konversation va automatiquement rejoindre les canaux affichés. "
+"Lorsque Konversation est démarré pour la première fois, le réseau Freenode et "
+"le canal <i>#kde</i> sont déjà sélectionnés pour vous."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Réseau"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identité"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canaux"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nouveau..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Cliquez ici pour définir un nouveau réseau, incluant un serveur auquel se "
+"connecter, ainsi que les canaux à rejoindre automatiquement."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Modifier..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Se co&nnecter au démarrage de l'application"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nouveau réseau"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Modifier le réseau"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Vous ne pouvez pas supprimer %1.\n"
+"\n"
+"Le réseau %2 doit comporter au moins un serveur."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Vous ne pouvez pas supprimer les serveurs sélectionnés.\n"
+"\n"
+"Le réseau %1 doit comporter au moins un serveur."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Voulez-vous vraiment vous supprimer les entrées sélectionnés ?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Voulez-vous vraiment supprimer %1 ?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Afficher le dernier :"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Utilisez cette boîte pour définir la taille maximale de l'historique. Ce "
+"paramètre ne prendra effet qu'au prochain démarrage de Konversation. Chaque "
+"fichier d'historique peut avoir une configuration différente."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " ko"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Effacer l'historique"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Les messages de l'historique sont affichés ici. Les plus anciens sont en au "
+"début, les plus récents à la fin."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Voulez-vous vraiment supprimer toutes les informations de connexion contenues "
+"dans ce fichier ?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Remarque : En enregistrant ce fichier d'historique, vous enregistrerez toutes "
+"les informations contenues dans celui-ci, et pas uniquement la partie visible "
+"dans cet afficheur."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Enregistrer le fichier d'historique"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Choisir le dossier de destination"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Proposer une connexion de discussion DCC à %1 sur le port %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Tentatives de reconnexion :"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Vous êtes déjà connecté à %1. Voulez-vous vous déconnecter de %2 et vous "
+"connecter à %3 à la place ?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Déjà connecté à %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Connexion"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Vous êtes déjà connecté à %1. Voulez-vous vous déconnecter de %2 et vous "
+"connecter à %3 à la place ?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Modifier le serveur"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Veuillez remplir votre <b>identité</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Veuillez remplir votre <b>nom réel</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Veuillez fournir votre <b>pseudonyme</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr ""
+"<qt>Votre identité « %1 » n'est pas définie convenablement : "
+"<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Configuration de l'identité"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Modifier l'identité..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identités"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identité :"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Dupliquer"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Renommer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Général"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nom &réel :"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Saisissez votre véritable nom ici. IRC n'est pas conçu pour garder l'anonymat "
+"en face de ses amis ou ennemis. Gardez ceci à l'esprit si vous êtes tenté de "
+"vous comportez d'une façon malhonnête. Un faux « véritable nom » peut être une "
+"bonne idée pour cacher votre sexe à tous les débutants, mais l'ordinateur que "
+"vous utilisez pourra toujours être pisté, et vous ne serez donc jamais "
+"réellement anonyme."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Pseudonyme"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Voici la liste de vos pseudonymes. Un pseudonyme est un nom par lequel les "
+"autres utilisateurs vous reconnaîtront. Vous pouvez utiliser le nom que vous "
+"voulez. Le premier caractère de ce nom est forcément une lettre.\n"
+"\n"
+"Les pseudonymes étant uniques au sein d'un réseau IRC, votre nom pourra être "
+"rejeté par le serveur si quelqu'un l'utilise déjà. Définissez des pseudonymes "
+"alternatifs pour vous même. Si votre premier choix est rejeté par le serveur, "
+"Konversation tentera d'utiliser les autres pseudonymes."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Ajouter..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Modifier..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "S'identifier automatiquement"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vice :"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Le nom du service peut être <b><i>nickserv</i></b> ou un nom dépendant d'un "
+"réseau comme <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Mot de pa&sse :"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Absent"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Avec cette option cochée, lorsque vous utiliserez la commande <b>/away</b>"
+", une ligne horizontale apparaîtra dans le canal, marquant le moment auquel "
+"vous vous êtes absenté. Les autres utilisateurs de l'IRC ne verront pas cette "
+"ligne horizontale."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Pseudonyme d'absence :"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Saisissez un pseudonyme indiquant votre absence. Si vous utilisez la commande "
+"<b>/away msg</b> dans tout canal joint avec cette identité, Konversation "
+"changera alors automatiquement votre pseudonyme en votre pseudonyme d'absence. "
+"Les autres utilisateurs verront alors que vous n'êtes plus devant votre "
+"ordinateur. Si vous utilisez à nouveau la commande <b>/away</b> "
+"alors que vous étiez absent dans le canal actuel, votre pseudonyme reviendra à "
+"son état originel. Si vous ne souhaitez pas que votre nom soit changé "
+"automatiquement, laissez cette ligne vide."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " lignes"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "Sur les activités de re&quêtes"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Reprendre au&tomatiquement les téléchargements"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Message d'absence :"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Si vous cochez cette option, Konversation enverra automatiquement le message "
+"d'absence à tous les canaux joints avec cette identité. <b>%s</b> "
+"sera remplacé par <b>msg</b>. Si vous utilisez la commande <b>/away</b>"
+", le message de retour sera alors affiché dans les canaux joints avec cette "
+"identité."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Message d'absence :"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Message de &retour :"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avancé"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pré-ligne de commande :"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Vous pouvez saisir ici une commande qui sera exécutée avant que la connexion au "
+"serveur soit lancée"
+"<br>Si vous avez plusieurs serveurs dans cette identité, cette commande sera "
+"exécutée pour chaque serveur"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent :"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Lors de la connexion, de nombreux serveurs interrogent votre ordinateur pour "
+"une réponse « IDENT ». Si vous ordinateur ne possède aucun serveur IDENT lancé, "
+"cette réponse sera envoyée par Konversation. Aucun espace autorisé."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Encodage :"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Ce paramètre affecte la façon dont les caractères que vous saisissez sont "
+"encodés, avant l'envoi au serveur. Cela affecte également l'affichage des "
+"messages. Lorsque vous ouvrez pour la première fois Konversation, ce programme "
+"récupérera automatiquement ce paramètre dans la configuration système. "
+"Cependant, si vous avez des problèmes avec l'affichage des messages des autres "
+"utilisateurs, essayez alors de changer cette option."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Raison du &départ :"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "À chaque fois que vous quittez un canal, ce message est envoyé."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Raison du &départ :"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "À chaque fois que vous quittez un canal, ce message est envoyé."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Raison de l'e&xpulsion :"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"À chaque fois que vous êtes expulsé d'un canal (habituellement par un opérateur "
+"IRC), ce message est envoyé au canal."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Changer l'information d'identité"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Annuler tous les changements effectués"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Vous devez ajouter au moins un pseudo à l'identité."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Ajouter un pseudonyme"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Pseudonyme :"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Modifier le pseudonyme"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Ajouter une identité"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nom de l'identité :"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Vous devez donner un nom à l'identité."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Renommer l'identité"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Cette identité est utilisée, si vous la supprimez, la configuration réseau "
+"l'utilisant reviendra à l'identité par défaut. Doit-elle tout de même être "
+"supprimée ?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Voulez-vous vraiment supprimer toutes les informations pour cette identité ?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Supprimer l'identité"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Dupliquer l'identité"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Utilisateurs normaux"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voix (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Demi-opérateurs (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Opérateurs (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administrateurs du canal (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Propriétaires du canal (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Insérer un caractère"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Insérer un caractère"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Éditeur des signets de Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Aucun port disponible"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Impossible d'ouvrir un socket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Trouver le texte..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copier l'URL dans le presse-papiers"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Ajouter aux signets"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Enregistrer la lien sous..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Ouvrir une requête avec %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Rejoindre le canal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notifier"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Joindre"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Partir"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Ouvrir la requête"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Joindre"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Obtenir la liste des &utilisateurs"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "obtenir le suje&t"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Aucune correspondance pour « %1 »."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Enregistrer le lien sous"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Liste des &serveurs..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Gérer les réseaux et les serveurs"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Connexion rapide..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Saisissez l'adresse d'un nouveau serveur IRC auquel se connecter"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Reconnecter"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Reconnecter au serveur actuel."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Déconnecter"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Déconnecter du serveur actuel."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identités..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Gérer votre pseudo, et autres paramètres d'identité"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Pseudos en ligne &surveillés"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "État &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&Ouvrir le fichier d'historique"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Ouvrir l'historique connu pour ce canal dans un nouvel onglet"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Paramètres du &canal..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Ouvrir la boîte de dialogue des paramètres du canal pour cet onglet"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Liste des canaux"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Afficher la liste de tous les canaux connus sur ce serveur"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Récupérateur d'&URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Liste toutes les URLs récemment mentionnées dans un nouvel onglet"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nouvelle &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Ouvrir un terminal dans un nouvel onglet"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Onglet &suivant"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "Onglet &précédent"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Fermer l'ongle&t"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Onglet actif suivant"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Déplacer l'onglet vers le haut"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Déplacer l'onglet vers le bas"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Déplacer l'onglet à droite"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Déplacer l'onglet à gauche"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Re&joindre le canal"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Activer les notifications"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Re&joindre le canal"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Définir l'encodage"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Aller à l'onglet %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "&Vider la liste"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Effacer le contenu de l'onglet actuel"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Effacer la fenêtre"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Effacer le contenu de l'onglet actuel"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Effacer &toutes les fenêtres"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Effacer le contenu de tous les onglets ouverts"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Re&joindre le canal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Couleurs &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Définissez la couleur de votre message IRC actuel"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "Mémo&riser la ligne"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Ajouter une ligne horizontale, visible uniquement pour vous, dans l'onglet "
+"actuel"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Caractère spécial..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Insérer un caractère quelconque dans votre message IRC actuel"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Fermer &toutes les requêtes ouvertes"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Cacher la liste des pseudos"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>Êtes-vous sûr de vouloir quitter <b>Konversation</b> ?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Confirmer la fermeture"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Êtes-vous sûr de vouloir quitter <b>Konversation</b> ?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>La fermeture de la fenêtre principale gardera Konversation lancé dans la "
+"boîte à miniatures. Utiliser le bouton <b>Quitter</b> du menu de <b>"
+"Konversation</b> pour quitter l'application.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Incrustation dans la boîte à miniatures"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Ceci va complètement cacher la barre de menu. Vous pouvez l'afficher de "
+"nouveau en tapant %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Activer/Désactiver les notifications"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Activer/Désactiver l'abscence sur tous les canaux"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Insérer une couleur &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Insérer un &caractère spécial..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "Insére&r une ligne de rappel"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Liste de &canaux"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Définir comme globalement &absent"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Brut"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Utilisation : %1 JOIN <canal> [mot de passe]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Utilisation : %1KICK <pseudo> [raison]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK ne marche qu'au sein des canaux."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART sans paramètre ne marche qu'au sein d'un canal ou d'une requête."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART sans nom de canal ne marche qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC sans paramètre ne marche qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC sans nom de canal ne marche qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES sans cible risque de vous déconnecter du serveur. Spécifiez une « * » "
+"si vous souhaitez réellement faire cela."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Utilisation : %1NOTICE <destinataire> <message>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Envoi de l'avertissement « %2 » à %1."
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Utilisation : %1AME texte"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Envoi d'une requête CTCP-%1 à %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Le fichier « %1 » n'existe pas."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Utilisation : %1DCC [SEND pseudo fichier]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Utilisation : %1DCC [CHAT pseudo]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Commande %1DCC %2 inconnue. Les commandes possibles sont SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Utilisation : %1INVITE <pseudo> [canal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE sans un nom de canal ne fonctionne qu'au sein des canaux."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 n'est pas un canal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Utilisation : %1EXEC <script> [liste de paramètres]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Le nom de script ne devrait pas contenir « ../ » !"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Utilisation : %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "La liste de notifications actuelle est vide."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Liste de notifications actuelle : %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Saisissez un nom d'utilisateur et un mot de passe pour obtenir les privilèges "
+"d'opérateur IRC :"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Mot de passe de l'opérateur IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN sans nom de canal ne fonctionne qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN sans nom de canal ne fonctionne qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Utilisation : %1BAN [-HOST | -DOMAIN] [canal] <utilisateur|masque>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Utilisation : %1KICKBAN [-HOST | -DOMAIN] [canal] <utilisateur|masque>"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN sans nom de canal ne fonctionne qu'au sein d'un canal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Utilisation : %1UNBAN [canal] motif"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 ajouté à votre liste des utilisateurs ignorés."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Utilisation : %1IGNORE [ -ALL ] liste d'utilisateurs"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+"Utilisation : %1UNIGNORE <utilisateur 1><utilisateur 2> ... <utilisateur n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 supprimé de votre liste des utilisateurs ignorés."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Aucun ignoré de ce type : %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Aucun ignorés de ce type : %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Utilisation : %1QUOTE liste de commandes"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Utilisation : %1SAY texte"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Utilisation"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Utilisation : %1AME texte"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Utilisation : %1AMSG texte"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Utilisation : %1OMSG texte"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Envoi de l'avertissement « %1 » à %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Utilisation : %1ONOTICE texte"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Liste de notifications actuelle : %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Définir l'encodage"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 n'est pas un canal."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Utilisation : %1setkey <pseudo> ou <canal> <clé> Définit la clé de chiffrement "
+"pour le pseudo ou le canal"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "La clé pour « %1 » est maintenant supprimée."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Utilisation[nbsp]: %1delkey <pseudo> ou <canal> <clé> "
+"Supprime la clé de chiffrement pour le pseudo ou le canal"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "La clé pour « %1 » est maintenant supprimée."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "La clé pour « %1 » est maintenant supprimée."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Utilisation : %1DNS <pseudo>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 résolu en : %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Impossible de résoudre %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "La résolution inverse nécessite KDE 3.5.1 ou supérieur."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Utilisation : %1KILL <pseudo> [commentaire]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>La ligne de saisie est l'endroit où vous pouvez saisir les messages à "
+"envoyer au canal, à la requête ou au serveur. Un message envoyé au canal est vu "
+"par toutes les personnes de ce canal, alors qu'un message dans une requête est "
+"envoyé uniquement à la personne placée dans la requête avec vous. "
+"<p>Pour compléter automatiquement un pseudo que vous avez commencé à taper, "
+"appuyez sur Tab. Si vous n'avez encore rien tapé, le dernier pseudo complété "
+"avec succès sera utilisé."
+"<p>Vous pouvez également envoyer des commandes spéciales :"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>affiche cela comme une action dans le canal ou la requête. Par exemple : "
+"<em>/me chante une chanson</em> affichera dans le canal « Pseudo chante une "
+"chanson ».</td></tr>"
+"<tr>"
+"<th>/whois <i>pseudonyme</i></th>"
+"<td>affiche des informations sur la personne, ainsi que les canaux auxquels il "
+"est connecté.</td></tr></table>"
+"<p>Pour plus de commandes, lisez le manuel de Konversation."
+"<p>Un message ne peut pas contenir de lignes multiples.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Vous tentez de coller une très grande portion de texte (%1 octets ou %2 "
+"lignes) dans la discussion. Ceci peut entraîner la ré-initialisation de la "
+"connexion ou un bannissement pour inondation de la discussion. Voulez-vous "
+"vraiment continuer ?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Avertissement de collage exagéré"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Un client IRC simple à utiliser"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Serveur auquel se connecter"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port à utiliser"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canal à rejoindre après connexion"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Pseudonyme à utiliser"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Mot de passe pour la connexion"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Utiliser le chiffrement SSL pour la connexion"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2007, l'équipe de Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation est un client pour le protocole « Internet Relay Chat » (IRC).\n"
+"Rencontrer vos amis sur le réseau, faites de nouvelles connaissances, et\n"
+" plongez vous dans des discussions sur vos sujets favoris."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Auteur original, créateur du projet"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Mainteneur"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Mainteneur, gestionnaire de version, interface utilisateur, traitement du "
+"protocole"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "Traitement de l'encodage et de DCC, positionnement de l'OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Traitement du protocole, ligne de saisie"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Gestion de Blowfish et SSL, portage vers KNetwork, pseudos colorés, thèmes pour "
+"les listes de pseudos"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Récriture du code, intégration avec KAddressBook / Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Hébergement du site Web"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Maintenance du site Web"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Extension des modes multiples, placement précis des éléments graphiques, "
+"fonctionnalité OSD"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentation, amélioration de la surveillance des pseudos en ligne, extension "
+"du navigateur web personnalisée"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configuration des couleurs, boîte de dialogue « Surlignement »"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interface DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Encodages non Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Affichage de la Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Connexion rapide, portage du nouvel OSD, autres fonctionnalités et correction "
+"de bogues"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Des corrections utiles et un nettoyage du code"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Améliorations du glisser-&déposer"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Graphisme"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barre de recherche dans le style de Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Modes brut, onglets regroupés par serveur, liste des bannis"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Correctif de l'intégration dans la boîte à miniatures"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Correction de bogues"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Correctif des modes utilisateur étendu"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Correctif de fermeture des onglets visibles avec un raccourci clavier"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Passage d'un onglet à l'autre avec la molette de la souris"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Correctif du mode propriété du canal"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Option pour activer le filtrage des couleurs IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Correction de bogues, fonctionnement de l'OSD, effacement des sujets"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Script sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Requête CTCP-PING reçue de %1 vers le canal %2, envoi de la réponse."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Requête CTCP-%1 reçue de %2, envoi de la réponse."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Requête de version reçue de %1 vers le canal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Requête de version reçue de %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Requête DCC SEND invalide reçue de %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Requête DCC ACCEPT invalide reçue de %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Requête DCC RESUME invalide reçue de %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Requête DCC CHAT invalide reçue de %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Commande DCC inconnue %1 reçue de %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Requête CTCP-%1 inconnue reçue de %2 vers le canal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Réception d'une requête CTCP-%1 inconnue de la part de %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 pour %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Réponse CTCP-PING reçue de %1 : %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Réponse CTCP-%1 reçue de %2 : %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Inviter"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 vous a invité sur le canal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Bienvenue"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Serveur %1 (Version %2), Modes utilisateur : %3, Modes canal : %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Gérer"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modes de canaux : "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "protection de sujet"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "aucun message de l'extérieur"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "secret"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "inviter uniquement"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privé"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "modéré"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "mot de passe protégé"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonyme"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "Réop. serveur"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "aucune couleur autorisée"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limité à %n utilisateur\n"
+"limité à %n utilisateurs"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Mode"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Liste des canaux pour %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Créé"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Ce canal a été crée le %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 est identifié en tant que %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Noms"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Fin de la liste de NOMS."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "SUJET"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Le canal %1 n'a pas de sujet défini."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Sujet"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Le sujet du canal pour %1 est « %2 »"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Le sujet a été défini par %1 le %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Le sujet pour %1 a été défini par %2 le %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 utilise en réalité l'hôte %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1 : Aucun pseudo / canal de ce type."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Aucun pseudo du type : %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1 : Aucun canal de ce type."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Pseudo"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Ce pseudonyme est déjà utilisé, veuillez en essayer un autre."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Ce pseudonyme est déjà utilisé. Essai de %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Pseudonyme erroné. Changement du pseudo en  %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Vous n'êtes pas sur %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Message du jour :"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Fin du message du jour"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Vous êtes maintenant opérateur IRC sur ce serveur."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Utilisateurs"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Utilisateurs actuellement sur le réseau : %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Utilisateurs actuellement sur %1 : %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Absent"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 est absent : %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Vous avez invité %1 sur le canal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 est %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 (%2) résolu vers l'adresse : %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Impossible de résoudre l'adresse pour %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 est un utilisateur identifié."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Qui"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 est %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Absent)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Fin de la liste /WHO pour %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 est un utilisateur sur les canaux : %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 parle sur les canaux : %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 est un demi-opérateur sur les canaux : %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 est un opérateur sur les canaux : %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 est le propriétaire des canaux : %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 est l'administrateur des canaux : %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 est connecté via %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 est disponible pour de l'aide."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 est un opérateur IRC."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 jour\n"
+"%n jours"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 heure\n"
+"%n heures"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minute\n"
+"%n minutes"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 seconde\n"
+"%n secondes"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 est inactif depuis %2, %3, %4 et %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 est inactif depuis %2, %3 et %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 est inactif depuis %2 et %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 est inactif depuis 1 seconde.\n"
+"%1 est inactif depuis %n secondes."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 est connecté depuis %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Fin de la liste WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Hôte de l'utilisateur"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 est %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Opérateur IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (absent)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Liste"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Liste de canaux :"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n utilisateur) : %2\n"
+"%1 (%n utilisateurs) : %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Fin de la liste de canaux."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Liste des bannis : %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 défini par %2 le %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fin de la liste des bannis."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 est actuellement indisponible."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1 : Commande inconnue."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Non enregistré."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1 : Cette commande requiert plus de paramètres."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Vous définissez le canal au mode -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " est sur le mode : "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identité par défaut"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Modifier les pseudonymes surveillés"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Nom du réseau :"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Choisissez ici le réseau de serveurs auquel vous allez vous connecter."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Pseud&onyme :"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Le pseudonyme à surveiller lorsqu'il se connecte à un serveur du "
+"réseau.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Changer l'information de notification"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "La connexion est sécurisée avec SSL %1 bit."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"La fonctionnalité de connexion aux serveurs utilisant des communications "
+"chiffrées via SSL n'est pas disponible pour Konversation car la gestion "
+"d'OpenSSL n'a pas été activée lors de la compilation. Vous devrez obtenir une "
+"nouvelle version de KDE qui gère le SSL pour pouvoir l'utiliser."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Le certificat SSL retourné par le serveur n'a pas été reconnu. Cela provient-il "
+"du fait que le serveur ne gère pas le SSL sur le port donné ? Si le serveur "
+"gère les communications normales (non SSL), alors le SSL utilisera un port "
+"différent."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"L'adresse IP de l'hôte %1 ne correspond pas à celle pour laquelle le certificat "
+"a été délivré."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Authentification du serveur"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Détails"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Le certificat du serveur (%1) a échoué lors du test d'authenticité."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Voulez-vous accepter ce certificat à l'avenir sans en être averti ?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "Tou&jours"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Uniquement pour &cette session"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Surligner] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Requête] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 a rejoint %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 est parti de %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 quitte %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 a modifié son pseudonyme en %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 veut vous envoyer un fichier"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 a démarré une conversation (requête) avec vous."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 est connecté (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 s'est déconnecté (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Vous avez été expulsé par %1 du canal %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 a démarré une conversation DCC avec vous"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Surligner] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "La connexion à %1 a échoué"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Vous avez rejoint %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Phrase non trouvée"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Recherche avancée"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interface réseau"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Réponse du serveur IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Spécifier manuellement"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Sélecteur de couleurs IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Aucun"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Serveur :"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Le nom ou l'adresse IP du serveur. « irchelp.org » maintient une liste des "
+"serveurs."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Saisissez le numéro de port requis pour se connecter au serveur. Pour la "
+"plupart des serveurs ce devrait être <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Mot de &passe :"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Connexion sécurisé&e (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Cochez cette option si vous souhaitez utiliser le protocole « Secure Socket "
+"Layer » (SSL) pour communiquer avec le serveur. Ceci permet d'assurer une "
+"communication privée entre votre ordinateur et le serveur IRC. Le serveur doit "
+"bien sûr gérer le protocole SSL pour que cela fonctionne. Dans la plupart des "
+"cas, si le serveur ne gère pas le SSL, la connexion échouera."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "L'adresse du serveur est nécessaire."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "L'administrateur a restreint le droit d'envoyer des fichiers"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "L'URL « %1 » n'existe pas"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Impossible de récupérer « %1 »"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Saisissez le nom du fichier"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Le fichier que vous envoyez à <i>%1</i> ne possède pas de nom."
+"<br> Veuillez saisir un nom de fichier a présenter au destinataire, ou annulez "
+"le transfert DCC</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Aucun nom de fichier donné"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"Impossible d'envoyer une requête DCC SEND à votre correspondant via le serveur "
+"IRCµ."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "En attente de l'acceptation de l'utilisateur distant"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Impossible d'accepter la connexion (Erreur de socket)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Impossible d'ouvrir le fichier : %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Erreur de socket : %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Délai expiré"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Échec de connexion : %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Utilisateur distant déconnecté"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"L'opération a réussi. Ne devrait jamais arriver dans une boîte de dialogue "
+"d'erreur."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Impossible de lire le fichier « %1 »."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Impossible d'écrire dans le fichier « %1 »."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Une erreur fatale et irrécupérable est apparue."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Impossible d'ouvrir le fichier « %1 »."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "L'opération a été interrompue de manière inattendue."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Délai de l'opération dépassé."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Une erreur non spécifiée s'est produite à la fermeture."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Erreur inconnue. Code %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Envoi DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Réception DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (DCC inverse)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Serveur inconnu"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 sur %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Oui, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1sec"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Prêt."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Ceci affiche le nombre d'utilisateurs dans le canal, et le nombre de ceux "
+"qui sont opérateurs (ops)."
+"<p>Un opérateur de canal est un utilisateur ayant des privilèges spéciaux, tels "
+"que la capacité d'expulser et bannir des utilisateurs, changer les modes du "
+"canal, et faire d'autres utilisateurs des opérateurs.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Latence : inconnue"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Toutes les communications avec le serveur sont chiffrées. Cela rend plus "
+"difficile pour quelqu'un d'autre d'écouter vos communications."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>La barre d'état affiche différents messages, y compris les problèmes "
+"relatifs à la connexion au serveur. Complètement à droite est affiché la "
+"latence actuelle vers le serveur. La latence est le temps mis par vos messages "
+"pour atteindre le serveur, ainsi que le temps de sa réponse.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Latence : %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Latence : %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Aucune réponse du serveur %1 depuis plus de %2, %3, %4 et %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Aucune réponse du serveur %1 depuis plus de %2, %3, %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Aucune réponse du serveur %1 depuis plus de %2 et %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Aucune réponse du serveur %1 depuis plus d'une seconde.\n"
+"Aucune réponse du serveur %1 depuis plus de %n secondes."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Recherche du serveur %1 : %2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Impossible de trouver le serveur %1. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Serveur trouvé, connexion en cours..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Connecté ; identification..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Échec de connexion vers le serveur %1 : %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Impossible de se connecter à %1 : %2 en utilisant le chiffrement SSL. Il se "
+"peut que le serveur ne gère pas le SSL, ou que vous vous soyez trompé de port. "
+"%3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Erreur de connexion SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Déconnecté du serveur."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Aucun pseudonyme de l'identité « %1 » n'a été accepté par la connexion « %2 ».\n"
+"Veuillez en saisir un nouveau, ou cliquez sur Annuler pour vous déconnecter :"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Erreur de pseudonyme"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Il y a eu une erreur de lecture des données depuis le serveur : %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Sélectionner le(s) fichier(s) à envoyer à %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 propose de vous envoyer « %2 » (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "taille inconnue"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Demande à %1 d'accepter l'envoi de « %2 » (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Un message invalide d'acceptation d'envoi passif pour « %1 » a été reçu de %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+"Reprise du téléchargement de « %1 » envoyé par %2 à partir de %3 de %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Un message invalide d'acceptation de reprise pour « %1 » a été reçu de %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Reprise de l'envoi de « %1 » pour %2 à partir de %3 de %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+"Une requête invalide de reprise pour «[nbsp]%1[nbsp]» a été reçue de %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Téléchargement de « %1 » envoyé par %2 terminé."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Échec du téléchargement de « %1 » envoyé par %2. Raison : %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Envoi de « %1 » pour %2 terminé."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "L'envoi de « %1 » pour %2 a échoué. Raison : %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Envoi de « %1 » pour %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Téléchargement de « %1 » (%2) envoyé par %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Vous avez été invité par « %1 » à rejoindre le canal « %2 ». Acceptez-vous "
+"l'invitation ?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invitation"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Erreur : Impossible de trouver le script « %1 »."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Erreur : Impossible d'exécuter le script « %1 ». Veuillez vérifier les droits "
+"d'accès du fichier."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Parti pour l'instant."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Vous êtes maintenant considéré comme absent."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Vous n'êtes plus considéré comme absent."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Vous n'êtes pas considéré comme absent."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Pseudos en ligne surveillés"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Réseau / Pseudonyme / Canal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Informations supplémentaires"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p> Voici l'ensemble des pseudonymes de votre liste des pseudonymes surveillés, "
+"listés sous le réseau de serveurs auquel ils sont connectés. La liste inclut "
+"également les pseudonymes dans le carnet d'adresses KDE associés avec le réseau "
+"de serveurs.</p>"
+"<p>La colonne <b>Informations supplémentaires</b> affiche les informations "
+"connues pour chaque pseudonyme.</p>"
+"<p>Les canaux rejoints par les pseudonymes sont listés sous chaque pseudo.</p>"
+"<p>Les pseudonymes apparaissant sous le <b>Non connecté</b> "
+"ne sont connectés à aucun serveur du réseau.</p>"
+"<p>Un clic droit avec la souris sur un pseudonyme permet d'accéder à des "
+"fonctions supplémentaires.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Modifier la liste des surveillés..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+"Cliquez pour modifier la liste des pseudonymes qui apparaissent sur cet écran."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Carnet d'adresses :"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Lorsque vous sélectionnez un pseudonyme dans la liste ci-dessus, les boutons "
+"sont ici utilisés pour associer ce pseudonyme avec une entrée du carnet "
+"d'adresses KDE."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Modifier le c&ontact..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Cliquez pour créer, afficher, ou modifier l'entrée du carnet d'adresses "
+"associée avec le pseudonyme sélectionné ci-dessus."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Changer l'association..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Cliquez pour associer le pseudonyme sélectionné ci-dessus avec une entrée du "
+"carnet d'adresses KDE."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Supprimer l'association"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Cliquez pour supprimer une association entre le pseudonyme sélectionné "
+"ci-dessus et une entrée du carnet d'adresses KDE."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " connecté via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " depuis %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Non connecté"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Parler"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Demi-opérateur"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Opérateur"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Propriétaire"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Administrateur"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Créer un nouveau c&ontact..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Choisir l'association..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "Re&joindre le canal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Choisir un fichier son"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Fichier d'historique démarré\n"
+"*** le %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Rejoindre automatiquement un canal sur une invitation"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Veuillez remarquer que l'enregistrement des fichiers d'historique enregistrera "
+"l'ensemble du fichier"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Demander avant de supprimer le contenu du fichier d'historique"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Demander pour fermer les requêtes après avoir ignoré le pseudonyme"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Demander avant de se connecter a un autre serveur du réseau"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Demander avant de se connecter a un autre serveur du réseau"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Fermer l'onglet serveur"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Fermer l'onglet canal"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Fermer l'onglet requête"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "La liste des canaux ne peut être ouverte que dans des onglets serveurs"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avertir lorsque l'on tente de cacher le menu de la fenêtre principale"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Avertir du trafic important avec la liste des canaux"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avertir lors du collage de grandes parties de texte"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Avertir lors de la fermeture de Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Liste des canaux"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Configuration des filtres"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "Utilisateurs m&in. :"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Utilisateurs m&ax. :"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Vous pouvez ici limiter la liste de canaux à ceux ayant un nombre "
+"d'utilisateurs minimum. Choisissez 0 pour désactiver ce critère."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Vous pouvez ici limiter la liste de canaux à ceux ayant un nombre "
+"d'utilisateurs maximum. Choisissez 0 pour désactiver ce critère."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "Mo&tif du filtre :"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Cible du filtre :"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Saisissez une chaîne de filtrage ici."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "Expression &rationnelle"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "Appli&quer le filtre"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Cliquez ici pour récupérer la liste des canaux depuis le serveur et appliquer "
+"le filtre."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"La liste filtrée des canaux est affichée ici. Remarquez que si vous n'utilisez "
+"pas d'expressions rationnelles, Konversation affichera tout canal dont le nom "
+"contiendra la chaîne de filtrage saisie. Le nom du canal n'a pas besoin de "
+"commencer par la chaîne de filtrage.\n"
+"\n"
+"Sélectionnez le canal que vous souhaitez rejoindre en cliquant dessus. Un clic "
+"droit sur un canal vous permettra d'obtenir une liste de toutes les adresses "
+"Internet mentionnées dans le sujet du canal."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nom du canal"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Sujet du canal"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "Ra&fraîchir la liste"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "Enregistrer la li&ste..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "Re&joindre le canal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Cliquez ici pour rejoindre le canal. Un nouvel onglet est créé pour celui-ci."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Enregistrer la liste de canaux"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Liste de canaux Konversation : %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canaux : %1 (%2 affichés)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Utilisateurs multiples : %1 (%2 affichés)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Ouvrir l'URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Aucune URL trouvée>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Liste des canaux pour %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Connecté"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour la messagerie "
+"instantanée, mais n'a indiqué aucun contact auquel envoyer le message. Ceci est "
+"probablement un bogue de l'autre application."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour la messagerie "
+"instantanée, mais Konversation n'a pas pu trouver le contact spécifié dans le "
+"carnet d'adresses KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour la messagerie "
+"instantanée, mais l'utilisateur demandé %1 n'est pas connecté."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour envoyer un "
+"fichier à un contact, mais n'a pas spécifié le contact auquel envoyer le "
+"fichier. Ceci est probablement un bogue de l'autre application."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour envoyer un "
+"fichier à un contact, mais il est impossible pour Konversation de trouver le "
+"contact spécifié dans le carnet d'adresses KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Une autre application KDE a tenté d'utiliser Konversation pour envoyer un "
+"fichier à un contact, mais l'utilisateur demandé %1 n'est pas connecté."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Une autre application KDE tente d'utiliser Konversation pour ajouter un "
+"contact. Konversation gère cela."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Impossible d'exécuter le programme de carnet d'adresses (KAdressbook). Ceci est "
+"probablement dû au fait qu'il n'est pas installé. Veuillez installer les "
+"paquets « kdepim »."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"Le contact que vous avez sélectionné ne possède pas d'adresse électronique "
+"associée. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Impossible d'envoyer le courriel"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Impossible d'exécuter le programme de courrier électronique. Ceci est "
+"probablement dû au fait qu'il n'est pas installé. Pour installer le programme "
+"de courrier électronique de KDE (KMail), veuillez installer les paquets "
+"« kdepim »."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Aucun des contacts sélectionnés ne sont associés avec des contacts de votre "
+"carnet d'adresses. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Le contact sélectionné n'est pas associé avec un contact de votre carnet "
+"d'adresses. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Certains des contacts sélectionnés (%1) ne sont pas associés avec des contacts "
+"de votre carnet d'adresses. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Un des contacts sélectionnés (%1) n'est pas associé avec un contact de votre "
+"carnet d'adresses. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Vous pouvez cliquer avec le bouton droit de la souris sur un contact, et "
+"choisir de modifier l'association avec le carnet d'adresses, afin de les lier à "
+"une de ces entrées."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Aucun des contacts sélectionnés ne possède d'adresse électronique associée. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Certains des contacts sélectionnés (%1) ne possèdent pas d'adresse électronique "
+"associée. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Un des contacts sélectionnés (%1) ne possède pas d'adresse électronique "
+"associée. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Vous pouvez cliquer avec le bouton droit de la souris sur un contact, et "
+"choisir de modifier le contact dans le carnet d'adresses, afin d'ajouter son "
+"adresse électronique."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Certains des contacts (%1) sélectionnés ne sont pas associés avec des contacts "
+"du carnet d'adresses, et certains de ceux-ci (%2) ne possèdent pas d'adresses "
+"électroniques associées. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Vous pouvez cliquer avec le bouton droit de la souris sur un contact afin de "
+"modifier les associations avec le carnet d'adresse et ainsi les lier avec un "
+"des contacts de votre carnet, et également choisir de modifier le contact du "
+"carnet d'adresses, afin d'y ajouter son courrier électronique."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Voulez-vous tout de même envoyer un courrier électronique aux pseudos qui "
+"possèdent une adresse électronique ?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Envoyer le courrier électronique"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Lier le pseudo IRC à un contact du carnet d'adresses"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Choisir la personne correspondant à « %1 »."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Pour le moment, « %1 » est associé à un contact."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Pour le moment, « %1 » est associé au contact « %2 »."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Avertissement : </b>« %1 » est correspond à plusieurs de vos contacts. "
+"Veuillez sélectionner le contact correct.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Nouvelle entrée de carnet d'adresses"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nom de la nouvelle entrée :"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Récupérateur d'URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Liste des URLs mentionnées dans l'ensemble des fenêtres Konversation pendant "
+"cette session."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Ouvrir l'URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Sélectionnez une <b>URL</b> ci dessus, puis cliquez sur ce bouton pour "
+"lancer l'application associée avec le type MIME de l'URL.</p>"
+"<p>Dans le menu <b>Configuration</b>, dans <b>Comportement</b> / <b>Général</b>"
+", vous pouvez spécifier le navigateur web de votre choix pour les URL.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copier l'URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Sélectionnez l'<b>URL</b> ci-dessus, puis cliquez sur ce bouton pour la copier "
+"dans le presse papiers."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Supprimer l'URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Sélectionnez l'<b>URL</b> ci-dessus, puis cliquez sur ce bouton pour la "
+"supprimer de la liste."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Enregistrer la li&ste..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Cliquez pour enregistrer la liste complète dans un fichier."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Vider la liste"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Cliquez pour effacer la totalité de la liste."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Enregistrer la liste d'URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Modifier le collage multi-lignes"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Ajouter des indicateurs de &citation"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Canal :"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Le nom du canal est requis."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Historique brut"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Rechercher le texte dans l'onglet actuel"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Liste des canaux pour %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&Ouvrir l'historique pour %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Paramètres de &canal pour %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Défaut (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Vous pouvez seulement chercher dans les champs de texte."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Trouver une information dans le texte"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Historique de %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "État DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"L'utilisation de cette fonction risque de créer un trafic réseau important. Si "
+"votre connexion n'est pas assez rapide, il est possible que votre client soit "
+"déconnecté du serveur."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Avertissement de la liste de canaux"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"La liste de canaux ne peut être ouverte que depuis une requête, un canal ou une "
+"fenêtre d'état afin de trouver à quel serveur cette liste appartient."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Saisissez le nom du réseau ici. Vous pouvez créer autant d'entrées dans la "
+"liste de serveurs, ayant le même réseau, que vous souhaitez."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Choisissez une identité existante, ou cliquez sur le bouton « Modifier » pour "
+"ajouter une nouvelle identité ou en modifier une existante. L'identité "
+"permettra de vous reconnaître et déterminera votre pseudonyme lorsque vous vous "
+"connecterez au réseau."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Optionnel. Cette commande sera envoyée au serveur après connexion. Par "
+"exemple : <b>/msg PseudoServeur IDENTIFY <i>konvirocks</i></b>"
+". Cette exemple est pour le réseau freenode, qui nécessite que les utilisateurs "
+"enregistrent leur pseudonyme avec un mot de passe et s'authentifient à la "
+"connexion. <i>konvirocks</i> est le mot de passe pour le pseudonyme donné dans "
+"l'identité. Vous pouvez saisir plusieurs commandes en les séparant par « : »."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Cochez cette option si vous souhaitez que Konversation se connecte "
+"automatiquement à ce réseau lorsque vous démarrez le programme."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Voici la liste des serveurs IRC du réseau. Lorsque vous vous connectez à ce "
+"réseau, Konversation va tenter une connexion au serveur en haut de la liste en "
+"premier. Si cela échoue, il tentera de se connecter au second, puis au "
+"troisième, et ainsi de suite. Au moins un serveur doit être précisé. Cliquez "
+"sur un serveur pour le sélectionner."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Optionnel. Voici la liste des canaux que vous rejoindrez automatiquement "
+"lorsque Konversation sera connecté à un serveur. Vous pouvez laisser ce champ "
+"vide si vous ne souhaitez pas rejoindre de canal automatiquement."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Changer l'information du réseau"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Ajouter un serveur"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Modifier le serveur"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Ajouter un canal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Modifier le canal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Le nom du réseau est requis."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Vous devez ajouter au moins un serveur au réseau."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Thèmes Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Sélectionner un paquet de thème"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Échec du téléchargement du thème"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "L'archive du thème n'est pas valide."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Impossible d'installer le thème"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Voulez-vous supprimer « %1 » ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Supprimer le thème"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Client IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Sélectionner le destinataire"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Sélectionner le pseudonyme et fermer la fenêtre"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Fermer la fenêtre sans enregistrer les changements"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname : Impossible de trouver le serveur %1."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "L'administrateur a restreint le droit de réception de fichiers"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Négociation non gérée (taille du fichier=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Impossible de créer le dossier.</b><br>Dossier : %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Impossible de créer une instance KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Le fichier est déjà utilisé par un autre transfert.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Un fichier partiel existe.</b>"
+"<br>%1"
+"<br>Taille du fichier partiel : %2 octets"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Le fichier existe déjà.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Impossible d'ouvrir le fichier.<br>Erreur : %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Impossible d'envoyer la reconnaissance inverse DCC SEND au correspondant via le "
+"serveur IRC."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "En attente de connexion"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "En attente pour l'acceptation de l'hôte distant"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Impossible d'envoyer la requête de reprise DCC RECV au correspondant via le "
+"serveur IRC."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Réponse inattendue de l'hôte distant"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Erreur de transfert"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Erreur KIO : %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Certains détails de la personne à laquelle vous parlez dans cette requête "
+"sont affichés dans cette barre. Le nom complet et le nom de machine sont "
+"affichés, ainsi que toutes images ou logos associés à cette personne dans le "
+"carnet d'adresses de KDE."
+"<p>Voyez le <i>manuel de Konversation</i> pour plus d'informations sur "
+"l'association d'un pseudo avec un contact du carnet d'adresses, et pour une "
+"explication sur la notion de masque d'hôte.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(absent)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Voulez-vous ignorer « %1 » ?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Voulez-vous fermer cette requête après avoir ignoré ce pseudonyme ?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Fermer cette requête"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Laisser ouvert"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Voulez-vous arrêter d'ignorer « %1 » ?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identité par défaut ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Voulez-vous fermer votre requête avec « %1 » ?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Fermer la requête"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Discussion avec vous même"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 a quitté ce serveur."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 a quitté ce serveur (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Aperçu de l'OSD - Déplacez vers la position désirée"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Opérateur"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administrateur"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Propriétaire"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Demi-opérateur"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "a la parole"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interface"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportement"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notifications"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Fenêtre de discussion"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Thèmes pour la liste des pseudos"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Couleurs"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Boutons rapides"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Connexion"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Liste des pseudonymes"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Alias de commandes"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Remplacement auto"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Journalisation"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Surlignement"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Pseudonymes surveillés"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "OSD"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Dialogues d'avertissements"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Demande de réception DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Reprendre"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nom de fichier o&riginel"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Suggérer un &nouveau nom"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "É&craser"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "R&enommer"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Chercher en avant"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Sensible à la casse"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Mots complets uniquement"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Depuis le curseur"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Fermer l'ongle&t"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Voulez-vous vous déconnecter de « %1 » ?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Déconnecter du serveur"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Déconnecter"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Démarré à"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "État"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partenaire"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Progression"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Position"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Restant"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Vitesse"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Adresse de l'expéditeur"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Accepter"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Abandonner"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Ouvrir un fichier"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Démarrer la réception"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Abandonner le(s) transfert(s)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Exécuter le fichier"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Voir les détails du transfert DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Sélectionner tous les éléments"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Sél&ectionner tous les éléments terminés"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Accepter"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "A&bandonner"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Renvoyer"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "Effa&cer"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Ouvrir un fichier"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informations du fichier"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Modifier les paramètres du canal"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Chaque canal sur l'IRC possède un sujet associé. Cela correspond simplement "
+"à un message que tout le monde peut voir."
+"<p>Si vous êtes un opérateur, ou si le mode « <em>T</em>"
+" » du canal n'a pas été défini, vous pourrez alors modifier le sujet en "
+"cliquant sur le bouton « Modifier les paramètres du canal » à la gauche du "
+"sujet. Vous pourrez également lire l'historique des sujets précédents à cet "
+"endroit.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Le mode Suje<b>T</b> signifie que seul l'opérateur du canal est en mesure de "
+"modifier le sujet du canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>L'option Aucu<b>N</b> message de l'extérieur signifie que les utilisateurs "
+"n'étant pas dans le canal ne peuvent pas envoyer de messages aux personnes de "
+"l'intérieur. Pratiquement l'ensemble des canaux possèdent cette option afin "
+"d'éviter les messages nuisibles.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal <b>S</b>ecret ne s'affichera pas dans la liste des canaux, et aucun "
+"utilisateur ne pourra savoir que vous êtes dans ce canal avec une commande <em>"
+"WHOIS</em> ou similaire. Seules les personnes étant dans le même canal seront "
+"conscients de votre présence, si ce mode est défini.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal <b>I</b>nvitation uniquement signifie que les personnes pouvant "
+"joindre ce canal devront préalablement avoir été invitées. Pour inviter "
+"quelqu'un, un opérateur de canal a besoin d'utiliser la commande <em>"
+"/invite pseudo</em> au sein du canal.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Un opérateur est le seul "
+"à pouvoir le modifier."
+"<p>Un canal <b>P</b>rivé est affiché dans la liste de tous les canaux, mais le "
+"sujet n'est pas affiché. Un <em>WHOIS</em> sur les utilisateurs pourra ou non "
+"les afficher sur un canal privé en fonction du serveur IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal <b>M</b>odéré est un endroit où seuls les opérateurs, les "
+"demi-opérateurs et les personnes ayant le droit de parole peuvent discuter.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal <b>P</b>rotégé demande aux utilisateurs un mot de passe afin de "
+"pouvoir le joindre.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal ayant une <b>L</b>imite d'utilisateur signifie que seul ce nombre "
+"d'utilisateurs peut être dans le canal à un moment donné. Certains canaux "
+"possèdent un robot qui modifie cette limite automatiquement en fonction de "
+"l'occupation du canal.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Nombre maximal d'utilisateurs autorisés sur le canal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Ceci est la limite d'utilisateurs du canal - le nombre maximal "
+"d'utilisateurs pouvant être présents sur le canal en même temps. Si vous êtes "
+"un opérateur, vous pouvez définir cela. Le mode suje<b>T</b> "
+"(le bouton à gauche) du canal sera alors automatiquement défini.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Ceci affiche votre pseudonyme actuel, et tous les autres noms que vous avez "
+"définis. Si vous sélectionnez ou saisissez un pseudonyme différent, une requête "
+"sera envoyé au serveur IRC pour modifier votre pseudo. Si le serveur "
+"l'autorise, le nouveau pseudonyme sera sélectionné. Si vous saisissez un "
+"nouveau pseudonyme, vous devrez alors appuyez sur la touche « Entrée » à la "
+"fin."
+"<p>Vous pouvez modifier les autres pseudonymes depuis l'option <em>"
+"Identités</em> dans le menu <em>Fichier</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Voulez-vous ignorer les utilisateurs sélectionnés ?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Voulez-vous arrêter d'ignorer les utilisateurs sélectionnés ?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Auto-complément"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Auto-compléments possibles : %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Mot de passe du canal"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Limite de pseudo"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Saisissez la nouvelle limite de pseudo :"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Vous êtes maintenant connu sous le nom de %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 est maintenant connu sous le nom de %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Vous avez rejoint le canal %1. (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 a rejoint ce canal (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Vous avez quitté ce serveur."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Vous avez quitté ce serveur (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Vous avez quitté le canal %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Vous avez quitté le canal %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 a quitté ce serveur (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 a quitté ce canal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 a quitté ce canal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Vous vous êtes expulsé vous même du canal %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Vous vous êtes expulsé vous même du canal %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Vous avez été expulsé du canal %1 par %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Vous avez été expulsé du canal %1 par %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Vous avez expulsé %1 du canal."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Vous avez expulsé %1 du canal (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 a été expulsé du canal par %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 a été expulsé du canal par %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n pseudo\n"
+"%n pseudos"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n opérateur)\n"
+" (%n opérateurs)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Le sujet du canal est « %1 »."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Vous avez défini le sujet du canal à « %1 »."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 a défini le sujet du canal à « %2 »."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Vous vous êtes donné les privilèges de propriétaire du canal."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Vous donnez les privilèges de propriétaire du canal à %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 vous donne les privilèges de propriétaire du canal."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 donne les privilèges de propriétaire du canal à %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Vous recevez vos privilèges de propriétaire du canal."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Vous recevez les privilèges de propriétaire du canal de %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 reçoit vos privilèges de propriétaire du canal."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 reçoit les privilèges de propriétaire du canal de %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Vous vous attribuez les privilèges d'administrateur du canal."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Vous donnez les privilèges d'administrateur du canal à %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 vous donne les privilèges d'administrateur du canal."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 donne les privilèges d'administrateur du canal à %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Vous recevez vos privilèges d'administrateur du canal."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Vous recevez les privilèges d'administrateur du canal de %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 reçoit vos privilèges d'administrateur du canal."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 reçoit les privilèges d'administrateur du canal de %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Vous vous donnez les privilèges d'opérateur du canal."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Vous donnez les privilèges d'opérateur du canal à %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 vous donne les privilèges d'opérateur du canal."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 donne les privilèges d'opérateur du canal à %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Vous recevez vos privilèges d'opérateur du canal."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Vous rcevez les privilèges d'opérateur du canal de %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 reçoit vos privilèges d'opérateur du canal."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 reçoit les privilèges d'opérateur du canal de %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Vous vous donnez les privilèges de demi-opérateur."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Vous donnez les privilèges de demi-opérateur à %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 vous donne les privilèges de demi-opérateur."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 donne les privilèges de demi-opérateur à %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Vous recevez vos privilèges de demi-opérateur."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Vous recevez les privilèges de demi-opérateur de %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 reçoit vos privilèges de demi-opérateur."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 reçoit les privilèges de demi-opérateur de %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Vous vous donnez la permission de parler."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Vous donnez la permission de parler à %1."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 vous donne la permission de parler."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 donne la permission de parler à %2."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Vous vous octroyez la permission de parler."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Vous recevez la permission de parler à %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 reçoit votre permission de parler."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 reçoi la permission de parler à %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Vous définissez le mode du canal à « Aucune couleur autorisée »."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 définit le mode du canal à « Aucune couleur autorisée »."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Vous définissez le mode du canal à « Codes de couleur autorisés »."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 définit le mode du canal à « Codes de couleur autorisés »."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Vous définissez le mode du canal à « Invité seulement »."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 définit le mode du canal à « Invité seulement »."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Vous supprimez le mode « Invité seulement » du canal."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 supprime le mode « Invité seulement » du canal."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Vous définissez le mode du canal à « Modéré »."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 définit le mode du canal à « Modéré »."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Vous définissez le mode du canal à « Non modéré »."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 définit le mode du canal à « Non modéré »."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Vous définissez le mode du canal à « Aucun message de l'extérieur »."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 définit le mode du canal à « Aucun message de l'extérieur »."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr ""
+"Vous définissez le mode du canal à « Messages de l'extérieur autorisés »."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 définit le mode du canal à « Messages de l'extérieur autorisés »."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Vous définissez le mode du canal à « Privé »."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 définit le mode du canal à « Privé »."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Vous définissez le mode du canal à « Public »."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 définit le mode du canal à « Public »."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Vous définissez le mode du canal à « Secret »."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 définit le mode du canal à « Secret »."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Vous définissez le mode du canal à « Visible »."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 définit le mode du canal à « Visible »."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Vous activez la « Protection du sujet »."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 active la « Protection du sujet »."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Vous désactivez la « Protection du sujet »."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 désactive la « Protection du sujet »."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Vous avez défini le sujet du canal à « %1 »."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 a défini le sujet du canal à « %2 »."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Vous supprimez la limite du canal."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 supprime la limite du canal."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Vous définissez la limite du canal à %1 pseudos."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 définit la limite du canal à %2 pseudos."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Vous supprimez la limite du canal."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 supprime la limite du canal."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Vous définissez le bannissement de %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 définit le bannissement de %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Vous supprimez le bannissement de %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 supprime le bannissement de %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Vous définissez l'exception de bannissement de %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 définit l'exception de bannissement de %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Vous supprimez l'exception de bannissement de %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 supprime l'exception de bannissement de %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Vous définissez le masque d'invitation de %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 définit le masque d'invitation de %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Vous supprimez le masque d'invitation de %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 supprime le masque d'invitation de %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Vous définissez le canal au mode +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 définit le canal au mode +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Vous définissez le canal au mode -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 définit le canal au mode -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Vous devez être opérateur pour modifier cela."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Le sujet ne peut être modifié que par un opérateur de canal. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Aucun message vers le canal de clients extérieurs. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canal secret. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canal sur invitation uniquement. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canal privé. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canal modéré. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Protéger le canal avec un mot de passe."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Définir une limite d'utilisateurs au canal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Voulez-vous quitter « %1 » ?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Quitter le canal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Quitter"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Nicolas Ternisien"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "nicolas.ternisien@gmail.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "En attente"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Lignes"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " octets"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Son :"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Lignes"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " octets"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Utilisateurs normaux"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "En attente"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "En attente"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Recevoir"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nom du bouton"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Action du bouton"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Action du bouton :"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nom du bouton :"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Emplacements disponibles"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c : Canal actuel\n"
+"%K : Mot de passe du serveur\n"
+"%u : Liste des pseudonymes sélectionnés\n"
+"%s<term>% : termes utilisés pour séparer les pseudonymes dans %u\n"
+"%n : Envoyer directement la commande au serveur plutôt qu'à votre ligne de "
+"saisie"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Nom de fichier :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Moi :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Type :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "État :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Emplacement :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Progression :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partenaire :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Ouvrir un fichier"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Taille du fichier :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Vitesse moyenne :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Reprise :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Vitesse actuelle :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Position actuelle :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Temps restant estimé :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Proposé à :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Fini à :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Démarré à :"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Durée du transfert :"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Activer la reconnexion automatique"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Délai de reconnexion :"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Tentatives de reconnexion :"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " secondes"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Illimité"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Débogage"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Afficher la fenêtre d'historique &brut à la connexion"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Motif"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Type"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Motif :"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Types de messages"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Nouveau"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Supprimer &tout"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Nom du réseau :"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identité :"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Commandes :"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Se co&nnecter au démarrage de l'application"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Serveurs"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Ajouter..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "Mo&difier..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Rejoindre automatiquement les canaux"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Mod&ifier..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias :"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Remplacement :"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Remplacement"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Chercher le &suivant"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Chercher le précédent"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Commande exécutée lors d'un double clic :"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Trier &indépendamment de la casse"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "trier par &activité"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Trier &par état d'utilisateur"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Explication"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Réorganiser les pseudos par glisser-déposer)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstaller un thème..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Supprimer le thème"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Icône pour les utilisateurs ordinnaires"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Icône pour les utilisateurs absents"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Icône pour les utilisateurs ayant la parole"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Icône pour les utilisateurs ayant des privilèges de demi-opérateurs"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Icône pour les utilisateurs ayant des privilèges d'opérateurs"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Icône pour les utilisateurs ayant des privilèges d'administrateur"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Icône pour les utilisateurs ayant des privilèges de propriétaire"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Aperçu :"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Vue"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Position :"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Afficher le bo&uton de fermeture sur les onglets"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr ""
+"Afficher un bouton de fermeture d'onglet à d&roite de la barre d'onglets"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+"Limiter la taille des intitulés des onglets pour qu'ils tiennent tou&s dans "
+"l'écran"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Focus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Focus aux nouveaux onglets"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Focus aux nouvelles re&quêtes"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Mode"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Commande e&xécutée lors d'un double clic sur un pseudo :"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Lorsque vous faites un double clic sur un pseudonyme dans la fenêtre <b>"
+"Pseudos en ligne</b>, cette commande est placée dans la <b>ligne de saisie</b> "
+"sur la fenêtre du serveur.</p>"
+"<p> Les symboles suivants peuvent être utilisés dans la commande :</p>"
+"<ul>\n"
+"<li>%u : Le pseudonyme double cliqué.</li>"
+"<li>%K : Mot de passe du serveur.</li>"
+"<li>%n : Envoyer la commande directement au serveur au lieu de l'inscrire dans "
+"la ligne de saisie.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Lorsque vous faites un double clic sur un pseudonyme dans la fenêtre <b>"
+"Pseudos en ligne</b>, cette commande est placée dans la <b>ligne de saisie</b> "
+"sur la fenêtre du serveur.</p>"
+"<p> Les symboles suivants peuvent être utilisés dans la commande :</p>"
+"<ul>\n"
+"<li>%u : Le pseudonyme double cliqué.</li>"
+"<li>%K : Mot de passe du serveur.</li>"
+"<li>%n : Envoyer la commande directement au serveur au lieu de l'inscrire dans "
+"la ligne de saisie.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Intervalle d'act&ualisation :"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation va vérifier l'état des pseudonymes listés ci-dessous à cet "
+"intervalle."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+"&Afficher l'onglet des pseudonymes surveillés en ligne au démarrage de "
+"l'application"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Lorsque c'est coché, la fenêtre <b>Pseudos en ligne</b> "
+"sera automatiquement ouverte au démarrage de Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Activer la surveillance des pseudonymes"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Lorsque la surveillance de pseudonymes est activée, vous êtes notifiés quand "
+"les pseudonymes de la liste des <b>Groupes / Pseudonymes surveillés</b> "
+"sont en ligne ou hors ligne.</p>"
+"<p>Vous pouvez également ouvrir la fenêtre des <b>Pseudos en ligne</b> "
+"afin de consulter l'état de tous les pseudonymes surveillés.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Réseau :"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"Le réseau de serveurs IRC (tel que freenode) de l'utilisateur à surveiller "
+"sélectionné est actif."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr ""
+"Le pseudo (nom d'utilisateur) de la personne sélectionnée, à surveiller"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Groupes / Pseudonymes surveillés"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>Lorsque la surveillance de pseudonymes est activée, vous êtes notifiés quand "
+"les pseudonymes de la liste des <b>Groupes / Pseudonymes surveillés</b> "
+"sont en ligne ou hors ligne.</p>"
+"<p>Vous pouvez également ouvrir la fenêtre des <b>Pseudos en ligne</b> "
+"afin de consulter l'état de tous les pseudonymes surveillés.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Cliquez pour ajouter un pseudo dans la liste."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Cliquez pour supprimer le pseudo sélectionné dans la liste."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Activ&er l'historique"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Activer les minuscu&les pour les noms des fichiers d'historique"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Ajouter le nom d'hôte au nom des fichiers d'historique"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Chemin du fichier d'historique :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Activer l'incrustation dans la boîte à miniatures"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Utiliser la boîte à miniatures pour notifier de nouveaux messages"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Notifier uniquement lorsque un surlignement est déclenchée ou que votre pseudo "
+"est utilisé"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, fuzzy, no-c-format
+msgid "Blin&k the icon"
+msgstr "Faire clignoter l'icône"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Auto-complément des pseudonymes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Mode d'auto-complément :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Parcourir la liste de pseudos"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Comme un interpréteur"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Comme un interpréteur avec une boîte d'auto-complément"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Suffi&xe au début de la ligne :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Autre part :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Sensible à la casse"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Désactiver les notifications lors de l'&absence"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Utiliser une réponse de &version personnalisée :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Vous pouvez définir ici une réponse personnalisée pour les requêtes <b>"
+"CTCP <i>VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Le champ de texte s'étend au fur et à mesure de la saisie"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Caractère de comman&de :"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Utiliser le &navigateur de votre choix :"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Limiter la taille des intitulés d'onglets pour qu'ils tiennent tous dans "
+"l'écran"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Masquer la barre de défilement"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Activez la correction orthographique lors de la frappe dans toutes les lignes "
+"de saisie IRC"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"L'activation de ceci entraînera l'agrandissement vertical de la boîte de saisie "
+"au fur et à mesure de son remplissage."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Incrustation dans la boîte à miniatures"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Démarrer avec la fenêtre principale masquée"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Afficher les vrais noms à la suite des surnoms"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Ouvrir l'onglet des pseudonymes surveillés au démarrage"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Activer les émoticônes"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Thème d'émoticônes"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Su&jet"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Date"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&des"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Le &sujet ne peut être modifié que par les opérateurs du canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Aucun message de l'extérieur du canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canal &secret, le canal n'est pas affiché dans la liste des canaux"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Seuls les &invités sont autorisés à rejoindre le canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Ces boutons contrôlent le <em>mode</em> du canal. Seul un opérateur peut le "
+"modifier."
+"<p>Un canal <b>I</b>nvitation uniquement signifie que les personnes pouvant "
+"joindre ce canal devront préalablement avoir été invitées. Pour inviter "
+"quelqu'un, un opérateur de canal a besoin d'effectuer la commande <em>"
+"/invite pseudo</em> depuis le canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"Canal &modéré, seules les personnes ayant la parole peuvent écrire dans le "
+"canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Mot de passe du canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Limite d'utilisateurs :"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Afficher les modes &avancés >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Ret. Arr., Tab, Ret. Arr."
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Paramètre"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Liste des &bannis"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Supprimer un banni"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Ajouter un banni"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Masque d'hôte"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Défini par"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Temps défini"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Chercher :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Dossier de téléchargement :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Ajouter l'expéditeur au nom du fichier"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Cré&er un dossier pour l'expéditeur"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+"Convertir les espaces en tirets de soulignement dans les noms de fichiers avant "
+"leur envoi"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Accepter automati&quement les offres de téléchargements"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Reprendre au&tomatiquement les téléchargements"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Activer l'envoi DCC rapide (Risque de &ne pas fonctionner pour tout le monde)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Taille du tam&pon :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Déla&i d'expiration d'un envoi DCC :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Revenir à l'interface IPv&4 pour l'envoi DCC :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Si cette option est activée, les transferts DCC vers les connexions IPv6 seront "
+"effectués à travers l'interface IPv4 définie ici"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " octets"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sec."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Activer l'envoi DCC passif"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Méthode pour obtenir sa propre adresse IP :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Adresse IP perso&nnelle :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Ports"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Utiliser des p&orts spécifiques pour la discussion DCC :"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "à"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Utiliser des &ports spécifiques pour le serveur de transferts DCC :"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Utiliser du texte coloré"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Utiliser des DELs colorées"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Événement d'application"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Les événements d'application se produisent dans les onglets Konsole, état DCC, "
+"et les autres onglets qui ne sont pas utilisés directement pour la discussion."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Message"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Message privé"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Pseudo actuellement utilisé"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Événement de canal"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Les événements de canal sont les changements de mode ou les utilisateurs "
+"joignant ou quittant d'un canal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+"Donner la prépondérance aux couleurs de surlignement de la fenêtre de "
+"discussion"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Si vous sélectionnez ceci, les couleurs que vous avez choisies dans la rubrique "
+"« préférences de surlignement » prendront le pas sur celles pour le « pseudo "
+"actuellement utilisé » et « surlignement »."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Activer une police à chasse fi&xe pour les messages MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr ""
+"Afficher le message MOTD (« Message Of The Day - Le Message du Jour ») dans une "
+"police à chasse fixe"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr ""
+"Mettre le pseudonyme des expéditeurs en &gras dans la fenêtre de discussion"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Texte de discussion :"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Liste de pseudonymes :"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Barre des onglets :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "Liste de surli&gnements"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Surlignements"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Son"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Auto Texte"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Motif :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Couleur :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Son :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Son de test"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Texte &auto. :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "A&ctiver les sons pour les surlignements"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Tou&jours surligner mon pseudo actuel :"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Toujours surligner mes &lignes :"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Créer une nouvelle &entrée..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Créer une nouvelle entrée dans votre carnet d'adresses"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Photo"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nom"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Sélectionnez le contact avec lequel vous souhaitez parler via la messagerie "
+"instantanée"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Ch&ercher :"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Activer la cloche s&ystème lors de l'arrivée d'un « BEL » ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Joue la cloche système lorsque vous recevez un caractère de contrôle « BEL » "
+"ASCII (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Cacher les évènements Re&joindre / Partage / Pseudo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr ""
+"Désactiver les e&xpansions de variables (comme « %C », « %B », « %G »...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Ne pas étendre les variables lors de l'envoi du texte au serveur. Une variable "
+"comme par un « % » ; comme par exemple, « %B », qui s'étend vers les caractères "
+"nécessaires pour mettre un texte en gras."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Rediriger les messages d'état vers la fenêtre d'état du serveur"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Limite pour le défilement vers le haut :"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Nombres de lignes à conserver dans les tampons ; 0=illimité"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Utiliser les modes bruts pour les changements de mode"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Conserver la chaîne de description du mode du canal comme une combinaison de "
+"caractères plutôt que de les traduire en mots compréhensibles. Par exemple, "
+"« *** Modes du canal : aucun message de l'extérieur n'est autorisé » devient "
+"« *** Modes du canal : n »"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " lignes"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Liste des serveurs"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Afficher la ligne de rappel dans tous les fenêtres de discussion"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Insère une ligne de rappel dans la fenêtre de discussion lorsque vous basculez "
+"vers une autre discussion ou que le fenêtre est minimisée."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr ""
+"Activer la recherche d'information automatique sur les utilisateurs (« /WHO »)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Nombre maximum d'utilisateurs sur un canal :"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " pseudos"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Intervalle d'actualisation :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Activer l'affichage à l'écran"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Affichage à l'é&cran"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Dessiner les ombres"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Police de l'affichage à l'écran :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Afficher les me&ssages à l'écran"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "S&i mon pseudo apparaît dans les messages du canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Sur tous les messa&ges du canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Sur les activités de re&quêtes"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Sur les évènements &Joindre / Quitter"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Activer les couleurs personnalisées"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Couleur du te&xte :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Couleur &d'arrière-plan :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Autres paramètres"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Durée :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "É&cran :"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " msec"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Fenêtre"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Nouveau"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Supprimer"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Remplacer dans"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Chercher"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Remplacer par"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Remplacer dans :"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Chercher :"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Remplacer par :"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Activer les horoda&tages"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Afficher les &dates"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format :"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Afficher l'historique"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Lignes"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Disposition"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Afficher le sujet du canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Afficher les boutons de &mode du canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Afficher la barre de défilement"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Afficher la fenêt&re de changement de votre pseudonyme"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Afficher les boutons ra&pides"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Afficher les vrais noms à la suite des surnoms"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Afficher la liste des pseudos du ca&nal et les boutons rapides"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Afficher les masques d'hôte &dans la liste des pseudonymes"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Activer l'image d'&arrière-plan"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Chemin :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Couleurs personnalisées"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Utiliser des couleurs personnalisées pour la boîte de saisie, la liste des "
+"pseudos et la liste des onglets"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Arrière-plan :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Message du &serveur :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "Lien h&ypertexte :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Message du canal :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Actio&n :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Journal :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Message de la comman&de :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Message de la re&quête :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Horoda&tage :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Arrière-p&lan alternatif :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Pseudos colorés"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Couleur de &mon pseudo :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Autoriser le texte coloré dans les messages IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"En activant cette option, les codes de couleurs ajoutés aux messages IRC seront "
+"affichés dans votre fenêtre de discussion comme du texte coloré. Vous pouvez "
+"ajouter des codes de couleurs à vos messages, en sélectionnant « Insérer ->"
+"Couleur IRC »"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14 :"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13 :"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Aperçu"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Voici à quoi vos messages ressembleront avec ces couleurs"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Ceci est un aperçu des messages que pourront voir les lecteurs si vous "
+"sélectionnez ces couleurs."
+"<br>\n"
+"<b>Remarque : Tous les clients ne gèrent pas cela, et certains des utilisateurs "
+"peuvent choisir d'ignorer vos changements de couleurs.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "La couleur de texte choisie est ajoutée dans la ligne de saisie."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Vous pouvez choisir ici de quelle couleur sera le texte du prochain message "
+"que vous enverrez. Si vous choisissez une couleur et cliquez sur OK, la couleur "
+"choisie est alors ajoutée à la ligne de saisie. Tout texte écrit après sera "
+"alors de la couleur choisie, jusqu'à ce que vous modifiez la couleur à nouveau."
+"<br>\n"
+"<b>Remarque : Tous les utilisateurs n'activent pas l'option pour le voir.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Couleur de &premier plan :"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr ""
+"La couleur d'arrière-plan du texte choisie est ajoutée dans la ligne de saisie."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Vous pouvez choisir ici la couleur de fond du texte du prochain message que "
+"vous enverrez. \n"
+"Si vous choisissez une couleur et cliquez sur OK, la couleur choisie est alors "
+"ajoutée à la ligne de saisie. \n"
+"Tout texte écrit après aura alors cette couleur, jusqu'à ce que vous modifiez "
+"la couleur à nouveau."
+"<br>\n"
+"La sélection par défaut « <i>Aucune</i> » ne modifiera pas le fond de votre "
+"message, ainsi, les lecteurs verront le message avec leur couleur de fond de "
+"texte normale."
+"<br>\n"
+"<b>Remarque : Tous les clients ne gèrent pas cela, et tous les utilisateurs "
+"n'activent pas l'option pour le voir.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Fenêtres d'avertissements à afficher"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Mot de passe :"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Serveur :"
+
+#~ msgid "Messages"
+#~ msgstr "Messages"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Afficher les messages d'a&bsence"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Définir comme globalement &disponible"
+
+#~ msgid " s"
+#~ msgstr " sec"
+
+#~ msgid "Every "
+#~ msgstr "Tous les "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avertir lorsque l'on supprime d'un fichier reçu par DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "La clé pour « %1 » a été définie avec succès."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Impossible de supprimer le fichier « %1 »."
+
+#~ msgid "DCC Error"
+#~ msgstr "Erreur DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Supprimer un fichier"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Détails du transfert"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Supprimer de ce panneau"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Supprimer le(s) fichier(s) reçu(s)"
+
+#~ msgid "&Remove File"
+#~ msgstr "Supprime&r un fichier"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Voulez-vous vraiment vous supprimer le fichier sélectionné ?\n"
+#~ "Voulez-vous vraiment vous supprimer les %n fichiers sélectionnés ?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Confirmation de suppression"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Afficher le vrai nom d'une personne à côté de son pseudo dans la liste."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Connexion au serveur %1 perdue : %2. Tentative de reconnexion."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Essai du serveur %1 à la place."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Patientez deux minutes avant la prochaine tentative de connexion..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Groupes de préférences disponibles : "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Options disponibles dans le groupe %1 :"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Utilisation : %1PREFS<groupe> <option> <valeur> ou %2PREFS LIST pour lister les groupes ou %3PREFS groupe LIST pour lister les options d'un groupe. Mettre les paramètres entre guillemets s'ils contiennent des espaces."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Détails du transfert"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Clé du canal :"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Insérer une &ligne de rappel lorsque l'on s'absente"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Insérer une &ligne de rappel lorsque la fenêtre de discussion est masquée"
+
+#~ msgid "&Connection"
+#~ msgstr "&Connexion"
+
+#~ msgid "Application Startup"
+#~ msgstr "Démarrage de l'application"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "Afficher la fenêtre de liste des &serveurs"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 est identifié pour ce pseudo."
+
+#~ msgid "&Channel"
+#~ msgstr "&Canal"
+
+#~ msgid "&Topic"
+#~ msgstr "Suje&t"
+
+#~ msgid "&Save List..."
+#~ msgstr "Enregi&strer la liste..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "h:m ap"
+#~ msgstr "h:m ap"
diff --git a/po/gl/Makefile.am b/po/gl/Makefile.am
new file mode 100644
index 0000000..73c415d
--- /dev/null
+++ b/po/gl/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = gl
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/gl/konversation.po b/po/gl/konversation.po
new file mode 100644
index 0000000..7a4a259
--- /dev/null
+++ b/po/gl/konversation.po
@@ -0,0 +1,7746 @@
+# translation of konversation.po to Galician
+#
+# mvillarino <mvillarino@users.sourceforge.net>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-09-02 11:52+0200\n"
+"Last-Translator: mvillarino <mvillarino@users.sourceforge.net>\n"
+"Language-Team: Galician <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.2\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Opzóns do Canal para %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Acochar os Modos Avanzados <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Mo&strar os Modos Avanzados >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Novo"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "descoñecido"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Informazón disponíbel sobre o ficheiro %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informazón do Ficheiro"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Non se atopou informazón detallada deste ficheiro."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Enviar"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Receber"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "En espera"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "A preparar"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "A conectar"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "A receber"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "A enviar"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Feito"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Fallou"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Interrompido"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/seg"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Quen é"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versión"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Dar Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Retirar Op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Dar sub-operador"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Retirar Sub-operador"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Dar Voz"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Retirar Voz"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modos"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Expulsar"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Expulsar e proibir"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Proibir o Alcume"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Proibir *!*@*.máquina"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Proibir *! *@dominio"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Proibir *! usuário@*.máquina"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Proibir *!usuário@dominio"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Expulsar e proibir *!*@*.máquina"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Expulsar e proibir *!*@dominio"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Espulsar e proibir *!usuário@*.máquina"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Expulsar e proibir *!usuário@dominio"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Expulsar / Proibir aceso"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Non Ignorar"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Abrir conversa &privada"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Abrir &Conversa DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Enviar un &Ficheiro..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Enviar un correo electrónico..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Asociazóns co Libro de Enderezos"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Engadir aos Alcumes Vixiados"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Isto mostra todas as persoas no canal. É mostrado alcume de cada persoa."
+"<br>Polo xeral tamén se mostra un ícone que mostra o estado de cada persoa, "
+"pero non parece ter un tema de ícones instalado. Consulte as opzóns de "
+"Konversation - <i>Configurar Konversation</i> no menu <i>Configurazón</i>"
+". Consulte a páxina de <i>Temas</i> en <i>Aparéncia</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Isto mostra todas as persoas no canal. É mostrado o alcume de cada persoa, "
+"e como unha imaxe que mostra o estado del. "
+"<p> "
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Esta persoa ten priviléxios de administrador.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Esta persoa é o dono dun canal.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Esta persoa é un operador dun canal.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Esta persoa é un sub-operador dun canal.</td></tr> "
+"<tr>"
+"<th><img src=\"voice\"></ th>"
+"<td>Est persoa ten voz, polo que pode falar nun canal moderado.</td></tr> "
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Esta persoa non ten priviléxios especiais.</td></tr> "
+"<tr>"
+"<th><img src=\"normalaway\"></ th>"
+"<td>Isto indica que a persoa está ausente.</td></tr></table>"
+"<p>O significado de administrador, dono e semi-operador varia entre os "
+"diferentes servidores de IRC."
+"<p>Se pasar o rato por cima dun alcume, aparece o seu estado actual, asi como a "
+" informazón no caderno de enderezos sobre esta persoa. Consulte o Manual de "
+"Konversation para máis informazóns.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Editar o Contacto..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Escoller/Modificar as Asociazóns..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Escoller o Contacto..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Modificar a Asociazón..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Criar un Contacto Novo..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Borrar a Asociazón"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Conversa Privada"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Aviso"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Excepzón"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Páxinas"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Hoxe"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Onte"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificado)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Correo electrónico"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Máscara de máquina:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Mensaxe de auséncia:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(descoñecido)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Conectado Desde:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Prema para executar o Editor de Expresións Regulares (KRexExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Prema para executar o Editor de Expresións Regulares (KRexExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Saínte"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Entrante"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Ambos os dous"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Unir-se ao Canal en %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Conexón Rápida"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servidor:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Indique aqui o servidor da rede."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Porto:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "O porto que está a usar o servidor IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Alcu&me:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "O alcume que desexa utilizar."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "Contrasin&al:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Se o seu servidor de IRC necesita dun contrasinal, escreba-a aqui (a maior "
+"parte dos servidores non precisan de contrasinal). "
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Utilizar SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Conect&ar"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Conectar co servidor"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Non foi posíbel abrir un socket"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "A oferecer conexón de Conversa DCC a %1 no porto %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Conversa DCC con %1 no porto %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "A conectar para unha conversa DCC con %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Conversa DCC con %1 en %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Estabeleceu-se a conexón de conversa DCC con %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Conexón quebrada, código de erro %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Foi recebido un pedido CTCP-%1 descoñecido de %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Non foi posíbel aceitar o cliente."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Por omisión (%1) "
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Lista de Servidores"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Prema aqui para conectar coa rede e canal de IRC escollidos."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Isto mostra a lista das redes de IRC configuradas. Unha rede IRC é unha "
+"coleczón de servidores a cooperar. Só é necesario conectar cun dos servidores "
+"da rede, para conectar con toda a rede IRC. Cando estexa conectado, "
+"Konversation unirá-se automaticamente aos canais apresentados. Cando "
+"Konversation é iniciado por primeira vez, estarán introducidas a rede Freenode "
+"e o canal <i>#kde</i>. Prema nunha rede para escollé-la."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Rede"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identidade"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canais"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nova..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Prema aqui para definir unha nova rede, incluíndo o servidor co que conectar, e "
+"os canais aos cais se unir cando se conecte."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Editar..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Conectar no arranque da &aplicazón"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nova Rede"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Editar a Rede"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Non pode borrar %1.\n"
+"\n"
+"A rede %2 necesita de polo menos un servidor."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Non pode borrar os servidores escollidos.\n"
+"\n"
+"A rede %1 necesita de polo menos un servidor."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Desexa realmente borrar os ítens escollidos?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Desexa realmente borrar \"%1\"?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Mostrar os últimos:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Use este campo para indicar o tamaño máximo do ficheiro de rexisto. Esta opzón "
+"non terá efeito até que reinicie Konversation. Cada ficheiro de rexisto pode "
+"ter unha configurazón separada."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Limpar o Rexisto"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Aqui mostran-se as mensaxes no ficheiro de rexisto. As máis antigas "
+"encontran-se no cume e as máis recentes en baixo."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Desexa realmente eliminar permanentemente toda a informazón de rexisto deste "
+"ficheiro?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Nota: Ao guardar o ficheiro de rexisto guardan-se todos os datos no ficheiro, "
+"non só a parte que se ve nesta fiestra."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Guardar o Rexisto"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Escolla o cartafol de Destino"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Informazón"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "A oferecer conexón de Conversa DCC a %1 no porto %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Tentativas de nova conexón:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Xa está conectado con %1. Desexa desconectar-se de \"%2\" e conectar a \"%3\"?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Xa está conectado a %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Conexón"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Xa está conectado con %1. Desexa desconectar-se de \"%2\" e conectar a \"%3\"?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Editar o Servidor"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Por favor preeencha o seu <b>ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Por favor preeencha o seu <b>Nome real</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Por favor indique polo menos un <b>Alcume</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr ""
+"<qt>A súa identidade \"%1\" non está correctamente configurada:"
+"<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Configurazón da Identidade"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Editar a Identidade..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identidades"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identidade:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplicada"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Mudar o Nome"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Xeral"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nome ve&rdadeiro:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Indique aqui o seu nome verdadeiro. IRC non está feito para acochá-lo dos seus "
+"amigos e inimigos. Teña isto en conta se tenta comportar-se indebidamente. Un "
+"\"nome verdadeiro\" falso pode ser unha boa forma de ocultar o seu sexo aos "
+"anormais existentes por aí, pero o PC que use sempre pode ser localizado, polo "
+"que nunca será anónimo de todo."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Alcume"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Esta é a súa lista de alcumes. un alcume é o nome polo cal os outros usuários o "
+"coñecerán. Pode usar calquer nome que desexe. O primeiro carácter deberá ser "
+"unha letra.\n"
+"\n"
+"Xa que os alcumes deben ser únicos en toda a rede IRC, o nome que desexe poderá "
+"ser rexeitado polo servidor, se alguén xa o estivese a usar. Indique alcumes "
+"alternativas para si. Se a sua primeira escolla fose rexeitada polo servidor, "
+"Konversation tentará cos alcumes alternativos."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Engadir..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Editar..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Identificar Automaticamente"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vizo:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"O nome do servizo pode ser <b><i>nickserv</i></b> ou un nome dependente da rede "
+"como <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Contrasinal:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Ausente"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Se sinala esta opzón, sempre que efectue un comando <b>/away</b>"
+", aparecerá unha liña horizontal no canal, marcando o ponto en que se "
+"ausentou. Os outros usuários de IRC non verán esta liña horizontal."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Alcume de auséncia:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Escreba un alcume que indique que está ausente. Sempre que efectue un comando "
+"<b>/away mensaxe</b> en calquer canal ao que estexa conectado con esta "
+"identidade, Konversation mudará automaticamente o seu alcume para o alcume de "
+"auséncia. Os outros usuários poderán perceber que está ausente do seu "
+"ordenador. Sempre que execute un comando <b>/away</b> "
+"en calquer canal onde estexa ausente, Konversation mudará automaticamente o seu "
+"alcume de volta para o orixinal. Se non quer mudar automaticamente o seu alcume "
+"ao pasar para ausente, deixe-o en branco."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " liñas"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "Na actividade de pes&quisa"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Continuar au&tomaticamente as transferéncias"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Mensaxe de auséncia:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Se sinala esta opzón, Konversation enviará automaticamente a mensaxe de "
+"auséncia a todos os canais aos que estexa conectado con esta identidade. <b>"
+"%s</b> é substituido por <b>mensaxe</b>. Sempre que execute un comando <b>"
+"/away</b>, a mensaxe de regreso será apresentada en todos os canais aos que se "
+"conecta-se con esta identidade."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Mensaxe de auséncia:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Mensaxe de re&greso:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avanzado"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pré-comando:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Aqui poderá indicar un comando a executar antes de conectar co servidor"
+"<br>Se tivese vários servidores nesta identidade, o comando será executado "
+"para cada un deles"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Cando se conecta, vários servidores tentarán obter do seu ordenador unha "
+"resposta de IDENT. Se o seu ordenador non estivese a executar un servidor de "
+"IDENT, esta resposta é enviada por Konversation. Non pode conter espazos."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Codificazón:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Esta opzón afecta a maneira de codificar os caracteres que escreba para enviar "
+"ao servidor. Tamén afecta a forma de apresentar as mensaxes. Cando o usuário "
+"abra Konversation por primeira vez, obtén esta opzón a partir do sistema "
+"operativo. Se tivese problemas para ver correctamente as mensaxes dos outros "
+"usuários, cámbie esta configurazón."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Motivo da &partida:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Sempre que abandone un canal, esta mensaxe é enviada para el."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Motivo da &partida:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Sempre que abandone un canal, esta mensaxe é enviada para el."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Motivo da e&xpulsión:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Sempre que sexa expulsado dun canal (normalmente por un operador de IRC), esta "
+"mensaxe é enviada para dito canal."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Cambiar a informazón de identidade"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Esquecer todos os cámbios feitos"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Debe engadir polo menos un alcume á identidade."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Engadir o Alcume"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Alcume:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Editar o Alcume"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Engadir unha Identidade"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nome da identidade:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Debe dar un nome á identidade."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Mudar o Nome da Identidade"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Esta identidade está a ser utilizada, se a borra as configurazóns de rede que a "
+"usen voltarán a utilizar a identidade predefinida. Desexa borrá-la ainda asi?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Desexa realmente eliminar permanentemente toda a informazón desta identidade?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Borrar a Identidade"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplicar a Identidade"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Usuários Normais"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voz (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Sub-operadores (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operadores (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administradores do Canal (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Donos do Canal (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Inserir Caracter"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Inserir un caracter"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Editor de Favoritos de Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Sen porto libre"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Non foi posíbel abrir un socket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Procurar o Texto..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copiar o URL para o Porta-retallos"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Engadir aos Favoritos"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "Guar&dar a Lista..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Abrir unha conversa privada con %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Unir-se ao canal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "Mensaxe do dia"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notificar"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Entrar"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Abandonar"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Abrir a Conversa Privada"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Entrar"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Obter a lista de &usuários"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Obter o &tema"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Non se achou nada para \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "Guardar a Li&sta..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Lista de &Servidores..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Xestionar as redes e os servidores"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Cone&xón Rápida..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Escreba o enderezo do novo servidor de IRC co que conectar-se"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Conectar de novo"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Conectar de novo do servidor actual."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Desconectar"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Desconectar do servidor actual."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identidades..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Xestionar o alcumes, auséncia e outros parámetros da identidade"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Alcumes Conectados e &Vixiados "
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Estado de &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Abrir &o Rexisto"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Abre o histórico coñecido deste canal nunha páxina nova"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Configuración do &Canal..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Abre o diálogo de configurazón do canal desta páxina"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Lista de Canais"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Mostra unha lista con todos os canais coñecidos neste servidor"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Extractor de &URLs"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+"Mostra todos os URLs que foron mencionados recentemente nunha páxina nova"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nova &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Abre un terminal nunha páxina nova"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Páxina Segui&nte"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Páxina Anterior"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Pe&char a Páxina"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "Páxina Segui&nte"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Subir a páxina"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Baixar a páxina"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Mover a Páxina para a Direita"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Mover a Páxina para a Esquerda"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&Unir-se ao Canal"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Activar as Notificazóns"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&Unir-se ao Canal"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Escoller a Codificazón"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Ir para a Páxina %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "&Limpar a Lista"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Limpa o contido da páxina actual"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Limpar a &Xanela"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Limpa o contido da páxina actual"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Limpar Tod&as as Xanelas"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Limpa o contido de todas as xanelas"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Unir-se ao Canal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Cor de &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Troca a cor da mensaxe de IRC actual"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "Liña de &Recordatório"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Engade unha liña horizontal nesta páxina que só o usuário pode ver"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Carácter Especial..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Insere calquer carácter na mensaxe actual"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Pechar Todas as Conversas privadas &Abertas"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Acochar a Lista de Alcumes"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Se pecha a fiestra principal Konversation seguirá a executar-se na bandexa "
+"do sistema. Utilice <b>Sair</b> no menu <b>Konversation</b> "
+"para sair do programa.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Acoplaxe na Bandexa do Sistema"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Isto acochará a barra de menu. Pode mostrá-la de novo escrebendo %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Comutar Notificazóns"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Comutar o estado de auséncia para todos"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Inserir cor no &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Inserir &carácter especial..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "Inserir Liña de &Recordatório"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Lista de &Canais"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Pór como &Ausente Globalmente"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Bruto"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Utilizazón: %1JOIN <canal> [contrasinal] "
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Utilizazón: %1KICK <alcume> [razón]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART sen parámetros só funciona des dentro dun canal ou procura."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART sen nome de canal só funciona des dentro dun canal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC sen parámetros só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC sen canal só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES sen obxectivo pode desconectá-lo do servidor. Indique \"*\" se quer "
+"isto."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Utilizazón: %1NOTICE <destinatário> <mensaxe>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "A enviar o aviso \"%2\" a %1."
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Utilizazón: %1AME texto"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "A enviar un pedido de CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "O ficheiro \"%1\" non existe."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Utilizazón: %1DCC [SEND alcume ficheiro]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Utilizazón: %1DCC [CHAT alcume]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"O comando %1DCC %2 non é coñecido. Os comandos posíbeis son SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Utilizazón: %1INVITE <alcume> [canal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE sen nome de canal só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 non é un canal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Utilizazón: %1EXEC <guión> [lista de parámetros]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "O nome do guión non pode conter \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Utilizazón: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "A lista actual de notificazóns está valeira."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Lista de notificazóns actual: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Indique o nome de usuário e o contrasinal para obter priviléxios de operador de "
+"IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Contrasinal de Operador de IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN sen nome de canal só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN, sen nome de canal, só funciona dentro dun canal."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Utilizazón: %1BAN [-HOST | -DOMAIN] [canal] <usuário|máscara>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Utilizazón: %1KICKBAN [-HOST | -DOMAIN] [canal] <usuário|máscara> [razón]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN sen nome de canal só funciona de dentro dun canal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Utilizazón: %1UNBAN [canal] padrón"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 foi engadido á sua lista de ignorados."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Utilizazón: %1IGNORE [-ALL] <usuário 1> <usuário 2> ... <usuário n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Utilizazón: %1UNIGNORE <usuário 1> <usuário 2> ... <usuário n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 foi retirado da sua lista de ignorados."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Non existe o elemento ignorado: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Non existen os elementosignorados: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Utilizazón: %1QUOTE lista de comandos"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Utilizazón: %1SAY texto"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Utilizazón"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Utilizazón: %1AME texto"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Utilizazón: %1AMSG texto"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Utilizazón: %1OMSG texto"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "A enviar un pedido de CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Utilizazón: %1ONOTICE texto"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Lista de notificazóns actual: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Escoller a Codificazón"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 non é un canal."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Utilizazón: %1setkey <alcume> ou <canal> <chave> Muda a chave de cifraxe do "
+"alcume ou do canal"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "A chave de %1 foi borrada."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Utilizazón: %1delkey <alcume> ou <canal> Borra a chave de cifraxe do alcume ou "
+"do canal"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "A chave de %1 foi borrada."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "A chave de %1 foi borrada."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Utilizazón: %1DNS <alcume>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Resolveu a %1 como: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Non é posíbel resolver a %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "A resoluzón inversa precisa de KDE 3.5.1 ou superior."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Utilizazón: %1KICK <alcume> [razón]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>A liña de entrada é onde se escreben as mensaxes a enviar para o canal, "
+"conversa privada ou servidor. Unha mensaxe enviada para un canal é vista por "
+"toda a xente no canal, mentres unha mensaxe privada é enviada só para a persoa "
+"que está consigo nesa conversa privada."
+"<p>Tamén pode enviar comandos especiais:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>aczón</i></th>"
+"<td>aparece como unha aczón no canal ou conversa privada. Por exemplo: <em>"
+"/me está a cantar unha canzón</em> verá-se no canal como \"Alcume está a "
+"cantar unha canzón\".</td></tr>"
+"<tr>"
+"<th>/whois <i>alcume</i></th>"
+"<td>mostra informazón sobre esta persoa, incluindo en que canais se "
+"encontra.</td></tr></table> "
+"<p>Para máis comandos, consulte o Manual de Konversation."
+"<p>Unha mensaxe pode ter como máximo 512 carácteres e non pode conter varias "
+"liñas.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Está a tentar apegar unha grande cantidade de texto na conversa (%1 bytes "
+"ou %2 liñas). Isto pode causar a quebra de conexón ou desconexóns por "
+"demasiados dados enviados. Quer realmente continuar?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Aviso de Apegado Grande"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Un cliente de IRC fácil de utilizar"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "O servidor co cal conectar"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "O Porto a usar"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canal ao cal unir-se após conectar"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Alcume a usar"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Contrasinal da conexón"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Usar SSL na conexón"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 pola equipa de Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation é un cliente para o protocolo Internet Relay Chat (IRC).\n"
+"Coñeza amigos na rede, aprenda cousas novas e quede afónico\n"
+"a falar sobre o seu asunto favorito."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Autor Orixinal, Fundador do Proxecto"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Mantedor"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Mantedor, Xestor de versións , Interface co usuário, Manexo do protocolo"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, Melloras ao código, Posicionamento do OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Xestión do Protocolo, Liña de escrita"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Soporte de Blowfish e SSL, Portou para KNetwork, Alcumes Coloridos, Temas dos "
+"Ícones dos alcumes"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refactorizazón, integrazón con Kadddresbook/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Extensión de modos múltiplos, colocazón do elemento pechar, funcionalidade OSD"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentazón, Melloras aos alcumes vixiados, Extensións de navegadores "
+"personalizados"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configurazón de cores, diálogo de realce"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interface DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Codificazóns distintas de Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Vista da componente Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Conexón rápida, Conversión do novo OSD, outras funcionalidades e correczóns"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Múltiplas correczóns e limpezas de código"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Melloras no \"Arrastar e Soltar\""
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Deseño Gráfico"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barra de procura á Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Modos en bruto, agrupar en páxinas por servidor, lista de expulsións"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Parche para a bandexa do sistema"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Correczóns de erros"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Parche para os modos dos usuários estendidos"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Parche para pechar a páxina visíbel cun atallo de teclado"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Mudar de páxina coa roda do rato"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Parche de modo de dono do canal"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Opzón para activar a filtraxe de cores IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Correczóns de erros, traballo da OSD, limpeza de temas"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Guión \"sysinfo\""
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"Foi recebido un pedido CTCP-PING de %1 para o canal %2, a enviar a resposta."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Foi recebido un pedido de CTCP-%1 de %2, a enviar resposta."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Foi recebido un pedido de Versión de %1 para o canal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Foi recebido un pedido de Versión de %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Foi recebido un pedido de Versión de %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Foi recebido un pedido de Versión de %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Foi recebido un pedido de Versión de %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Foi recebido un pedido de Versión de %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Foi recebido un Comando DCC descoñecido %1 de %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Foi recebido un pedido CTCP-%1 descoñecido de %2 para o Canal %3"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Foi recebido un pedido CTCP-%1 descoñecido de %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 para %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Foi recebida unha resposta de CTCP-PING de %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Foi recebida unha resposta de CTCP-%1 de %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Convidar"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 convidou-no ao canal %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Benvido"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Servidor %1 (Versión %2), Modos de usuário: %3, Modos de canal: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Soporte"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modos do canal: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "proteczón de tema"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "sen mensaxes do exterior"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "segredo"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "por convite só"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privado"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderado"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "protexido por contrasinal"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anónimo"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop de servidor"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "non se permiten cores"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limitado a %n usuário\n"
+"limitado a %n usuários"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Modo"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Lista de Canais para %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Criado"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Este canal foi criado en %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Quen é"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 agora está conectado como %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nomes"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Fin da lista de NOMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TEMA"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "O canal %1 non ten tema definido."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Tema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "O tema do canal \"%1\" é: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "O tema foi trocado por %1 en %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "O tema de %1 foi mudado por %2 en %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 está a usar a máquina %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Non existe ese alcume ou canal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Non existe o alcume: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Non existe ese canal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Alcume"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "O alcume xa está a ser usado; tente outro alcume."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "O alcume xa está a ser usado. A tentar %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "O alcume non é válido. A trocar o alcume para %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Non está en %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Mensaxe do dia:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Fin da mensaxe do dia"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Agora é un operador de IRC neste servidor."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Usuários"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Usuários actualmente na rede: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Usuários actualmente en %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Ausente"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 está ausente: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Convidou a %1 ao canal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 é %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Resolveu %1 (%2) como o enderezo: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Non foi posíbel resolver o enderezo de %1 (%2) "
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 é un usuário identificado."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Quen"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 é %2@%3 (%4) %5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr "(Ausente)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Fin da lista /WHO para %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 é usuário nos canais: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 ten voz nos canais: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 é sub-operador nos canais: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 é operador nos canais: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 é o dono dos canais: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 é o administrador dos canais: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 está conectado mediante %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 está disponíbel para axudar."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (Operador do IRC)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 dia\n"
+"%n dias"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"unha hora\n"
+"%n horas"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minuto\n"
+"%n minutos"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 segundo\n"
+"%n segundos"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 está inactivo desde hai %2, %3, %4 e %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr " %1 está inactivo desde hai %2, %3 e %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 está inactivo desde hai %2 e %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 está inactivo desde hai 1 segundo.\n"
+"%1 está inactivo desde hai %n segundos."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 está conectado desde %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Fin da lista WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Máquina do usuário"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Operador do IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (ausente)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Lista de canais:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n usuário) : %2\n"
+"%1 (%n usuários) : %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Fin da lista de canais."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Lista de Expulsións: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 definido por %2 en %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fin da lista de expulsións."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 está indisponíbel por agora."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Comando descoñecido."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Non rexistado."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr " %1: Este comando precisa máis parámetros."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Mudou o modo do canal para -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " troca o modo: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identidade por Omisión"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Editar as Alcumes Vixiadas"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Nome da rede:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Escolla aqui a rede de servidores coa que quer conectar."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Alcume:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>O alcume a pedir cando se conecte a un servidor na rede.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Cambiar informazón de notificazón"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "A conexón co Servidor %1 fallou: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"A funcionalidade para conectar a servidores utilizando comunicazóns cifradas "
+"por SSL non está disponíbel porque o soporte para OpenSSL non foi activado no "
+"momento da compilazón. Debe obter unha nova versión de KDE con soporte SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"O certificado SSL devolvido polo servidor non foi recoñecido. Talvez este "
+"servidor non soporte SSL no porto indicado? Se o servidor soporta tamén "
+"comunicazóns normais, non-SSL, a versión con SSL estará nun porto diferente."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"O enderezo IP da máquina %1 non é aquel para o que foi feito o certificado."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autenticazón do Servidor"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detalles"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "O certificado do servidor (%1) non pasou a proba de autenticidade."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Quer aceitar este certificado sempre sen perguntar-lle?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Sempre"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Só nas Sesións A&ctuais"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Realce] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Conversa Privada) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 conectou-se a %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 apartou-se de %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 saiu de %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 mudou o alcume para %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 quer enviar-lle un ficheiro"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 comezou unha conversa privada consigo."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 está en liña (%2) ."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 desconectou-se (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Foi botado de %2 por %1"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 comezou unha conversa dcc consigo"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Realce] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Non foi posíbel conectar con %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Uniu-se a %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Frase non atopada"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "A procura deu a volta"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interface de Rede"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Resposta do Servidor IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Especificar Manualmente"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Escolla de Cores do IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Nengunha"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Servidor:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "O nome ou IP do servidor. irchelp.org mantén unha lista de servidores."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Indique o número de porto para conectar co servidor. Na maioria dos servidores, "
+"este ha ser o <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Contrasi&nal:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Conexón s&egura (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Sinale isto se quer usar o protocolo SSL para comunicar-se co servidor. Isto "
+"garante a privacidade da comunicazón entre o seu ordenador e o servidor de IRC. "
+"Este servidor deberá soportar o protocolo SSL. Na maioria dos casos, se o "
+"servidor non soporta SSL, a conexón fallará."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "O enderezo do servidor é preciso."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "O administrador restrinxiu o direito a enviar ficheiros"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "O URL \"%1\" non existe"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Non foi posíbel obter \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Indique o Nome do Ficheiro"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>O ficheiro que está a enviar para <i>%1</i> non ten nome. "
+"<br>Indique un nome co que apresentar-llo ao destinatário, ou cancele a "
+"transferéncia DCC</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Non se indicou o nome do ficheiro"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Á espera da aceitazón do usuário remoto"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Non foi posíbel aceitar a conexón. (Erro no Socket)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Non foi posíbel abrir o ficheiro: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Erro no socket: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Tempo-limite expirado"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Fallo na conexón: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "O usuário remoto desconectou-se"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "A operazón tivo éxito. Nunca deberá aparecer nunha fiestra de erro."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Non foi posíbel ler o ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Non foi posíbel escreber para o ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Ocorreu un erro fatal non recuperábel."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Non foi posíbel abrir o ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "A operazón foi abortada inesperadamente."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "A operazón expirou."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Ocorreu un erro non especificado ao pechar."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Erro descoñecido. Código %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC %1: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "Pregunta de Recepzón DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "tamaño descoñecido"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 conectou-se a %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 apartou-se de %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 apartou-se de %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " s"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Listo."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Isto mostra o número de usuários no canal e o número destes que son "
+"operadores (ops)."
+"<p>Un operador de canal é un usuário que ten priviléxios especiais como a "
+"capacidade de expulsar e desterrar usuários, mudar os modos do canal e tornar "
+"os outros usuários operadores</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Demora: Descoñecido"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Toda comunicazón co servidor está cifrada. Isto fai máis difícil que alguén "
+"escoite as suas comunicazóns."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>A barra de estado mostra várias mensaxes, incluindo todos os problemas de "
+"conexón co servidor. Do lado direito mostra-se a demora até o servidor. A "
+"demora é o tempo que as suas mensaxes precisan para atinxir o servidor, e o das "
+"respostas pare chegar para si.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Demora: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Demora: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr ""
+"Non houbo nengunha resposta do servidor %1 desde hai mais de %2, %3, %4 e %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr ""
+"Non houbo nengunha resposta do servidor %1 desde hai mais de %2, %3 e %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Non houbo nengunha resposta do servidor %1 desde hai mais de %2 e %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Non houbo nengunha resposta do servidor %1 desde hai mais de 1 segundo.\n"
+"Non houbo nengunha resposta do servidor %1 desde hai mais de %n segundos."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "A procurar polo servidor %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "O servidor %1 non foi achado. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "O servidor foi achado, a conectar con el..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Conectado; a autenticar-se..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "A conexón co Servidor %1 fallou: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Non foi posíbel conectar con %1:%2 utilizando cifraxe SSL. Talvez o servidor "
+"non soporte SSL, ou teña escollido o porto errado? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Erro de Conexón SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Desconectado do servidor."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Non foi aceitado nengun dos alcumes da identidade \"%1\" pola conexón \"%2 \".\n"
+"Indique por favor un nome novo ou prema Cancelar para desconectar:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Erro do alcume"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Ocorreu un erro ao ler os dados do servidor: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Escolla os Ficheiros a Enviar para %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 ofereceu-lle \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "tamaño descoñecido"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "A solicitar a %1 que aceite o envio de \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "Recebiu-se de %2 unha petizón non válida para continuar con \"%1\"."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "A continuar a obtenzón de \"%1\" de %2 comezando co %3% de %4..."
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Recebiu-se de %2 unha petizón non válida para continuar con \"%1\"."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "A continuar co envio de \"%1\" para %2 comezando no %3% de %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Recebiu-se de %2 unha petizón non válida para continuar con \"%1\"."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "A obtenzón de \"%1\" de %2 rematou."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "A obtenzón de \"%1\" de %2 fallou. Motivo: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "O envio de \"%1\" para %2 rematou."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "O envio de \"%1\" para %2 fallou. Motivo: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "A enviar \"%1\" para %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "A obter \"%1\" (%2) de %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "Foi convidado por %1 a unir-se ao canal %2. Desexa aceitar o convite?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Convite"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Erro: Non foi posíbel atopar o guión \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Erro: non foi posíbel executar o guión \"%1\". Verifique os permisos do "
+"ficheiro."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Ausente por agora."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Agora está marcado como ausente."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Xa deixou de estar marcado como ausente."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Non está marcado como ausente."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Alcumes vixiados en liña"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Rede/Alcume/Canal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Informazón adicional"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Estas son todos os alcumes na lista de Vixiláncia de Alcumes, listados na "
+"rede de servidores a que están conectadas. A lista tamén inclui os alcumes en "
+"KAddresBook asociados coa rede de servidores.</p>"
+"<p>A coluna <b>Informazón adicional</b> mostra a informazón coñecida de cada "
+"alcume.</p>"
+"<p>Os canais aos que o alcume se uniu están listados baixo cada alcume.</p>"
+"<p>Os alcumes que aparecen en <b>Desconectado</b> non están conectados a nengun "
+"dos servidores da rede.</p>"
+"<p>Prema co botón direito do rato nun alcume para efectuar outras operazóns.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Editar a Lista de Vixiláncia..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Prema para editar a lista de alcumes que aparecen nesta fiestra."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Caderno de enderezos:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Cando teña escollido un alcume da lista acima, estes botóns serven para asociar "
+"o alcume cunha entrada en KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Editar o C&ontacto..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Prema para criar, ver ou editar a entrada de KAddresBook asociada co alcume "
+"escollido en cima."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Modifi&car a Asociazón..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Prema para asociar o alcume escollido en cima cunha entrada de KAddresBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Borrar a Asociazón"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Prema para borrar a asociazón entre o alcume escollido en cima e a entrada en "
+"KAddresBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " está conectado a través de %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " desde %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Desconectado"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr "Voz"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Sub-Operador"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operador"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Dono"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Administrador"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Criar un Novo C&ontacto..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "Es&coller a Asociazón..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Unir-se ao Canal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Escoller o Ficheiro de Son"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** O ficheiro de rexisto comeza\n"
+"*** o %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Unir-se automaticamente ao canal ao ser convidado"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Avisar de que ao guardar un ficheiro de rexisto guardará todo o ficheiro"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Perguntar antes de borrar contidos do ficheiro de rexisto"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr ""
+"Perguntar acerca de pechar unha conversa privada após ignorar ao alcume"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Perguntar antes de conectar a un servidor diferente da rede"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Perguntar antes de conectar a un servidor diferente da rede"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Pechar a páxina do servidor"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Pechar a páxina do canal"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Pechar a páxina da conversa privada"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"A lista de canais só pode ser aberta para páxinas que coñecen o servidor"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avisar ao acochar o menu da fiestra principal"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Avisar se hai tránsito elevado na lista de canais"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avisar ao apegar pedazos grandes de texto"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Avisar ao apegar pedazos grandes de texto"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Lista de Canais"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Configurazón do Filtro"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "Mín&imo de usuários:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Má&ximo de usuários:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Pode limitar a lista de canais para só os que teñan un número mínimo de "
+"usuários. Se escolle 0, desactivará este critério."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Pode limitar a lista de canais para só os que teñan un número máximo de "
+"usuários. Se escolle 0, desactivará este critério."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "&Padrón de filtraxe:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Obxectivo do filtro:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Indique aqui o texto de filtraxe."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "Expresión &regular"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "Apl&icar o Filtro"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Prema aqui para obter a lista de canais do servidor e aplicar o filtro."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Aqui mostra-se a lista filtrada de canais. Lembre que, de non usar expresións "
+"regulares, Konversation lista todos os canais que teñan un nome que conteña o "
+"texto de filtraxe que introducise. O nome do canal non ten por que comezar polo "
+"texto que introduciu.\n"
+"\n"
+"Escolla un canal ao que se desexe conectar, premendo nel. Prema co botón "
+"direito no canal para obter unha lista de todos os enderezos Web mencionados no "
+"tema do canal."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nome do Canal"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Tema do Canal"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "Ac&tualizar a Lista"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "Guar&dar a Lista..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&Unir-se ao Canal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Prema aqui para unir-se ao canal. Criará-se unha páxina nova para o canal."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Guardar Lista de Canais"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Lista de Canais de Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canais: %1 (%2 mostrados)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Usuários non únicos: %1 (%2 mostrados)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Abrir o URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Nons se atopou nengun URL>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Lista de Canais para %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Conectado"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para mensaxeiria instantánea, "
+"pero non indicou o contacto a quen enviar a mensaxe. Isto probabelmente sexa un "
+"erro na outra aplicazón."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para mensaxeiria instantánea, "
+"pero Konversation non conseguiu atopar o contacto indicado no caderno de "
+"enderezos de KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para mensaxeiria instantánea, "
+"pero o usuário requerido \"%1\" non está conectado."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para enviar un ficheiro a un "
+"contacto, pero non indicou o contacto a quen enviar o ficheiro. Isto é "
+"probabelmente un erro na outra aplicazón."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para enviar un ficheiro a un "
+"contacto, pero foi posíbel atopar o contacto no caderno de enderezos de KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para enviar un ficheiro a un "
+"contacto, pero o usuário pedido \"%1\" agora non está conectado."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Outra aplicazón de KDE tentou usar Konversation para engadir un contacto. "
+"Konversation soporta isto."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Non foi posíbel executar o programa de caderno de enderezos (kaddresbook). "
+"Probabelmente non estexa instalado. Por favor instale os pacotes de \"kdepim\"."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"O contacto que escolleu non ten un enderezo de correo asociado con el. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Non foi posíbel enviar o correo electrónico"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Non foi posíbel executar o programa de correo. Probabelmente non estexa "
+"instalado. Para instalar o programa de correo de KDE (kmail) instale os pacotes "
+"de \"kdepim\"."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Nengun dos contactos que escolleu están asociados con contactos do caderno de "
+"enderezos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"O contacto que escolleu non está asociados cun contacto do caderno de "
+"enderezos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Alguns dos contactos (%1) que escolleu non están asociados con contactos do "
+"caderno de enderezos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Un dos contactos (%1) que escolleu non está asociado cun contacto do caderno de "
+"enderezos. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Pode premer o botón direito nun contacto e escoller editar as Asociazóns co "
+"Caderno de Enderezos para vinculá-lo cun contacto no seu caderno de enderezos."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Nengun dos contactos que escolleu ten un enderezo de correo asociado con el. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Alguns dos contactos (%1) que escolleu non teñen un enderezo de correo asociado "
+"a eles. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Un dos contactos (%1) que escolleu non ten un enderezo de correo asociado a "
+"el. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Pode premer o botón direito nun contacto e escoller editar o contacto do "
+"caderno de enderezos, engadindo-lle un correo electrónico."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Alguns dos contactos (%1) que escolleu non están asociados con contactos do "
+"caderno de enderezos, e alguns dos contactos (%2) non teñen un enderezo de "
+"correo asociado a eles. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Pode premer co botón direito nun contacto e escoller editar a Asociazón co "
+"Caderno de Enderezos para vinculá-lo cun contacto do seu libro de enderezos, e "
+"escoller editar o contacto do caderno de enderezos, engadindo-lle un correo "
+"electrónico."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Desexa enviar un correo electrónico para os alcumes que teñen un enderezo de "
+"correo electrónico?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Enviar un correo"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Vincular o Alcume de IRC cun Contacto de Libro de Enderezos"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Escolla a persoa que é \"%1\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Actualmente \"%1\" está asociado cun contacto."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Actualmente \"%1\" está asociado co contacto \"%2\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Atenzón:</b> \"%1\" está listado como pertencendo a vários contactos. "
+"Por favor escolla o contacto correcto.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Novo contacto do Libro de Enderezos"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nome do novo contacto:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Extractor de URLs"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Lista de URLs mencionadas en calquer das xanelas de Konversation durante esta "
+"sesión."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Abrir &o URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Escolla un <b>URL</b> en cima, e prema neste botón para lanzar a aplicazón "
+"asociada co tipo MIME do URL.</p>"
+"<p>Na <b>Configurazón</b>, en <b>Comportamento</b> | <b>Xeral</b>"
+", pode indicar un navegador web personalizado para as URLs.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copiar o URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Escolla un <b>URL</b> en cima, e prema neste botón para copiar o URL ao "
+"porta-retallos."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Borrar o URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Escolla un <b>URL</b> en cima, e prema neste botón para borrar o URL da lista."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Guar&dar a Lista..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Prema para guardar toda a lista nun ficheiro."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Limpar a Lista"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Prema para borrar toda a lista."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Guardar a Lista de URLs"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Editar Apegado Multi-Liña"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Engadir Indicadores de &Cita"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "Ca&nal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "O nome do canal é obrigatório."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Rexisto en Bruto"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Procurar o texto na páxina actual"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Lista de Canais de %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Abrir &o Ficheiro de Rexisto de %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Configurazón do &Canal para %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Por omisión (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Só pode procurar en campos de texto."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Procurar Informazón do Texto"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Ficheiro de rexisto de %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Estado de DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Se usa esta funzón pode xerar bastante tránsito na rede. Se a sua conexón non é "
+"suficientemente rápida, é posíbel que o seu cliente sexa desconectado do "
+"servidor."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Aviso da Lista de Canais"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"A lista de canais só pode abrir-se desde unha xanela de conversa privada, canal "
+"ou estado, para averiguar a que servidor pertence a lista."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Indique aqui o nome da rede. Pode criar tantos ítens como desexe ca mesma rede "
+"na pantalla da Lista de Servidores."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Escolla unha identidade existente ou prema no botón Editar para Engadir unha "
+"nova identidade ou editar unha existente. A identidade representará-o e "
+"determinará o seu alcume, cando se conecte á rede."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opcional. Este comando será enviado ao servidor, após a conectar. Exemplo: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Este é un exemplo para a rede "
+"Freenode, que requere que os usuários rexisten o seu alcume cun contrasinal e "
+"se autentiquen para conectar. <i>konvirocks<i> é o contrasinal do alcume dada "
+"na identidade. Pode indicar máis dun comando, separando-os por "
+"pontos-e-vírgulas(;)."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Sinale esta opzón, se quer que Konversation se conecte automaticamente a esta "
+"rede, sempre que abra Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Esta é unha lista dos Servidores de IRC na rede. Ao conectar-se á rede, "
+"Konversation tentará-se conectar ao servidor do cume en primeiro lugar. Se isto "
+"falla, tentará o segundo servidor. Se isto falla, tentará o terceiro, e "
+"sucesivamente. Debe indicar polo menos un servidor. Prema nun servidor para "
+"escollé-lo."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opcional. Esta é unha lista dos canais aos que se unirá automaticamente, logo "
+"que Konversation se conecte a un servidor. Pode deixar isto en branco se non "
+"quer conectar-se automaticamente a nengun canal."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Modificar a informazón da rede"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Engadir un Servidor"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Editar o Servidor"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Engadir un Canal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Editar o Canal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "O nome da rede é obrigatório."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Debe engadir polo menos un servidor á rede."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Temas de Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Escolla o Pacote do Tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Non Foi Posíbel Obter o Tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "O arquivo do tema non é válido."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Non Foi Posíbel Instalar o Tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Desexa realmente borrar %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Borrar o Tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Cliente de IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Escolla o Destinatário"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Escoller o alcume e pechar a fiestra"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Pecha a fiestra sen cámbios"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: O servidor %1 non foi atopado."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "O administrador restrinxiu o direito a receber ficheiros"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Negociazón non soportada (tamaño de ficheiro=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Non foi posíbel criar o cartafol</b><br>Cartafol %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Non foi posíbel criar unha instancia KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>O ficheiro está a ser usado noutra transferéncia.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Existe un ficheiro parcial.</b>"
+"<br>%1"
+"<br>Tamaño do ficheiro parcial: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>O ficheiro xa existe.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Non foi posíbel abrir o ficheiro.<br>Erro: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Contrasinal da conexón"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Á espera da aceitazón do ordenador remoto"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Resposta inesperada da máquina remota"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Erro de transferéncia"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Erro do KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Alguns detalles da persoa coa que está a falar son mostrados nesta barra. "
+"Mostran-se o nome completo e a máscara de servidor, xunto con calquer imaxe ou "
+"logotipo que esta persoa teña asociada no Caderno de Enderezos de KDE."
+"<p>Consulte no <i>Manual de Konversation</i> como asociar o alcume co contacto "
+"do Caderno de Enderezos, e unha explicazón do que é a máscara do servidor.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(ausente)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Desexa ignorar a %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Desexa pechar esta conversa privada após ignorar este alcume?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Pechar Esta Conversa Privada"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Manter Aberto"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Desexa parar de ignorar a %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identidade Predefinida (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Desexa pechar a conversa privada con %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Pechar a Conversa Privada"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "A falar para si"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 abandonou este servidor."
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1 deixou este servidor %2."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Antevisión OSD - arrastre para posicionar"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operador"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administrador"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Dono"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Sub-operador"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Ten voz"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interface"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportamento"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notificazóns"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Fiestra de Conversazón"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temas da Lista de Alcumes"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Cores"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Botóns Rápidos"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Conexón"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Lista de Alcumes"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Alcumes dos Comandos"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Substituizón Automática"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Rexisto"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Realces"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Alcumes Vixiados"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Visualizazón na pantalla"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Diálogos de Aviso"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Pregunta de Recepzón DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "Continua&r"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nome o&rixinal do ficheiro"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Suxerir un nome &novo"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "S&obrescreber"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Mudar o Nom&e"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Procurar cara diante"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Distinguir Capitalizazón"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Só Palabras Inteiras"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "A Partir do Cursor"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Pe&char a Páxina"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Desexa desconectar-se de \"%1\"?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Desconectar do Servidor"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Desconectar"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Iniciado o"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Estado"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Parceiro"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Progreso"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Posizón"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Restante"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Velocidade"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Enderezo do Remetente"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Aceitar"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Interromper"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Abrir o Ficheiro"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Iniciar a recepzón"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Cancelar a(s) transferéncia(s)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Executa o ficheiro"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Ver os detalles da transferéncia DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Escoller Todos os Ítens"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "&Escoller Todos os Ítens Completos"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Aceitar"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "I&nterromper"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "Continua&r"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Limpar"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Abrir o Ficheir&o"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informazón do Ficheiro"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Editar a Configurazón do Canal"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Todos os canais do IRC teñen un tema asociado a eles. Isto non é mais que "
+"unha mensaxe que todos poden ver."
+"<p>Se é un operador, ou se o modo de canal <em>'T'</em> "
+"non estivese activo, entón pode alterar o tema premendo no botón Editar "
+"Propriedades do Canal á esquerda do tema. Tamén pode ver aqui os temas "
+"anteriores.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>O modo <b>T</b>ema significa que só o operador do canal pode trocar o tema "
+"do canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Sen Me<b>N</b>saxes do exterior significa que os usuários que non estexan no "
+"canal non poderán enviar mensaxes que poda ver para toda a xente no. Case todos "
+"os canais teñen isto activo para evitar mensaxes incómodas.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal <b>S</b>egredo non aparecerá na lista de canais, e os usuários non "
+"serán capaces de ver que está no canal co comando <em>WHOIS</em> "
+"ou similar. Só as persoas que están no mesmo canal saberán que está neste "
+"canal, se este modo estivese activo.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal só por conv<b>I</b>te significa que a xante só poderá unir-se ao "
+"canal se fose convidada. Para convidar a alguén, un operador do canal debe "
+"enviar o comando <em>/invite alcume</em> desde o canal.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal <b>P</b>rivado é mostrado nunha lista con todos os canais, pero o "
+"tema non é mostrado. O <em>WHOIS</em> dun usuário pode ou non mostrá-lo como "
+"estando nun canal privado, dependendo do servidor de IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal <b>M</b>oderado é un onde só os operadores, sub-operadores e os que "
+"teñan voz poden falar.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal <b>P</b>rotexido necesita que os usuários indiquen un contrasinal "
+"para conectaren-se.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal con <b>L</b>ímite de usuários significa que só ese número de "
+"usuários pode estar no canal ao mesmo tempo. Alguns canais teñen un robot que "
+"se aloxa no canal e axusta isto automaticamente, dependendo do ocupado que "
+"estexa o canal.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Número máximo de usuários permitidos no canal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Este é o limite de usuários do canal - o número máximo de usuários que pode "
+"estar no canal ao mesmo tempo. Se é un operador pode configurar isto. Se o "
+"fixese o canal será colocado automaticamente no modo <b>T</b>"
+"ema (o botón á esquerda).</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Isto mostra o seu alcume, e as alternativas que teña configurado. Se "
+"escolleu ou escrebiu un alcume diferente, entón será enviado un pedido ao "
+"servidor de IRC para mudar o seu alcume. Se o servidor o permite, será "
+"escollido o novo alcume. Se escrebe un alcume novo, deberá premer Intro "
+"despois."
+"<p>Pode engadir ou alterar os alcumes alternativos na opzón <em>Identidades</em> "
+"do menu <em>Ficheiro</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Desexa ignorar aos usuários escollidos?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Desexa parar de ignorar os usuários escollidos?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Completazón"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Completazóns posíbeis: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Contrasinal do Canal"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Limite de Alcumes"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Indique o limite dos alcumes:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Agora é coñecido como \"%1\"."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "\"%1\" mudou o alcume para \"%2\"."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Uniu-se ao canal %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 uniu-se a este canal (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Abandonou este servidor."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Abandonou este servidor (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Deixou o canal %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Deixou o canal %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 abandonou este servidor (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 deixou este canal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 deixou este canal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Expulsou-se a si mesmo do canal %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Expulsou-se a si mesmo do canal %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Foi expulsado do canal %1 por %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Foi expulsado do canal %1 por %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Expulsou a %1 do canal."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Expulsou a %1 do canal (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 foi expulsado do canal por %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 foi expulsado do canal por %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n alcume\n"
+"%n alcumes"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operador)\n"
+" (%n operadores)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "O tema do canal é \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Mudou o tema do canal para \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 mudou o tema do canal para \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Deu priviléxios de dono de canal a si mesmo."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Deu priviléxios de dono do canal a %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 deu-lle priviléxios de dono do canal."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 deu priviléxios de dono do canal a %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Retirou-se os priviléxios de dono do canal."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Retirou os priviléxios de dono do canal a %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 retirou-lle os priviléxios de dono do canal."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 retirou-lle os priviléxios de dono do canal a %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Deu priviléxios de administrador de canal a si mesmo."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Deu priviléxios de administrador de canal a %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 deu-lle priviléxios de administrador de canal."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 deu priviléxios de administrador de canal a %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Retirou-se os priviléxios de administrador do canal."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Retirou-lle os priviléxios de administrador do canal a %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 retirou-lle os priviléxios de administrador do canal."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 retirou-lle os priviléxios de administrador do canal a %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Deu-se priviléxios de operador do canal a si mesmo."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Deu priviléxios de operador de canal a %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 deu-lle priviléxios de operador do canal."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 deu priviléxios de operador do canal a %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Retirou-se os priviléxios de operador do canal a si mesmo."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Retirou-lle os priviléxios de operador do canal a %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 retirou-lle os priviléxios de operador do canal."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 retirou-lle os priviléxios de operador do canal a %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Deu-se priviléxios de sub-operador do canal a si mesmo."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Deu priviléxios de sub-operador do canal a %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 deu-lle priviléxios de operador do canal."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 deu priviléxios de operador do canal a %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Retirou-se os priviléxios de sub-operador do canal a si próprio."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Retirou-lle os priviléxios de sub-operador do canal a %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 retirou-lle os priviléxios de sub-operador do canal."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 retirou-lle os priviléxios de sub-operador do canal a %2."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "Deu-se a si próprio permiso para falar."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "Deu-lle a %1 permiso para falar."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 deu-lle permiso para falar."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 deu-lle o permiso para falar a %2."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Retirou-se o permiso para falar a si próprio."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Retirou-lle o permiso para falar a %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 retirou-lle o permiso para falar."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 retirou-lle o permiso para falar a %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Cambiou o modo do canal para \"non se permiten cores\"."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 cambiou o modo do canal para \"non se permiten cores\"."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Cambiou o modo do canal para \"permiten-se códigos de cores\"."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 cambiou o modo do canal para \"permiten-se códigos de cores\"."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Cambiou o modo do canal para \"Só convidados\"."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 cambiou o modo do canal para \"Só convidados\"."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Retira o modo de \"só convidados\" do canal."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 retira o modo de \"só convidados\" do canal."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Cámbiou o modo do canal para \"moderado\"."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 cambiou o modo do canal para \"moderado\"."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Cambiou o modo do canal para \"non moderado\"."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 cambiou o modo do canal para \"non moderado\"."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Cambiou o modo do canal para \"sen mensaxes do exterior\"."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 cambiou o modo do canal para \"sen mensaxes do exterior\"."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Cambiou o modo do canal para \"permitir mensaxes do exterior\"."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 cambiou o modo do canal para \"permitir mensaxes do exterior\"."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Cambiou o modo do canal para \"privado\"."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 cambiou o modo do canal para \"privado\"."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Cambiou o modo do canal para \"público\"."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 cambiou o modo do canal para \"público\"."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Cambiou o modo do canal para \"segredo\"."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 cambiou o modo do canal para \"segredo\"."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Cambiou o modo do canal para \"visíbel\"."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 cambiou o modo do canal para \"visíbel\"."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Activou a \"proteczón do tema\"."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 activou a \"proteczón do tema\"."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Desactivou a \"proteczón do tema\"."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 desactivou a \"proteczón do tema\"."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Mudou o tema do canal para \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 mudou o tema do canal para \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Retirou o limite do canal."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 retirou o limite do canal."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Axustou o limite do canal en %1 usuários."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 axustou o limite do canal en %2 usuários."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Retirou o limite do canal."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 retirou o limite do canal."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Estabeleceu unha proibizón sobre %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 estabeleceu unha proibizón sobre %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Retirou a proibizón sobre \"%1\"."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 retirou a proibizón sobre %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Definiu unha excepzón á proibizón sobre %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 definiu unha excepzón á proibizón sobre %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Retirou a excepzón á proibizón sobre %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 retirou a excepzón á proibizón sobre %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Definiu a máscara de convite %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 definiu a máscara de convite %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Borrou a máscara de convite %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 borrou a máscara de convite %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Mudou o modo do canal para +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 mudou o modo do canal para +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Mudou o modo do canal para -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr " %1 mudou o modo do canal para -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Ten que ser un operador para modificar isto."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "O tema só pode ser alterado polo operador do canal. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Non se admiten mensaxes para o canal desde clientes exteriores. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canal segredo. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canal só por convite. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canal privado. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canal moderado. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Protexer canal cun contrasinal."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Definir o limite de usuários do canal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Desexa sair de %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Sair do Canal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Sair"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "mvillarino"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "mvillarino@users.sourceforge.net"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "En espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Liñas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Son:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Liñas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Usuários Normais"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "En espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "En espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Receptor:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nome do Botón"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Aczón do Botón"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Aczón do botón:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nome do botón:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Meta-palabras disponíbeis"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: Canal actual\n"
+"%k: Contrasinal do canal (ainda non funcional)\n"
+"%K: Contrasinal do servidor\n"
+"%u: Lista de alcumes escollidos\n"
+"%s<term>%: termo usado para separar os alcumes en %u\n"
+"%n:Enviar comando directamente ao servidor no canto de á sua liña de entrada"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "Ficheiro:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Próprio:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "Tipo"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Estado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "&Aczón:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Evoluzón:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Parceiro"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Abrir o Ficheiro"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "Ficheiro:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "Continua&r"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Alcume actual usado"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Posizón:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Iniciado o"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Erro de transferéncia"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Activar a Reconexón Automática"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Tempo-limite para nova conexón:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Tentativas de nova conexón:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " segundos"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Sen Limite"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Depurazón"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Mostrar a fiestra de rexistos en bruto no início da &conexón"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Padrón"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tipo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Padrón:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Tipos de Mensaxes"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Novo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Borrar &todo"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "&Nome da rede:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&Identidade:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "Co&mandos:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Conectar no arranque da &aplicazón"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servidores"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Engadir..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Editar..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Unir-se Automaticamente a Canais"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Editar..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alcume:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Substituizón:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Nome Alternativo"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Substituizón"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Procurar o Segui&nte"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Procurar o Anterior"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Comandos a executar ao facer duplo-click:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ordenar sen d&istinguir capitalizazón"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "Na actividade de pes&quisa"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ordenar polo e&stado do usuário"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Explicazón"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Ordene de novo os alcumes arrastando e soltando) "
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstalar Tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Borrar o Tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ícone para usuários normais"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ícone para usuários ausentes"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ícone para usuários con voz"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ícone para usuários con priviléxios de sub-operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ícone para usuários con priviléxios de operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ícone para usuários con priviléxios de administrador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ícone para usuários con priviléxios de dono"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Antevisión:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aparéncia"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Situazón:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Mostrar botón de &pechar nos separadores"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Mostrar un botón de pechar á &direita da barra das páxinas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Axustar o tamaño dos textos dos &separadores para couberen na pantalla"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Foco"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Focalizar as páxinas novas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "&Focalizar as conversar privadas novas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Modo"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Comandos a e&xecutar ao facer duplo-click no alcume:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Cando prema duas veces nun alcume na fiestra <b>Alcumes en liña</b>"
+", este comando é colocado na <b>Liña de Entrada</b> na fiestra do servidor.</p>"
+"<p>Os seguintes símbolos poden ser utilizados no comando:</p>"
+"<ul>\n"
+"<li>%u: O alcume premido.</li>\n"
+"<li>%K: Contrasinal do servidor.</li>\n"
+"<li>%n: Enviar comando directamente ao servidor en vez de á liña de "
+"entrada.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Cando prema duas veces nun alcume na fiestra <b>Alcumes en Liña</b>,\n"
+"este comando é colocado na <b>Liña de Entrada</b> na fiestra do servidor.</p>\n"
+"<p>Os seguintes símbolos poden ser utilizados no comando:</p>"
+"<ul>\n"
+"<li>%u: O alcume premido.</li>\n"
+"<li>%K: Contrasinal do servidor.</li>\n"
+"<li>%n: Enviar comando directamente ao servidor en vez de á liña de "
+"entrada.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Intervalo de actualizazón:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation verificará o estado dos alcumes listados en baixo con este "
+"intervalo."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+"Mo&strar a páxina dos alcumes vixiados de están en liña no início da aplicazón"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Cando estexa activado, a fiestra de <b>Alcumes en liña</b> "
+"será aberta automaticamente ao iniciar Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Activar o vixiante d&e alcumes"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Cando o vixia de alcumes está activado, será avisado cando os alcumes na lista "
+"<b>Redes/Alcumes Vixiados</b> se conecten ou desconecten.</p>\n"
+"<p>Tamén pode abrir a fiestra <b>Alcumes en liña</b> "
+"para ver o estado de todos os alcumes vixiados.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Rede:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"A rede do servidor de IRC (como \"freenode\") onde o usuário a vixiar está "
+"conectado."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "O alcume (nome de usuário) da persoa a ser vixiada"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Redes/Alcumes Vixiados"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Cando o vixia de alcumes está activado, será avisado cando os alcumes na lista "
+"<b>Redes/Alcumes Vixiados</b> se conecten ou desconecten.</p>\n"
+"<p>Tamén pode abrir a fiestra <b>Alcumes en liña</b> "
+"para ver o estado de todos os alcumes vixiados.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Prema para engadir un alcume á lista."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Prema para borrar o alcume escollido da lista."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Activar o R&existo"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Usar nomes dos rexistos en minúscu&las"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Engadir o nome da máquina ao nome do ficheiro"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Localizazón do rexisto:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Activar a Bandexa do Sistema"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Usar a bandexa do sistema para a notificazón de novas mensaxes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Notificar só cando se active un realce ou cando sexa usado o seu alcume"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Completazón de Alcumes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Modo de completazón:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Percorrer a Lista de Alcumes"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Tipo Liña de Comandos"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Tipo Liña de Comandos con Campo de Completazón"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Sufi&xo no inicio da liña:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "N&outro lado:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Distinguir capitalizazón"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Desactivar as notificazóns cando estexa &ausente"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Utilizar resposta de &versión personalizada:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Aqui pode indicar unha resposta personalizada aos pedidos <b>CTCP <i>"
+"VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "O campo de texto expande-se co texto"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Caracter &de comando:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Usar &navegador web personalizado:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Limitar o tamaño das lendas dos separadores para couber todo na pantalla"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Active se quer verificar ortograficamente todas as liñas introducidas no IRC, "
+"á medida que escrebe"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Se activa esta opzón, o campo de texto crecerá na vertical cando se preencha."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "Acoplaxe na Bandexa do Sistema"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Mo&strar os nomes verdadeiros ao lado dos alcumes"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Mostrar a páxina de alcumes vixiados no início da aplicazón"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Activar os emoticones"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tema de emoticones"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Te&ma"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Data"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&dos"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "O &tema só pode ser alterado polos operadores do canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Sen me&nsaxes do exterior do canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canal &segredo, o canal non aparece na lista de canais"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Só os conv&idados poden unir-se ao canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Isto controla o <em>modo</em> do canal. Só un operador pode alterá-lo."
+"<p>Un canal só para conv<b>I</b>dados significa que a xente só pode unir-se ao "
+"canal se é convidada. Para convidar a alguén, un operador do canal debe enviar "
+"o comando <em>/invite alcume</em> desde dentro do canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "Canal &moderado, só as persoas con voz poden escreber nel"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Contrasinal do Canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Limite de usuários:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Mostrar os Modos &Avanzados >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parámetro"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Lista de E&xpulsións"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Retirar a proibizón"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Engadir unha proibizón"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Máscara de Máquina"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Definido Por"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Tempo Definido"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "P&rocurar:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Cartafol de trans&feréncias:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Engadir o remetente ao nome do ficheiro"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Criar un cartafol para o r&emetente"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+"Converter os espazos nos nomes dos ficheiros para subliñados antes de enviar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Aceitar &automaticamente as ofertas de transferéncias"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Continuar au&tomaticamente as transferéncias"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Activar o envio por DCC rápido (Pode &non funcionar en todos os clientes)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Tamaño do b&uffer:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Tempo-l&imite do envio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Recorrer a unha interface IPv&4 para os envios DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Se esta opzón estivese activa as transferéncias DCC das conexóns IPv6 son "
+"feitas utilizando a interface IPv4 configurada aqui"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " s"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Activar os &portos indicados para o envio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Método para obter o IP próprio:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "IP &Próprio:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Portos"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Utilizar os p&ortos indicados para as conversas DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "para"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Activar os &portos indicados para o envio DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Usar texto colorido"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Usar LEDs coloridos"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Evento da aplicazón"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Os eventos da aplicazón ocorren nas páxinas de Konsole, na páxina de Estado do "
+"DCC e nas outras páxinas de aplicazóns non usadas directamente para conversar."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Mensaxe"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "Mensaxe do &servidor:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Alcume actual usado"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Evento do canal"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Os eventos do canal son os cámbios do modo ou os usuários a entrar/sair dun "
+"canal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Dar preferéncia ás cores de realce da fiestra de conversazón"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Se escolle isto, as cores que escolleu na páxina de preferéncias do realce "
+"substituirán as cores do \"Alcume actual usado\" e do \"Realce\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "&Usar un tipo de letra monoespazado para as mensaxes MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Mostra a MOTD (Mensaxe do Dia) con texto monoespazado"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Mostra os alcumes do remetente en &negriña na vista da conversa"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Texto da conversa:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Lista de alcumes:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Barra de páxinas:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "Lista de &Realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Son"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Texto Automático"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Padrón:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Cores"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Son:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Texto &automático:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "A&ctivar sons para o itens escollidos na lista"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Realzar se&mpre o alcume próprio actual:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Realzar sempre as &liñas próprias:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Criar unha r&existo novo..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Cria un novo rexisto no seu caderno de enderezos"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Fotografia"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nome"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Escolla o contacto co que desexa contactar através da Mensaxeiria Instantánea"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "P&rocurar:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Tocar a campa&iña do sistema ao receber un BEL de ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Toca a campaiña do sistema cando recebe un carácter de controlo ASCII BEL "
+"(0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Acochar os eventos de Li&gazón/Abandono/Alcume"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Desactivar a e&xpansión de variábeis (p.ex., %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Non expande as variábeis ao enviar o texto para o servidor. Unha variábel "
+"comeza por \"%\". P.ex., %B expande-se para os carácteres que son necesários "
+"para colocar un texto en negriña."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Redirixir as mensaxes de estado para a fiestra de estado do servidor"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Limite de hi&stórico:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Cantas liñas manter no histórico, 0 = ilimitado"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Utilizar modos en bruto para os cámbios de modo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Mantén o texto do modo do canal como unha combinazón de carácteres, en vez de "
+"traduci-los para mensaxes comprensíbeis. P.ex., \"*** Modos do canal: sen "
+"mensaxes do exterior\" ficará \"*** Modos do canal: n\""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " liñas"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Lista de Servidores"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Mostrar liñas de recordatório en todas as fiestras de conversa"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Insere unha liña de recordatório na fiestra da conversa cando cámbia de "
+"conversa ou minimiza o programa."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Activar a Pesquisa Automática deInformazón do Usuário (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Número máximo de usuários nun canal:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " alcumes"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Intervalo de actualizazón:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "A&ctivar o OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Vi&sualizazón na Pantalla"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Debuxar sombras"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Tipo de letra do OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "M&ostrar Mensaxe OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Se o própr&io nome aparece na mensaxe do canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "En calquer me&nsaxe do canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Na actividade de pes&quisa"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Nos eventos de U&nión/Saída"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Activar as Cores Personalizadas"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Cor do te&xto:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Cor de &fondo:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Ou&tras Configurazóns"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Durazón:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "P&antalla:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Fiestra"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "Novo"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Borrado"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Substituir En"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Procurar"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Substituir con"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Substituir en:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Procurar:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Substituir con:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Activar as Marcas de &Tempo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Mostrar as &datas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Formato:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Mostrar Histórico"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Liñas: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Disposizón"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Mo&strar o tema do canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Mostrar os botóns do &modo de canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mostrar un &campo para alterar o alcume próprio"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Mostrar os &botóns rápidos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Mo&strar os nomes verdadeiros ao lado dos alcumes"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Mostrar a lista de alcu&mes e os botóns rápidos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Mostrar as más&caras de nomes na lista de alcumes"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Activar unha Ima&xe de Fondo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Loc&alizazón:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Cores Personalizadas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Usar cores personalizadas no campo de entrada, lista de alcumes e lista de "
+"páxinas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Fondo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Mensaxe do &servidor:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hiperligazón:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Mensaxe do canal:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Aczón:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Re&xisto histórico:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Mensaxe do coman&do:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Mensaxe de conversa &privada:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Marca de &Tempo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Fondo a&lternativo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Alcumes Coloridos"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "C&or do alcume de seu:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Permitir Texto Colorido n&as Mensaxes de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Se activa esta opzón, os códigos de cor engadidos á mensaxe de IRC serán "
+"mostrados na sua fiestra de conversa como texto colorido. Pode engadir códigos "
+"de cores ás suas mensaxes escollendo Inserir -> Cor de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Antevisión"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Esta é a aparéncia que a mensaxe vai ter con estas cores"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Isto é unha antevisión de como os seus leitores poden ver a sua mensaxe se "
+"escolle estas cores."
+"<br>\n"
+"<b>Nota: Non todos os clientes soportan isto, e alguns usuários poden ter "
+"escollido ignorar os seus cámbios de cores.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "A cor de texto escollida é engadida á liña de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Aqui escolle a cor desexada para o texto da próxima mensaxe que envie. Se "
+"escolle unha cor e preme OK, a cor escollida é engadida á liña de entrada. "
+"Calquer texto escrito após isto é escrito na cor escollida, até volver a "
+"modificar a cor."
+"<br>\n"
+"<b>Nota: Non todos os usuários activan a opzón que lles permite ver isto.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Cor &principal:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "A cor de fondo do texto escollida é engadida á liña de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Aqui escolle a cor desexada para o fondo do texto da próxima mensaxe que "
+"envie.\n"
+"Se escolle unha cor e preme OK, a cor escollida é engadida á liña de entrada.\n"
+"Calquer texto escrito após isto é escrito na cor escollida, até volver a "
+"modificar a cor."
+"<br>\n"
+"Se escoller o valor por omisión \"<i>Nengun</i>\" non modifica o fondo da sua "
+"mensaxe, de maneira que os seus leitores ven a sua mensaxe coa cor de fondo de "
+"texto normal."
+"<br>\n"
+"<b>Nota: Non todos os clientes soportan isto, e non todos os usuários activan a "
+"opzón que lles permite vé-lo.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Xanelas de Aviso a Mostrar"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Contrasinal:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Servidor:"
+
+#~ msgid "Messages"
+#~ msgstr "Mensaxes"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Mostrar as mensa&xens de auséncia"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Pór como Disponíbel Glob&almente"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Cada"
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avisar ao borrar ficheiros recebidos por DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "A tecla de %1 foi definida con éxito."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Non foi posíbel borrar o ficheiro \"%1\"."
+
+#~ msgid "DCC Error"
+#~ msgstr "Erro de DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Borrar o Ficheiro"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detalles da Transferéncia"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Borrar deste painel"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Borra o(s) ficheiro(s) recebido(s)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Borrar o Ficheiro"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Desexa realmente borrar o ficheiro escollido?\n"
+#~ "Desexa mesmo borrar os %n ficheiros escollidos?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Confirmazón de Borrado"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Mostra o nome verdadeiro dunha persoa ao lado do seu alcume na lista de alcumes."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "A conexón co Servidor %1 foi perdida: %2. A tentar de novo a conexón."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "A tentar co servidor %1 no canto dese."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "A esperar durante 2 minutos antes dunha nova tentativa de conexón..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Grupos de preferéncias disponíbeis: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Opzóns disponíbeis no grupo %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Utilizazón: %1PREFS <grupo> <opzón> <valor> ou %2PREFS LIST para listar os grupos ou %3PREFS grupo LIST para listar as opzóns no grupo. Coloque os parámetros entre aspas se conteñen espazos."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Detalles da Transferéncia"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Contrasinal do canal:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Inserir &liña de recordatório ao ausentar-se"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Inserir unha liña de &recordatório cando se acocha unha xanela de conversa"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Conexón"
+
+#~ msgid "Application Startup"
+#~ msgstr "Início da Aplicazón"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "Mo&strar o diálogo da lista de servidores"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 identificou-se para este alcume."
+
+#~ msgid "&Channel"
+#~ msgstr "&Canal"
+
+#~ msgid "&Topic"
+#~ msgstr "&Tema"
+
+#~ msgid "&Save List..."
+#~ msgstr "Guardar a Li&sta..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "Unir-se &automaticamente ao canal ao ser convidado"
+
+#~ msgid "Offering"
+#~ msgstr "A oferecer"
+
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "Non hai porto libre para conversas DCC."
+
+#~ msgid "Update &interval:"
+#~ msgstr "&Intervalo de actualizazón:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "Cando o vixía de alcumes está activo, será avisado cando os alcumes na lista <b>Redes/Alcumes Vixiados</b> se conectan ou desconectan.</p>\n"
+#~ "<p>Tamén pode abrir a fiestra <b>Alcumes Conectados</b> para ver o estado de todos os alcumes vixiados.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "Non hai nengunha transferencia DCC a efectuar-se no porto %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "Non está a efectuar-se nengun envio de DCC no porto %1."
+
+#~ msgid "File:"
+#~ msgstr "Ficheiro:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Rota Local:"
+
+#~ msgid "Saved to:"
+#~ msgstr "Guardado en:"
+
+#~ msgid "Open this file"
+#~ msgstr "Abrir este ficheiro"
+
+#~ msgid "Delete this file"
+#~ msgstr "Borrar este ficheiro"
+
+#~ msgid "Sender:"
+#~ msgstr "Remetente:"
+
+#~ msgid "Position:"
+#~ msgstr "Posizón:"
+
+#~ msgid "Accept this transfer"
+#~ msgstr "Aceitar esta transferéncia"
+
+#~ msgid "Abort this transfer"
+#~ msgstr "Abortar esta transferéncia"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Desexa realmente borrar o ficheiro recebido?"
+
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&Detalles da Transferéncia DCC"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Posizón:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Enderezo do Remetente"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Enderezo do Remetente"
+
+#~ msgid "Switch To"
+#~ msgstr "Ir Para"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 é un administrador de rede."
+
+#~ msgid "&Channel:"
+#~ msgstr "&Canal:"
+
+#~ msgid "Removed"
+#~ msgstr "Borrado"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 é %3%4."
+
+#~ msgid "&Network:"
+#~ msgstr "&Rede:"
+
+#~ msgid " Command Aliases"
+#~ msgstr " Alcumes dos Comandos"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "Hospedaxe de www.konversation.org"
diff --git a/po/he/Makefile.am b/po/he/Makefile.am
new file mode 100644
index 0000000..d03e342
--- /dev/null
+++ b/po/he/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = he
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/he/konversation.po b/po/he/konversation.po
new file mode 100644
index 0000000..d8be871
--- /dev/null
+++ b/po/he/konversation.po
@@ -0,0 +1,7072 @@
+# translation of konversation.po to
+#
+# Diego Iastrubni <elcuco@kdemail.net>, 2004, 2005.
+# Diego Iastrubni <elcuco@kde.org>, 2005, 2006, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-08-02 22:53+0300\n"
+"Last-Translator: Diego Iastrubni <elcuco@kde.org>\n"
+"Language-Team: <kde-il@yahoogroups.com>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "אפשרויות חדר עבור %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&הסתר מצבים מתקדמים <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&הצג מצבים מתקדמים >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "חדש"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "לא ידוע"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "מידע זמין עבור %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "מידע על הקובץ"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "אין מידע מופרט זמין עבור קובץ זה."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "שלח"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "קבל"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "בתור"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "מכין"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "מתחבר"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "מקבל"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "שולח"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "הסתיים"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "נכשל"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "בוטל"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/ש"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&גרסה"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&פינג"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "הענק אופ"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "הוצא אופ"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "הענק אופ למחצה"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "הוצא אופ למחצה"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "הענק קול"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "הוצא קול"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "מצבים"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "בעיטה"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "בעיטה ונידוי"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "נידוי של שם משתמש"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "נידוי של ‪*!*@*.host‬"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "נידוי של ‎*!*@domain‬"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "נידוי של ‎*!user@*.host‬"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "נידוי של ‎*!user@domain‬"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "העף ונדה את ‎*!*@*.host‬"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "העף ונדה את ‎*!*@domain‬"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "העף ונדה את ‎*!user@*.host‬"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "העף ונדה את ‎*!user@domain‬"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "בעיטה / נידוי"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "התעלם"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "בטל התעלמות"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "פתח &שאילתה"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "פתח חלון &שיחת DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "שלח &קובץ..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&שלח דוא\"ל..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "שייכות של פנקס הכתובות"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "הוסף לרשימת כינויים בתצפית"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "ערוך איש־קשר..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "בחר או שנה שייכות..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "בחר איש־קשר..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "בחר שייכות..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "צור איש־קשר חדש..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "מחק שייכות"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "חדר"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Query"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notice"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "יוצאים מן הכלל"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "כרטיסיות"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "היום"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "אתמול"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr "(מזוהה)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "דוא\"ל"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "שם מתחם:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "הודעות \"מרוחק\":"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(לא יודע)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "מחובר מאז:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "לחץ להריץ את עורך הביטויים הרגולים (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "עורך הביטויים הרגולים (KRegExpEditor) לא מותקן"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "יוצא"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "נכנס"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "שניהם"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "התחבר לחדר ב־%1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "חיבור מהיר"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&שרת המארח:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "הכנס כאן את השם של הרשת."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&יציאה:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "היציאה ששרת ה־IRC משתמש."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&כינוי:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "הכינוי שברצונך להשתמש."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&ססמה:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr "אם שרת ה־IRC שלך דורש ססמה הכנס אותה כאן (רב השרתים לא מצריכים ססמה)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&השתמש ב־SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&התחבר"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "התחבר אל השרת"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "לא יכול לפתוח שקע (socket) להאזנה:"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "מציע שיחת DCC אל %1 ביציאה %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "שיחת DCC עם %1 ביציאה %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "יוצר שיחת DCC עם %1 (בכתובת %2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "שיחת DCC עם %1 בכתובת %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "נוצרה שיחת DCC עם %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "החיבור נשבר, קוד שגיאה %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "התקבלה בקשת CTCO-%1 בלתי ידועה מאת %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "לא יכול לאשר את הלקוח."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "ברירת מחדל (%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "רשימת שרתים"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "לחץ כאן להתחברות לרשת IRC ולחדר."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "רשת"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "זהות"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "חדרים"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&חדש..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"לחץ כאן להגדרת רשת חדשה, כולל השרת להתחברות, והחדרים להצטרפות אוטומטית בעת "
+"החיבור."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&ערוך..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "הצג את היישום בעת ההתחברות"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "רשת חדשה"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "ערוך רשת"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"אין באפשרות למחוק את %1.\n"
+"\n"
+"הרשת %2 צריכה להכיל לפחות שרת אחד."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"אין באפשרותך למחוק את השרתים הנבחרים.\n"
+"\n"
+"הרשת %1 צריכה להכיל לפחות שרת אחד."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "האם באמת ברצונך למחוק את הכניסות הנבחרות?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "האם ברצונך להסיר את %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "הצג את חלק האחרון של הקובץ:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"בתיבה זאת קובעים את גודל קובץ היומן. הקביעה הזאת תיכנס לתוקף רק בעת הפעלה מחדש "
+"של Konversation. לכל קובץ יומן יכול להיות הגדרה ייחודית."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "נקה קובץ יומן"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"ההודעות בקובץ היומן רשומות כאן. הרשומות הישנות ביותר נמצאות בראש והחדשות ביותר "
+"בתחתית."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "האם באמת ברצונך למחוק את כל רשומות היומן מקובץ זה?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"הערה: בעת שמירת קובץ היומן, אתה תשמור גם את כל המידע בקובץ, לא רק את החלק שאתה "
+"רואה במציג זה."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "שמור קובץ יומן"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "בחר תיקיית היעד"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "מנסה להתחבר אל %1 בתוך %2 שניות."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "מנסה להתחבר מחדש אל %1 בתוך %2 שניות."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "מספר ניסיונות מירבי."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "אתה כבר מחובר אל %1. האם ברצונך לפתוח חיבור אחר?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "אתה כבר מחובר אל %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "צור חיבור"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"אתה כבר מחובר אל %1 באמצעות \"%2\" (יציאה %3). האם ברצונך להחליף את החיבור אל "
+"\"%4\" (יציאה) במקום?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "החלף שרת"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "אנא מלא את ה<b>זהות</b> שלך.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "אנא מלא את ה<b>שם האמיתי</b> שלך.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "עליך לספק לפחות <b>כינוי</b> אחד.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt> הזהות שלך \"%1\" לא הוגדרה כראוי: <br>%2 </qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "הגדרות זהות"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "ערוך זהות..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "זהויות"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&זהות:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "העתק"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "שנה שם"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "כללי"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&שם אמיתי:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "כינוי"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "הוסף..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "ערוך..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "זיהוי אוטומטי"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "&שירות:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"שם השירות יכול להיות <b><i>nickserv</i></b> או שם התלוי ברשת כמו <b><i>"
+"nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&ססמה:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "מרוחק"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "סמן את המקום האחרון בחלונות השיחה כאשר אתה במצב מרוחק"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"אם תסמן את האפשרות הזאת, כאשר אתה כותב את פקודת <b>/away</b>"
+"קו אופקי יופיע בחדר, המסמן את הנקודה בה אתה הלכת. משתמשי IRC אחרים לא יראו את "
+"הקו הזה."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "כינוי מרוחק:"
+
+#: src/identitydialog.cpp:163
+#, fuzzy
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"הכנס כינוי המראה שאתה במצב מרוחק, או לא זמין. כאשר אתה מבצע פקודת <b>"
+"/away XXX</b> בשדה הקלט בכל חדר מחובר בזהות הזאת, Konversation ישנה את הכינוי "
+"שלך לכינוי המרוחק שלך. "
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "מצב מרוחק אוטומטי"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"אם תבחר באפשרות זו, Konversaion תעביר את הזהות הזאת למצב מרוחק כאשר השומר מסך "
+"מתחיל לעבוד, או כאשר עובר פרק זמן המוגדר מטה."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "קבע מרוחק אחרי"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " דקות"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "של חוסר פעולה מצד המשתמש"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "חזור ממצב מרוחק כאשר יש פעילות מצד המשתמש"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"אם תבחר באפשרות זו, Konversaion תבטל את סימון מרוחק עבור הזהות הזאת כאשר שומר "
+"המסך מפסיק או זוהתה פעולה כלשהי מצד המשתמש."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "הודעות מרוחק"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&הודעת \"מרוחק\":"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "הודעת &חזרה:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "מתקדם"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&פקודת קדם במסוף:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "&זהות:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "קבע קיד&וד:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "&סיבת עזיבה:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "כאשר אתה עוזב שרת, ההודעה הזאת מוצגת לאחרים."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&סיבת עזיבה:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "כאשר אתה עוזב חדר, ההודעה הזאת נשלחת לחדר."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&סיבת \"בעיטה\":"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr "כאשר בועטים אותך מחדר (בדרך כלל אופ), ההודעה הזאת נשלחת לחדר."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "שנה מידע אודות הזהות"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "שכח מכל השינויים שנעשו"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "עליך להוסיף לפחות כינוי אחד לזהות."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "אנא הכנס שם אמיתי."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "הוסף כינוי"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "כינוי:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "ערוך כינוי"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "הוסף זהות"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "שם הזהות:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "עליך לתת שם לזהות."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "שנה שם לזהות"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"זוהי הזהות בשימוש, אם תמחק אותה הגדרות הרשת יחזרו לברירת המחדל. האם למחוק בכל "
+"זאת?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "האם אתה בטוח כי ברצונך למחוק את כל המידע אודות זהות זו?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "מחק זהות"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "צור עותק של הזהות"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "משתמשים רגילים"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "קול (V+)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "אופ למחצה (h+)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "אופים (o+)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "מנהלי החדר (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "בעלי החדר (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "הוסף תו"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "הוסף תו"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "עורך הסימניות של Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "אין יציאה זמינה"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "לא יכול לפתוח שקע (socket)"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "מצא טקסט..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "העתק כתובת אל לוח העריכה"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "הוסף למועדפים"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "שמור קישור בתור..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "פתח שאילתה עם %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "התחבר לחדר %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "הודעה"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "הצטרף"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "עזב"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "פתח שאילתה"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&הצטרף"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "קבל &רשימת משתמשים"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "קבל &נושא"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "לא נמצאו התאמות עבור \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "שמור קישור בתור"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&רשימת שרתים..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "ניהול רשתות ושרתים"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&חיבור מהיר..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "הכנס את כתובת שרת ה־IRC להתחברות"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&התחבר מחדש"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "התחבר מחדש אל השרת."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&התנתק"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "התנתק מהשרת הנוכחי."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&זהויות..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "נהל את הכינוי שלך במצב \"מרוחק\", והגדרות זהויות אחרות"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&כינויים ברשימת בתצפית"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&מצב העברות DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "&פתח קובץ יומן"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "פתח את ההיסטוריה הידועה עבור חדר זה בכרטיסייה חדשה"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&הגדרת חדר..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "פותח את הגדרות החדר עבור כרטיסייה זו"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&רשימת חדרים"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "הצג את רשימת על החדרים בשרת זה"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&תופס כתובות"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "רשימה של כל הכתובות שהוזכרו לאחרונה בכרטיסייה חדשה"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&מסוף חדש"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "פתח מסוף בכרטיסייה חדשה"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&כרטיסייה הבאה"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&כרטיסייה קודמת"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "סגור &כרטיסייה"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "כרטיסייה פעילה הבאה"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "העבר כרטיסייה מעלה"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "העבר כרטיסייה מטה"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "העבר כרטיסייה ימינה"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "העבר כרטיסייה שמאלה"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "הצטרף מחדש אל החדר"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "אפשר הודעות"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "הצטרף בעת התחברות"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "קבע קידוד"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "עבור אל כרטיסייה %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "נקה שורות &סימון"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "נקה שורות &סימון"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&נקה חלון"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "נקה את התוכן של הכרטיסייה הנוכחית"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "נקה את &כל החלונות"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "נקה את התוכן של כל הכרטיסיות הפתוחות"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "מצג מרוחק גלובאלי"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&הצטרף אל חדר..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&צבעים של IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "קבע את הצבע של הודעת ה־IRC הנוכחית"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&שורת סימון"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "הוסף קו אופקי בכרטיסייה הנוכחית שרק אתה יכול לראות"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&תו מיוחד..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "הכנס תו כלשהו אל הודעת ה־IRC שלך"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "סגור את &כל השאילתות הפתוחות"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "הסתר את רשימת הכינויים"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt> יש לך העברה ישירה של קובץ פעילה. האם ברצונך לצאת מ־<b>Konversaion</b>"
+"? </qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "אישור יציאה"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt> האם אתה בטוח כי ברצונך לצאת מ־<b>konversation</b>? </qt> "
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p> סגירת החלון הראשי תשאיר את Konversation רצה במגש המערכת. השתמש בפקודת <b>"
+"יציאה</b> מתפריט <b>Konversation</b> בכדי לצאת מהיישום. </p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "עוגן במגש המערכת"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt> זה יחביא את שורת התפריט לגמרי. באפשרותך להציג אותה שוב על ידי הפקודה: %1. "
+"</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "אפשר או בטל הודעות"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "קבע או בטל מרוחק באופן גלובלי"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "&הכנס צבע של IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "הכנס &תו מיוחד..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "הכנס &שורת סימון"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&רשימת חדרים"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "קבע &מרוחק באופן גלובלי"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "גלמי"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr ""
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr ""
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr ""
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr ""
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "שולח הודעות \"%1\" אל %2."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr ""
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "שולח בקשת CTCP-%1 אל %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "הקובץ \"%1\" לא קיים."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr ""
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr ""
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "פקודה לא מזוהה %1DCC%2. הפקודות האפשריות הן: SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr ""
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr ""
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "השם %1 הוא לא חדר."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr ""
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "שם התסריט לא יכול להכיל \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr ""
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "רשימת ההודעות כרגע ריקה."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "רשימת ההודעות הנוכחית: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "הכנס שם משתמש וססמה עבור הרשאות אופ של IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "ססמת אופ של IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr ""
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "המשתמש %1 הוסף אל רשימת ההתעלמות שלך."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "המשתמש %1 הוסר מרשימת ההתעלמות שלך."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr ""
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr ""
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "שימוש"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr ""
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr ""
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr ""
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "שולח בקשת \"%1\" אל %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr ""
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "הקידוד הנוכחי הוא: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "נבחר הקידוד %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "הקידוד %1 הוא לא קידוד תקני."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "נקבע מפתח עבור %1."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "המפתח עבור %1 נמחק."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "המפתח עבור %1 הוא \"%2\"."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "לא נקבע מפתח עבוד %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr ""
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr ""
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr ""
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt> אתה מנסה להדביק כמות רבה של טקסט (%1 בתים או %2 שורות) אל השיחה. זה יכול "
+"ליצור מצב של התנתקויות או הצפות. האם באמת ברצונך להמשיך? </qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "הזהרת הדבקה גדולה"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "לקוח IRC חביב"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "כתובת ‎irc://‎ או שם שרת"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "שרת להתחברות"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "יציאה לשימוש"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "חדר להצטרפות אחרי החיבור"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "כינוי לשימוש"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "ססמה לחיבור"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "השתמש בחיבור מאובטח לחיבור (SSL)"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "כל הזכויות רשומת, על ידי צוות הפיתוח של Konversation (C)‎‏ 2002-2008"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"היישום Konversation הוא לקוח IRC, ראשי תיבות של Internet Relay Chat.\n"
+"פגוש חברים, הכר חברים חדשים ובזבז את זמנך הפנוי בשיחה \n"
+"על הנושא האהוב אליך."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "כותב מקורי, מקים הפרויקט"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "מתחזק"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "מתחזק, מתאם שחרורים, ממשק משתמש, ניהול פרוטוקול"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "תמיכה ב־DCC, שיפורי קידודים, מיקום תצוגה על המסך"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "ניהול פרוטוקול, שורת קלט"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"תמיכה ב־Blowfish, תמיכה ב־SSL, הסבה אל KNetwork, צביעת שמות, תמיכה בערכות של "
+"כינויים"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "אינטגרציה עם KAddressBook/Kontact, וכמו כן refactoring"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "מארח האתר"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "תחזוקת האתר"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "הרחבת מצבים מרובים, מיקום סגירת החלון, יישום של תצוגה על המסך"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr "תיעוד, שיפור רשימות תצפית, הרחבת דפדפן מותאם אישית"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "תצורת צבע, חלון הדגשת תחביר"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "ממשק DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "קידודים שהם לא Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "תצוגת רכיב Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "חיבור מהיר, הסבה אל תצוגה על המסך חדשה, עוד שיפורים ותיקוני באגים"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "הרבה תיקוני באגים, וניקוי קוד"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "שיפורי &גרירה"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "אומנות"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "שדה חיפוש בסגנון Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "מצבים גולמיים, קיבוץ כרטיסיות פר שרת, רשימות נידויים"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "טלאי מגש מערכת"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "תיקוני באגים"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "טלאי של מצבי משתמש מורחבים"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "סגירת הכרטיסייה המוצגת על ידי קיצור"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "עבור בין הכרטיסיות בעזרת הגלגלת של העכבר"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "טלאי למצב בעלות על חדר"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "אפשרות להפעלה של סינון צבעי IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "תיקוני באגים, תצוגת מסך, ניקוי נושאים"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "תסריט Sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "תפריט חיבור מחדש"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "התקבלה בקשת CTCP-PING מאת %1 אל חדר %2, שולח תשובה."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "התקבלה בקשת CTCP-%1 מאת %2, שולח תשובה."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "התקבלה בקשת גרסה מאת %1 אל חדר %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "התקבלה בקשת גרסה מאת %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "התקבלה בקשת DCC SEND לא תיקנית מאת %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "התקבלה בקשת DCC ACCEPCT לא תיקנית מאת %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "התקבלה בקשת DCC RESUME לא תיקנית מאת %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "התקבלה בקשת DCC CHAT לא תיקנית מאת %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "התקבלה פקודת DCC לא ידועה %1 מאת %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "התקבלה בקשת CTCP-%1 לא ידועה מאת %2 אל חדר %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "התקבלה בקשת CTCO-%1 בלתי ידוע מאת %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 אל %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "התקבלה בקשת CTCP-ping מאת %1, והיא: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "התקבלה תשובת CTCP-%1 מאת %2, והיא: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "הזמנה"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "המשתמש %1 הזמין אותך אל חדר %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Welcome"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Support"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "המצבים האישיים שלך הם:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "מצבי חדר: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "הגנת נושא"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "ללא הודעות מבחוץ"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "חשאי"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "הזמנה בלבד"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "פרטי"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "ממודר"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "מוגן בססמה"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "אנונימי"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "אופ מחדש מצד השרת"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "צבעים אסורים"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"מוגבל אל משתמש %n\n"
+"מוגבל %n למשתמשים"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "מצב"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "כתובת"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "כתובת הערוץ: %1‎"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "נוצר"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "החדר הזה נוצר בתאריך %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "המשתמש %1 מחובר בתור %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "שמות"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "End of NAMES list."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "לחדר \"%1\" אין נושא."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "נושא"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "נושא החדר עבור %1 הוא \"%2\"‎"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "הנושא נקבע על ידי %1‎ בתאריך %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "הנושא עבור %1 נקבע על ידי %2 בתאריך %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "המשתמש %1 בעצם משתמש בשרת %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "אין כזה כינוי או חדר: %1."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "אין כזה כינוי: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "אין כזה חדר: %1."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nick"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "הכינוי כבר בשימוש. אנא נסה אחד אחר."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "הכינוי כבר בשימוש. מנסה את %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "כינוי לא תקני. משנה אל %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "אתה לא נמצא ב־%1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Message of the day:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "End of message of the day"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "אתה כעת אופ בשרת IRC זה."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Users"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Current users on the network: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Current users on %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "מרוחק"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "המשתמש %1 מרוחק: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "אתה הזמנת את %1 אל חדר %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "המשתמש %1 כרגע %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr ""
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "המשתמש %1 הוא משתמש מזוהה."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "המשתמש %1 הוא %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (מרוחק)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "End of /WHO list for %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "המשתמש %1 הוא משתמש בחדרים: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "המשתמש %1 יש לו קול בחדרים: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "המשתמש %1 הוא אופ למחצה בחדרים: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "המשתמש %1 הוא אופ בחדרים: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "המשתמש %1 הוא הבעלים בחדר: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "המשתמש %1 הוא מנהל בחדר: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "המשתמש %1 מחובר דרך %2 ‎‏(%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr ""
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "המשתמש %1 הוא אופ."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"יום אחד\n"
+"%n ימים"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"שעה אחת\n"
+"%n שעות"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"דקה אחת\n"
+"%n דקות"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"שנייה אחת\n"
+"%n שניות"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "המשתמש %1 לא פעיל במשך %2 ימים, %3 שעות, %4 דקות, %5 שניות."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "המשתמש %1 לא פעיל במשך %2 שעות, %3 דקות, %4 שניות."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "המשתמש %1 לא פעיל במשך %2 דקות, %3 שניות."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"המשתמש %1 לא פעיל במשך שנייה אחת.\n"
+"המשתמש %1 לא פעיל במשך %n שניות."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "המשתמש %1 מחובר מאז %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "End of WHOIS list."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "מארח המשתמש"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "‏%1%2 הוא ‎‎%3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (אופ IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (מרוחק)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "List"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "List of channels:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n משתמש): %2\n"
+"%1 (%n משתמשים): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "End of channel list."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "BanList:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "המשתמשים %1 נקבעו על ידי %2 בתאריך %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "End of Ban List."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "המשתמש %1 כרגע לא זמין."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "פקודה לא מוכרת: %1."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "לא רשום."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "הפקודה %1 דורשת יותר ארגומנטים."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "אתה קבעת את מצב החדר אל -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "has changed your personal modes:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " קובע מצב: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "זהות ברירת־מחדל"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "ערוך רשימת כינויים בתצפית"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "שם ה&רשת:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "אנא בחר את שרת הרשת שברצונך להתחבר אליה כאן."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&כינוי:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt> הכינוי בתצפית בעת בתחבורות לשרת ברשת. </qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "שנה הגדרות של התרעות"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "החיבור לשרת %1 נכשל: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "אימות השרת"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "פרטים"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr ""
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&תמיד"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&הפעלות נוכחיות בלבד"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+#, fuzzy
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[הדגשה] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(שאילתה) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "המשתמש %1 הצטרף אל %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "המשתמש %1 עזב את %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "המשתמש %1 יצא מ־%2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "המשתמש %1 שינה את הכינוי שלו אל %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "המשתמש %1 רוצה לשלוח לך קובץ"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "המשתמש %1 התחיל שיחה (שאילתה) אתך."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "המשתמש %1 מחובר (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "המשתמש %1 כבר לא מחובר (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "אתה נזרקת על ידי %1 מ־%2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "המשתמש %1 התחיל בשיחת DCC אתך"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[הדגשה] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "ההתחברות אל %1 נכשלה"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "אתה הצטרפת אל %1‏‎."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "הביטוי לא נמצא"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "החיפוש קפץ להתחלה"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "ממשק רשת"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "תשובה מהשרת IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "קבע ידנית"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "בוחר צבעי IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "ללא"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&שרת:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "כתובת השרת, או מספר ה־IP של השרת. irchelp.org מחזיק את רשימת השרתים."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"הכנס את מספר היציאה הנדרשת לחיבור לשרת. עבור רב השרתים זה צריך להיות <b>6667</b>"
+"."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&ססמה:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "חיבור &מאובטח (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "כתובת השרת היא חובה."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "המנהל מונע את האפשרות של שליחת קבצים"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "הכתובת \"%1\" לא קיימת"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "לא יכול לקבל את \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "הכנס את שם הקובץ"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt> הקובץ שאתה שולח אל <i>%1</i> לא מכיל שם קובץ."
+"<br> אנא הכנס את שם הקובץ המוגש לצד השני, או בטל את העברת הקובץ. </qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "לא ניתן שם קובץ"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "מחכה לתגובת המשתמש המרוחק"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "לא יכול לאשר את החיבור (שגיאת שקע, socket error)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "לא יכול לפתוח את הקובץ: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "שגיאת שקע: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "הזמן עבר"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "שגיאת התחברות: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "המשתמש המרוחק התנתק"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "הפעולה הסתיימה בהצלחה. לא ייתכן כי זה קורה בחלון שגיאות."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "לא יכול לקרוא מהקובץ \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "לא יכול לכתוב אל הקובץ \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "ארעה שגיאה חמורה אשר אי אפשר לצאת ממנה."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "לא יכול לפתוח את הקובץ \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "הפעולה בוטלה באופן מפתיע."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "עבר זמנה של הפעולה."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "אירעה שגיאה לא מוכרת בעת הסגירה."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "שגיאה לא מוכרת. קוד %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "שליחת DCC %1 : %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "מקבל:"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "גודל לא יודע"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "המשתמש %1 הצטרף אל %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "המשתמש %1 עזב את %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "המשתמש %1 עזב את %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " שניות"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "מסוף - Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "מוכן."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "פער: לא ידוע"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"כל התקשורת עם השרת מוצפנת. זה גורם לכמה אנשים קשה לקרוא את הקשורות שלך."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "פער: %1 מש'"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "פער: %1 ש'"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "אין תשובה מהשרת %1 יותר מ־%2 ימים, %3 שעות, %4 דקות ו־%5 שניות."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "אין תשובה מהשרת %1 יותר מ־%2 שעות, %3 דקות ו־%4 שניות."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "אין תשובה מהשרת %1 יותר מ־%2 דקות ו־%3 שניות."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"אין תשובה מהשרת %1 למשך יותר משנייה אחת.\n"
+"אין תשובה מהשרת %1 יותר מ־%n שניות."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "‏מנסה לחפש את השרת %1: %2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "השרת %1 לא נמצא. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "השרת נמצא, מתחבר..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "מחובר, מבצע כניסה..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "החיבור לשרת %1 נכשל: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"אין אפשרות להתחבר אל %1:%2 באמצעות הצפנת SSL. אולי השרת לא תומך ב־SSL או אולי "
+"בחרת את היציאה הלא נכונה? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "שגיאת חיבור SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "התנתקת מהשרת."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"אף אחד מהכינויים בזהות \"%1\" מתקבלים על ידי החיבור \"%2\".\n"
+"אנא הכניס אחד חדש או לחץ בטל להתנתק:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "שגיאת כינוי"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "ארעה שגיאה בעת קריאת מידע מהשרת: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "בחר קובץ או קבצים לשליחה אל %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "המשתמש %1 מבקש לשלוח לך את \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "גודל לא יודע"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "מבקש מ־%1 לקבל את הקובץ \"%2\" לשליחה (%3)..."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "התקבלה בקשת המשך לא תקינה עבור \"%1\" מאת %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "ממשיך את ההורדה של \"%1\" מ־%2 ממשיך ב־%3 מאת %4..."
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "התקבלה בקשת המשך לא תקינה עבור \"%1\" מאת %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "ממשיך את השליחה של \"%1\" אל %2 מתחיל ב־%3% מתוך %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "התקבלה בקשת המשך לא תקינה עבור \"%1\" מאת %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "ההורדה של \"%1\" מאת %2 הסתיימה."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "ההורדה של \"%1\" מאת %2 נכשלה. סיבה: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "השליחה של \"%1\" אל %2 הסתיימה."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "השליחה של \"%1\" אל %2 נכשלה. שליחה: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "שולח את \"%1\" אל %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "מוריד את \"%1\" (%2) מאת %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "אתה הוזמנת על ידי %1 להצטרף אל חדר %2. האם אתה רוצה לקבל את ההזמנה?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "הזמנה"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "שגיאה: לא יכול למצוא את התסריט \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "שגיאה: לא יכול להפעיל את התסריט \"%1\". אנא בדוק הרשאות."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "הלכתי לרגע קט."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "אתה כעת מסומן בתור מרוחק."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "אתה כבר לא מסומן כמרוחק."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "אתה לא מסומן בתור מרוחק."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "רשימת כינויים מחוברים בתצפית"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "שם הרשת/כינוי/חדר"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "מידע נוסף"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&ערוך רשימת כינויים בתצפית..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "לחץ כאן לעריכה של הכינויים שיופיעו במסך זה."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "פנקס הכתובות:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "ערוך &איש־קשר..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"לחץ ליצירה, תצוגה או עריכה של הכניסה בפנקס הכתובות המשויכת לכינוי הנבחר לעיל."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&שנה שיוך..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "לחץ לשיוך הכינוי הנבחר לעיל עם כניסה בפנקס הכתובות."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&מחק שיוך"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "לחץ להסרה של שיוך בין האיש קשר לכינוי לעיל והכניסה בפנקס הכתובות."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " מחובר דרך %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " מאז %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "לא מחובר"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " קול"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " אופ למחצה"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " אופ"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " בעלים"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " מנהל"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "צור איש־&קשר חדש..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&בחר שיוך..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&הצטרף אל חדר"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "בחר את קובץ הצליל"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** קובץ היומן התחיל\n"
+"*** בתאריך %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "הצטרף אל חדר באופן אוטומטי בעת ההזמנה"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "שים לב, שבעת שמירת קבצי־יומן הם ישמרו בתור קובץ אחד"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "שאל לפני מחיקת תוכן של קבצי־יומן"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "שאל לפני סגירת שאילתות לאחר התעלמות של כינוי"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "שאל לפני חיבור לשרת אחר ברשת"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "שאל לפני חיבור לשרת אחר ברשת"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "סגירת כרטיסיית שרת"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "סגירת כרטיסיית חדר"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "סגירת כרטיסיית השאילתה"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "רשימת החדרים בשרת יכולה להיפתח רק בכרטיסיות הקשורות לרשת"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "הזהרה בעת הסתרת התפריט הראשי של התוכנה"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "הזהרה בעת תעבורה רבה ברשימת החדרים"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "הזהרה בעת הדבקת כמות רבה של טקסט"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "הזהרה בעת יציאה מ־Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "רשימת החדרים"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "הגדרות מסנן"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "&מינימום משתמשים:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "&מרב המשתמשים:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"באפשרותך להגביל את רשימת החדרים עם מספר משתמשים מינימלי. בחירה ב־0 מבטלת את "
+"הקריטריון הזה."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"באפשרותך להגביל את רשימת החדרים עם מספר משתמשים מרבי. בחירה ב־0 מבטלת את "
+"הקריטריון הזה."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "&תבנית סינון:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "יעד הסינון:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "הכנס כאן מחרוזת סימון."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&ביטוי סדיר"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "&החל מסנן"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "לחץ כאן לקבלת רשימת החדרים מהשרת ולהחלת המסנן."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "שם החדר"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "נושא החדר"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "&רענן רשימה"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "ש&מור רשימה..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&הצטרף אל חדר"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "לחץ כאן להצטרפות אל חדר. כרטיסייה חדשה תיווצר עבור החדר הזה."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "שמור את רשימת החדרים"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"רשימת החדרים של Konversation: %1- %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "חדרים: %1 (%2 מוצגים)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "משתמשים לא ייחודיים: %1 (מתוכם %2 מוצגים)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "פתח כתובת"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<לא נמצאה כתובת>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "רשימת החדרים עבור %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "מחובר"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"יישום אחר של KDE ניסה להשתמש ב־Konversation לשליחת מסר מיידי, אבל לא סיפק איש "
+"קשר לשליחה. זה כנראה אומר שיש באג ביישום האחר."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "מקשר בין כינוי ב־IRC לבין איש קשר בפנקס הכתובות"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "בחר את הזהות השייכת אל \"%1\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "הכינוי \"%1\" משייך לאיש קשר."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "הכינוי \"%1\" משייך לאיש קשר \"%2\"."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "כניסה חדשה בפנקס הכתובות"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "שם הכניסה:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "תופס כתובות"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&פתח כתובת"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&העתק כתובת הקישור"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&מחק כתובת"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "ש&מור רשימה..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "לחץ לשמירת כל הרשימה אל קובץ."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&נקה רשימה"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "לחץ למחיקת על הרשימה."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "שמור את כתובת הרשימה"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "ערוך הדבקה בעלת שורות מרובות"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "הוסף מירכאות &ציטוט"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&חדר:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "שם החדר הוא חובה."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "יומן נקי"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "חפש עבור טקסט בכרטיסייה הנוכחית"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&רשימת החדרים עבור %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "&פתח קובץ־יומן עבור %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "&אפשרויות חדר עבור %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "ברירת מחדל (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "אתה יכול לחפש רק בשדות טקסט."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "מידע חיפוש טקסט"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "קובץ היומן של %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "מצב העברות"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "הזהרת רשימת חלונות"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr ""
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr ""
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "ערוך שרת"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "הוסף חדר"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "ערוך חדר"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr ""
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr ""
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr ""
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr ""
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr ""
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr ""
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr ""
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "האם ברצונך להסיר את %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "הסר ערכה"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr ""
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr ""
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "בחר את הכינוי וסגור את החלון"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "סגור את החלון ללא שינויים"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "השרת %1 לא נמצא: getNickName."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "המנהל הגביל את ההרשאות לקבל קבצים"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>אין אפשרות ליצור את התיקייה.</b><br>תיקייה: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "לא יכול ליצור מופע של KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>הקובץ בשימוש על ידי העברה אחרת.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>קובץ חלקי כבר קיים.</b><br>%1<br>גודל הקובץ החלקי הוא %2 בתים<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>הקובץ כבר קיים.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>אין אפשרות לפתוח את הקובץ.<br>שגיאה: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "ססמה לחיבור"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "ממתין לאישור השרת המרוחק"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "תגובה לא צפויה מהשרת"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "שגיאת העברה"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO error: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(מרוחק)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "האם ברצונך להתעלם ממשתמש %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "האם ברצונך לסגור את השאילתה הזאת לאחר התעלמות מהכינוי הזה?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "סגור את השאילתה הזאת"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "השאר פתוח"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "האם ברצונך להפסיק להתעלם ממשתמש %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "זהות ברירת־המחדל (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "האם ברצונך לסגור את השאילתה עם משתמש %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "סגור את השאילתה הזאת"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "אתה מדבר אל עצמך"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "המשתמש %1 עזב את השרת."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "המשתמש %1 עזב את השרת הזה (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD - תצוגה על המסך - הזז למיקום מחדש"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "אופ"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "מנהל"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "בעלים"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "אופ למחצה"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "יש לו קול"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "ממשק"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "התנהגות"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "הודעות"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "חלון שיחה"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "ערכות נושא של כינויים"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "צבעים"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "כפתורים מהירים"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "חיבור"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "רשימת כינויים"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "קיצורי פקודות"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "החלפה אוטומטית"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "יומן"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "הדגשות"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "כינויים בתצפית"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "תצוגה על המסך (OSD)"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "חלונות הזהרה"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr ""
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr ""
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "שם הקובץ ה&מקורי"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "הצע שם קובץ &חדש"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&שכתב"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "ש&נה שם"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "מצא העברה"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "תלוי רישיות"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "מילים שלמות בלבד"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "מהסמן"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "סגור &כרטיסייה"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "האם ברצונך להתנתק מ־\"%1\"?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "התנתק מהשרת"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "התנתק"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "החלה ב־"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "שותף"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "התקדמות"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "מיקום"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "נשאר"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "מהירות"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "כתובת השולח"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "קבל"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "בטל"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "פתח קובץ"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "התחל את הקבלה"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "בטל את העברה"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "הפעל את הקובץ"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "הצג פרטי העברת DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&בחר את כל הפרטים"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "&בחר את כל הפרטים הושלמו"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&קבל"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&ביטול"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "הוסר"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&נקה"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&פתח קובץ"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&מידע אודות הקובץ"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "ערוך את מאפייני החדר"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "הכמות המרבית של אנשים שיכולים להיות בחדר"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "האם באמת ברצונך להתעלם מהמשתמשים הנבחרים?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "האם באמת ברצונך להפסיק להתעלם מהמשתמשים הנבחרים?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "השלמה"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "השלמות אפשריות: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "ססמת החדר"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "הגבלת כינוי"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "הכנס את הגבלת הכינוי החדשה:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "אתה ידוע כעת בתור %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "המשתמש %1 ידוע כעת בתור %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "אתה הצטרפת אל החדר %1‏ (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "המשתמש %1 הצטרף אל החדר (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "אתה יצאת מהשרת."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "אתה יצאת מהשרת (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "אתה עזבת את החדר %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "אתה עזבת את החדר %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "המשתמש %1 עזב את השרת הזה (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "המשתמש %1 עזב את החדר הזה."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "המשתמש %1 עזב את החדר הזה (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "אתה העפת את עצמך מהחדר %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "אתה העפת את עצמך מהחדר %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "אתה הועפת מהחדר %1 על ידי %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "אתה הועפת מהחדר %1 על ידי %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "אתה העפת את %1 מהחדר."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "אתה העפת את %1 מהחדר (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "המשתמש %1 הועף מהחדר על ידי %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "המשתמש %1 הועף מהחדר על ידי %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"כינוי %n\n"
+"%n כינויים"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "נושא החדר הוא \"%1\"‏."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "אתה קבעת את נושא החדר אל \"%1\"‏."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "המשתמש %1 קבע את נושא החדר אל \"%2\"‏."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "אתה הענקת לעצמך הרשאת בעלות לחדר."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "אתה הענקת למשתמש %1 הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "המשתמש %1 העניק לך הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "המשתמש %1 העניק לך הרשאות בעלות על החדר למשתמש %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "אתה נטלת מעצמך הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "אתה נטלת ממשתמש %1 הרשאות בעלות על החדר."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "משתמש %1 נטל ממך הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "משתמש %1 נטל ממשתמש %2 הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "אתה הענקת לעצמך הרשאות ניהול לחדר."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "אתה הענקת למשתמש %1 הרשאות ניהול לחדר."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "המשתמש %1 העניק לך הרשאות ניהול על החדר."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "המשתמש %1 העניק למשתמש %2 הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "אתה נטלת מעצמך הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "אתה נטלת ממשתמש %1 הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "המשתמש %1 נטל ממך הרשאת בעלות על החדר."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "המשתמש %1 נטל ממשתמש %2 הרשאת בעלות על החדר ."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "אתה הענקת לעצמך הרשאות אופ על החדר."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "אתה מעניק הרשאת אופ למשתמש %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "המשתמש %1 מעניק לך הרשאת אופ."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "המשתמש %1 מעניק הרשאת אופ למשתמש %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "אתה נוטל מעצמך הרשאת אופ."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "אתה נוטל ממשתמש %1 הרשאת אופ."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "המשתמש %1 נוטל ממך הרשאת אופ."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "המשתמש %1 נטל ממשתמש %2 הרשאת אופ."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "אתה נתת לעצמך אופ למחצה."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "אתה מעניק הרשאות אופ למחצה אל %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr ""
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr ""
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr ""
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr ""
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr ""
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr ""
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr ""
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr ""
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "אתה קבעת את מצב החדר אל \"צבעים אסורים\"."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "המשתמש \"%1\" קבע את מצב החדר אל \"צבעים אסורים\"."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "אתה קבע את המצב \"אפשר קודי צבעים\"."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "המשתמש %1 ביטל את המצב \"אפשר קודי צבעים\"."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr ""
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr ""
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr ""
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr ""
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr ""
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr ""
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr ""
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr ""
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr ""
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr ""
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr ""
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr ""
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "אתה שינית מצב של \"הגנת נושא\"."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "המשתמש %1 שינה מצב של \"הגנת נושא\"."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "אתה ביטלת את \"הגנת נושא\"."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "המשתמש %1 ביטל את \"הגנת הנושא\"."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "אתה קבעת את נושא החדר אל \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "המשתמש %1 קבע את נושא החדר אל \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "אתה עזבת את החדר %1."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "השם %1 הוא לא חדר."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr ""
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr ""
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr ""
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr ""
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr ""
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr ""
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr ""
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr ""
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "אתה קבעת את מצב החדר אל +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "המשתמש %1 קבעת את מצב החדר אל +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "אתה קבעת את מצב החדר אל -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "המשתמש %1 קבעת את מצב החדר אל -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "עליך להיות אופ כדי לבצע את זה."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "רק אופ יכול לשנות את נושא החדש. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "אין הודעות מאנשים חיצוניים. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "חדר סודי. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "חדר עם הזמנה בלבד. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "חדר פרטי. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "חדר ממודר. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "הגן על החדר עם ססמה."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "קבע הגבלה על מספר המשתתפים בחדר."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "האם ברצונך לעזוב את %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "עזוב חדר"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr ""
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "צוות התרגום של KDE ישראל"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "kde-il@yahoogroups.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "בתור"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&שורות: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "בתים"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&צליל:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&שורות: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "בתים"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "משתמשים רגילים"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "בתור"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "בתור"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "מקבל:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "שם הכפתור"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "פעולת הכפתור"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "פעולת הכפתור:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "שם הכפתור:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: החדר הנוכחי\n"
+"%K: ססמת השרת\n"
+"%u: רשימת הכינויים הנבחרים\n"
+"%s<term>%:מילת הפרדה של כינויים ב־%u\n"
+"%n: שליחת פקודה ישירות לשרת במקום לשורת קלט"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "קובץ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "עצמי:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "סוג"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "מצב:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "&פעולה:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "התקדמות:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "שותף"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "פתח קובץ"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "קובץ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "הוסר"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "הכינוי בשימוש כעת"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "מיקום:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "החלה ב־"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "שגיאת העברה"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "אפשר התחברות מחדש אוטומטית"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "זמן חיבור מחדש:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "מספר ניסיונות לחיבור מחדש:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr "שניות"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "ללא הגבלה"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "דיבאג"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "הצג חלון &יומן נקי בעת החיבור"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "תבנית"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "סוג"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "תבנית:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "סוגי הודעות"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&חדש"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&הסר הכל"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "שם ה&רשת:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "זהות:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "פקודות:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "התחבר בעת הפעלת היישום"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr ""
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "הוסף..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "ערוך..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "הצטרף אוטומטית אל חדרים"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "ערוך..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "כינוי:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "מיקום מחדש:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr ""
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "מיקום"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "חפש &הבא"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "חפש קודם"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&פקודה להפעלה בעת לחיצה כפולה על כינוי:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "מיין ללא תלות באותיות &רישיות"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "בפעילות &שאילתה"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "מיין &לפי מצב משתמש"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(סדר כינויים מחדש על ידי גרירה)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&התקן ערכת נושא..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&הסר ערכה"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "סמל עבור משתמשים רגילים"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "סמל עבור משתמשים \"מרוחקים\""
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "סמל עבור אנשים עם קול"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "סמל עבור משתמשים עם הרשאות בעלות"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "סמל עבור משתמשים עם הרשאות בעלות"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "סמל עבור משתמשים עם הרשאות ניהול"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "סמל עבור משתמשים עם הרשאות בעלות"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "תצוגה מקדימה:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "מראה"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "מיקום:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "הצג &כפתורי סגירה על הכרטיסיות"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "מקם את כפתור הסגירה בצד &ימין של תצוגת הכרטיסיות"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "הגבל את &גודל הכרטיסיות כדי שכולן יוצגו במסך"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "מקוד"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "העבר &התמקדות אל כרטיסיות חדשות"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "העבר התמקדות אל &שאילתות חדשות"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "עכבר"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "פקודה ל&ביצוע כאשר בעת לחיצה כפולה על איש־קשר:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "תדירות עדכון:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&הצג כינויים ברשימת התצפית בכרטיסייה בעת הפעלת היישום"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&השתמש בעוקב הכינויים"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "רשת:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "רשתות/כינויים בתצפית"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "לחץ בכדי להוסיף איש־קשר אל הרשימה."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "לחץ להסרת האיש־קשר הנבחר מהרשימה."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&אפשר יומן"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "אפשר קבצי־יומן באותיות &קטנות"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&הוסף את שם המארח לשם קובץ היומן"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&נתיב קובץ היומן:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "אפשר עגינה בלוח"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&השתמש במגש המערכת עבור הודעות חדשות"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "התרע רק כאשר מוקפצת הדגשה הכינוי שלך בשימוש"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "השלמת כינויים"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&שיטת השלמה:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "עבור בין הכינויים בצורה מעגלית"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "השלמת מסוף"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "השלמת מסוף עם תיבת השלמות"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "&רישא בתחילת השורה:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&מקום אחר:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "תלוי רישיות"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "בטל התראות כאשר במצב &מרוחק"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "השתמש בתגובת &גרסה מותאמת אישית:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "תיבת הקלט מתרחבת עם הטקסט"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "תו &פקודה:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "השתמש ב&דפדפן מותאם אישית:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "הגבל את גודל הכרטיסיות לתצוגה על המסך"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "אפשר אם אתה רוצה ששדה הקלט יבצע בדיקת איות אוטומטית תוך כדי כתיבה"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "כאשר תפעיל את האפשרות הזאת שדה הקלט יגדל אנכית כאשר יתמלא."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "עוגן במגש המערכת"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&הצג שמות אמתיים ליד הכינויים"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "פתח כרטיסיית כינויים בתצפית בעת הפעלת היישום"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "אפשר סמלים"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "ערכת סמלים"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&נושא"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "תאריך"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&מצבים"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "רק אופים יכולים לשנות את &נושא החדר"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&ללא הודעות מחוץ לחדר"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "חדר &סודי, החדר לא נמצא ברשימת החדרים"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "רק אנשים עם ה&זמנה יכולים להתחבר לחדר"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "חדר &ממודר, רק אנשים עם קול יכולים לכתוב אל החדר"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "ססמת החדר"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "ה&גבלת מספר משתמשים:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "הצג מצבים &מתקדמים >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "פרמטר"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "רשימת &נידויים"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&הסר נידוי"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&הוסף נידוי"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "שם מתחם"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "נקבע על ידי"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "זמן הקביעה"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "&חיפוש:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&תיקיית הורדה:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&הוסף שולח לשם הקובץ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&צור תיקייה עבור השולח"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "המר רווחים בשמות הקבצים אל קוים תחתונים לפני השליחה"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "קבל קבצים להורדה באופן א&וטומטי"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "המשך הורדות באופן או&טומטי"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "אפשר מצב העברה מהירה, Fast DCC (ייתכן כי &לא יעבוד עם כל הלקוחות)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&גודל החוצץ:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "מקסימום &זמן העברת DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "עבור ל־&IPv4 לשליחות DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"אם אפשרות זו מופעלת עבור העברות בחיבורי IPv6 יעשו על ידי ממשק IPv4 הנקבע כאן"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr "בתים"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " שניות"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "אפשר י&ציאות מסוימות עבור שליחות DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&שיטה לקבלת כתובת עצמית:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "כתובת &עצמית:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "יציאות"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "אפשר &יציאות מסוימות עבור שיחות DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "אל"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "אפשר י&ציאות מסוימות עבור שליחות DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "השתמש בטקסט צבעוני"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "השתמש בֵּלֶדִים צבעוניים"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "אירוע יישום"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"אירועי יישום קוראים בכרטיסיות Konsole, כרטיסיות מצבי DCC או כרטיסיות יישום "
+"אחרות שלא קשורות ישירות לשיחות."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "הודעה"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "&הודעת השרת:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "הכינוי בשימוש כעת"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "אירוע בחדר"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "אירוע בחדר הם שינויי מצבים או משתמשים עוזבים (או מצטרפים) לחדר."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "תן קדימות לחלון שיחת הגדשת צבעים"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "אפשר גופן &קבוע רוחב עבור הודעות MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "הצג את הודעת היום (MOTD) בגופן ברוחב קבוע"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "הפוך את כינויי השולחים ל&מודגשים בתצוגת השיחה"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "טקסט השיחה:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "רשימת כינויים:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "תצוגת כרטיסיות:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "&רשימת סימון"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "הדגשות"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "שמע"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "טקסט אוטומטי"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&תבנית:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "צבעים"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&צליל:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&טקסט אוטומטי:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&השמע צליל עבור פרטי רשימה מודגשים"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "הדגש &תמיד את הכינוי הנוכחי:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "תמיד הדגש את ה&שורות שלי:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "צור &כניסה חדשה..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "יוצר כניסה חדשה בפנקס הכתובות"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "תמונה"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "שם"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "בחר את איש הקשר שברצונך להתחבר אליו בעזרת מסרים מידיים"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&חיפוש:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "השמע צפצוף &מערכת בעץ קבלת פעמון ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "השמע את צליל המערכת כאשר מתקבל אצלך צלצול אסקיי (תו 0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "הסתר אירועים של &כניסה/יציאה/כינויים"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "בטל &הרחבת משתנים (למשל %C, %B, %G...) "
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&נתב את כל הודעות המצב אל חלון מצב השרת"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "הגדלת &גלילה:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "כמה שורות לשמור בחוצצים, 0 = ללא הגבלה"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&השתמש במצג גולמי עבור הודעות מצב"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " שורות"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "רשימת שרתים"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "הצג שורת תזכורת בכל החדרים והשאילתות"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"מכניס שורת תזכורת אל חלון השיחה כאשר אתה עובר אל חלון שיחה אחת או מקטין את "
+"היישום."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "אפשר חיפוש מידע אוטומטי אודות משתמשים (/who)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "מספר המשתמשים המרבי בחדר:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " כינויים"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "תדירות עדכון:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&אפשר תצוגה על המסך"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "תצוגה על ה&מסך"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&צייר צלליות"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "גופן תצוגה:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "הצג הודעות על ה&מסך"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&אם הכינוי שלי מופיע בהודעות חדר"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "ב&כל הודעה בחדר"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "בפעילות &שאילתה"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "כאשר אנשים עוזבים או &מצטרפים לחדר"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "אפשר צבעים מותאמים אישית"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "צבע ה&טקסט:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "צבע ה&רקע:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&הגדרות אחרות"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&משך:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&מסך:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " מש"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&חלון"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "חדש"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "הוסר"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "החלף ב"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "חפש"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "החלף בתוך"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "החלף ב:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "חפש:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "החלף עם:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "אפשר חתימות &זמן"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "הצג &תאריכים"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&תבנית:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "הצג יומן של שיחה קודמת"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&שורות: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&מראה"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&הצג את נושא החדר"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "הצג כפתורי &מצב החדר"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "הצג &קופסה לשינוי הכינוי שלך"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "הצג &כפתורים מהירים"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&הצג שמות אמתיים ליד הכינויים"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "הצג &רשימת כינויים וכפתורים מהירים"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "הצג את שמות המתחמים &ברשימת הכינויים"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "אפשר תמונת &רקע"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&נתיב:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "צבעים מותאמים אישית"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "&השתמש בצבעים מותאמים אישית עבור שדה הקלט, שם הכינוי ורשימת הכרטיסיות"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&רקע:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&הודעת השרת:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&קישור:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "הודעת ה&חדר:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&פעולה:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "יומן של שיחה &קודמת:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "הודעת ה&פקודה:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "הודעת &שאילתה:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&חותמת זמן:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "רקע &חלופי:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "כינויים צבועים"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "צבע הכינוי ה&עצמי:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&אפשר טקסט צבוע בהודעות IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "תצוגה מקדימה"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "ככה תיראה ההודעה שלך עם הצבעים הללו"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "הצבע הנבחר הוסף אל שדה הקלט."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&צבע טקסט:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "צבע הרקע הנבחר הוסף אל שדה הקלט."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "חלונות הזהרה להצגה"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&ססמה:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "שרת:"
diff --git a/po/hu/Makefile.am b/po/hu/Makefile.am
new file mode 100644
index 0000000..a60c4c4
--- /dev/null
+++ b/po/hu/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = hu
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/hu/konversation.po b/po/hu/konversation.po
new file mode 100644
index 0000000..b99d4f2
--- /dev/null
+++ b/po/hu/konversation.po
@@ -0,0 +1,8076 @@
+# translation of konv.po to HUNGARIAN
+#
+# András Kovács <andras@csevego.net>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: konv\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-02-23 13:57+0100\n"
+"Last-Translator: András Kovács <andras@csevego.net>\n"
+"Language-Team: HUNGARIAN <kde-lista-request@sophia.jpte.hu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.1\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, fuzzy, c-format
+msgid "Channel Settings for %1"
+msgstr "Csatorna opciók %1 számára"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Haladó módok elrejtése <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Haladó módok megjeleníté&se >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Új"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "ismeretlen"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Elérhető információk a(z) %1 fájlhoz:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Fájl információ"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Nem találtam részletes információt ehhez a fájlhoz."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Küldés"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Fogadás"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Sorban áll"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Előkészülés"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Csatlakozás"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Fogadás"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Küldés"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Kész"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Sikertelen"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Megszakítva"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/mp"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "Ki ő (&Whois)"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Verzió (Version)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Op adása"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Op felvétele"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "FélOp adása"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "FélOp felvétele"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Beszédjog adása"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Beszédjog felvétele"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Módok"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Kirúgás"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Kirúgás és tiltás"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Becenév tiltása"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "*!*@*.hoszt tiltása"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "*!*@domain tiltása"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "*!felhasználó@*.hoszt tiltása"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "*!felhasználó@domain tiltása"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "*!*@*.hoszt kirúgása és tiltása"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "*!*@domain kirúgása és tiltása"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr " *!felhasználó@*.host kirúgása és tiltása"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "*!felhasználó@domain kirúgása és tiltása"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Kirúgás / Tiltás"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Figyelmen kívül hagyás"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+#, fuzzy
+msgid "Unignore"
+msgstr "Figyelmen kívül hagyás"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "&Kérés nyitása"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "D&CC társalgás nyitása"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "&Fájl küldése..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Email küldé&se..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Címjegyzék hozzárendelések"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+#, fuzzy
+msgid "Add to Watched Nicks"
+msgstr "Megfigyelt becenév szerkesztése"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Ez megmutatja az összes embert a csatornában."
+"<br>Általában egy ikon jelzi minden személy állapotát, de nem úgy tűnik, hogy "
+"lenne ikontéma telepítve. Nézze meg a Konversation beállításait - <i>"
+"A(z) Konversation beállítása</i> a <i>Beállítások</i> "
+"menü alatt. Azután nézze meg a <i>Témák</i> oldalt a <i>Megjelenés</i>"
+"-ben.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Ez megmutatja az összes embert a csatornában. Minden személy beceneve "
+"megjelenik az állapotával együtt."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Ennek a személynek adminisztrátor jogosultságai vannak.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Ez a személy csatornatulajdonos.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Ez a személy csatorna operátor.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Ez a személy csatorna fél-operátor.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Ennek a személynek beszédjoga van, ennélfogva tud beszélni moderált "
+"csatornában.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Ennek a személynek nincsenek különleges jogai.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Ez jelöli, hogy a felhasználó jelenleg távol van.</td></tr></table>"
+"<p>Az admin, tulajdonos, félop jelentése változó a különböző IRC kiszolgálókon."
+"<p>A becenévre való rámutatással megjelenik annak állapota, valamint a "
+"címjegyzék hozzátartozó információit a személlyel kapcsolatban. Nézze meg a "
+"Konversation kézikönyvét a további információhoz.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Kapcsolat szerkesztése..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Hozzárendelések választása / megváltoztatás..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Kapcsolat választása..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Hozzárendelés változtatása..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Új kapcsolat létrehozása..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Hozzárendelés törlése"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Csatorna"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Kérés"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Felhívás"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Kivétel"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr ""
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Ma"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Tegnap"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (azonosítva)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Email"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Hosztmaszk:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Távolléti üzenet:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(ismeretlen)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Ez óta elérhető:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Kattintson idea Reguláris Kifejezés Szerkesztő (KRegExpEditor) indításához"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+"Kattintson idea Reguláris Kifejezés Szerkesztő (KRegExpEditor) indításához"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:59
+#, fuzzy
+msgid "Incoming"
+msgstr "Kódo&lás:"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr ""
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Belépés csatornára itt: %1 "
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Gyors kapcsolódás"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Szerver hoszt:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Írja ide a hálózat kiszolgálóját."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "A port, amit az IRC kiszolgáló használ."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Bece&név:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "A becenév, amit szeretne használni."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Jelszó:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Ha az IRC kiszolgáló jelszót igényel, írja ide (a legtöbb kiszolgáló nem "
+"igényel jelszót.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SS&L használata"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Kapcs&olódás"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Kapcsolódás kiszolgálóhoz"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Nem tudok socketet megnyitni"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "DCC társalgási kapcsolat ajánlat ide: %1 a(z) %2 porton..."
+
+#: src/dccchat.cpp:148
+#, fuzzy
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC társalgás %1 számára a(z) %2 porton"
+
+#: src/dccchat.cpp:160
+#, fuzzy
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "DCC társalgás kapcsolat lérehozása %1 (%2:%3) számára..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, fuzzy, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "DCC társalgás kapcsolat lérehozása %1 (%2:%3) számára..."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Kapcsolat megszakadt, hibakód: %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Ismeretlen CTCP-%1 kérés érkezett innen: %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Nem tudom elfogadni a klienst."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Alapértelmezett ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Kiszolgálólista"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr ""
+"Kattintson ide a kiválasztott IRC hálózathoz és csatornához való "
+"kapcsolódáshoz."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Ez megmutatja a beállított IRC hálózatokat. Egy IRC hálózat az összedolgózó "
+"kiszolgálók halmazát jelenti. Elég csak az egyik kiszolgálóhoz a hálózatban "
+"kapcsolódni, és az egész IRC hálózat elérhető lesz. Ha egyszer már "
+"csatlakozott, a Konversation automatikusan fog kapcsolódni a megjelenített "
+"csatornákba.Ha a Konversation először fut, a Freenode hálózat és a <i>#kde</i> "
+"csatornát már megadtuk Önnek."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Hálózat"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Személyazonosság"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Csatornák"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Új..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Kattintson ide új hálózat definiálásához, beleértve a kiszolgálót, amihez "
+"kapcsolódni akar, és a csatornát, ahova automatikusan be szeretne lépni, ha "
+"kapcsolódott."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "Sz&erkesztés..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Cs&atlakozás az alkalmazás indításakor"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Új hálózat"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Hálózat szerkesztése"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1 nem törölhető.\n"
+"\n"
+"A(z) %2 hálózatnak szüksége van legalább 1 kiszolgálóra. "
+
+#: src/serverlistdialog.cpp:295
+#, fuzzy
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Nem törölhetőek a kiválasztott kiszolgálók.\n"
+"\n"
+"A(z) %2 hálózatnak szüksége van legalább 1 kiszolgálóra. "
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Biztosan törölni szeretné a kiválasztott elemeket?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Biztosan törölni szeretné %1-t?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Utolsó megjelenítése:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Használja ezt a mezőt a napló maximum méretének beállításához. Ez a beállítás "
+"nem fog érvénybe lépni a Konversation újraindításáig. Minden naplófájlnak lehet "
+"egy másodlagos beállítása."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Naplófájl ürítése"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"A naplófájl üzenetei itt megjelennek. A legrégebbi üzenetek a felűl, és a "
+"legfrisebbek alul."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "Biztosan el kívánja vetni a napló információját ennek a fálnak?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Felhívás: A naplófájl elmentésével minden adat mentődik a fájlba, nem csak az "
+"amit éppen lát a nézőkében."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Naplófájl mentése"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Célmappa választása"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Információ"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "DCC társalgási kapcsolat ajánlat ide: %1 a(z) %2 porton..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Újrakapcsolódási kísérletek:"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, fuzzy, c-format
+msgid "Already connected to %1"
+msgstr "Nem sikerült kapcsolódni ide: %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Kapcsolat"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Kiszolgáló szerkesztése"
+
+#: src/connectionmanager.cpp:502
+#, fuzzy
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Kérem töltse ki az <b>ident</b>-jét.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Kérem töltse ki <b>Valódi nevét</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Kérem adjon meg legalább egy <b>Becenevet</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Az Ön identitása \"%1\" nincs helyesen beállítva:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+#, fuzzy
+msgid "Identity Settings"
+msgstr "Identitás beállítások ellenőrzése"
+
+#: src/connectionmanager.cpp:518
+#, fuzzy
+msgid "Edit Identity..."
+msgstr "Identitás hozzáadása"
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identitások"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identitás:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplázás"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Átnevezés"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Általános"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Valódi név:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Adja meg a valódi nevét ide. Az IRC nem szándékozik elrejteni Önt a barátaitól, "
+"vagy ellenségeitől. Tartsa észben, ha gonoszul szeretne viselkedni. egy ál "
+"\"valódi név\" jó lehetőség az Ön nemének elrejtése céljából az ellenszenves "
+"emberekkel szemben, de az Ön számítógépe lekövethető, így Ön sosem lesz "
+"valójában névtelen."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Becenév"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Ez az Ön listája a becenevekről. A becenév az a név, amiről a többi felhasználó "
+"felismeri Önt. Ön választhat bármilyen nevet, amit szeretne. Az első "
+"karakternek betűnek kell lennie.\n"
+"\n"
+"Amióta a beceneveknek egyedinek kell lennie az egész IRC hálózaton keresztül, "
+"az Ön beírt neve lehetséges, hogy elutasítva lesz, ha már más használja azt a "
+"becenevet a kiszolgálón. Írjon be alternatív beceneveket önmagának. Ha az első "
+"választást elutasítja a kiszolgáló, akkor a Konversation meg fogja próbálni az "
+"alternatív beceneveket is."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Hozzáadás..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Szerkesztés..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Auto identitás"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Sz&olgáltatás:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"A szolgáltatás neve lehet <b><i>nickserv</i></b>, vagy egy hálózatfüggő név "
+"mint például <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Jels&zó:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Távollét"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Ha bejelöli ezt a négyzetet, és kiad egy <b>/away</b> "
+"parancsot, egy vízszintes vonal fog megjelenni a csatornában jelölve azt a "
+"pontot amitől Ön távolléti állapotban van. Mások az IRC-n nem látják a "
+"vízszintes vonalat."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Távolléti név:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Adjon meg egy becenevet, ami jelzi hogy Ön távol van. Amikor Ön kiad egy <b>"
+"/away üzenet</b>parancsot bármely identitásban belépett csatornában, a "
+"Konversation automoatikusan meg fogja változtatni az Ön becenevét a távolléti "
+"becenévre. Ez a többi felhasználóval tudatja, hogy Ön távol van a "
+"számítógéptől. Ha Ön kiad egy <b>/away</b> parancsot, amelyik csatornában távol "
+"van, a Konversation automatikusan vissza fogja változtatni az Ön nevét az "
+"eredetire. Ha Ön nem akarja, hogy a neve ne változzon meg automatikusan, amikor "
+"lemegy gép közelből, hagyja üresen."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr "sor"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "Ké&rés aktivitáskor"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Le&töltés automatikus folytatása"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Távolléti üzenet:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Ha bejelöli ezt a négyzetet, a Konversation automatikusan távolléti üzenetet "
+"fog küldeni minden identitás által csatlakozott csatornába. A <b>%s</b> "
+"cserélvelesz az <b>üzenet</b>-tel. Ha Ön végrehajt egy <b>/away</b> "
+"parancsot, a visszatérési üzenet meg lesz jelenítve minden az identitás által "
+"csatlakozott csatornába."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Távoll&éti üzenet:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Vissza&térési üzenet:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Haladó"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "Elő-&Parancssori parancs:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Itt megadhat egy parancsot, amely végre lesz hajtva a kiszolgálóhoz való "
+"kapcsolódás előtt"
+"<br>Ha több kiszolgálóI van az identitásban, a parancs egyenként végre lesz "
+"hajtva minden egyes kiszolgálónál"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Ha Ön kapcsolódik, sok kiszolgáló lekéri az Ön számítógépétől az IDENT választ. "
+"Ha az Ön számítógépe nem futtat IDENT kiszolgálót, a választ a Konversation "
+"küldi vissza. A szóközök nem elfogadottak."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "Kódo&lás:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Ez a beállítás a beírt karakterek kódolásának módjával, és a kiszolgálóra való "
+"küldésével van kapcsolatban. Ez azt is befolyásolja, hogy az üzenetek hogy "
+"jelenjenek meg. Ha először nyitja meg a Konversation-t, a beállítás az "
+"operációs rendszertől lesz lekérve. Ha problémája van a többiek üzenetének "
+"megjelenítésével, próbálja megváltoztatni ezt a beállítást."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Tá&vozási ok:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Ha elhagyja ezt a csatornát, ez az üzenet lesz küldve a csatornára."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Tá&vozási ok:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Ha elhagyja ezt a csatornát, ez az üzenet lesz küldve a csatornára."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Kirúgási ok:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Ha Önt kirúgják egy csatornáról (általában egy IRC operátor által), ez az "
+"üzenet lesz küldve a csatornára."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Identitás információ megváltoztatása"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Összes módosítás elvetése"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Önnek legalább egy becenevet hozzá kell adni az identitáshoz."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Becenév hozzáadása"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Becenév:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Becenév szerkesztése"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Identitás hozzáadása"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identitás neve:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Önnek meg kell adni egy identitás neve."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Identitás átnevezése"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Ez az identitás használatban van, ha törli a hálózati beállítások vissza fognak "
+"térni az alapértelmezett identitáshoz. Mindenképpen törölni szeretné?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Minden információt szeretne törölni ezzel az identitással kapcsolatban?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Identitás törlése"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Identitás duplázása"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normál felhasználók"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Beszédjog (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Félop (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operátor (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Csatorna Admin (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Csatorna Tulajdonos (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Karakter beszúrása"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Egy karakter beszúrása"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation címjegyzék szerkesztő"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Nincs szabad port"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Nem tudok socketet megnyitni"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Szöveg keresése..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL másolása a vágólapra"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Hozzáadás címjegyzékhez"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "Lis&ta mentése..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Kérés megnyitása ezzel: %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Belépés a(z) %1 csatornába"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Figyelmeztetés"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Belépés"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Kilépés"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Kérés megnyitása"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Belépés"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Felhaszn&álólista lekérése"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "&Téma lekérése"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Nem találtam előfordulást ehhez \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "Li&sta mentése..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Ki&szolgáló lista..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Hálózatok és kiszolgálók kezelése"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Gyors kap&csolódás..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Írjabe az IRC kiszolgáló címét a csatlakozáshoz"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Újrakapcsolódás"
+
+#: src/konversationmainwindow.cpp:141
+#, fuzzy
+msgid "Reconnect to the current server."
+msgstr "Kapcsolódás kiszolgálóhoz"
+
+#: src/konversationmainwindow.cpp:143
+#, fuzzy
+msgid "&Disconnect"
+msgstr "Leválasztás"
+
+#: src/konversationmainwindow.cpp:145
+#, fuzzy
+msgid "Disconnect from the current server."
+msgstr "Leválasztva a kiszolgálóról."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identitások..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Az Ön becenevének kezelése; távolléti, és egyéb identitás beállítások"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Me&gfigyelt elérhető becenevek"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC állapot"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Napl&ófájl megnyitása"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Megnyitja a teljes előzményét ennek a csatornának egy új fülön"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+#, fuzzy
+msgid "&Channel Settings..."
+msgstr "Egyéb beállí&tások"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+#, fuzzy
+msgid "Channel &List"
+msgstr "Csatornalista"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Kilistázza az összes ismert csatornát a kiszolgálón"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL megfogó"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "AZ URL-ek listái meg lesznek említve egy új fülben"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Új &konzol (Konsole)"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Megnyit egy terminált egy új fülön"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "K&övetkező fül"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "El&őzó fül"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Fül bezárása"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "K&övetkező fül"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+#, fuzzy
+msgid "Move Tab Up"
+msgstr "Fül elmozgatása balra"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+#, fuzzy
+msgid "Move Tab Down"
+msgstr "Fül elmozgatása balra"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Fül elmozgatása jobbra"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Fül elmozgatása balra"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Be&lépés csatornába"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Figyelmeztetések engedélyezése"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Be&lépés csatornába"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Kódolás beállítása"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "%1 fülre ugrás"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "&Lista törlése"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Az aktuális fülnek törli a tartalmát"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Ablak kiür&ítése"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Az aktuális fülnek törli a tartalmát"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Minden &ablak kiürítése"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Az összes megnyitott fülnek törli a tartalmát"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Belépés csatorn&ára..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC szín..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Beállítja a színét az Ön aktuális IRC üzenetének"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "So&r megjegyzése"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Vizszíntes vonalat helyez el az aktuális fülben, amit csak Ön láthat"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Spe&ciális karakter..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Bármilyen karaktert beszúr az aktuális IRC üzenetbe"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Minden megnyitott kérés bezárás&a"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Becenévlista elrejtése"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+#, fuzzy
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>A főablak bezárásával a Konversation tovább fog futni a rendszertálcán. "
+"Használja <b>Kilépés</b>-t a <b>Konversation</b> menüjéből a az alkalmazásból "
+"való kilépéshez.</p>"
+"<p>"
+"<center><img source=\"systray_shot\"></center></p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Beépülés a rendszertálcába"
+
+#: src/konversationmainwindow.cpp:490
+#, fuzzy
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Ez el fogja telejesen rejteni a menüsort. Megjelenítheti ismételten ezen "
+"parancs beírásával: %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+#, fuzzy
+msgid "Toggle Notifications"
+msgstr "Figyelmeztetések engedélyezése"
+
+#: src/konversationmainwindow.cpp:540
+#, fuzzy
+msgid "Toggle Away Globally"
+msgstr "Távollét globális&an"
+
+#: src/konversationmainwindow.cpp:541
+#, fuzzy
+msgid "Insert &IRC Color..."
+msgstr "&IRC szín..."
+
+#: src/konversationmainwindow.cpp:542
+#, fuzzy
+msgid "Insert Special &Character..."
+msgstr "Spe&ciális karakter..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "So&r megjegyzése"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Csatornalista"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Távollét globális&an"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Nyers"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Használat: %1JOIN <csatorna> [jelszó]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Használat: %1KICK <becenév> [ok]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1 KICK csak csatornákon belülről működik."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART paraméterek nélkül csak csatornán belűl működik, vagy kérésben."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART csatornanév nélkül csak csatornán belül működik."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC paraméterek nélkül csak csatornán belűl működik."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC csatorna név nélkül csak csatornán belűl működik."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES célpont nélkül lehet hogy leválasztja Önt a kiszolgálóról. Válasszon "
+"'*'-t, ha tényleg ezt akarja."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Használat: %1NOTICE <címzettek> <üzenet>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Használat: %1AME szöveg"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "CTCP-%1 kérés küldése %2 számára."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "\"%1\" fájl nem létezik."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Használat: %1DCC [SEND becenév fájlnév]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Használat: %1DCC [CHAT becenév]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"Ismeretlen parancs: %1DCC %2. Lehetéseges parancsok: SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Használat: %1INVITE <becenév> [csatorna]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE paraméterek nélkül csak csatornákon belűl működik."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 nem egy csatorna."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Használat: %1EXEC <szkript> [paraméter lista]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "A szkriptnév nem tartalmazhat \"../\"-t!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Használat: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "A jelenlegi figyelmeztetési lista üres."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Jelenlegi frissítési lista: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Kérem adjon meg egy felhasználónevet, és egy jelszót az IRC operátor "
+"privilégiumokhoz:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC operátor jelszó"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN csatornanév nélkül csak csatornán belűl működik."
+
+#: src/outputfilter.cpp:1196
+#, fuzzy
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1BAN csatornanév nélkül csak csatornán belűl működik."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Használat: %1BAN [-HOST | -DOMAIN] [csatorna] <felhasználó|maszk>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Használat: %1BAN [-HOST | -DOMAIN] [csatorna] <felhasználó|maszk>"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN csatornanév nélkül csak csatornán belűl működik."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Használat: %1UNBAN [csatorna] minta"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 hozzáadva az Ön kiadási listájához."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+"Hasznalat: %1IGNORE [ -ALL ] <felhasználó 1> <felhasználó 2> ... <felhasználó n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+"Használat: %1UNIGNORE <felhasználó 1> <felhasználó 2> ... <felhasználó n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 eltávolítva az Ön kihagyási listájáról."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Nem találom a kihagyást: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Nem találom a kihagyásokat: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Használat: %1QUOTE parancslista"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Használat: %1SAY szöveg"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Használat"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Használat: %1AME szöveg"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Használat: %1AMSG szöveg"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Használat: %1OMSG szöveg"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "\"%1\" felhívás küldése%2 számára."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Használat: %1ONOTICE szöveg"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Jelenlegi frissítési lista: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Kódolás beállítása"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 nem egy csatorna."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1 kulcsa sikeresen törölve."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1 kulcsa sikeresen törölve."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 kulcsa sikeresen törölve."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Használat: %1DNS <becenév>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 feloldva: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Nem sikerült feloldani: %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+"A visszafelé feloldáshoz KDE 3.5.1 verzió, vagy magasabb szükségeltetik."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Használat: %1KICK <becenév> [ok]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>A beviteli mező az, ahova Ön a csatornára küldeni kívánt üzeneteket, "
+"kéréseket, kiszolgálót írja. A csatornára küldött üzenet mindenki számára "
+"látható, habár a kérésben található üzenet csak a kérésben szereplő személynek "
+"lesz elküldve."
+"<p>Ön használhat speciális parancsokat:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>akció</i></th>"
+"<td>tudat egy akciót a csatornának, vagy kérésnek. Például: <em>"
+"/me énekel egy dalt</em> úgy fog megjelenni a csatornában, mint 'Becenév énekel "
+"egy dalt'.</td></tr>"
+"<tr>"
+"<th>/whois <i>becenév</i></th>"
+"<td>megmutatja a személy információit, beleértve, hogy melyik csatornában "
+"tartózkodik éppen.</td></tr></table>"
+"<p>A többi parancshoz nézze meg a Konversation kézikönyvét."
+"<p>Az üzenet maximum 512 betű hosszú lehet, és nem tartalmazhat több sort.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Ön éppen nagy szövegrészt (%1 bájt, vagy %2 sor) szándékozik beilleszteni a "
+"társalgásba. Ez kapcsolat újraindulást, vagy flood kirúgást okozhat. Biztosan "
+"folytatni akarja?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Hosszú beillesztési figyelmeztetés"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Egy felhasználóbarát IRC kliens"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Kiszolgáló kapcsolódáshoz"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port használathoz"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kapcsolódás után belépendő csatorna"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Használni kívánt becenév"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Jelszó a kapcsolathoz"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "SSL használata a kapcsolathoz"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 a Konversation csapata"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"A Konversation egy kliens az Internet Relay Chat (IRC) protokollhoz.\n"
+"Találkozzon a barátaival az interneten, hozzon létreúj ismeretségi kört, és "
+"merüljön le a\n"
+"kedvenc témáiban."
+
+#: src/main.cpp:62
+#, fuzzy
+msgid "Original Author, Project Founder"
+msgstr "Eredeti szerző/Projekt alapító"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Karbantartó"
+
+#: src/main.cpp:64
+#, fuzzy
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Másodlagos-karbantartó, felhasználói reakciók, hálózati seamtika, "
+"protokollkezelés"
+
+#: src/main.cpp:65
+#, fuzzy
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC újraírás, kódolás fejlesztések, OSD pozicionálás"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr ""
+
+#: src/main.cpp:67
+#, fuzzy
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish támogatás, SSL támogatás, KNetwork-re átírás, Szines becenevek, "
+"Ikontéma támogatás"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refactoring, KAddressBook/Kontact integráció"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Többszörös mód bővítések, widget elhelyezés bezárása, OSD működés"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentáció, \"Megfigyelt elérhető becenevek\" fejlesztések, Egyéni "
+"webböngésző bővítmény"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Szín beállító, Kiemelési dialógus"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP interfész"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Nem-Latin1-kódolások"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Parancsértelmező rész nézet"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Gyors kapcsolódás, Új OSD portolása, más tulajdonságok, és hibajavítások"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Sok javítás és kód tisztítás"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Húzd és ejtsd fejlesztések"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Művészet"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox stílusú keresési eszköztár"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Nyers módok, fül csoportosítás, kitiltás lista"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Rendszertálca javítófolt"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Hibajavítások"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Bővített felhasználómódok javítófolt"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Látható fül bezárása parancsikonnal javítófolt"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Fülök között lapozás egérgörgővel"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Csatorna tulajdonosi módok javítófolt"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC színszűrés opció"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Hibajavítások, OSD munka, témák tisztítása"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Rendszerinfo szkript"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "CTCP-PING kérés fogadva innen: %1 csatorna: %2, válasz küldése."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "CTCP-%1 kérés fogadása innen: %2, válasz küldése."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Verziólekérés fogadva innen: %1 csatorna: %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Verziólekérés fogadva innen: %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Verziólekérés fogadva innen: %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Verziólekérés fogadva innen: %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Verziólekérés fogadva innen: %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Verziólekérés fogadva innen: %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Ismeretlen DCC parancs: %1 fogadva innen: %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Ismeretlen CTCP-%1 kérés fogadva innen: %2 csatorna: %3"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Ismeretlen CTCP-%1 kérés érkezett innen: %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 ide: %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "CTCP-PING válasz fogadva innen: %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "CTCP-%1 válasz fogadva innen: %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Meghívás"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 meghívott a(z) %2 csatornába"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Üdvözlés"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "%1 kiszolgáló (Verzió: %2), Felhasználómódok: %3, Csatornamódok: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Támogatás"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Csatornamódok: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "téma védés"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "nincs üzenet kívülről"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "titkos"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "csak meghívás"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privát"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderált"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "jelszó által védett"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "névtelen"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "kiszolgáló újraop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "nincs szín megengedve"
+
+#: src/inputfilter.cpp:833
+#, fuzzy, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"korlátozva %n felhasználóra\n"
+"korlátozva %n felhasználóra"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Mód"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1 csatornalistája"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Létrehozva"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Ez a csatorna létrejött: %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Ki ő (Whois)"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 bejelentkezett mint %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nevek"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Vége a NAMES listának."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "%1 csatornába nincs beállítva téma."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Téma"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "%1 csatorna témája: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "A témát beállította %1 ekkor: %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "%1 témáját beállította %2 ekkor: %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 aktuálisan %2 kiszolgálót használja."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: becenév/csatorna nem található."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Nem találom a becenevet: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Csatorna nem található."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Becenév"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "A becenév már használatban van, probáljon másikat."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Becenév már használatban. %1 probálása."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Hibás becenév. Becenév váltása erre: %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Ön nincs itt: %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "A nap üzenete:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "A nap üzenetének vége"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Ön IRC operátor ezen a kiszolgálón."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Felhasználók"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Jelenlegi felhasználók a hálózaton: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Jelenlegi felhasználók itt: %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Távollét"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 távol van: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Ön meghívta %1 felhasználót a(z) %2 csatornába."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+#, fuzzy
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 is %2&#64;%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 feloldva (%2) a címre: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Nem lehet feloldani a címet %1 (%2) számára"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 egy azonosított felhasználó."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Ki (Who)"
+
+#: src/inputfilter.cpp:1269
+#, fuzzy
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 is %2&#64;%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr "(Távollét)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Vége a /WHO listának %1 számára"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 felhasználó a csatornán: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1felhasználónak beszédjoga van a csatornán: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 félop a csatornán: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 operátor a csatornán: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 csatornatulajdonos: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 csatornaadmin: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 elérhető ezen keresztül: %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 elérhető segítségért."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (IRC Operátor)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, fuzzy, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 nap\n"
+"%n nap"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, fuzzy, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 óra\n"
+"%n óra"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, fuzzy, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 perc\n"
+"%n perc"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, fuzzy, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 másodperc\n"
+"%n másodperc"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 tétlen ezóta: %2, %3, %4, és %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 tétlen ezóta: %2, %3, és %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 tétlen ez óta: %2 és %3."
+
+#: src/inputfilter.cpp:1519
+#, fuzzy
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 tétlen 1 másodperce.\n"
+"%1 tétlen %n másodperce."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 elérhető ez óta: %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Vége a WHOIS listának."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Felhasználóhoszt"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC Operátor)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (távol)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Csatornalista:"
+
+#: src/inputfilter.cpp:1617
+#, fuzzy
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n felhasználó): %2\n"
+"%1 (%n felhasználó): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Vége a csatornalistának."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Tiltólista: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 beállította %2 ekkor: %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Vége a tiltólistának."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 jelenleg nem elérhető."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Ismeretlen parancs."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Nem regisztrált."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Ez a parancs több paramétert igényel."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Ön csatornamódot állított be: -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " módot állított be: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Alapértelmezett identitás"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Megfigyelt becenév szerkesztése"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Hálózat &neve:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Válasszon egy kiszolgálóhálózatot, ahova csatlakozni akar."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Becen&év:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>A megfigyelt becenév, amikor kapcsolódunk egy kiszolgálóra a hálózaton.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Figyelmezetési információ megváltoztatása"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Nem sikerült a(z) %1 kiszolgálóhoz kapcsolódni: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"a titkosított SSL kommunikáció funkciója nem elérhető a KOnversation számára, "
+"mert az OoenSSL támogatás nem lett engedélyezve fordításkor. Önnek a KDE új "
+"verziójára van szüksége, ami tartalmazza az SSL támogatást."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Az SSL bizonyítvány, amit a kiszolgáló visszaadott nem lehetett felismerni. "
+"Lehet hogy ez a kiszolgáló nem támogatja az SSL-t az adott porton? Ha ez a "
+"kiszolgáló támogatja a normál, nem-SSL kommunikációt is, az SSL más porton "
+"lesz."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"A(z) %1 kiszolgáló IP címe nem egyezik meg a bizonyítványban feltüntetettel."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Kiszolgáló hitelesítés"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Részletek"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "A kiszolgáló (%1) bizonyítványa nem ment át a hitelesítési teszten."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Szeretné mindig elfogadni ezt a bizonyítványt kérdés nélkül?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Mindig"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Csak erre a folyamatra"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Kiemelés] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Kérés) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 belépett ide: %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 távozott innen: %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 kilépett innen: %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 megváltoztatta a becenevét erre: %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 szeretne egy fájlt küldeni Önnek"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 társalgást (kérés) kezdett Önnel."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 elérhető (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 már nem elérhető (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Ön ki lett rúgva %1 által innen: %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 dcc társalgást indított Önnel"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Kiemelés] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Nem sikerült kapcsolódni ide: %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Ön belépett ide: %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "A kifejezés nem található"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Elrejtett keresés"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Hálózati interfész"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Válasz az IRC kiszolgálótól"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Megadás kézileg"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC színválasztó"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Nincs"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "Ki&szolgáló:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "A server.irchelp.org neve vagy IP címe kiszolgálólistát tart karba."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Adjon meg egy port számot a kiszolgálóhoz való kapcsolódáshoz. A legtöbb "
+"kiszolgálónál ez <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Jelszó:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "&Biztonságos kapcsolat (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Jelölje be, ha használni akarja a Secure Socket Layer (SSL) protokollt a "
+"kiszolgálóval való kommunikációhoz. Ez megvédi az Ön kommunikációjának titkait "
+"a számítógépe és az IRC kiszolgáló között. A kiszolgálónak támogatnia kell az "
+"SSL protokollt, hogy működjön. A legtöbb esetben, ha a kiszolgáló nem támogatja "
+"az SSL-t, a kapcsolat meghiusul."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "A kiszolgáló címe szükséges."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Az admin letiltotta a fájlok küldését"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Az url \"%1\" nem létezik"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Nem tudom lekérni: \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Fájlnév megadása"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>A fájl amit éppen küld ide: <i>%1</i> nem tartalmaz fájlnevet."
+"<br>Kérem adjon meg egy fájlnevet a fogadónak való megjelenítéshez, vagy "
+"szakítsa meg a dcc átvitelt</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Nem volt fájlnév megadva"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Várakozás a távoli felhasználó elfogadására"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Nem tudom elfogadni a kapcsolatot. (Socket hiba)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Nem tudom megnyitni a fájlt: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Socket hiba: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Időtúllépés"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Kapcsolat hiba: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Távoli felhasználó leválasztva"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "A művelet sikerült. Nem kellene megtörténnie hiba ablaknál."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Nem lehet a fájlból olvasni: \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Nem tudok a fájlba írni: \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Helyreállíthatatlan fatális hiba történt."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Nem tudom megnyitni a fájlt: \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "A művelet váratlanul megszakadt."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "A művelet közben időtúllépés történt."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Nem megadott hiba történt a bezárásnál."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Ismeretlen hiba. Kód: %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC %1 : %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "DCC fogadási kérdés"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "ismeretlen méret"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 belépett ide: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 távozott innen: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 távozott innen: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr "mp"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Parancsértelmező (Konsole)"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Kész."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Ez megmutatja a felhasználók számát a csatornában, és az operátorok (opok) "
+"számát."
+"<p>Egy csatornaoperátor egy olyan felhasználó, akinek speciális jogai vannak, "
+"mint a felhasználó kirúgás és a kitiltás lehetősége, csatornamódok "
+"változtatása, és a többi felhasználók operátorrá való tétele</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Akadás (lag): Ismeretlen"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Minden kommunikáció a kiszolgálóval titkosítva van. Ez megnehezíti, hogy más "
+"lehelgassa az Ön kommunikációját."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Az állapotsor különbözű üzeneteket tartalmaz, beleértve minden kapcsolódási "
+"problémát a kiszolgálóhoz. A kiszolgáló késleltetése i megjelenik. A "
+"késleleltetés azt jelenti, hogy az üzenetek Öntől mennyi ideig érkeznek meg a "
+"kiszolgálórar, és a kiszolgálótól Önig.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Akadás (lag): %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Akadás (lag): %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Nincs válasz a(z) %1 kiszolgálótól ez óta: %2, %3, %4, és %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Nincs válasz a(z) %1 kiszolgálótol ez óta: %2, %3, és %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Nincs válasz a(z) %1 kiszolgálótol ez óta: %2, és %3."
+
+#: src/konversationstatusbar.cpp:205
+#, fuzzy
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Nincs válasz a(z) %1 kiszolgálótól több mint 1 másodperce.\n"
+"Nincs válasz a(z) %1 kiszolgálótól több mint %n másodperce."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "%1:%2 kiszolgálót keresem..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "%1 kiszolgáló nem található. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Kiszolgáló megtalálva, kapcsolódás..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Kapcsolódva; bejelentkezés..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Nem sikerült a(z) %1 kiszolgálóhoz kapcsolódni: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Nem tudok kapcsolódni ide: %1:%2 SSL titkosítás használatával. Talán ez a "
+"kiszolgáló nem támogatja az SSL-t, vagy rossz portot adott meg. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL kapcsolódási hiba"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Leválasztva a kiszolgálóról."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+#, fuzzy
+msgid "Nickname error"
+msgstr "Becenév"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Hiba történt a kiszolgálóról: %1 való adat olvasáskor."
+
+#: src/server.cpp:1636
+#, fuzzy, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Válasszon fájlt a küldéshez Cél: %1"
+
+#: src/server.cpp:1711
+#, fuzzy
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 elérhető ezen keresztül: %2 (%3)."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "ismeretlen méret"
+
+#: src/server.cpp:1742
+#, fuzzy
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1 elérhető ezen keresztül: %2 (%3)."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Kérvénytelen folytatási kérés érkezett a fájlhoz \"%1\" (pozíció: %2) innen: "
+"%3."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Kérvénytelen folytatási kérés érkezett a fájlhoz \"%1\" (pozíció: %2) innen: "
+"%3."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+"Kérvénytelen folytatási kérés érkezett a fájlhoz \"%1\" (pozíció: %2) innen: "
+"%3."
+
+#: src/server.cpp:1887
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "DCC fájletöltés \"%1\" sikerült."
+
+#: src/server.cpp:1890
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "DCC fájlletöltés \"%1\" sikertelen. ok: %2"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "DCC fájlfeltöltés \"%1\" sikertelen. ok: %2"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr ""
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "Ön meg lett hívva %1 által a(z) %2 csatornába. Elfogadja a meghívást?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Meghívás"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Hiba: Nem halálom a szkriptet \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Hiba: Nem tudom futtatni a szkriptet \"%1\". Ellenőrizze a fájl jogosultságait."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Most elmegy gépközelből."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Ön most már távollétiként van megjelölve."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Ön már nincs megjelölve távollétiként."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Ön nincs megjelölve távollétiként."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Megfigyelt elérhető becenevek"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Hálózat/Becenév/Csatorna"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Bővebb információ"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Ez az összes becenév az Ön Becenév figyelési listáján, megjelenítve a "
+"kiszolgálóhálózat alatt, ahova kapcsolódnak. A lista természetesen tartalmazza "
+"azokat a beceneveket, amelyek társítva vannak a KAddressBook-ban a kiszolgáló "
+"hálózattal.</p>"
+"<p>A <b>Bővebb információ</b> mező tartalmazza az ismert információkat "
+"mindegyik becenévhez.</p>"
+"<p>A becenevek mellett láthatóak azok a csatornák, ahova a felhasználó "
+"belépett.</p>"
+"<p>A <b>Nem elérhető</b>-ként feltüntetett becenevek nem csatlakoznak a "
+"hálózatban lévő egyik kiszolgálóhoz sem.</p>"
+"<p>Jobb egérkattintás a becenévre előhoz egyéb funkciókat.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "Figy&elési lista szerkesztése..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Kattintson a megjelenő becenevekre a képernyőn."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Címjegyzék:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Amikor kiválaszt egy becenevet a felső listából, a gombok használhatóak lesznek "
+"becenév bejegyzéssel való társítással a Címjegyzékben (KAddressBook)."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Kapcs&olat szerkesztése..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Kattintson a felül kiválaszott becenév KAddressBook bejegyzésének "
+"létrehozásához, nézetéhez, vagy szerkesztéséhez."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Hozz&árendelés módosítása..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Kattintson a felül kiválasszott becenév KAddressBook bejegyzéssel való "
+"társításához."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "Hozzáren&delés törlése"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Kattintson a kijelölt becenév és a KAddressBook bejegyzés közti hozzárendelés "
+"törléséhez."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " elérhető ezen keresztül: %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " ezóta: %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Nem elérhető"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr "Beszédjog"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr "FélOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr "Operátor"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr "Tulajdonos"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr "Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Új kapcs&olat létrehozása..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "Hotzzárendel&és választása..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "Be&lépés csatornába"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Hangfájl választása"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Naplófájl elindult\n"
+"*** itt: %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Automatikus csatornába belépés meghíváskor"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Figyelmeztetés, hogy naplófájlok mentésénél az egész fájl mentődik"
+
+#: src/warnings_preferences.cpp:107
+#, fuzzy
+msgid "Ask before deleting logfile contents"
+msgstr "kérdés naplófájl tartalmak törlése előtt"
+
+#: src/warnings_preferences.cpp:108
+#, fuzzy
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Kérdés bezárási kéréseknél becenév figyelmenkívül hagyás után"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr ""
+"<qt>A megfigyelt becenév, amikor kapcsolódunk egy kiszolgálóra a hálózaton.</qt>"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr ""
+"<qt>A megfigyelt becenév, amikor kapcsolódunk egy kiszolgálóra a hálózaton.</qt>"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Kiszolgáló fül bezárása"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Csatorna fül bezárása"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Kérés fül bezárása"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "A csatornalistát csak kiszolgáló fülből lehet megnyitni"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Figyelmeztetés a főablak menü elrejtésekor"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Figyelmeztetés a csatornalista nagy átvitelénél"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Figyelmeztetés nagy szövegrészletek beillesztésénél"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Figyelmeztetés nagy szövegrészletek beillesztésénél"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Csatornalista"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Szűrőbeállítások"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "M&inimum felhasználó:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Ma&ximum felhasználó:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Itt tudja limitálni a csatornalistát azokra a csatornákra, ahol legkevesebb "
+"ennyi ember van. A 0 választása letiltja ezt a lehetőséget."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"tt tudja limitálni a csatornalistát azokra a csatornákra, ahol legfeljebb ennyi "
+"ember van. A 0 választása letiltja ezt a lehetőséget."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "&Szűrőminta:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Szűrő célja:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Kérem adjon meg egy szűrősztringet ide."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&Regurális kifejezés"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "Sz&űrő alkalmazása"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "Kattintson ide a csatornalista lekéréshez és a szűrő alkalmazásához."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"A csatornák szűrt listája itt jelenik meg. Figyelem: Ha Ön nem használ "
+"regurális kifejezéseket, a Konversation ki fog listázni minden olyan csatornát, "
+"amí tartalmazza a szűrő sztringet, amit Ön megadott. A catorna nevének nem kell "
+"a megadott sztringel kezdődnie.\n"
+"\n"
+"Válasszon egy csatornát, ahova rákattintáskor be akar lépni. A csatornára való "
+"jobb kattintáskor Ön megkap minden webcímet, amely elhangzott a csatorna "
+"témájában."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Csatorna neve"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Csatorna témája"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "Lista &frissítése"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "Lis&ta mentése..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "Be&lépés csatornába"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Kattintson ide a csatornába való belépshez. Egy új fül lesz létrehozva a "
+"csatornának."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Csatornalista mentése"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation Csatornalista: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Csatornák: %1 (%2 megjelenítve)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Nem egyéni felhasználók: %1 (%2 megjelenítve)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL megnyitása"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Nem találtam URL-t>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 csatornalistája"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Elérhető"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t azonnali "
+"üzenetküldéshez, de nem adott meg egyetlen kapcsolatot sem üzenetküldéshez. Ez "
+"egy lehetséges hiba a másik alkalmazásban."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t azonnali "
+"üzenetküldéshez, de a Konversation nem találja a megadott kapcsolatot a KDE "
+"címjegyzékben."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t azonnali "
+"üzenetküldéshez, de a(z) %1 felhasználó nem elérhető."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t fájl küldéséhz, de nem "
+"adott meg egyetlen kapcsolatot sem a fájlküldéshez. Ez egy lehetséges hiba a "
+"másik alkalmazásban."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t fájlküldéshez, de a "
+"Konversation nem találja a megadott kapcsolatot a KDE címjegyzékben."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t fájlküldéshez, de a(z) "
+"%1 felhasználó nem elérhető."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Más KDE alkalmazás próbálta használni a Konversation-t kapcsolat felvételéhez, "
+"de a Konversation nem támogatja ezt."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Nem lehet futtatni az ön címjegyzék programját (kaddressbook). Ez leginkább "
+"azért lehet, mert nincsen feltelepítve. Kérem telepítse a 'kdepim' csomagokat."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "A kiválaszott kapcsolatnak nincsen hozzárendelt Email címe."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Nem tudok Emailt küldeni"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Nem tudom az Ön email programját futtatni. Ez azért lehetséges, mert nincs "
+"telepítve. A KDE email program (kmail) program telepítéséhez telepítse a "
+"'kdepim' csomagokat."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Az Ön által kijelölt kapcsolatok közül egyik sincsen hozzárendelve címjegyzék "
+"kapcsolattal."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "A kijelölt kapcsolat nincs társítva egy címjegyzék kapcsolattal sem."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Néhány kapcsolat (%1), amit Ön kiválaszott nincs társítva egyetlen címjegyzék "
+"kapcsolattal sem. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Egy kapcsolat (%1), amit Ön kijelölt nincs társítva egyetlen címjegyzék "
+"hozzárendeléssel sem."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Ön kattinthat jobb gombbal a kapcsolatra, és választhatja a Címjegyzék "
+"hozzárendelés szerkesztését a kapcsolat címjegyzékkel való összekapcsolásához."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Egy kijelölt kapcsolatnak sincsen email email címe hozzárendelve."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Néhány kijelölt kapcsolatnak (%1) nicsen email email címe hozzárendelve."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "Egy kijelölt kapcsolatnak (%1 nicsen email email címe hozzárendelve."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Ön jöbb gombbal kattinthat a kapcsolatra, és választhatja a címjegyzék "
+"kapcsolat szerkesztését, az email hozzáadásához."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Néhány kapcsolat (%1) amit Ön kijelölt nincs hozzárendelve a címjegyzék "
+"kapcsolatokkal, és néhány kapcsolatnak (%2) nincsen email címe hozzárendelve. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Kattinthat jobb egérgombbal a kapcsolatra, és szerkesztheti a címjegyzék "
+"hozzárendeléseket a címjegyzék kapcsolatainak összekapcsolásához, és "
+"választhatja a címjegyzék kapcsolat szerkesztését, az email cím hozzáadásához."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Mindenképpen szeretne küldeni emailt azoknak a személyeknek, amelyeknek van "
+"email címük?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Email küldése"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC becenév összekapcsolása a Címjegyzék kapcsolattal"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Válasszon személyt, aki %1."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "%1 jelenleg hozzárendelve egy kapcsolathoz."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "'%1' jelenleg hozzárendelve a(z) '%2' kapcsolathoz."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Figyelem:</b> '%1' jelenleg több kapcsolathoz van kilistázva. Kérem "
+"válassza ki a helyes kapcsolatot.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Új címjegyzék bejegyzés"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Név az új bejegyzésben:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL elfogó"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Minden Konversation ablakban megemlített egyforma erőforrás lokátor kilistázása"
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL megnyit&ása"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Válassza az <b>URL</b>-t felül, azután kattintson erre a gombra az URL-lel "
+"társított alkalmazás elindításához.</p>"
+"<p>A <b>Beállítások</b>-ban, a <b>Viselkedés</b> alatt | <b>Általános</b>"
+"-ban válassza ki az egyéni webböngészőt a web URLekhez.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL &másolása"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Válasszon egy <b>URL</b>-t felül, azután kattintson erre a gombra az URL "
+"vágólapra való másolásához."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL t&örlése"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Válasszon egy <b>URL</b>-t felül, azután kattintson erre a gombra az URL "
+"listából való törléséhez."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Lis&ta mentése..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Kattintson ide az egész listát fájlba való mentéséhez."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Lista törlése"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Kattintson az egész lista törléséhez."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL lista mentése"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Többsoros beillesztés szerkesztése"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Id&ézet jelző hozzáadása"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Csatorna:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "A csatornanév szükséges."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Nyers napló"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Szöveg keresése az aktuális fülön"
+
+#: src/viewcontainer.cpp:545
+#, fuzzy, c-format
+msgid "Channel &List for %1"
+msgstr "%1 csatornalistája"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1 naplófájlának &megnyitása"
+
+#: src/viewcontainer.cpp:576
+#, fuzzy
+msgid "&Channel Settings for %1..."
+msgstr "Csatorna opciók %1 számára"
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Alapértelmezett ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Ön csak szövegmezőkben kereshet."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Szöveginformáció keresése"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 naplófájla"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC állapot"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Ennek a fuknciak a használata sok hálózati terhelést jelenthet. Ha az Ön "
+"kapcsolata nem elég gyors, lehetséges hogy a kliense le lesz választva a "
+"kiszolgálótól."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Csatornalista figyelmeztetés"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"A csatornalistát csak egy kéréstől lehet megnyitni, csatorna vagy állapot ablak"
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Írja be a hálózat nevét ide. Létrehozhat annyi bejegyzést, amennyit csak akar a "
+"Kiszolgáló listázó képernyőn, ugyanolyan hálózattal mint szeretné."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Válasszon egy létező identitást, vagy kattintson a Szerkesztés gombra az új "
+"identitáshoz, vagy egy létező szerkesztéséhez. Az identitás azonosítja Önt és "
+"meghatározza a becenevét, ha kapcsolódik egy hálózathoz."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opcionális. Ez a parancs el lessz küldve a kiszolgálóra kapcsolódás után. "
+"Például: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+". Ez egy példa a freenode hálózatra, ahol szükséges a felhasználóknak "
+"regisztrálni a becenevüket jelszóval együtt, és bejelentkezni amikor "
+"kapcsolódnak. <i>konvirocks<i> a jelszó az identitáshoz adott becenévhez. Ön "
+"megadhat több parancsot is pontosvesszővel elválasztva."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Jelölje be ha szeretné, hogy a Konversation automatikusan csatlakozzon ebbe a "
+"hálózatba, ha elindítja."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Ez az IRC kiszolgáló lista a hálózatban. Amikor kapcsolódik a hálózathoz, a "
+"Konversation először megpróbál csatlakozni a legfelső kiszolgálóhoz. Ha ez nem "
+"sikerül, megpróbálja a másodikat. Ha ez sem sikerül megpróbálja a harmadikat, "
+"és így tovább. Legalább egy kiszolgálót meg kell adni. Kattintson a "
+"kiszolgálóra a kijelöléshez."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opcionális. Ez a csatornák listája, ahova be lesz jelentkezve amikor a "
+"Konversation kapcsolódott a kiszolgálóra. Ön üresen hagyhatja, ha nem akar "
+"automatikusan belépni egy csatornába sem."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Hálózati információ megváltoztatása"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Kiszolgáló hozzáadása"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Kiszolgáló szerkesztése"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Csatorna hozzáadása"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Csatorna szerkesztése"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "A hálózati név szükséges."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Legalább egy kiszolgálót hozzá kell adni a hálózathoz."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation témák"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Témacsomag választása"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Nem sikerült letölteni a témát"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "A témarachívum érvénytelen."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Nem lehet telepíteni a témát"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "El szeretné távolítani ezt %1 ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Téma eltávolítása"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC Kliens"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Címzett választása"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Válasszon becenevet, és zárja be az ablakot"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Ablak bezárása módosítások nélkül"
+
+#: src/konvdcop.cpp:156
+#, fuzzy
+msgid "getNickname: Server %1 is not found."
+msgstr "%1 kiszolgáló nem található. %2"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Az admin megtiltotta a fájlok fogadását"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Nem támogatott egyeztetés (fájlméret = 0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Nem lehet a mappát létrehozni.</b><br>Mappa: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Nem lehetett KIO példányt létrehozni"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Ez a fájl már létezik.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Egy részleges fájl létezik.</b>"
+"<br>%1"
+"<br>A részleges fájl méretee: %2 bájt"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Ez a fájl már létezik.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Nem lehet megnyitni a fájlt.<br>Hiba: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Jelszó a kapcsolathoz"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Várakozás a távoli hoszt elfogadására"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Ismeretlen válasz a távoli hoszttól"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Átviteli hiba"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO hiba: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>A személy néhány részlete társalog ebben a kérésben, ami megjelenik ebben a "
+"sávban. A teljes név és hosztmaszk megjelenik, a KDE címjegyzékben a "
+"személyhez társított képpel, vagy logoval."
+"<p>Nézze meg a <i>Konversation kézikönyv</i>-ben a becenév társítása a "
+"címjegyzék kapcsolatával információt, és a mi a hosztmaszk kifejtését.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(távol)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Figyelmen kívül szeretné hagyni ezt: %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Be szeretné zárni ezt a kérést a becenév figyelmenkívül hagyása után?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Ennek a kérésnek a bezárása"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Tartsa nyitva"
+
+#: src/channel.cpp:638 src/query.cpp:408
+#, fuzzy
+msgid "Do you want to stop ignoring %1?"
+msgstr "Figyelmen kívül szeretné hagyni ezt: %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Alapértelmezett identitás ( %1 )"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Do you want to close your query with %1?"
+msgstr "Be szeretné zárni a kérést ezzel: %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Kérés bezárása"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Beszélgetés magaddal"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+#, fuzzy
+msgid "%1 has left this server."
+msgstr "%1 elhagyta a kiszolgálót: %2."
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1 elhagyta a kiszolgálót: %2."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD Előnézet - húzza az újrapozicionáláshoz"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operátor"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Admin"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Tulajdonos"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Fél-operátor"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Beszédjoga van"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+#, fuzzy
+msgid "Interface"
+msgstr "DCOP interfész"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Viselkedés"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Figyelmeztetések"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Társalgás ablak"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Színek"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Gyors gombok"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Kapcsolat"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Becenév lista"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Parancs álnevek"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Automatikus csere"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Naplózás"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Kiemelés"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Figyelt becenevek"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "OSD"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Figyelmeztető ablakok"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC fogadási kérdés"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Fogadás"
+
+#: src/dccresumedialog.cpp:87
+#, fuzzy
+msgid "O&riginal Filename"
+msgstr "Fájlnév megadása"
+
+#: src/dccresumedialog.cpp:88
+#, fuzzy
+msgid "Suggest &New Filename"
+msgstr "&Új név javaslata"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Fel&ülírás"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "&Átnevezés"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Keresés előrefele"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Nagybetűérzékeny"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Csak egész szavakat"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "A kurzortól"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "&Fül bezárása"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Szeretne szétkapcsolódni innen: %1?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Leválasztás a kiszolgálóról"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Leválasztás"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Állapot"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Folyamat"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Pozícó"
+
+#: src/dcctransferpanel.cpp:84
+#, fuzzy
+msgid "Remaining"
+msgstr "Hátralévő"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Sebesség"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Küldő címe"
+
+#: src/dcctransferpanel.cpp:115
+#, fuzzy
+msgid "Accept"
+msgstr "Elfog&adás"
+
+#: src/dcctransferpanel.cpp:116
+#, fuzzy
+msgid "Abort"
+msgstr "Me&gszakítás"
+
+#: src/dcctransferpanel.cpp:118
+#, fuzzy
+msgid "Open File"
+msgstr "F&ájl megnyitása"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Fogadás elindítása"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Átvitel(ek) megszakítása"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Fájl futtatása"
+
+#: src/dcctransferpanel.cpp:125
+#, fuzzy
+msgid "View DCC transfer details"
+msgstr "DCC részletes információk nézete"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Minden elem kijelölé&se"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Mind&en elkészült elem kijelölése"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "Elfog&adás"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Me&gszakítás"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&Fogadás"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "K&iürítés"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "F&ájl megnyitása"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Fájl&információ"
+
+#: src/channel.cpp:128
+#, fuzzy
+msgid "Edit Channel Settings"
+msgstr "Egyéb beállí&tások"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Minden csatornának az IRC-n van témája. Ez egy egyszerű üzenet, amit "
+"mindenki láthat."
+"<p>Ha Ön egy operátor, vagy a csatorna mód <em>'T'</em> "
+"nincs beállítva, akkor Ön meg tudja változtatni a témát a Csatornatulajdonságok "
+"szerkesztése gombra a téma bal oldalán. Itt megtekintheti az előző témákat "
+"is.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A <b>T</b>éma mód azt jelenti, hogy csak a csatornaoperátor tudja "
+"megváltoztatni a témát a csatornában.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, fuzzy, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A <b>N</b>incs üzenet kívülről azt jelenti, hogy a csatornában nem jelnlévő "
+"felhasználók nem küldhetnek a csatornába mindenkinek szóló üzeneteket. Majdnem "
+"minden csatornán be van ez állítva, így elkerűlehetők a kellemetlen "
+"üzenetek.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A titko<b>S</b> csatorna nem fog megjelenni a csatornalistában, és nem fogja "
+"minden felhasználó látni a <em>WHOIS</em> parancssal, vagy valami hasonlóval, "
+"hogy Ön a csatornában van Csak azok az emberek láthatják, akik ugyanabban a "
+"csatornában vannak mint Ön, ha ez a mód be van állítva.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A Csak meghívás (<b>I</b>) csatorna azt jelenti, hogy csak akkor tud az "
+"ember tud belépni a csatornába, ha meghívták. Valakinek a meghívásához egy "
+"csatornaoperátornak alkalmaznia kell a <em>/invite becenév</em> "
+"parancsot a szobából belűl.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A <b>P</b>rivát csatorna meg fog jelenni a csatornalistában, de a téma nem "
+"jelenik meg. A felhasználó <em>WHOIS</em>-e lehet hogy megmutatja, lehet hogy "
+"nem, hogy a privát csatornában van-e, de ez az IRC kiszolgálótól függ.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A <b>M</b>oderált csatornában csak operátorok, fél-operátorok, és "
+"beszédjoggal rendelkező emberek tudnak beszélgetni.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A védett (<b>P</b>) csatornába csak jelszóval lehet belépni.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Ezek a <em>mód</em> vezérlők itt a csatornán. Csak egy operátor tudja "
+"megváltoztatni ezeket."
+"<p>A felhasználó<b>L</b>imittel rendelkező csatornában sok ember lehet "
+"egyszerre. Néhány csatornánál egy bot van bent, és automatikusan változtatja, a "
+"csatorna terheltségétől függően.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maximum elérhető felhasználó a csatornában"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Ez csatorna felhasználókorlát - a felhasználók maximális száma, ami a "
+"csatornában lehet egyszerre. Ha Ön egy operátor, Ön be tudja állítani. A "
+"csatornamód <b>T</b>éma (gomb balra) automatikusan be lesz állítva, ha ez be "
+"lesz állítva.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Ez megmutatja a jelenlegi becenevet, és minden alternatívát, amit "
+"beállított. Ha Ön választott ,vagy beírt egy becenevet, akkor egy kérés lesz "
+"küldve az IRC kiszolgálóra, hogy változtassa meg az Ön nevét. Ha a kiszolgáló "
+"elfogadja, az új becenév ki lesz választva. Ha Ön írta be a becenevet, egy "
+"Enter-t kell nyomni a végén. "
+"<p>Ön kiválaszthatja az alternatív beceneveket az <em>Identitások</em> "
+"opciót a <em>Fájl</em> menüben.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Figyelmen kívül szeretné hagyni a kiválasztott felhasználókat?"
+
+#: src/channel.cpp:640
+#, fuzzy
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Figyelmen kívül szeretné hagyni a kiválasztott felhasználókat?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Kiegészítés"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Lehetséges kiegészítések: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Csatorna jelszó"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Becenév korlát"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Adjon meg új becenév korlátot:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Ön most már %1 néven ismert."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 most már %2 néven ismert."
+
+#: src/channel.cpp:1269
+#, fuzzy
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Ön most lépett be a(z) %1 (%2) szobába."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1308
+#, fuzzy
+msgid "You have left this server."
+msgstr "Ön most hagyta el a(z) %1 kiszolgálót."
+
+#: src/channel.cpp:1310
+#, fuzzy
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Ön most hagyta el a(z) %1 kiszolgálót."
+
+#: src/channel.cpp:1315
+#, fuzzy, c-format
+msgid "You have left channel %1."
+msgstr "Ön most hagyta el a(z) %1%2 csatornát."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+#, fuzzy
+msgid "%1 has left this channel."
+msgstr "%1 most hagyta el a(z) %2 csatornát."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1378
+#, fuzzy, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Ön kirúgta magát a(z) %1 (%2) csatornából."
+
+#: src/channel.cpp:1381
+#, fuzzy
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Ön kirúgta magát a(z) %1 (%2) csatornából."
+
+#: src/channel.cpp:1388
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Ön ki lett rúgva a(z) %1 csatornából %2 által (%3)."
+
+#: src/channel.cpp:1394
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Ön ki lett rúgva a(z) %1 csatornából %2 által (%3)."
+
+#: src/channel.cpp:1415
+#, fuzzy
+msgid "You have kicked %1 from the channel."
+msgstr "Ön kirúgta %1 felhasználót a csatornából (%2)."
+
+#: src/channel.cpp:1418
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Ön kirúgta %1 felhasználót a csatornából (%2)."
+
+#: src/channel.cpp:1425
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 ki lett rúgva a csatornából %2 által (%3)."
+
+#: src/channel.cpp:1431
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 ki lett rúgva a csatornából %2 által (%3)."
+
+#: src/channel.cpp:1506
+#, fuzzy, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n becenév\n"
+"%n becenév"
+
+#: src/channel.cpp:1507
+#, fuzzy, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n op)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "A csatorna témája \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Ön beállította a csatorna témáját erre: \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 beállította a csatorna témáját erre: \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Ön csatornatulajdonosi jogot adott magának."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Ön csatornatulajdonosi jogokat adott %1 felhasználónak."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 csatornatulajdonosi jogokat adott Önnek."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 csatornatulajdonosi jogokat adott %2 számára."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Ön csatornatulajdonosi jogokat kapott saját magától."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Ön csatornatulajdonosi jogokat kapott %1 felhasználótól."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 csatornatulajdonosi jogokat kapott Öntől."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 csatornatulajdonosi jogokat kapott %2 felhasználótól."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Ön csatornaadminisztrátori jogokat adott saját magának."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Ön csatornaadminisztrátori jogokat adott %1 felhasználónak."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 csatornaadminisztrátori jogokat adott Önnek."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 csatornaadminisztrátori jogokat adott %2 számára."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Ön csatornaadminisztrátori jogokat kapott saját magától."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Ön csatornaadminisztrátori jogokat kapott %1 felhasználótól."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 csatornaadminisztrátori jogokat kapott Öntől."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 csatornaadminisztrátori jogokat kapott %2 felhasználótól."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Ön csatornaoperátori jogokat adott saját magának."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Ön csatornaoperátori jogokat adott %1 felhasználónak."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 csatornaoperátori jogokat adott Önnek."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 csatornaoperátori jogosultságokat adott %2 felhasználónak."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Ön csatornaoperátori jogosultságokat kapott saját magától."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Ön csatornaoperátori jogosultságokat kapott %1 felhasználótól."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 csatornaoperátori jogosultságot kapott Öntől."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 csatornaoperátori jogosultságokat kapott %2 felhasználótól."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Ön csatornaféloperátori jogosultságot adott saját magának."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Ön csatornaféloperátori jogosultságokat adott %1 számára."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 csatornaféloperátori jogosultságokat adott Önnek."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 csatornaféloperátori jogosultságot adott %2 számára."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Ön csatornaféloperátori jogosultságokat kapott saját magától."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Ön csatornaféloperátori jogosultságokat kapott %1 felhasználótól."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 csatornaféloperátori jogosultságokat kapott Öntől."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 csatornaféloperátori jogosultságokat kapott %2 felhasználótól."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "Ön jogokat adott magának beszélni."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "Ön jogokat adott %1 felhasználónak beszélni."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 jogokat adott Önnek beszélni."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 jogokat adott %2 felhasználónak beszélni."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Ön jogokat kapott saját magától beszélni."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Ön jogokat kapott %1 felhasználótól beszélni."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 jogokat kapott Öntől beszélni."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 jogokat kapott %2 felhasználótól beszélni."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Ön beállította a csatorna módját: nincsenek színek engedélyezve."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 beállította a csatorna módját: nincsenek színek engedélyezve."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Ön beállította a csatorna módját: színkódok engedélyezve."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 beállította a csatorna módját: színkódok engedélyezve."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Ön beállította a csatorna módját: csak meghívás."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 beállította a csatorna módját: csak meghívás."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Ön áltávolította a csak meghívás módot a csatornából."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 eltávolította a csak meghívás módot a csatornából."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Ön beállította a csatorna módját: moderált."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 beállította a csatorna módját: moderált."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Ön beállította a csatorna módját: moderálatlan."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 beállította a csatorna módját: moderálatlan."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Ön beállította a csatorna módját: nincs üzenet kívülről."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 beállította a csatorna módját: nincs üzenet kívülről."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Ön beállította a csatorna módját: üzenetek engedélyezése kívülről."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 beállította a csatorna módját: üzenetek engedélyezése kívülről."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Ön beállította a csatorna módját: privát."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 beállította a csatorna módját: privát."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Ön beállította a csatorna módját: publikus."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 beállította a csatorna módját: publikus."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Ön beállította a csatorna módját: titkos."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 beállította a csatorna módját: titkos."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Ön beállította a csatorna módját: látható."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 beállította a csatorna módját: látható."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Ön bekapcsolta a téma védését."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 bekapcsolta a téma védését."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Ön kikapcsolta a téma védését."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 kikapcsolta a téma védését."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Ön beállította a csatorna témáját erre: \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 beállította a csatorna témáját erre: \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Ön levette a csatornalimtet."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 levette a csatornalimitet."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Ön beállította a csatornalimitet %1 becenévre."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 beállította a csatornalimitet %2 becenévre."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Ön levette a csatornalimtet."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 levette a csatornalimitet."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Ön kitiltást állított be: %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 kitiltást állított be: %2"
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Ön levette a kitiltást : %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 levette a kitiltást: %2"
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Ön tiltási kivételt állított be: %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 tiltási kivételt állított be: %2"
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Ön levette a tiltási kivételt: %1"
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 levette a tiltási kivételt: %2"
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Ön meghívási maszkot állított be: %1"
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 meghívási maszkot állított be: %2"
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Ön meghívási maszkot távolított el: %1"
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 meghívási maszkot távolított el: %2"
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Ön csatorna módot állított be: +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 csatornamódot állított be: +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Ön csatornamódot állított be: -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 csatornamódot állított be: -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Önnek operátornak kell lennie ennek a megváltoztatásához."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "A témát csak csatornaoperátor változtahatja meg. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Nincsenek üzenetek a csatornára a kívülről érkező klienseknek. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Titkos csatorna. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Csak meghívásos csatorna. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privát csatorna. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Moderált csatorna. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Csatorna védése jelszóval."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Felhasználólimit beállítása csatornánál."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "El szeretné hagyni ezt: %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Csatorna elhagyása"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Elhagyás"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Kovács András"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "andras@csevego.net"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Sorban áll"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "So&r:"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "bájt"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "Ha&ng:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "So&r:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "bájt"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Normál felhasználók"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Sorban áll"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Sorban áll"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Fogadó:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Gomb neve"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Gomb akció"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, fuzzy, no-c-format
+msgid "Button action:"
+msgstr "Gomb akció:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Gomb neve:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"Ön használhatja ezeket a paramétereket:\n"
+"\n"
+"%c: Aktuális csatorna\n"
+"%k: Csatorna jelszó (nem működik még)\n"
+"%K: Kiszolgáló jelszó\n"
+"%u: Kiválasztott becenevek listája\n"
+"%s<feltétel>%: a becenevek elkülönítéséhez használt feltétel itt: %u\n"
+"%n: Parancs küldése közvetlenül a kiszolgálóra az Ön beviteli mezője helyett"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "Fájl:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, fuzzy, no-c-format
+msgid "Self:"
+msgstr "Önmaga"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "Típus"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Állapot:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "A&kció:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Folyamat:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Partner"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "F&ájl megnyitása"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "Fájl:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&Fogadás"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Aktuálisan használt becenév"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Pozíció:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Mentés ide:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Átviteli hiba"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Automatikus újrakapcsolódás engedélyezése"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Újrakapcsolódási időtúllépés:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Újrakapcsolódási kísérletek:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr "másodperc"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Korlátlan"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Hibakeresés"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Nyers nap&ló ablak megjelenítése kapcsolódáskor"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Minta"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Típus"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Minta:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Üzenettípusok"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Új"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Minden törlése"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "Hálózat &neve:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&Identitás:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "&Parancsok:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Cs&atlakozás az alkalmazás indításakor"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Kiszolgálók"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Hozzáadás..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Szerkesztés..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Automatikus csatornabelépések"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Szerkesztés..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, fuzzy, no-c-format
+msgid "Alias:"
+msgstr "Álnév"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, fuzzy, no-c-format
+msgid "Replacement:"
+msgstr "Csere"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Álnév"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Csere"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "&Következő keresése"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Előző keresése"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "Duplakattintásnál végrehajtandó paran&cs:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Rendez&és nagybetűre érzéketlenül"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "Ké&rés aktivitáskor"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "&Rendezés felhasználó állapot szerint"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Kifejtés"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(becenév rendezés újrarendezése húzd és ejtsel)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "Téma &telepítése..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "Téma elt&ávolítása"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ikon a normális felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ikon a távollevő felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ikon a beszédjoggal rendelkező felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ikon a féloperátor jogokkal rendelkező felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ikon az operátorjoggal rendelkező felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ikon az adminjogokkal rendelkező felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ikon a tulajdonosi jogokkal rendelkező felhasználóknak"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Előznézet:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Kinézet"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, fuzzy, no-c-format
+msgid "Placement:"
+msgstr "Csere:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, fuzzy, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Bezárás gomb m&utatása füleken"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, fuzzy, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Egy bezárás gomb megjelenítése a fül sáv jobb ol&dalán"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, fuzzy, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Fül címkék hosszának limitálása, hogy elférjenek a képernyőn"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, fuzzy, no-c-format
+msgid "Focus"
+msgstr "A kurzortól"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Mód"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "&Becenévre duplakattintáskor végrehajtandó parancs:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Ha Ön duplán kattint a becenévre az <b>Elérhető becenevek</b> "
+"ablakban, ez a\n"
+"parancs lesz elhelyezve a <b>Beviteli mező</b>ben a kiszolgáló ablakában.</p>\n"
+"<p>A következő szimbólumok használhatóak a parancsban:</p>"
+"<ul>\n"
+"<li>%u: A becenév, amire a duplakattintás történt.</li>\n"
+"<li>%K: Kiszolgáló jelszava.</li>\n"
+"<li>%n: Parancs küldése közvetlenül a kiszolgálóra az Ön beviteli mezője "
+"helyett.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Ha Ön duplán kattint a becenévre az <b>Elérhető becenevek</b> "
+"ablakban, ez a\n"
+"parancs lesz elhelyezve a <b>Beviteli mező</b>ben a kiszolgáló ablakában.</p>\n"
+"<p>A következő szimbólumok használhatóak a parancsban:</p>"
+"<ul>\n"
+"<li>%u: A becenév, amire a duplakattintás történt.</li>\n"
+"<li>%K: Kiszolgáló jelszava.</li>\n"
+"<li>%n: Parancs küldése közvetlenül a kiszolgálóra az Ön beviteli mezője "
+"helyett.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Frissítési intervallum:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"A Konversation leellenőrzi a kilistázott becenevek állapotát ezen az "
+"intervallumon belűl."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Megfigyelt becenevek fül megjleeníté&se az alkalmazás indításakor"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Ha be van jelölve, az <b>Elérhető becenevek</b> ablak automatikusan meg "
+"lesz nyitva a Konversation indításakor.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "B&ecenév figyelő engedélyezése"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Ha a becenév figyelő be van kapcsolva, Ön figyelmeztetve lesz, ha egy becenév "
+"elérhető lesz, vagy eltávozik a <b>Figyelt Hálózatok/Becenevek</b> "
+"listából.</p>\n"
+"<p>Ön megnyithatja az <b>Elérhető becenevek</b> ablakot az összes megfigyelt "
+"becenevek állapotának megtekintéséhez.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Hálózat:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"Az irc hálózat (mint példéul a freenode), amit kijelölt a felhasználó "
+"megfigyelésre."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "A megfigyelésre kijelölt személy beceneve (felhasználónév)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Megfigyelt Hálózatok/Becenevek"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Ha a becenév figyelő be van kapcsolva, Ön figyelmeztetve lesz, ha egy becenév "
+"elérhető lesz, vagy eltávozik a <b>Figyelt Hálózatok/Becenevek</b> "
+"listából.</p>\n"
+"<p>Ön megnyithatja az <b>Elérhető becenevek</b> ablakot az összes megfigyelt "
+"becenevek állapotának megtekintéséhez.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Kattintson egy becenévnek a listához való felvételéhez."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Kattintson egy kiválasztott becenévnek a listáról való törléséhez."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Naplózás &engedélyezése"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Kisbetűs nap&lófájl nevek engedélyezése"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "Hosztnév hozzáfűzése &a naplófájl nevéhez"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Na&plófájl útvonal:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Rendszertálca engedélyezése"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr ""
+"Rendszert&álca használata az új üzenet érekezésére való figyelmeztetéskor"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Csak akkor figyelmeztet, ha egy kiemelés történik, vagy elhangzik az Ön neve"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Becenév kiegészítés"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Kiegészítés &módja:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Becenévlista körözése"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Parancssor-szerű"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Parancssor-szerű kiegészítési ablakkal"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "El&őtag a sor elején:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Máshol:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Nagybetűérzékeny"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "&A figyelmeztetések letiltása, míg távollét van"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Egyéni &verzió válasz használata:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Itt Ön be tud állítani egy egyéni választ a <b>CTCP <i>VERSION</i></b> "
+"kérésekhez.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Parancskarakter:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, fuzzy, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Egyéni web&böngésző használata:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Fül címkék hosszának limitálása, hogy elférjenek a képernyőn"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Engedélyezze, ha le akarja ellenőrizni az IRC beviteli mező nyelvi helyességét"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "Beépülés a rendszertálcába"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Valódi nevek megjeleníté&se beceneveknél"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Megfigyelt becenevek fül megnyitása indításkor"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Hangulatjelek engedélyezése"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Hangulatjel téma"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "T&éma"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Dátum"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mó&d"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "A &témát csak csatornaoperátor változtathatja meg"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Nincs kívülről üzenet a csatornába"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Titko&s csatorna, a csatorna nem jelenik meg a csatornalistában"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Csak megh&ívottak léphetnek be a csatornába"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Ezek vezérlik a csatorna <em>módjait</em>. Csak operátor tudja "
+"megváltoztatni ezeket."
+"<p>Egy Csak Meghívásos (<b>I</b>) csatorna azt jelenti, hogy csak azok a "
+"személyek léphetnek be, akik meg lettek hívva. Valakinek a meghívásához egy "
+"csatornaoperátornak szükséges kiadni a <em>/invite becenév</em> "
+"parancsot a csatornán belül.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"&Moderált csatorna, csak beszédjoggal rendelkező emberek írhatnak a csatornába"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Csatorna jelszó"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Fe&lhasználólimit:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "H&aladó módok megjelenítése >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Paraméter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Tiltólista"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Tilt&ás eltávolítása"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "Tiltás hozzá&adása"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Hosztmaszk"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Beállította"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Idő beállításkor"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "K&eresés:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Letöltési &mappa:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Küldő hozzá&adása a fájlnévhez"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Ma&ppa létrehozása a küldőhöz"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, fuzzy, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Let&öltési kérések automatikus elfogadása"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Le&töltés automatikus folytatása"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Gyors DCC küldés engedélyezése (valószínüleg &nem megy minden klienssel)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "P&ufferméret:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC küldési &időtúllépés:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, fuzzy, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Visszaesés egy IPv&4 interfészhez dcc küldéskor:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Ha ez az opció engedélyezett, akkor az IPv6 dcc átvitelei IPv4 interfész latt "
+"lesznek végrehajtva"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr "bájt"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr "mp"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Kiválasztott &portok engedélyezése DCC küldés számára:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "Saját IP lekérési &módja:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Saját IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, fuzzy, no-c-format
+msgid "Ports"
+msgstr "Port"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Kiválasztott p&ortok engedélyezése DCC társalgás számára:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "ide:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Kiválasztott &portok engedélyezése DCC küldés számára:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Színes szöveg használata"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Színes LEDek használata"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Alkalmazás esemény"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Alkalmazás események a konzol füleken, DCC állapot fülön, és egyébb alkalmazás "
+"fülön -ami nem közvetetten a társalgásra használt - történnek."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Üzenet"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "&Kiszolgálóüzenet:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Aktuálisan használt becenév"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Csatorna esemény"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"A csatornaesemények a módváltások, vagy amikor egy felhasználó bejelentkezik, "
+"vagy kijelentkezik."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Elsőbbség adása társalgási ablakok színeinek kiemelésére"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Ha bejelöli ezt, a színek, amiket a Kiemelések beállításoknál választott, "
+"felül fogják bírálni az \"Aktuálisan használt becenév\" és \"Kiemelés\" "
+"színeit."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "&Rögzített betűtípus engedélyezése a MOTD üzeneteknél"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "A MOTD (A nap üzenete) megjelenítése rögzített betűtípussal"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, fuzzy, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "A küldő &becenevek legyenek félkövérek a társalgási nézetnél"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Társalgás szöveg:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Becenév lista:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, fuzzy, no-c-format
+msgid "Tab bar:"
+msgstr "Fül sáv"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "K&iemelési lista"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Kiemelések"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Hang"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Automatikus szöveg"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Minta:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Színek"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "Ha&ng:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, fuzzy, no-c-format
+msgid "Test sound"
+msgstr "Keresendő szöveg:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Automatikus szöveg:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Hang engedélyezése kiemelt lista elemekhez"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Az aktuális sajátnév ki&jelölése mindig"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "A saját sorok á&llandó kijelölése:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Új b&ejegyzés létrehozása..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Új elem létrehozása az Ön címjegyzékében"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Fénykép"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Név"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Válasszon kapcsolatot, akivel az azonnali üzenetküldés segítségével "
+"kommunikálni szeretne"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "K&eresés:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "&Rendszercsengő engedélyezése ASCII BEL érkezésekor"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"A Rednszercsengő megszólal, ha Ön egy ASCII BEL (0x07) vezérlőkaraktert kap"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Belépés/Kilépés/Becenév események elre&jtése"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Változó tiltása (pl. %C, %B, %G...) b&ővítés"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Ne bővítse a változókat, ha üzenetet küld a szerverre. Egy változó %-jellel "
+"kezdődik; például %B ki fogja bővíteni a szükséges karaktereket a szöveg "
+"félkövérré tételéhez."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, fuzzy, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "Minden állapotüzenet áti&rányítása a kiszolgáló állapotablakába"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Visszagörgetési korlát:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Mernnyi sort tartson a pufferben, 0 = korlátlan"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Nyers módok használata a módváltásokhoz"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Csatornamód sztring megtartása karakterek kombinációjaként, az ember által "
+"érthető szavak helyett. Pl.: *** Csatorna módok: nincs üzenet kívülről *** "
+"Csatorna módok: n lesz"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr "sor"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Kiszolgálólista"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Emlékeztet&ő vonal megjelenítése minden csatornában és minden kérésben"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Automatikus felhasználókutatás (/WHO) engedélyezése"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Max. felhasználószám a csatornában:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr "becenév"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Frissítési intervallum:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "OSD &engedélyezése"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "On &Screen Display"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Árnyékok rajzolása"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD betűtípus:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&OSD üzenet mutatása"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Ha a saját név megjelen&ik a csatorna üzenetben"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Minden csatornaü&zenetnél"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Ké&rés aktivitáskor"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "&Belépési/Kilépési eseményeknél"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Egyéni színek engedélyezése"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Sz&övegszín:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Hátt&érszín:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Egyéb beállí&tások"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "I&dőtartam:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Képernyő:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr "ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Ablak"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "Új"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Eltávolítva"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, fuzzy, no-c-format
+msgid "Replace In"
+msgstr "Csere"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, fuzzy, no-c-format
+msgid "Find"
+msgstr "&Keresés"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, fuzzy, no-c-format
+msgid "Replace With"
+msgstr "Csere"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, fuzzy, no-c-format
+msgid "Replace in:"
+msgstr "Csere:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, fuzzy, no-c-format
+msgid "Find:"
+msgstr "&Keresés"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, fuzzy, no-c-format
+msgid "Replace with:"
+msgstr "Csere:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Időbél&yegző engedélyezése"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "&Dátumok mutatása"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Formátum:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Tartalék mutatása"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "So&r:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "E&lrendezés"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Csatornatéma mutatá&sa"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Csatorna&mód gombok megjelenítése"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mez&ő megjelenítése saját becenév váltásához"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "G&yorsgombok megjelenítése"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Valódi nevek megjeleníté&se beceneveknél"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Csatornabece&névlista és gyorsgombok megjelenítése"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Hosztmasz&kok megjelenítése a becenév listában"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Háttérkép en&gedélyezése"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Útvonal:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Egyéni színek"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Háttér:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Kiszolgálóüzenet:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "H&iperhivatkozás:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Csatornaü&zenet:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "A&kció:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Tartal&ék:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "&Parancs üzenet:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Ké&rés üzenet:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Időbélyegző:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternatív háttér:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Szinezett becenevek"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Saját becenév sz&ín:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Színes szövegek &az IRC üzenetekben engedélyezése"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ennek az opciónak az engedélyezésével színkódok lesznek hozzáadva az IRC "
+"üzenetekhez, amik színes szövegként fognak megjelenni az Ön társalgás "
+"ablakában. Ön sajatmaga is hozzáadhat színkódokat az üzeneteihez a Beszúrás -> "
+"IRC Szín használatával."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Előnézet"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Ez megjeleníti az üzenetét, hogy hogy néznek ki ezekkel a színekkel."
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Ez egy előlnézet, hogy az olvasók hogyan látják az Ön üzeneteit, ha "
+"kiválasztja ezeket a színeket."
+"<br>\n"
+"<b>Figyelem: Nem minden kliens támogatja ezt, és néhány felhasználó lehet hogy "
+"kiválasztotta a színkódok kihagyását.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "A kiválasztott szövegszín hozzá lett adva a beviteli mezőhöz."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Itt kiválaszthatja, hogy milyen színű legyen a következő üzenet. Ha "
+"kiválasztja a színt, és az Ok-ra kattint, a kiválasztott szín hozzá lesz adva "
+"az Ön beviteli mezőjéhez. Minden leírt szöveg ezentúl a kiválasztott színnel "
+"fog megjelenni, amíg meg nem változtatja a színt ismételten."
+"<br>\n"
+"<b>Figyelem: Nem minden felhasználó kapcsolja be ezt az opciót, hogy lássa "
+"ezt.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Előtér szín:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "A kiválasztott szöveg-háttérszín hozzá lett adva a beviteli mezőhöz."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Itt kiválaszthatja, hogy milyen színű legyen a következő üzenet "
+"háttérszíne.\n"
+" Ha kiválasztja a színt, és az Ok-ra kattint, a kiválasztott szín hozzá lesz "
+"adva az Ön beviteli mezőjéhez.\n"
+" Minden leírt szöveg ezentúl a kiválasztott színnel fog megjelenni, amíg meg "
+"nem változtatja a színt ismételten."
+"<br>\n"
+"Az alapértelmezett kiválasztásával \"<i>Semmi</i>\" nem fog megváltozni az Ön "
+"üzenetének háttérszínével, így az olvasók az Ön üzenetét a saját eredeti "
+"szöveg-háttérszínükkel láthatják."
+"<br>\n"
+"<b>Figyelem: Nem minden kliens témogatja, és nem minden felhasználó kapcsolja "
+"be ezt az opciót, hogy lássa ezt.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Megjelenítendő figyelmezetető ablakok"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Jelszó:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Kiszolgáló:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Messages"
+#~ msgstr "Üzenetek"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "T&ávolléti üzenetek megjelenítése"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Elérhető globális&an"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Minden"
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Figyelmeztetés DCC fogadott fájl törlésekor"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1 kulcsa sikeresen beállítva."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Nem lehet törölni a(z) '%1' fájlt."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC hiba"
+
+#, fuzzy
+#~ msgid "Remove File"
+#~ msgstr "Fájl tö&rlése"
+
+#, fuzzy
+#~ msgid "Transfer Details"
+#~ msgstr "&DCC részletek"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Eltávolítás a panelről"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Fogadott fájl(ok) törlése"
+
+#~ msgid "&Remove File"
+#~ msgstr "Fájl tö&rlése"
+
+#, fuzzy
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Le kívánja törölni a kiválasztott fájlt?\n"
+#~ "Le kívánja törölni a kiválasztott %n fájlt?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Törlési megerősítés"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Megmutatja a valódi nevét a személynek a beceneve mellett a becenév listában."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "A kapcsolat a(z) %1 kiszolgálóval megszakadt: %2. Próbálkozás újrakapcsolódásra."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "%1 kiszolgálót próbálom helyette."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Várakozás 2 percig újrakapcsolódási kísérlet előtt..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Elérhető beállításcsoportok:"
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Elérhető opciók a(z) %1 csoportban:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Használat: %1PREFS <csoport> <opció> <érték> vagy %2PREFS LIST a csoportok kilistázásához, vagy %3PREFS csoport LIST a csoportban lévő opciók kilistázásához. Idézőjelezze a paramétereket, ha szóközt tartalmaznak."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "&DCC részletek"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Csatorna &kulcs:"
+
+#, fuzzy
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Em&lékeztető vonal húzása, ha az állapot távollétire változik"
+
+#, fuzzy
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Em&lékeztető vonal húzása, ha az állapot távollétire változik"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Kapcsolat"
+
+#~ msgid "Application Startup"
+#~ msgstr "Alakalmazás indulás"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "Kiszolgálóli&sta ablak megjelenítése"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 beceneve azonosítva."
+
+#~ msgid "&Channel"
+#~ msgstr "&Csatorna"
+
+#~ msgid "&Topic"
+#~ msgstr "&Téma"
+
+#~ msgid "&Save List..."
+#~ msgstr "Li&sta mentése..."
+
+#~ msgid "hh:mm"
+#~ msgstr "óó:pp"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "óó:pp:mp"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "Automatikus belépés csatornába megh&íváskor"
+
+#~ msgid "Offering"
+#~ msgstr "Ajánlás"
+
+#, fuzzy
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "Nincs szabad port a DCC társalgáshoz."
+
+#~ msgid "Update &interval:"
+#~ msgstr "Frissítési &intervallum:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "Ha a becenév figyelő be van kapcsolva, Ön figyelmeztetve lesz, ha egy becenév elérhető lesz, vagy eltávozik a <b>Figyelt Hálózatok/Becenevek</b> listából.</p>\n"
+#~ "<p>Ön megnyithatja az <b>Elérhető becenevek</b> ablakot az összes megfigyelt becenevek állapotának megtekintéséhez.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "Nem fut DCC letöltés ezen a porton: %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "Nem fut DCC feltöltés ezen a porton: %1."
+
+#, fuzzy
+#~ msgid "Alt+N"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+P"
+#~ msgstr "Alt+4"
+
+#~ msgid "File:"
+#~ msgstr "Fájl:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Helyi útvonal:"
+
+#, fuzzy
+#~ msgid "Open this file"
+#~ msgstr "F&ájl megnyitása"
+
+#~ msgid "Sender:"
+#~ msgstr "Küldő:"
+
+#~ msgid "Position:"
+#~ msgstr "Pozíció:"
+
+#, fuzzy
+#~ msgid "Accept this transfer"
+#~ msgstr "Átvitel(ek) megszakítása"
+
+#, fuzzy
+#~ msgid "Abort this transfer"
+#~ msgstr "Átvitel(ek) megszakítása"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Biztosan el szeretné távolítani a fogadott fájlt ?"
+
+#, fuzzy
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&DCC részletek"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Pozíció:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Küldő címe"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Küldő címe"
+
+#~ msgid "Switch To"
+#~ msgstr "Átváltás"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 egy hálózat admin."
+
+#~ msgid "&Channel:"
+#~ msgstr "&Csatorna:"
+
+#~ msgid "Removed"
+#~ msgstr "Eltávolítva"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 %3%4."
+
+#~ msgid "&Network:"
+#~ msgstr "&Hálózat:"
+
+#~ msgid " Command Aliases"
+#~ msgstr " Parancs álnevek"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "www.konversation.org hosztolás"
+
+#, fuzzy
+#~ msgid "Various bug fixes"
+#~ msgstr "Hibajavítások"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "Csatorna opciók %1 számára"
+
+#~ msgid "Switch to Away mode in all open connections"
+#~ msgstr "Átváltás távolléti módra minden nyitott kapcsolaton"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "Ön távollétiként van megjelölve."
+
+#~ msgid "Edit Channel Properties"
+#~ msgstr "Csatorna tulajdonságok szerkesztése"
+
+#, fuzzy
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "Kérdés, hogy mi a teendő DCC folytatáskor"
+
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "Automatikus csatorn&ába lépés újrakapcsolódásnál"
+
+#~ msgid "Version"
+#~ msgstr "Verzió (Version)"
+
+#~ msgid "Ping"
+#~ msgstr "Ping"
+
+#~ msgid "Server already connected."
+#~ msgstr "Már csatlakoztam a kiszolgálóhoz"
+
+#~ msgid "New Alias"
+#~ msgstr "Új álnév"
+
+#~ msgid "Add alias:"
+#~ msgstr "Álnév hozzáadása:"
+
+#~ msgid "RE"
+#~ msgstr "RE"
+
+#, fuzzy
+#~ msgid "DCC chat with %1 on %2:%3."
+#~ msgstr "DCC társalgás: %1 a(z) %2:%3 porton"
+
+#, fuzzy
+#~ msgid "Resuming download of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Fájl \"%1\" folytatása, innen: %2 erről a pozícióról: %3."
+
+#, fuzzy
+#~ msgid "Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "Fájl \"%1\" folytatása, innen: %2 erről a pozícióról: %3."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" to %2 finished."
+#~ msgstr "DCC fájlfeltöltés: \"%1\" sikerült."
+
+#, fuzzy
+#~ msgid "Downloading \"%1\" (%2) from %3..."
+#~ msgstr "DCC fájletöltés \"%1\" sikerült."
+
+#~ msgid "&Follow nick changes"
+#~ msgstr "Becenévváltások k&övetése"
+
+#~ msgid "Output"
+#~ msgstr "Kimenet"
+
+#~ msgid "Input"
+#~ msgstr "Bemenet"
+
+#~ msgid "Input/Output"
+#~ msgstr "Bemenet/Kimenet"
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "%1 kiszolgáló keresése..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "Kiszolgáló megtalálva, kapcsolódás..."
+
+#~ msgid "Connection established."
+#~ msgstr "Kapcsolat létrehozva."
+
+#~ msgid "&Default"
+#~ msgstr "&Alapértelmezett"
+
+#~ msgid "Autoreplace Patterns"
+#~ msgstr "Automatikus csere minták"
+
+#~ msgid "Direction:"
+#~ msgstr "Irány:"
+
+#~ msgid "Direction"
+#~ msgstr "Irány"
+
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "A beviteli mezők és a becenév lista egyéni színeket használ&jon"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr " \"%1\" ajánlása %2 számára feltöltésre..."
+
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 (%2:%3) fájlt \"%4\" (%5) ajánl fel letöltésre."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" was accepted by %2."
+#~ msgstr "DCC fájlfeltöltés \"%1\" sikertelen. ok: %2"
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "DCC folytatás kérés elfogadása innen: \"%1\" \"%2\" fájl számára."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "DCC folytatás kérés küldése \"%1\" számára a(z) \"%2\" fájlnak."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">Társalgás itt: %1</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">Tásalgás vele: %1</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "%1 &csatorna listája"
+
+#~ msgid "Nicks Online"
+#~ msgstr "Elérhető becenevek"
+
+#~ msgid "Themes"
+#~ msgstr "Témák"
+
+#~ msgid "Tab Bar"
+#~ msgstr "Fül sáv"
+
+#~ msgid "Placement && Focus"
+#~ msgstr "Elhelyezkedés és Fókusz"
+
+#~ msgid "Place tab bar at the top"
+#~ msgstr "Fül sáv megjelenítési felül"
+
+#~ msgid "&Bring new tabs to front"
+#~ msgstr "Új fülek előtér&be hozása"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "Ha valaki kérdezi Önt, új kérésre f&ókusz"
+
+#~ msgid "Limit the si&ze of the tab labels to fit all on screen"
+#~ msgstr "Fül címk&ék méretének limitálása, hogy elférjenek a képernyőn"
+
+#~ msgid "Close Button"
+#~ msgstr "Bezárás gomb"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "&DCC részletes inormáció"
+
+#~ msgid "Find Text"
+#~ msgstr "Szöveg keresése"
+
+#~ msgid "Whole words"
+#~ msgstr "Egész szavak"
+
+#~ msgid "Search forward"
+#~ msgstr "Keresés előrefele"
+
+#~ msgid "Search for text"
+#~ msgstr "Szöveg keresése"
+
+#~ msgid "Close the window"
+#~ msgstr "Ablak bezárása"
+
+#~ msgid "Show help here"
+#~ msgstr "Súgó mutatása itt"
+
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1 most lépett be a csatornába (%2)."
+
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "Ön kirúgta magát a csatornából (%1)."
+
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "Ön ki lett rúgva a csatornából %1 által (%2)."
+
+#~ msgid ""
+#~ "_: Translate to localised wikipedia url. Search term is appended on the end\n"
+#~ "http://en.wikipedia.org/wiki/Special:Search?go=Go&search="
+#~ msgstr "http://hu.wikipedia.org/wiki/Special:Search?go=Go&search="
+
+#~ msgid "Skip creating taskbar entry"
+#~ msgstr "Feladatlista bejegyzés létrehozásának mellőzése"
+
+#~ msgid "If you enable this option Konversation will not show up in taskbar"
+#~ msgstr "Ha engedélyezi ezt az opciót, a Konversation nem fog megjelenni a feladatlistában"
+
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "QuickButtons_ConfigUI"
+
+#~ msgid "Alt+Q"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Alt+Z"
+#~ msgstr "Alt+Z"
+
+#~ msgid "Alt+D"
+#~ msgstr "Alt+D"
+
+#~ msgid "Form1"
+#~ msgstr "Forma1"
+
+#, fuzzy
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "TabBar_Config"
+
+#, fuzzy
+#~ msgid "Alt+R"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+V"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+B"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+J"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "FontAppearance_Config"
+#~ msgstr "ChatWindowAppearance_Config"
+
+#~ msgid "Alt+X"
+#~ msgstr "Alt+X"
+
+#~ msgid "Autoreplace_ConfigUI"
+#~ msgstr "Autoreplace_ConfigUI"
+
+#~ msgid "ChatWindowAppearance_Config"
+#~ msgstr "ChatWindowAppearance_Config"
diff --git a/po/it/Makefile.am b/po/it/Makefile.am
new file mode 100644
index 0000000..0d5c097
--- /dev/null
+++ b/po/it/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = it
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/it/konversation.po b/po/it/konversation.po
new file mode 100644
index 0000000..17ded61
--- /dev/null
+++ b/po/it/konversation.po
@@ -0,0 +1,8033 @@
+# translation of konversation.po to Italian
+# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+#
+# Daniele Medri <madrid@linuxmeeting.net>, 2003, 2004.
+# Federico Zenith <federico.zenith@member.fsf.org>, 2003, 2004, 2005, 2006, 2007, 2008.
+# Giovanni Venturi <jumpyj@tiscali.it>, 2005.
+# Federico Zenith <zenith@chemeng.ntnu.no>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-08-06 09:09+0200\n"
+"Last-Translator: Federico Zenith <federico.zenith@member.fsf.org>\n"
+"Language-Team: Italian <kde-i18n-it@kde.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Impostazioni del canale per %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Nascondi le modalità avanzate >>"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Mostra le modalità avanzate >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Nuovo"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "ignoto"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Informazioni disponibili per il file %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informazioni del file"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Nessuna informazione dettagliata trovata per questo file."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Invio"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Ricezione"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "In coda"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Preparazione"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "In attesa"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Connessione"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Ricezione"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Invio"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Fatto"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Non riuscito"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Interrotto"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sec"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Chi è"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versione"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Dài l'op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Togli l'op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Dài il semiop"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Togli il semiop"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Dài la parola"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Togli la parola"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modalità"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Scaccia"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Scaccia e metti al bando"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Metti al bando il nick"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Metti al bando *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Metti al bando *!*@dominio"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Metti al bando *!utente@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Metti al bando *!utente@dominio"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Caccia e metti al bando *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Caccia e metti al bando *!*@dominio"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Caccia e metti al bando *!utente@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Caccia e metti al bando *!utente@dominio"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Caccia / metti al bando"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignora"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "De-ignora"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Apri una &conversazione privata"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Apri una &chat DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Invia &file..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Invia email..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Associazioni con la rubrica"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Aggiungi ai nick sorvegliati"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Questo mostra tutte le persone nel canale. Viene mostrato il nick di ogni "
+"persona."
+"<br>Normalmente è mostrata un'icona che indica lo stato di ogni persona, ma "
+"pare che tu non abbia installato nessun tema di icone. Vedi le impostazioni di "
+"Konversation: <i>Configura Konversation</i> nel menu <i>Impostazioni</i>"
+". Quindi cerca la pagina dei <i>Temi</i> sotto <i>Aspetto</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Questo mostra tutta la gente nel canale. È visualizzato il nick di ogni "
+"persona, con un'immagine che indica il loro stato."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Questa persona ha privilegi di amministratore.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Questa persona è un proprietario del canale.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Questa persona è un operatore del canale.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Questa persona è un semioperatore del canale.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Questa persona ha la parola, e quindi può parlare in un canale "
+"moderato.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Questa persona non ha privilegi particolari.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Questo indica che questa persona è attualmente assente.</td></tr></table>"
+"<p>Il significato di amministratore, proprietario e semioperatore varia sui "
+"vari server irc."
+"<p>Passare il mouse sopra qualsiasi nick fa mostrare il loro stato attuale, "
+"oltre a qualsiasi altra informazione su quella persona nella rubrica. Vedi il "
+"manuale di Konversation per maggiori informazioni.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Modifica contatto..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Scegli/cambia associazioni..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Scegli contatto..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Cambia associazione..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Crea nuovo contatto..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Elimina associazione"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canale"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Conversazione privata"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Comunicazione"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Eccezione"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Schede"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Oggi"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Ieri"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificato)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Posta elettronica"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Maschera host:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Messaggio di assenza:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(sconosciuto)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Collegato da:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Fai clic per avviare l'editor di espressioni regolari (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "L'editor di espressioni regolari (KRegExpEditor) non è installato"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "In uscita"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "In entrata"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Entrambi"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Entra nel canale su %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Connessione rapida"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "Host del &server:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Inserisci qui l'host della rete."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Porta:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "La porta che usa il server IRC."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Nick:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Il nick che vuoi usare."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "P&assword:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Se il tuo server IRC richiede una password, inseriscila qui (la maggior parte "
+"dei server non la richiede)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Usa SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "C&onnetti"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Connetti al server"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Impossibile aprire un socket in ascolto: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Offerta connessione chat DCC a %1 sulla porta %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Chat DCC con %1 sulla porta %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Connessione Chat DCC a %1 (%2:%3) in corso..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Chat DCC con %1 su %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Connessione Chat DCC a %1 stabilita."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Connessione terminata, codice errore %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Ricevuta richiesta CTCP-%1 sconosciuta da %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Impossibile accettare il client."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Predefinito (%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Elenco dei server"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Fai clic qui per connetterti alla rete e al canale IRC selezionati."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Questo mostra l'elenco delle reti IRC configurate. Una rete IRC è una raccolta "
+"di server che lavorano assieme. Devi solo connetterti a uno dei server nella "
+"rete per essere connesso a tutta la rete IRC. Una volta connesso, Konversation "
+"entrerà automaticamente nei canali mostrati. Quando Konversation viene avviato "
+"per la prima volta, vengono inseriti la rete Freenode e il canale <i>#kde</i>."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Rete"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identità"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canali"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nuovo..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Fai clic qui per definire una nuova rete, incluso il server a cui connettersi, "
+"e i canali in cui entrare automaticamente dopo la connessione."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Modifica..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Mostra all'avvio dell'applicazione"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nuova rete"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Modifica rete"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Non puoi eliminare %1.\n"
+"\n"
+"La rete %2 deve avere almeno un server."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Non puoi eliminare i server selezionati.\n"
+"\n"
+"La rete %1 deve avere almeno un server."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Vuoi veramente eliminare le voci selezionate?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Vuoi veramente eliminare %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Mostra l'ultimo:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Usa questo riquadro per impostare le dimensioni massime del file di log. Questa "
+"impostazione non ha effetto finché non riavvii Konversation. Ogni file di log "
+"può avere un'impostazione separata."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " kB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Pulisci file di log"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"I messaggi nel file di log sono visualizzati qui. I messaggi più vecchi sono in "
+"cima, e i più recenti in fondo."
+
+#: src/logfilereader.cpp:134
+msgid "Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Vuoi veramente eliminare permanentemente tutte le informazioni di log raccolte "
+"in questo file?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Nota: salvando il file di registro memorizzerai tutti i dati nel file, non solo "
+"la parte che puoi vedere in questo visualizzatore."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Salva file di log"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Scegli cartella di destinazione"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Informazioni"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Tentativo di connessione a %1 tra %2 secondi."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Tentativo di riconnessione a %1 tra %2 secondi."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Tentativi di riconnessione esauriti."
+
+#: src/connectionmanager.cpp:439
+msgid "You are already connected to %1. Do you want to open another connection?"
+msgstr "Sei già connesso a %1. Vuoi aprire un'altra connessione?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Già connesso a %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Crea connessione"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Sei attualmente connesso a %1 via «%2» (porta %3). Vuoi passare a «%4» (porta "
+"%5)?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Cambia server"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Inserisci la tua <b>identità</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Inserisci il tuo <b>Nome vero</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Fornisci almeno un <b>Nick</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>La tua identità «%1» non è impostata correttamente:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Impostazioni dell'identità"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Modifica identità..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identità"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identità:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplica"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Rinomina"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Generale"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nome &reale:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Inserisci qui il tuo nome vero. IRC non è fatto per tenerti nascosto da amici e "
+"nemici. Tienilo a mente se sei tentato di fare il birichino. Un «nome vero» "
+"falso può essere un buon modo di nascondere il tuo sesso a tutti gli sfigati "
+"che ci sono là fuori, ma il computer che usi può sempre essere identificato, "
+"quindi non sarai mai del tutto anonimo."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Nick"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Questo è il tuo elenco dei nick. Un nick è il nome con cui gli altri utenti ti "
+"riconosceranno. Puoi usare il nome che vuoi. Il primo carattere deve essere una "
+"lettera.\n"
+"\n"
+"Siccome i nick devono essere univoci in un'intera rete IRC, il tuo nome "
+"preferito potrebbe essere rifiutato dal server, se qualcun altro lo sta già "
+"usando. Inserisci dei nick alternativi. Se il tuo preferito viene rifiutato, "
+"Konversation proverà quelli alternativi."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Aggiungi..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Modifica..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Autoidentifica"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vizio:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Il nome del servizio può essere <b><i>nickserv</i></b> "
+"o un nome dipendente dalla rete come <b><i>nickserv@servizi.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Pa&ssword:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Assente"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Segna l'ultima posizione nelle finestre di chat quando te ne vai"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Se segni questa casella, ogni volta che effettui un comando <b>/away</b>"
+", apparirà una linea orizzontare nel canale, per segnare il punto dove te ne "
+"sei andato. Gli altri utenti IRC non vedono questa linea."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Nick in assenza:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Inserisci un nick che indichi che sei via. Ogni volta che effettui un comando "
+"<b>/away messaggio</b> in qualsiasi canale in cui sei entrato con questa "
+"identità, Konversation cambierà automaticamente il tuo nick al nick in assenza. "
+"Gli altri utenti potranno capire che sei andato via dal computer. Ogni volta "
+"che effettui un comando <b>/away</b> in qualsiasi canale dal quale sei assente, "
+"Konversation trasformerà di nuovo il tuo nick nell'originale. Se non vuoi "
+"cambiare automaticamente il tuo nick quando te ne vai, lascia in bianco."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Assente automatico"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Se segni questa casella, Konversation imposterà automaticamente tutte le "
+"connessioni che usano questa identità allo stato di assente quando partirà il "
+"salvaschermo o dopo un periodo di inattività dell'utente configurato sotto."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Imposta come assente dopo"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " minuti"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "di inattività dell'utente"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Ritorna automaticamente quando c'è attività"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Se segni questa casella, Konversation annullerà automaticamente lo stato di "
+"assente per tutte le connessioni che usano questa identità quando il "
+"salvaschermo si interrompe o quando viene rilevata nuova attività da parte "
+"dell'utente."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Messaggi di assenza"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Se segni questa casella, Konversation invierà automaticamente il messaggio di "
+"assenza a tutti i canali in cui sei entrato con questa identità. <b>%s</b> "
+"viene sostituito con il <b>messaggio</b>. Ogni volta che effettui un comando <b>"
+"/away</b>, sarà visualizzato il messaggio di ritorno in tutti i canali in cui "
+"sei entrato con questa identità."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Messaggio di assenza:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Messaggio di &ritorno:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avanzate"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "Comando di &pre-shell:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Qui puoi inserire un comando da eseguire prima avviare la connessione al server"
+"<br>Se hai server multipli in questa identità questo comando sarà eseguito per "
+"ogni server"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dentità:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Quando ti connetti, molti server interrogano il tuo computer per avere una "
+"risposta IDENT. Se il tuo computer non ha un server IDENT in esecuzione, questa "
+"risposta viene inviata da Konversation. Non sono permessi spazi."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Codifica:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Questa impostazione influenza come sono codificati i caratteri che scrivi "
+"quando vengono inviati al server. Influenza anche come sono visualizzati. "
+"Quando apri Konversation per la prima volta, Konversation recupera "
+"automaticamente questa impostazione dal sistema operativo. Se ti sembra di "
+"avere problemi nel visualizzare correttamente i messaggi degli altri utenti, "
+"prova a cambiare questa impostazione."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "&Motivo della disconnessione:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Ogni volta che esci da un server, questo messaggio verrà mostrato agli altri."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Motivo dell'uscita:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Ogni volta che esci da un canale, verrà inviato questo messaggio al canale."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Motivo della &cacciata:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Ogni volta che sei cacciato da un canale (normalmente da un operatore IRC), "
+"verrà inviato questo messaggio al canale."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Cambia le informazioni dell'identità"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Annulla tutte le modifiche fatte"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Devi aggiungere almeno un nick all'identità."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Inserisci un nome vero."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Aggiungi nick"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Nick:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Modifica nick"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Aggiungi identità"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nome dell'identità:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Devi dare un nome all'identità."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Rinomina l'identità"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Questa identità è in uso, se la rimuovi le impostazioni di rete che la usano "
+"passeranno all'identità predefinita. Vuoi eliminarla comunque?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Vuoi veramente eliminare tutte le informazioni per questa identità?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Elimina identità"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Identità duplicata"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Utenti normali"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Parola (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Semiop (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatori (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Amministratori del canale (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Proprietari del canale (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Inserisci carattere"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Inserisci un carattere"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Editor dei segnalibri di Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Nessuna porta libera"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Impossibile aprire un socket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Trova testo..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copia URL negli appunti"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Aggiungi ai segnalibri"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Salva collegamento come..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Apri una conversazione privata con %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Entra nel canale %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notifica"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Entra"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Esci"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Apri una conversazione privata"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Entra"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Leggi elenco &utenti"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Leggi &titolo"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Nessuna corrispondenza trovata per «%1»."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Salva collegamento come"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Elenco dei &server..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Gestisci reti e server"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Connessione rapida..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Scrivi l'indirizzo di un nuovo server IRC a cui connettersi"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Riconnetti"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Riconnetti al server attuale."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Disconnetti"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Disconnetti dal server attuale."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identità..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Gestisci il tuo nick, e altre impostazioni di identità"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Nick sor&vegliati collegati"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Stato &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Apri file di l&og"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Apri la cronologia nota di questo canale in una nuova scheda"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Impostazioni dei &canali..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Apri la finestra delle impostazioni dei canali per questa scheda"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "E&lenco dei canali"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Mostra un elenco di tutti i canali conosciuti su questo server"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Raccoglitore di &URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Elenca tutti gli URL che sono stati citati di recente in una nuova scheda"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nuova &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Apri un terminale in una nuova scheda"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Scheda &successiva"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "Scheda &precedente"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Chiudi scheda"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Prossima scheda attiva"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Sposta scheda in su"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Sposta scheda in giù"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Sposta scheda a destra"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Sposta scheda a sinistra"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Rientra nel canale"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Attiva le notifiche"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Entra alla connessione"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Imposta la codifica"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Vai alla scheda %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Pu&lisci i segnariga"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Pulisci i segnariga della scheda attuale"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Pulis&ci finestra"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Pulisci i contenuti della scheda attuale"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "P&ulisci tutte le finestre"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Pulisci i contenuti di tutte le schede aperte"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Assente globale"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Entra nel canale..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Colore &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Imposta il colore del tuo messaggio IRC attuale"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "Segna&riga"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Inserisci una riga orizzontale nella scheda attuale che puoi vedere solo tu"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Carattere speciale..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Inserisci qualsiasi carattere nel tuo messaggio IRC attuale"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Chiudi tutte le convers&azioni private aperte"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Nascondi l'elenco dei nick"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>Ha dei trasferimenti di file DCC attivi. Sei sicuro di voler uscire da <b>"
+"Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Conferma l'uscita"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Sei sicuro di voler uscire da <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Chiudere la finestra principale manterrà Konversation in esecuzione nel "
+"vassoio di sistema. Usa <b>Esci</b> dal menu <b>Konversation</b> "
+"per terminare l'applicazione.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Agganciamento nel vassoio di sistema"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Questo nasconderà completamente la barra dei menu. Puoi renderla nuovamente "
+"visibile scrivendo %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Attiva o disattiva le notifiche"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Imposta come assente globalmente"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Inserisci colore &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Inserisci &carattere speciale..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Inserisci segna&riga"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Elenco &canali"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Imposta come &assente globalmente"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Grezzo"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Uso: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Uso: %1JOIN <canale> [password]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Uso: %1KICK <nick> [motivo]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK funziona solo all'interno dei canali."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART senza parametri funziona solo all'interno di un canale o di una "
+"conversazione privata."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART senza nome del canale funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC senza parametri funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC senza nome del canale funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES senza obiettivo può farti disconnettere dal server. Specifica «*» se lo "
+"vuoi davvero."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Uso: %1close [finestra] chiude la scheda di canale o conversazione privata con "
+"quel nome, o la scheda attuale se non ne viene specificato uno."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Uso: %1NOTICE <destinatario> <messaggio>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Invio del messaggio «%2» a %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Uso: %1ME testo"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Invio della richiesta CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Il file «%1» non esiste."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Uso: %1 DCC [SEND nick nomefile]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Uso: %1 DCC [CHAT nick]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Comando %1DCC %2 non riconosciuto. I comandi possibili sono SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Uso: %1INVITE <nick> [canale]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE senza nome del canale funziona solo all'interno dei canali."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 non è un canale."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Uso: %1EXEC <script> [elenco parametri]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Il nome dello script non può contenere «../»!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Uso: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "L'elenco delle notifiche attuale è vuoto."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Elenco delle notifiche attuale: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Inserisci nome utente e password per i privilegi di operatore IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Password di operatore IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN senza nome del canale funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN senza nome del canale funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:1229
+msgid "Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Uso: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canale] "
+"<utente|maschera>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Uso: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canale] "
+"<utente|maschera> [motivo]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN senza nome del canale funziona solo all'interno di un canale."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Uso: %1UNBAN [canale] schema"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 aggiunto al tuo elenco da ignorare."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Uso: %1IGNORE [ -ALL ] <utente 1> <utente 2> ... <utente n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Uso: %1UNIGNORE <utente 1> <utente 2> ... <utente n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 rimosso dal tuo elenco da ignorare."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Nessun ignorato questo nome: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Nessun ignorato questo nome: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Uso: %1QUOTE elenco comandi"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Uso: %1SAY testo"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Uso"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Uso: %1AME testo"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Uso: %1AMSG testo"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Uso: %1OMSG testo"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Invio della comunicazione «%1» a %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Uso: %1ONOTICE testo"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "La codifica attuale è: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Passato alla codifica %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 non è una codifica valida."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Uso: %1setkey [<nick|canale>] <chiave> Imposta la chiave di cifratura per il "
+"nick o per il canale. %2setkey <chiave> quando si è in una scheda di canale o "
+"conversazione privata per impostarne la chiave."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "La chiave per %1 è stata impostata."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Uso: %1delkey <nick> o <canale> elimina la chiave di cifratura per il nick o "
+"per il canale"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "La chiave per %1 è stata eliminata."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "La chiave per %1 è «%2»."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Non è stata impostata nessuna chiave per %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Uso: %1DNS <nick>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Risolto %1 a: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Impossibile risolvere %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "La risoluzione inversa richiede KDE 3.5.1 o superiore."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Uso: %1KILL <nick> [commento]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>La riga di input è dove scrivi i messaggi per inviarli nel canale, nella "
+"conversazione privata, o nel server. Un messaggio inviato a un canale viene "
+"visto da tutti i partecipanti al canale, mentre un messaggio in una "
+"conversazione privata viene visto solo dalla persona con cui stai conversando. "
+"<p>Per completare automaticamente il nick che stai scrivendo, premi Tab. Se non "
+"hai cominciato a scrivere, sarà usato l'ultimo nick scritto correttamente. "
+"<p>Puoi anche inviare comandi speciali:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>azione</i></th>"
+"<td>appare come un'azione nel canale o nella conversazione privata. Per "
+"esempio: <em>/me canta</em> verrà visualizzato nel canale come «Pippo "
+"canta».</td></tr>"
+"<tr>"
+"<th>/whois <i>nick</i></th>"
+"<td>visualizza informazioni su questa persona, incluso su quali canali è.</td>"
+"</tr></table>"
+"<p>Per altri comandi, vedi il manuale di Konversation."
+"<p>Un messaggio non può contenere più righe.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Stai cercando di incollare una grande quantità di testo (%1 byte o %2 "
+"linee) nella chat. Ciò può causare azzeramenti della connessione o kill per "
+"flooding. Vuoi davvero continuare?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Avvertimento di grande incollamento"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Un client IRC facile da usare"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "URL irc:// o nome host del server"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server a cui connettersi"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Porta da usare"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canale in cui entrare dopo la connessione"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Nick da usare"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Password per la connessione"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Usa SSL per la connessione"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "© 2002-2008 della squadra di Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation è un client per il protocollo Internet Relay Chat (IRC).\n"
+"Incontra amici sulla rete, fai nuove conoscenze e perditi in discorsi\n"
+"sul tuo argomento preferito."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Autore originale, fondatore del progetto"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Responsabile"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Responsabile, responsabile dei rilasci, interfaccia utente, gestione dei "
+"protocolli"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, gestione delle codifiche, posizionamento OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Gestione dei protocolli, riga di input"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish, supporto SSL, trasferimento di KNetwork, nick colorati, temi di "
+"elenchi di nick"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Rifattorizzazione, integrazione Rubrica/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Hosting del sito Web"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Manutenzione del sito Web"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Estensione a modalità multiple, posizionamento dell'elemento di chiusura, "
+"funzionalità OSD"
+
+#: src/main.cpp:73
+msgid "Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentazione, miglioramenti per la sorveglianza dei nick collegati, "
+"estensioni personalizzate per il browser Web"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configuratore dei colori, dialogo di evidenziazione"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interfaccia DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Codifiche non Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Visualizzazione Konsolepart"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Connessione rapida, trasferimento del nuovo OSD, altre funzionalità e "
+"correzioni"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Una manciata di correzioni e pulizia del codice"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Miglioramenti nel &trascinamento"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Arte"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barra di ricerca in stile Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Modalità grezze, raggruppamento di schede per server, elenco di messe al bando"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Modifica per il vassoio di sistema"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Correzione bug"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Modifica per le modalità utente estese"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Modifica per la chiusura della scheda visibile con scorciatoia"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Rotazione delle schede con la rotella del mouse"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Correzione per la modalità di proprietà del canale"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Opzione di abilitare il filtraggio dei colori IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Correzioni, lavoro su OSD, chiarimento di argomenti"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Script Sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Menu contestuale di entrata automatica"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Ricevuta richiesta CTCP-PING da %1 al canale %2, invio risposta."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Ricevuta richiesta CTCP-%1 da %2, invio risposta."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Ricevuta richiesta versione da %1 al canale %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Ricevuta richiesta versione da %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Ricevuta richiesta DCC SEND non valida da %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Ricevuta richiesta DCC ACCEPT non valida da %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Ricevuta richiesta DCC RESUME non valida da %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Ricevuta richiesta DCC CHAT non valida da %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Comando DCC ignoto %1 ricevuto da %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Ricevuta richiesta CTCP-%1 sconosciuta da %2 al canale %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Ricevuta richiesta CTCP-%1 sconosciuta da %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 a %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Ricevuta risposta CTCP-PING da %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Ricevuta risposta CTCP-%1 da %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Invita"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 ti ha invitato al canale %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Benvenuto"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Versione %2), modalità utente: %3, modalità canale: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Supporto"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Le tue modalità personali sono:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modalità del canale: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "protezione del titolo"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "nessun messaggio dall'esterno"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "segreto"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "solo su invito"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privato"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderato"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "protetto da password"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonimo"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop del server"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "colori non permessi"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limitato a %n utente\n"
+"limitato a %n utenti"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Modalità"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "URL del canale: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Creato"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Questo canale è stato creato il %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Chi è"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 è ora collegato come %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nomi"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Fine dell'elenco NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TITOLO"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Il canale %1 non ha un titolo impostato."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Titolo"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Il titolo del canale %1 è «%2»"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Il titolo è stato impostato da %1 il %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Il titolo di %1 è stato impostato da %2 il %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 sta in realtà usando l'host %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: nessun nick/canale con questo nome."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Nessun nick con questo nome: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: nessun canale con questo nome."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nick"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Nick già in uso, prova un altro nick."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Nick già in uso. Sto provando %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Nick errato. Cambiamento del nick in %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Non sei su %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Messaggio del giorno:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Fine messaggio del giorno"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Ora sei un operatore IRC su questo server."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Utenti"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Utenti attualmente in rete: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Utenti attualmente su %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Assente"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 è assente: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Hai invitato %1 nel canale %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 è %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Risolto %1 (%2) all'indirizzo: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Impossibile risolvere gli indirizzi per %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 è un utente identificato."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Chi"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 è %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Assente)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Fine dell'elenco /WHO per %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 è utente sui canali: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 ha la parola sui canali: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 è semiop sui canali: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 è operatore sui canali: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 è proprietario dei canali: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 è amministratore dei canali: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 è collegato via %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 è disponibile ad aiutare."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 è un operatore IRC."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 giorno\n"
+"%n giorni"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 ora\n"
+"%n ore"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minuto\n"
+"%n minuti"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 secondo\n"
+"%n secondi"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 è stato inattivo per %2, %3, %4, e %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 è stato inattivo per %2, %3, e %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 è stato inattivo per %2, e %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 è stato inattivo per 1 secondo.\n"
+"%1 è stato inattivo per %n secondi."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 è collegato da %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Fine dell'elenco WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Host utente"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 è %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (operatore IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (assente)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Elenco"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Elenco dei canali:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n utente): %2\n"
+"%1 (%n utenti): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Fine dell'elenco dei canali."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Elenco messe al bando:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 impostato da %2, %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fine dell'elenco messe al bando."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 non è attualmente disponibile."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: comando sconosciuto."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Non registrato."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: questo comando richiede più parametri."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Hai impostato le modalità personali: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "hai cambiato le tue modalità personali:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " imposta la modalità: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identità predefinita"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Modifica il nick sorvegliato"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Nome della rete:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Scegli qui la rete di server a cui ti connetterai."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "N&ick:"
+
+#: src/editnotifydialog.cpp:53
+msgid "<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>Il nick di cui sorvegliare la connessione a un server nella rete.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Cambia le informazioni di notifica"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "La connessione è cifrata con SSL a %1 bit."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"La funzionalità di connettersi a dei server usando comunicazioni cifrate SSL "
+"non è disponibile in Konversation perché il supporto OpenSSL non è stato "
+"abilitato durante la compilazione. Devi ottenere una nuova versione di KDE che "
+"abbia il supporto SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Il certificato SSL restituito dal server non è stato riconosciuto. Forse questo "
+"server non supporta SSL sulla porta data? Se questo server supporta anche "
+"comunicazioni normali e non SSL, SSL sarà su una porta diversa."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"L'indirizzo IP dell'host %1 non corrisponde a quello a cui è stato concesso il "
+"certificato."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autenticazione del server"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Dettagli"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Questo certificato (%1) del server non ha passato il test di autenticità."
+
+#: src/sslsocket.cpp:305
+msgid "Would you like to accept this certificate forever without being prompted?"
+msgstr "Vuoi accettare questo certificato per sempre senza che ti sia richiesto?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Per sempre"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Solo per la sessione &corrente"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Evidenzia] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[conversazione privata] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 è entrato in %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 è uscito da %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 ha lasciato %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ha cambiato il nick in %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 ti vuole mandare un file"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 ha iniziato una conversazione privata con te."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 è collegato (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 si è disconnesso (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Sei stato cacciato da %1 da %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 ha iniziato una conversazione DCC con te"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Evidenzia] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Connessione a %1 non riuscita"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Sei entrato in %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Frase non trovata"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Ricerca ciclica"
+
+#: src/queuetuner.cpp:245
+msgid "This cannot be undone, are you sure you wish to reset to default values?"
+msgstr "Questo non si può annullare, sei sicuro di voler tornare ai valori predefiniti?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Azzera valori"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interfaccia di rete"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Risposta dal server IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Specifica manualmente"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Scelta Colori IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Nessuno"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid "The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Il nome o numero IP del server. irchelp.org gestisce un elenco di server."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Inserisci il numero di porta necessario per connettersi al server. Per la "
+"maggior parte dei server, dovrebbe essere <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Pass&word:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Conn&essione sicura (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Segna se vuoi usare il protocollo SSL (Secure Socket Layer) per comunicare con "
+"il server. Ciò protegge la riservatezza delle comunicazioni tra il tuo computer "
+"e il server IRC. Il server deve supportare il protocollo SSL perché questo "
+"funzioni. Nella maggior parte dei casi, se il server non supporta SSL, la "
+"connessione non riuscirà."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "È richiesto l'indirizzo del server."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "L'amministratore ha limitato i diritti di invio dei file"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "L'URL «%1» non esiste"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Impossibile recuperare «%1»"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Inserisci nome file"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Il file che stai inviando a <i>%1</i> non ha un nome file."
+"<br>Inserisci un nome file da presentare al destinatario, o annulla il "
+"trasferimento DCC</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Non è stato dato nessun nome file"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "Impossibile inviare una richiesta DCC SEND al partner attraverso il server IRC."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Attesa dell'accettazione dell'utente remoto"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Impossibile accettare la connessione. (Errore del socket)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Impossibile aprire il file: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Errore del socket: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Scaduto"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Errore di connessione: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Utente remoto scollegato"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"L'operazione ha avuto successo. Non dovrebbe mai accadere in una finestra di "
+"errore."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Impossibile leggere dal file «%1»."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Impossibile scrivere sul file «%1»."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "È avvenuto un errore fatale e irrecuperabile."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Impossibile aprire il file «%1»."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "L'operazione è stata interrotta inaspettatamente."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "L'operazione è scaduta."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Un errore non specificato è avvenuto in chiusura."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Errore ignoto. Codice %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Invio DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Ricezione DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (DCC inverso)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Server sconosciuto"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 su %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (porta %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (porta %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Sì, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 sec"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Pronto."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Questo mostra il numero di utenti nel canale, e il numero di quelli che "
+"sono operatori (op)."
+"<p>Un operatore di canale è un utente che ha privilegi speciali, come la "
+"capacità di cacciare e mettere al bando gli utenti, cambiare le modalità dei "
+"canali, creare altri operatori del canale.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Ritardo: ignoto"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Tutte le comunicazione con il server sono cifrate. Ciò rende più difficile "
+"intercettare le tue comunicazioni."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>La barra di stato visualizza vari messaggi, incluso qualsiasi problema "
+"nella connessione al server. In fondo a destra è mostrato il ritardo attuale "
+"con il server. Il ritardo è il tempo che i messaggi ci mettono a raggiungere il "
+"server da te, e tornare dal server.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Ritardo: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Ritardo: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Nessuna risposta dal server %1 da più di %2, %3, %4, e %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Nessuna risposta dal server %1 da più di %2, %3, e %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Nessuna risposta dal server %1 da più di %2 e %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Nessuna risposta dal server %1 da più di un secondo.\n"
+"Nessuna risposta dal server %1 da più di %n secondi."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Ricerca del server %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Server %1 non trovato: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server trovato, connessione..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Connesso; accesso in corso..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Connessione al server %1 persa: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Impossibile connettersi a %1:%2 usando la cifratura SSL. Forse il server non "
+"supporta SSL, o forse hai usato la porta sbagliata? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Errore di connessione SSL"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Scollegato da %1."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Nessun nick dell'identità «%1» è stato accettato dalla connessione «%2».\n"
+"Inseriscine uno nuovo o premi Annulla per disconnetterti:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Errore del nick"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "C'è stato un errore durante la lettura dei dati dal server: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Scegli file da inviare a %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 offre di inviarti «%2» (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "dimensioni sconosciute"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Richiesta a %1 di accettare l'invio di «%2» (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Ricevuto messaggio non valido di accettazione di DCC SEND passivo per «%1» da "
+"%2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Ripresa dello scaricamento di «%1» da %2 partendo da %3 di %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Ricevuto messaggio non valido di accettazione del ripristino per «%1» da %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Ripresa dell'invio di «%1» a %2 partendo da %3 di %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Ricevuta richiesta di ripristino non valida per «%1» da %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Scaricamento di «%1» da %2 concluso."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Scaricamento di «%1» da %2 non riuscito. Ragione: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Invio di «%1» a %2 concluso."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Invio di «%1» a %2 non riuscito. Ragione: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Invio di «%1» a %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Scaricamento di «%1» (%2) da %3..."
+
+#: src/server.cpp:2897
+msgid "You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "Sei stato invitato da %1 a entrare nel canale %2. Accetti l'invito?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Invito"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Errore: impossibile trovare lo script «%1»."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Errore: impossibile eseguire lo script «%1». Controlla i permessi del file."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Per ora assente"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Sei ora segnato come assente."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Non sei più segnato come assente."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Non sei segnato come assente."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Nick sorvegliati collegati"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Rete/Nick/Canale"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Informazioni aggiuntive"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Questi sono tutti i nick del tuo elenco dei nick sorvegliati, elencati sotto "
+"il gruppo di server a cui sono connessi. L'elenco include anche i nick nella "
+"Rubrica associati al gruppo di server.</p>"
+"<p>La colonna <b>Informazioni aggiuntive</b> mostra le informazioni note per "
+"ogni nick.</p>"
+"<p>I canali in cui il nick è entrato sono elencati sotto ogni nick.</p>"
+"<p>I nick che appaiono sotto <b>Scollegati</b> non sono connessi a nessun "
+"server nella rete.</p>"
+"<p>Fai clic destro con il mouse su un nick per eseguire funzioni aggiuntive.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "Modifica l'&elenco dei nick sorvegliati..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Fai clic per modificare l'elenco di nick che appaiono sullo schermo."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Rubrica:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Quando selezioni un nick nell'elenco sopra, i pulsanti qui presenti sono usati "
+"per associare il nick con una voce nella Rubrica."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Modifica c&ontatto..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Fai clic per creare, visualizzare o modificare la voce della Rubrica associata "
+"con il nick selezionato sopra."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Cambia associazione..."
+
+#: src/nicksonline.cpp:116
+msgid "Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "Fai clic per associare il nick sopra selezionato con una voce della Rubrica."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Elimina associazione"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Fai clic per rimuovere l'associazione tra il nick sopra selezionato e una voce "
+"della Rubrica."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " è collegato via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " da %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Scollegati"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Parola"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Semiop"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operatore"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Proprietario"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Amministratore"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Crea nuovo c&ontatto..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "S&cegli associazione..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Entra nel canale"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Seleziona il file sonoro"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** File di log iniziato\n"
+"*** il %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Entra automaticamente in un canale su invito"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Nota che salvando il file di log si salverà l'intero file"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Chiedi prima di eliminare il contenuto del file di log"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Chiedi se chiudere le conversazioni private dopo aver ignorato un nick"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Chiedi prima di far passare una connessione di rete a un altro server"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Chiedi prima di creare un'altra connessione alla stessa rete o server"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Chiudi scheda dei server"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Chiudi scheda dei canali"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Chiudi scheda delle conversazioni private"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "L'elenco dei canali può essere aperto solo da schede che rilevino il server"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avverti quando si chiude il menu della finestra principale"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Avverti quando c'è elevato traffico sull'elenco dei canali"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avverti quando si incollano grandi quantità di testo"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Avvertimento all'uscita di Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Avvisa prima di uscire con trasferimenti di file DCC"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Elenco canali"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Impostazioni del filtro"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Minimo utenti:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Massimo utenti:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Qui puoi limitare l'elenco dei canali a quei canali con un numero minimo di "
+"utenti. Scegliere 0 disattiva il criterio."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Qui puoi limitare l'elenco dei canali a quei canali con un numero massimo di "
+"utenti. Scegliere 0 disattiva il criterio."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Schema del filtro:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Obiettivo del filtro:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Inserisci qui una stringa di filtraggio."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Espressione regolare"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Applica filtro"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Fai clic qui per recuperare l'elenco dei canali dal server e applicare il "
+"filtro."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Qui viene visualizzato l'elenco filtrato di canali. Nota che se non usi le "
+"espressioni regolari, Konversation elenca ogni canale il cui nome contenga la "
+"stringa di filtraggio che hai inserito. Il nome del canale non deve per forza "
+"cominciare per la stringa che hai inserito.\n"
+"\n"
+"Seleziona un canale in cui vuoi entrare facendoci clic. Fai clic destro sul "
+"canale per avere un elenco di tutti gli indirizzi Web citati nel tema del "
+"canale."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nome del canale"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Titolo del canale"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Aggiorna elenco"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Salva elenco..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Entra nel canale"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Fai clic qui per entrare nel canale. Verrà creata una nuova scheda per il "
+"canale."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Salva l'elenco dei canali"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Elenco dei canali di Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canali: %1 (%2 mostrati)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Utenti non univoci: %1 (%2 mostrati)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Apri URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Nessun URL trovato>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Elenco canali per %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Collegato"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per la "
+"messaggistica istantanea, ma non ha specificato nessun contatto a cui mandare "
+"il messaggio. È probabilmente un errore dell'altra applicazione."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per la "
+"messaggistica istantanea, ma Konversation non ha potuto trovare il contatto "
+"specificato nella rubrica di KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per la "
+"messaggistica istantanea, ma l'utente richiesto %1 non è collegato."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per inviare un "
+"file a un contatto, ma non ha specificato il contatto a cui mandare il file. È "
+"probabilmente un errore dell'altra applicazione."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per inviare un "
+"file a un contatto, ma Konversation non ha potuto trovare il contatto "
+"specificato nella rubrica di KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per inviare un "
+"file a un contatto, ma l'utente richiesto %1 non è attualmente collegato."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Un'altra applicazione di KDE ha cercato di usare Konversation per aggiungere un "
+"contatto. Konversation non supporta questa operazione."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Impossibile eseguire il tuo programma della rubrica (kaddressbook). Ciò è "
+"accaduto probabilmente è perché non è installato. Installa i pacchetti "
+"«kdepim»."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Il contatto che hai selezionato non ha un indirizzo di posta associato. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Impossibile inviare email"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Impossibile eseguire il tuo programma di posta elettronica. È possibile che sia "
+"perché non ce n'è uno installato. Per installare il programma di posta di KDE "
+"(kmail), installa i pacchetti «kdepim»."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Nessuno dei contatti che hai selezionato sono stati associati con dei contatti "
+"della rubrica. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"Il contatto che hai selezionato non è stato associato con un contatto della "
+"rubrica. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Alcuni dei contatti (%1) che hai selezionato non sono associati con dei "
+"contatti della rubrica. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Uno dei contatti (%1) che hai selezionato non è associato con un contatto della "
+"rubrica. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Puoi fare clic destro su un contatto, e scegliere di modificare le associazioni "
+"della rubrica per collegarlo a un contatto nella tua rubrica."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Nessuno dei contatti che hai selezionato hanno un indirizzo di posta associato. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Alcuni dei contatti (%1) che hai selezionato non hanno un indirizzo di posta "
+"associato. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Uno dei contatti (%1) che hai selezionato non ha un indirizzo di posta "
+"associato. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Puoi fare clic destro su un contatto, e scegliere di modificare il contatto "
+"della rubrica, aggiungendoci un indirizzo di posta."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Alcuni dei contatti (%1) che hai selezionato non sono associati con dei "
+"contatti della rubrica, e alcuni dei contatti (%2) non hanno un indirizzo di "
+"posta associato. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Puoi fare clic destro su un contatto, e scegliere di modificare le associazioni "
+"della rubrica per collegarlo a un contatto nella tua rubrica, e scegliere di "
+"modificare il contatto della rubrica, aggiungendoci un indirizzo di posta."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Vuoi inviare un'email lo stesso ai nick che hanno un indirizzo di posta?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Invia email"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Collega nick IRC a contatto della rubrica"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Scegli chi è «%1»."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Attualmente «%1» è associato con un contatto."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Attualmente «%1» è associato con il contatto «%2»."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Attenzione:</b> «%1» è attualmente elencato come appartenente a più "
+"contatti. Seleziona il contatto giusto.</p></qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Nuova voce della rubrica"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nome della nuova voce:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Raccoglitore di URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Elenco degli URL elencati in ogni finestra di Konversation durante questa "
+"sessione."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Apri URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Seleziona una <b>URL</b> sopra, quindi fai clic su questo pulsante per "
+"avviare l'applicazione associata al tipo MIME dell'URL.</p>"
+"<p>Nelle <b>Impostazioni</b>, sotto <b>Comportamento</b> | <b>Generale</b>"
+", puoi specificare un browser Web personalizzato per le URL Web.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copia URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Seleziona un <b>URL</b> sopra, quindi fai clic su questo pulsante per copiare "
+"l'URL negli appunti."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Elimina URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Seleziona un <b>URL</b> sopra, quindi fai clic su questo pulsante per eliminare "
+"l'URL dall'elenco."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Sal&va elenco..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Fai clic per salvare l'intero elenco in un file."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "Pu&lisci elenco"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Fai clic per eliminare l'intero elenco."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Salva elenco di URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Modifica l'incollamento di linee multiple"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Aggiungi indicatori di cita&zione"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "C&anale:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "È richiesto il nome del canale."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Log grezzo"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Cerca testo nella scheda attuale"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "E&lenco canali per %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Apri file di l&og di %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Opzioni del &canale per %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Predefinita (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Puoi cercare solo nei campi di testo."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Trova informazione testuale"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "File di log di %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Stato DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Usare questa funzione potrebbe causare molto traffico di rete. Se la tua "
+"connessione non è abbastanza veloce, è possibile che il tuo client venga "
+"disconnesso dal server."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Avvertimento elenco dei canali"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"L'elenco canali può essere aperto solo da una finestra di conversazione "
+"privata, canale o stato per sapere a quale server appartenga l'elenco."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Inserisci qui il nome della rete. Puoi creare tante voci quante vuoi con la "
+"stessa rete nella schermata di elenco dei server."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Scegli un'identità esistente o fai clic sul pulsante Modifica per aggiungere "
+"una nuova identità, o modificarne una esistente. L'identità ti identificherà e "
+"determinerà il tuo nick quando ti connetti alla rete."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opzionale. Questo comando sarà inviato al server dopo la connessione. Per "
+"esempio: <b>/msg serverNick IDENTIFY <i>konvieermejo</i></b>"
+". Questo esempio è valido per la rete Freenode, che richiede agli utenti di "
+"registrare i loro nick e password, e accedere quando si connettono. <i>"
+"konvieermejo</i> è la password per il nick indicato nell'identità. Puoi "
+"inserire più di un comando separandoli con punti e virgola."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Segna qui se vuoi che Konversation si connetta automaticamente a questa rete "
+"ogni volta che lo apri."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Questo è un elenco di server IRC sulla rete. Quando ti connetti a una rete, "
+"Konversation proverà a connettersi al server in cima per primo. Se non riesce, "
+"proverà con il secondo. Se non riesce, proverà con il terzo, e così via. Deve "
+"essere specificato almeno un server. Fai clic su un server per evidenziarlo."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opzionale. Questo è un elenco dei canali in cui entrerai automaticamente una "
+"volta che Konversation si sarà connesso a un server. Puoi lasciare in bianco se "
+"non vuoi entrare automaticamente in nessun canale."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Cambia le informazioni sulla rete"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Aggiungi server"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Modifica server"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Aggiungi canale"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Modifica canale"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "È richiesto il nome della rete."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Devi aggiungere almeno un server alla rete."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Temi di Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Seleziona pacchetto tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Scaricamento del tema non riuscito"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Archivio del tema non valido."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Impossibile installare tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Vuoi rimuovere %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Rimuovi tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Client IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Scegli destinatario"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Scegli nick e chiudi la finestra"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Chiudi la finestra senza cambiamenti"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Server %1 non trovato."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "L'amministratore ha limitato il diritto di ricezione dei file"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Indirizzo del mittente non valido (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Negoziazione non supportata (dimensione file=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Impossibile creare la cartella.</b><br>Cartella: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Impossibile creare un'istanza di KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Il file è usato da un altro trasferimento.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Esiste un file parziale.</b>"
+"<br>%1"
+"<br>Dimensione del file parziale: %2 byte"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Il file esiste già.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Impossibile aprire il file.<br>Errore: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Impossibile inviare un riconoscimento DCC SEND inverso al partner attraverso il "
+"server IRC."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "In attesa della connessione"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Attesa dell'accettazione dell'host remoto"
+
+#: src/dcctransferrecv.cpp:474
+msgid "Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Impossibile inviare una richiesta di ripristino DCC RECV al partner attraverso "
+"il server IRC."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Risposta inattesa dall'host remoto"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Errore di trasferimento"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Errore KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Alcuni dettagli della persona a cui stai parlando in questa conversazione "
+"privata sono visualizzati in questa barra. Sono mostrati il nome completo e la "
+"maschera dell'host, insieme con qualsiasi immagine o logo a cui questa persona "
+"sia stata associata nella rubrica di KDE."
+"<p>Vedi il <i>Manuale di Konversation</i> per informazioni su come associare un "
+"nick con un contatto nella rubrica, e per una spiegazione di cosa sia la "
+"maschera dell'host.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(assente)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Vuoi ignorare %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Vuoi chiudere questa conversazione privata dopo aver ignorato questo nick?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Chiudi questa conversazione privata"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Tieni aperta"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Vuoi smettere di ignorare %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identità predefinita (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Vuoi chiudere la tua conversazione privata con %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Chiudi conversazione privata"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Stai parlando a te stesso"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 ha lasciato questo server."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 ha lasciato questo server (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Anteprima OSD - trascina a riposo"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operatore"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Amministratore"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Proprietario"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Semioperatore"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Ha la parola"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interfaccia"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportamento"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notifiche"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Finestra di chat"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temi degli elenchi di nick"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Colori"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Pulsanti rapidi"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Connessione"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Elenco nick"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Alias di comando"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Sostituzione automatica"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Log"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Evidenzia"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Nick sorvegliati"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Vista a schermo"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Finestre di dialogo di avvertimento"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Domanda ricezione DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Ripristina"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nome file o&riginale"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Suggerisci &nuovo nome file"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "S&ovrascrivi"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "R&inomina"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Trova in avanti"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Distingui le maiuscole"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Solo parole intere"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Dal cursore"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vuoi veramente chiudere «%1»?\n"
+"\n"
+"Saranno chiuse anche tutte le schede associate."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Chiudi scheda"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vuoi disconnetterti da «%1»?\n"
+"\n"
+"Saranno chiuse anche tutte le schede associate."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Disconnetti dal server"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Disconnetti"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Iniziato a"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Stato"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Avanzamento"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Posizione"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Rimanente"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Velocità"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Indirizzo del mittente"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Accetta"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Interrompi"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Apri file"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Inizia a ricevere"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Interrompi i trasferimenti"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Esegui il file"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Mostra i dettagli dei trasferimenti DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Seleziona tutti gli elementi"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "S&eleziona tutti gli elementi completati"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Accetta"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Interrom&pi"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Invia di nuovo"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "Pulis&ci"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Apri file"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informazioni del file"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Modifica le impostazioni dei canali"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Ogni canale di IRC ha un tema associato. Questo è semplicemente un "
+"messaggio che tutti possono vedere."
+"<p>Se sei un operatore, o la modalità «<em>T</em>» del canale non è stata "
+"impostata, puoi cambiare il tema del canale facendo clic sul pulsante Modifica "
+"le proprietà del canale a sinistra del tema. Lì puoi anche vedere la cronologia "
+"dei temi.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore li "
+"può cambiare."
+"<p>La modalità <b>T</b>ema significa che solo l'operatore del canale può "
+"cambiare il tema del canale.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarli."
+"<p><b>N</b>essun messaggio dall'esterno significa che gli utenti che non sono "
+"nel canale non possono inviare messaggi che tutti possono vedere. Quasi tutti i "
+"canali hanno questa opzione attiva per evitare messaggi fastidiosi.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarli."
+"<p>Un canale <b>s</b>egreto non apparirà sull'elenco dei canali, né sarà "
+"possibile per qualsiasi utente vedere che sei nel canale con il comando <em>"
+"WHOIS</em> o qualcosa di simile. Solo le persone che sono nello stesso canale "
+"sapranno che ci sei, se questa modalità è impostata.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarla."
+"<p>Un canale solo su <b>i</b>nvito significa che si può entrare nel canale solo "
+"se invitati. Per invitare qualcuno, un operatore del canale deve eseguire il "
+"comando <em>/invite nick</em> dall'interno del canale.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarli."
+"<p>Un canale <b>p</b>rivato è visualizzato in un elenco di tutti i canali, ma "
+"senza il tema. Il <em>WHOIS</em> di un utente potrebbe o meno visualizzarlo "
+"come canale privato a seconda del server IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarli."
+"<p>Un canale <b>m</b>oderato è un canale dove solo gli operatori, i "
+"semioperatori e coloro che hanno la parola possono parlare.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarla."
+"<p>Un canale <b>p</b>rotetto richiede che gli utenti inseriscano una password "
+"per entrare.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarla."
+"<p>In un canale che ha un <b>l</b>imite di utenti, solo un certo numero di "
+"utenti possono essere nel canale contemporaneamente. Alcuni canali hanno un "
+"programma che cambia questa opzione automaticamente a seconda del traffico nel "
+"canale.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Massimo numero di utenti permesso nel canale"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Questo è il limite di utenti del canale, il numero massimo di utenti che "
+"possono essere nel canale allo stesso tempo. Se sei un operatore, puoi "
+"impostarlo. La modalità del canale <b>T</b>ema (pulsante a sinistra) sarà "
+"automaticamente impostata se lo imposti.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Questo mostra il tuo nick attuale, e ogni alternativa che hai impostato. Se "
+"selezioni o scrivi un nick diverso, sarà inviata una richiesta al server IRC "
+"per cambiare il tuo nick. Se il server lo permette, sarà selezionato il nuovo "
+"nick. Se scrivi un nuovo nick, devi premere «Invio» alla fine."
+"<p>Puoi cambiare i nick alternativi dall'opzione <em>Identità</em> nel menu <em>"
+"File</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Vuoi ignorare gli utenti selezionati?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Vuoi smettere di ignorare gli utenti selezionati?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Completamento"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Completamenti possibili: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Password del canale"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Limite nick"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Inserisci il nuovo limite nick:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Sei ora noto come %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 è ora noto come %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Sei entrato nel canale %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 è entrato nel canale (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Hai lasciato questo server."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Hai lasciato questo server (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Hai lasciato il canale %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Hai lasciato il canale %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 ha lasciato questo server (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 ha lasciato questo canale."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 ha lasciato questo canale (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Hai cacciato te stesso dal canale %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Hai cacciato te stesso dal canale %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Sei stato cacciato dal canale %1 da %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Sei stato cacciato dal canale %1 da %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Hai cacciato %1 dal canale."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Hai cacciato %1 dal canale (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 è stato cacciato dal canale da %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 è stato cacciato dal canale da %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n nick\n"
+"%n nick"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operatore)\n"
+" (%n operatori)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Il titolo del canale è «%1»."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Hai impostato il titolo del canale a «%1»."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 ha impostato il titolo del canale a «%2»."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Hai dato privilegi di proprietario del canale a te stesso."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Hai dato privilegi di proprietario del canale a %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 ti ha dato privilegi di proprietario del canale."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 ha dato privilegi di proprietario del canale a %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Hai tolto i privilegi di proprietario del canale a te stesso."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Hai tolto i privilegi di proprietario del canale a %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 ti ha tolto i privilegi di proprietario del canale."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 ha tolto i privilegi di proprietario del canale da %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Hai dato privilegi di amministratore del canale a te stesso."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Hai dato privilegi di amministratore del canale a %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 ti ha dato privilegi di amministratore del canale."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 ha dato privilegi di amministratore del canale a %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Ti sei tolto i privilegi di amministratore del canale da te."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Hai tolto i privilegi di amministratore del canale a %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 ti ha tolto i privilegi di amministratore del canale."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 ha tolto i privilegi di amministratore del canale a %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Hai dato privilegi di operatore del canale a te stesso."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Hai dato privilegi di operatore del canale a %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 ti ha dato privilegi di operatore del canale."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 ha dato privilegi di operatore del canale a %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Hai tolto i privilegi di operatore del canale a te stesso."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Hai tolto i privilegi di operatore del canale a %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 ti ha tolto i privilegi di operatore del canale."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 ha tolto i privilegi di operatore del canale da %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Hai dato privilegi di semiop del canale a te stesso."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Hai dato privilegi di semiop del canale a %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 ti ha dato privilegi di semiop del canale."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 ha dato privilegi di semiop del canale a %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Hai tolto i privilegi di semiop del canale a te stesso."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Hai tolto i privilegi di semiop del canale a %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 ti ha tolto i privilegi di semiop del canale."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 ha tolto privilegi di semiop del canale a %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Ti sei dato il permesso di parlare."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Hai dato a %1 il permesso di parlare."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 ti ha dato il permesso di parlare."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 ha dato a %2 il permesso di parlare."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Hai tolto il permesso di parlare a te stesso."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Hai tolto il permesso di parlare a %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 ti ha tolto il permesso di parlare."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 ha tolto il permesso di parlare a %2."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Hai impostato la modalità del canale a «colori non permessi»."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 ha impostato la modalità del canale a «colori non permessi»."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Hai impostato la modalità del canale a «codici dei colori permessi»."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 ha impostato la modalità del canale a «codici dei colori permessi»."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Hai impostato la modalità del canale a «solo su invito»."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 ha impostato la modalità del canale a «solo su invito»."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Hai rimosso la modalità «solo su invito» del canale."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 ha rimosso la modalità «solo su invito» del canale."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Hai impostato la modalità del canale a «moderato»."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 ha impostato la modalità del canale a «moderato»."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Hai impostato la modalità del canale a «non moderato»."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 ha impostato la modalità del canale a «non moderato»."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Hai impostato la modalità del canale a «nessun messaggio dall'esterno»."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 ha impostato la modalità del canale a «nessun messaggio dall'esterno»."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Hai impostato la modalità del canale a «permetti messaggi dall'esterno»."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 ha impostato la modalità del canale a «permetti messaggi dall'esterno»."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Hai impostato la modalità del canale a «privato»."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 ha impostato la modalità del canale a «privato»."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Hai impostato la modalità del canale a «pubblico»."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 ha impostato la modalità del canale a «pubblico»."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Hai impostato la modalità del canale a «segreto»."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 ha impostato la modalità del canale a «segreto»."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Hai impostato la modalità del canale a «visibile»."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 ha impostato la modalità del canale a «visibile»."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Hai attivato la «protezione del titolo»."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 ha attivato la «protezione del titolo»."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Hai disabilitato la «protezione del titolo»."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 ha disabilitato la «protezione del titolo»."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Hai impostato la chiave del canale a «%1»."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 ha impostato la chiave del canale a «%2»."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Hai rimosso la chiave del canale."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 ha rimosso la chiave del canale."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Hai impostato il limite del canale a %1 nick."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 ha impostato il limite del canale a %2 nick."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Hai rimosso il limite del canale."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 ha rimosso il limite del canale."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Hai messo al bando %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 ha messo al bando di %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Hai rimosso la messa al bando di %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 ha rimosso la messa al bando di %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Hai impostato un'eccezione alla messa al bando di %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 ha impostato un'eccezione alla messa al bando di %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Hai rimosso l'eccezione alla messa al bando di %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 ha rimosso l'eccezione alla messa al bando di %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Hai impostato la maschera d'invito %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 ha impostato la maschera d'invito %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Hai rimosso la maschera d'invito %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 ha rimosso la maschera d'invito %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Hai impostato la modalità del canale +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 ha impostato la modalità del canale +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Hai impostato la modalità del canale -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 ha impostato la modalità del canale -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Devi essere operatore per cambiare questo."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Il titolo può essere cambiato solo dall'operatore del canale. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Nessun messaggio al canale da client esterni. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canale segreto. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canale solo su invito. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canale privato. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canale moderato. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Proteggi il canale con una password."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Imposta un limite di utenti per il canale."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Vuoi uscire da %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Esci dal canale"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Esci"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Federico Zenith,Daniele Medri"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "federico.zenith@member.fsf.org"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Coda lenta"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "Righe"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "Byte"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Età:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Conteggio:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Righe:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Byte:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Coda normale"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Coda veloce"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Tutte le code"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Ricevuti:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Byte (grezzi):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Byte (codificati):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nome del pulsante"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Azione del pulsante"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Azione del pulsante:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nome del pulsante:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Segnaposto disponibili"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Nick attuale\n"
+"%c: Canale attuale\n"
+"%K: Password del server\n"
+"%u: Elenco dei nick selezionati\n"
+"%s<termine>%: Termine usato per separare i nick in %u\n"
+"%n: Invia comando direttamente al server invece che alla tua linea di input"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Nome file:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Se stesso:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Tipo:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Stato:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Posizione:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Avanzamento:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partner:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Apri cartella"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Dimensione del file:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Velocità media:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Ripristinato:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Velocità attuale:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Posizione attuale:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Tempo rimanente stimato:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Offerto a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Concluso a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Iniziato a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Tempo di trasferimento:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Abilita riconnessione automatica"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Ritardo di riconnessione:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Tentativi di riconnessione:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " secondi"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Illimitato"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Debug"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Mostra la finestra di log &grezzo alla riconnessione"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Schema"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tipo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Schema:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Tipi di messaggi"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Nuovo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Rimuovi t&utto"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Nome della rete:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identità:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Comandi:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Co&nnetti all'avvio dell'applicazione"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Server"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Aggiungi..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "Mo&difica..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Entra nel canali automaticamente"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Mod&ifica..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Sostituzione:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Sostituzione"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Trova &successivo"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Trova precedente"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Comandi da eseguire su doppio clic:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ordina &ignorando le maiuscole"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Ordina per &attività"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ordina per &stato dell'utente"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Spiegazione"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Riordina i nick con il trascinamento)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Tema_Configurazione"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstalla tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Rimuovi tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Icona per gli utenti normali"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Icona per gli utenti assenti"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Icona per gli utenti con parola"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Icona per gli utenti con privilegi di semioperatore"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Icona per gli utenti con privilegi di operatore"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Icona per gli utenti con privilegi di amministratore"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Icona per gli utenti con privilegi di proprietario"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Anteprima:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "BarraLinguette_Configurazione"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aspetto"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Posizionamento:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Mostra il pulsante di &chiusura sulle linguette"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Mostra un pulsante di chiusura sulla dest&ra nella barra delle linguette"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Limita le dimen&sioni delle linguette per farle stare tutte nello schermo"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Attivazione"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Attiva nuove &schede"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Attiva nuove &conversazioni private"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Mouse"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "Fai clic col tasto &centrale su una scheda per chiuderla"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Comandi da e&seguire al doppio clic del nick:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Quando fai doppio clic su un nick nella finestra <b>Nick scollegati</b>"
+", questo comando viene messo nella <b>Riga di input</b> "
+"nella finestra del server.</p>\n"
+"<p>I simboli seguenti possono essere usati nel comando:</p>"
+"<ul>\n"
+"<li>%u: il nick su cui si è fatto doppio clic.</li>\n"
+"<li>%K: la password del server.</li>\n"
+"<li>%n: invia il comando direttamente al server invece che alla tua riga di "
+"input.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Quando fai doppio clic su un nick nella finestra <b>Nick scollegati</b>"
+", questo comando viene messo nella <b>Riga di input</b> "
+"nella finestra del server.</p>\n"
+"<p>I simboli seguenti possono essere usati nel comando:</p>"
+"<ul>\n"
+"<li>%u: il nick su cui si è fatto doppio clic.</li>\n"
+"<li>%K: la password del server.</li>\n"
+"<li>%n: invia il comando direttamente al server invece che alla tua riga di "
+"input.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Intervallo di &aggiornamento:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation controllerà lo stato dei nick sotto elencati ogni questo "
+"intervallo."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Mo&stra la scheda dei nick sorvegliati collegati all'avvio dell'applicazione"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Quando segnato, la finestra <b>Nick collegati</b> "
+"sarà aperta automaticamente all'avvio di Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Abilita la sorveglianza dei nic&k"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Quando la sorveglianza dei nick è attiva, sarai avvertito quando i nick "
+"presenti nell'elenco <b>Reti/nick sorvegliati</b> si collegano o scollegano.</p>"
+"\n"
+"<p>Puoi anche aprire la finestra <b>Nick collegati</b> "
+"per vedere lo stato di tutti i nick sorvegliati.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Rete:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "La rete di server IRC (come «freenode») su cui l'utente selezionato si trova."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Il nick (nome utente) della persona selezionata da sorvegliare"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Reti/nick sorvegliati"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Quando la sorveglianza dei nick è attiva, sarai avvertito quando i nick "
+"presenti nell'elenco <b>Reti/nick sorvegliati</b> si collegano o scollegano.</p>"
+"\n"
+"<p>Puoi anche aprire la finestra <b>Nick collegati</b> "
+"per vedere lo stato di tutti i nick sorvegliati.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Fai clic su un nick per aggiungerlo all'elenco."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Fai clic per rimuovere il nick selezionato dall'elenco."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "A&bilita il log"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Abilita i nomi di file di &log minuscoli"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Aggiungi nome host ai nomi del file di log"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Percorso del file di log:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Abilita il vassoio di sistema"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Usa il vassoio di sistema per le notifiche di nuovi messaggi"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"&Notifica solo quando viene attivata un'evidenziazione o viene usato il tuo "
+"nick attuale"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Fai &lampeggiare l'icona"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Nascondi le finestre all'avvio"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Completamento del nick"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Modalità di completamento:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Scorri l'elenco dei nick"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Come in shell"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Come in shell con casella di completamento"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Suffi&sso all'inizio della riga:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "In altro &luogo:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Distingui le maiuscole"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Disattiva le notifiche quando sei vi&a"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Usa risposta con &versione personalizzata:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Qui puoi impostare una risposta personalizzata per le richieste <b>CTCP <i>"
+"VERSIONE</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "La casella di inserimento si espande assieme al testo"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Carattere coman&do:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Usa un &browser Web personalizzato:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Limita le dimensioni delle etichette delle linguette per farle stare tutte "
+"nello schermo"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Nascondi la barra di scorrimento"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid "Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Attiva se vuoi che venga controllata l'ortografia di tutte le righe di input "
+"IRC che scrivi"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid "Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Abilitare questa opzione farà crescere verticalmente la casella di inserimento "
+"quando si riempie."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Nascosto nel vassoio di sistema"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Avvia con finestra principale nascosta"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Mo&stra i nomi veri di fianco ai nick"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Apri la scheda dei nick sorvegliati all'avvio dell'applicazione"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Abilita le faccine"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tema delle faccine"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "T&ema"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Data"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&dalità"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Il &titolo può essere cambiato solo dagli operatori del canale"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Nessun messaggio dall'esterno del canale"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canale &segreto, il canale non è elencato nell'elenco dei canali"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Solo gli &invitati possono entrare nel canale"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Questi controllano la <em>modalità</em> del canale. Solo un operatore può "
+"cambiarli."
+"<p>Un canale solo su <b>i</b>nvito significa che si può entrare nel canale solo "
+"se invitati. Per invitare qualcuno, un operatore del canale deve eseguire il "
+"comando <em>/invite nick</em> dall'interno del canale.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "Canale &moderato, solo le persone con la parola possono scriverci"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "&Password del canale:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Limite utenti:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Mostra le modalità &avanzate >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parametro"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Elenco messe al &bando"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Rimuovi messa al bando"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Aggiungi messa al bando"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Maschera host"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Impostato da"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "In data"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Cerca:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "Impostazioni_DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Cartella di scaricamento:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Aggiungi mittente al nome del file"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "C&rea cartella per il mittente"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Converti gli spazi nei nomi dei file in sottolineature prima di inviare"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Accetta automat&icamente le richieste di scaricamento"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Ripristina au&tomaticamente gli scaricamenti"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Abilita l'invio DCC veloce (potrebbe &non funzionare con tutti i client)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Dimen&sione del buffer:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Scadenza dell'&invio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Passa a un'interfaccia IPv&4 per l'invio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Se questa opzione è abilitata i trasferimenti DCC per le connessioni IPv6 "
+"saranno effettuati con l'interfaccia IPv4 impostata qui"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " byte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sec"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Abilita l'invio DCC passivo"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Metodo per ottenere il proprio IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Pro&prio IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Porte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Abilita le p&orte specifiche per la chat DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "a"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Abilita &porte specifiche per il server di trasferimento DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Usa testo colorato"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Usa LED colorati"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Evento dell'applicazione"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Gli eventi dell'applicazione avvengono nelle schede di Konsole, nella scheda di "
+"stato DCC e altre schede di applicazioni non usate direttamente per la chat."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Messaggio"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Messaggio privato"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Nick attualmente in uso"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Evento del canale"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Gli eventi del canale sono cambi della modalità o utenti che entrano o escono "
+"dal canale."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Dài precedenza ai colori evidenziati della finestra di chat"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Se lo selezioni, saranno usati i colori che scegli nella pagina delle "
+"preferenze delle evidenziazioni invece dei colori per «Nick attualmente in uso» "
+"e «Evidenzia»."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Abilita un carattere a spaziatura fi&ssa per i messaggi MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Mostra il messaggio del giorno con caratteri a spaziatura fissa"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Rendi i nick dei mittenti in &grassetto nella vista della chat"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Testo di chat:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Elenco nick:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Linguette:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Elenco delle evidenziazioni"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "EsprReg"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Evidenziazioni"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Suono"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Testo automatico"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Schema:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Colore:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Suono:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 applicazione/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Prova suono"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Testo automatico:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "A&bilita il suono per gli elementi evidenziati"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Evidenz&ia sempre il proprio nick attuale:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Evidenzia sempre &le proprie righe:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Crea nuova voc&e..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Crea una nuova voce nella tua rubrica"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Foto"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nome"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Seleziona il contatto con cui vuoi comunicare con la messaggistica istantanea"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "C&erca:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Abilita la campanella di s&istema su ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid "Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Suona la campanella di sistema quando ricevi un carattere di controllo ASCII "
+"BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Nascondi gli eventi &Join/Part/Nick"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Disabilita l'es&pansione delle variabili (come %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Non espandere le variabili quando invii del testo al server. Una variabile "
+"comincia per «%»; per esempio, %B si espanderà ai caratteri necessari per "
+"rendere il testo in grassetto."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Redireziona i messaggi di stato alla finestra dello stato del server"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Limite di &scorrimento all'indietro:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Quante righe tenere nel buffer, 0=illimitato"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Usa modalità grezze per i cambiamenti di modalità"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Mantieni la stringa della modalità del canale come combinazione di caratteri "
+"invece di tradurli in parole leggibili. Per esempio «*** Modalità del canale: "
+"nessun messaggio dall'esterno» diverrà «*** Modalità del canale: n»"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " righe"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Segnariga"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Mostra le righe inserite manualmente in tutte le finestre di chat"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Segna l'ultima posizione in una finestra di chat quando viene nascosta"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Inserisce un segnariga nella finestra di chat quando passi a un'altra finestra "
+"di chat o minimizzi l'applicazione."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Sposta la riga solo quando sta per essere mostrato del testo nuovo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Abilita la ricerca automatica delle informazioni sull'utente (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Numero massimo di utenti permesso nel canale:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " nick"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Intervallo di aggiornamento:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "Abilita vista a sch&ermo"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Vista a &schermo"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Disegna ombre"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Carattere OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Mostra messaggio &OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Se &il proprio nick appare in un messaggio del canale"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Su qualsias&i messaggio del canale"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Su attività in &conversazione privata"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Su eventi &Entra/Esci"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Abilita colori personalizzati"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Colore del te&sto:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Colore dello &sfondo:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Al&tre impostazioni"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Durata:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "S&chermo:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Finestra"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "Nuo&vo"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "R&imuovi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Sostituisci in"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Trova"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Sostituisci con"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Sostituisci in:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Trova:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Sostituisci con:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Abilita da&te/ore"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "Mostra &date"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Formato:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Mostra &backlog"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Righe: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "As&petto"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Mo&stra il titolo del canale"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "&Mostra i pulsanti per le modalità dei canali"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Mostra la barra di sco&rrimento"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mostra il ri&quadro per cambiare il proprio nick"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Mostra i pul&santi rapidi"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Mostra i nomi veri di fianco ai nick"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Mostra l'elenco dei &nick e i pulsanti rapidi del canale"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Mostra le maschere host nell'elenco nic&k"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Abilita l'imma&gine di sfondo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "P&ercorso:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Colori personalizzati"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Usa colori personalizzati per la casella di inserimento, l'elenco dei nick e "
+"l'elenco delle schede"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Sfondo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Messaggio del &server:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "Collegamento &ipertestuale:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Messaggio di canale:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "Azio&ne:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Bac&klog:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Messaggio di coman&do:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Messaggio di &conversazione privata:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "Da&ta/ora:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Sfondo a&lternativo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Nick colorati"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "Colore del pr&oprio nick:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Permetti testo color&ato nei messaggi IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Abilitando questa opzione, nella tua finestra di chat i codici dei colori "
+"aggiunti ai messaggi IRC saranno visualizzati come testo colorato. Puoi "
+"aggiungere codici dei colori ai tuoi messaggi selezionando Inserisci -> "
+"Colore IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Anteprima"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Questo è come sarà l'aspetto del tuo messaggio con questi colori"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Questa è un'anteprima di come i tuoi lettori potrebbero vedere il tuo "
+"messaggio se selezioni questi colori."
+"<br>\n"
+"<b>Nota: non tutti i client lo supportano, e alcuni utenti potrebbero aver "
+"scelto di ignorare i tuoi cambiamenti di colore.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Il colore del testo scelto è aggiunto alla riga di input."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Qui puoi scegliere di quale colore vuoi che sia il testo del prossimo "
+"messaggio che invii. Se scegli un colore e fai clic su OK, il colore scelto "
+"viene aggiunto alla riga di input. Qualsiasi testo scritto dopo sarà nel colore "
+"scelto, finché cambierai il colore di nuovo."
+"<br>\n"
+"<b>Nota: non tutti gli utenti attivano l'opzione per vederlo.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Colore &primo piano:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Il colore dello sfondo del testo scelto è aggiunto alla riga di input."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Qui puoi scegliere di quale colore vuoi che sia lo sfondo testo del "
+"prossimo messaggio che invii.\n"
+"Se scegli un colore e fai clic su OK, il colore scelto viene aggiunto alla riga "
+"di input.\n"
+"Qualsiasi testo scritto dopo sarà nel colore scelto, finché cambierai il colore "
+"di nuovo."
+"<br>\n"
+"Scegliere il valore predefinito «<i>Nessuno</i>» non cambierà il colore di "
+"sfondo del tuo messaggio, quindi i tuoi lettori vedranno il tuo messaggio con "
+"il loro colore di sfondo del testo normale."
+"<br>\n"
+"<b>Nota: non tutti i client lo supportano, e non tutti gli utenti attivano "
+"l'opzione per vederlo.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Finestre di avvertimento da mostrare"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Password:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+A"
+
+#~ msgid "Messages"
+#~ msgstr "Messaggi"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Mostra messaggi di a&ssenza"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Imposta come disponibile glob&almente"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Ogni "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avvertimento su eliminazione del file ricevuto su DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "La chiave per %1 è stata impostata correttamente."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Impossibile rimuovere il file «%1»."
+
+#~ msgid "DCC Error"
+#~ msgstr "Errore DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Rimuovi file"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Dettagli del trasferimento"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Rimuovi da questo pannello"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Rimuovi i file ricevuti"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Rimuovi file"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Vuoi veramente rimuovere il file selezionato?\n"
+#~ "Vuoi veramente rimuovere i %n file selezionati?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Conferma dell'eliminazione"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Mostra il nome vero di una persona di fianco al suo nick nell'elenco dei nick."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Connessione al server %1 persa: %2. Tentativo di riconnessione."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Tentativo del server %1 al suo posto."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Attesa di 2 minuti prima di un altro tentativo di connessione..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Gruppi di preferenze disponibili: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Opzioni disponibili nel gruppo %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Uso: %1PREFS <gruppo> <opzione> <valore>, o %2PREFS LIST per elencare i gruppi, o %3PREFS (gruppo) LIST per elencare le opzioni nel gruppo. Metti i parametri tra virgolette se contengono spazi."
+
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DccTransferDetailedInfoPanelUI"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Chiave del canale:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "Inserisci segnariga a&ll'impostazione dello stato ad assente"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "Inserisci segna&riga quando viene nascosta la finestra di chat"
+
+#~ msgid "&Connection"
+#~ msgstr "&Connessione"
+
+#~ msgid "Application Startup"
+#~ msgstr "Avvio dell'applicazione"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "Mo&stra la finestra dell'elenco dei server"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 ha identificato per questo nick."
+
+#~ msgid "&Channel"
+#~ msgstr "&Canale"
+
+#~ msgid "&Topic"
+#~ msgstr "&Titolo"
+
+#~ msgid "&Save List..."
+#~ msgstr "&Salva elenco..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "h:m ap"
+#~ msgstr "h:m ap"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "Entra automaticamente &in un canale su invito"
+
+#~ msgid "Offering"
+#~ msgstr "Offerta"
+
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "Non c'è una porta libera per la chat DCC."
+
+#~ msgid "Update &interval:"
+#~ msgstr "&Intervallo di aggiornamento:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "Quando la sorveglianza dei nick è attiva, sarai avvertito quando i nick presenti nell'elenco <b>Reti/nick sorvegliati</b> si collegano o scollegano.</p>\n"
+#~ "<p>Puoi anche aprire la finestra <b>Nick collegati</b> per vedere lo stato di tutti i nick sorvegliati.</p>\n"
+#~ "\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "Nessuno scaricamento DCC in esecuzione sulla porta %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "Nessun caricamento DCC in esecuzione sulla porta %1."
+
+#~ msgid "Alt+N"
+#~ msgstr "Alt+N"
+
+#~ msgid "%1 %2 (port %3)"
+#~ msgstr "%1 %2 (porta %3)"
+
+#~ msgid "Show the irc view scrollbar"
+#~ msgstr "Mostra la barra di scorrimento della vista IRC"
+
+#~ msgid "File:"
+#~ msgstr "File:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Percorso locale:"
+
+#~ msgid "Saved to:"
+#~ msgstr "Salvato a:"
+
+#~ msgid "Open this file"
+#~ msgstr "Apri questo file"
+
+#~ msgid "Delete this file"
+#~ msgstr "Elimina questo file"
+
+#~ msgid "Sender:"
+#~ msgstr "Mittente:"
+
+#~ msgid "Position:"
+#~ msgstr "Posizione:"
+
+#~ msgid "Accept this transfer"
+#~ msgstr "Accetta questo trasferimento"
+
+#~ msgid "Abort this transfer"
+#~ msgstr "Interrompi questo trasferimento"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Vuoi veramente rimuovere il file ricevuto?"
+
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&Dettagli del trasferimento DCC"
+
+#~ msgid "Switch To"
+#~ msgstr "Passa a"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 è un amministratore di rete."
+
+#~ msgid "&Channel:"
+#~ msgstr "&Canale:"
+
+#~ msgid "Removed"
+#~ msgstr "Rimosso"
+
+#~ msgid "DCC %1: %2"
+#~ msgstr "DCC %1: %2"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 è %3%4."
+
+#~ msgid "&Network:"
+#~ msgstr "&Rete:"
+
+#~ msgid " Command Aliases"
+#~ msgstr " Alias di comando"
+
+#~ msgid "Various bug fixes"
+#~ msgstr "Correzioni varie"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "Opzioni del canale per %1"
+
+#~ msgid "Switch to Away mode in all open connections"
+#~ msgstr "Passa alla modalità Assente in tutte le connessioni aperte"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "Sei segnato come assente."
+
+#~ msgid "Edit Channel Properties"
+#~ msgstr "Modifica le proprietà del canale"
+
+#~ msgid "Version"
+#~ msgstr "Versione"
+
+#~ msgid "Ping"
+#~ msgstr "Ping"
+
+#~ msgid "Server already connected."
+#~ msgstr "Server già connesso."
+
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "Chiedi cosa fare in un ripristino DCC"
+
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "Rientrata automatica nei canali alla r&iconnessione"
+
+#~ msgid "New Alias"
+#~ msgstr "Nuovo alias"
+
+#~ msgid "Add alias:"
+#~ msgstr "Aggiungi un alias:"
+
+#~ msgid "RE"
+#~ msgstr "RE"
+
+#~ msgid "Output"
+#~ msgstr "Output"
+
+#~ msgid "Input"
+#~ msgstr "Input"
+
+#~ msgid "Input/Output"
+#~ msgstr "Input/Output"
+
+#~ msgid "DCC chat with %1 on %2:%3"
+#~ msgstr "Chat DCC con %1 su %2:%3"
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "Ricerca dell'host %1..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "Host trovato, connessione in corso..."
+
+#~ msgid "Connection established."
+#~ msgstr "Connessione stabilita."
+
+#~ msgid "&Default"
+#~ msgstr "Pre&definito"
+
+#~ msgid "&Follow nick changes"
+#~ msgstr "&Segui i cambiamenti di nick"
+
+#~ msgid "Automatically insert &remember line after minimizing main window"
+#~ msgstr "Inserisci segna&riga automaticamente dopo aver minimizzato la finestra principale"
+
+#~ msgid "Autoreplace Patterns"
+#~ msgstr "Schemi di sostituzione automatica"
+
+#~ msgid "Direction:"
+#~ msgstr "Direzione:"
+
+#~ msgid "Direction"
+#~ msgstr "Direzione"
+
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "I campi di inserimento e l'elenco nick &usano colori personalizzati"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr "Offerta di caricamento di \"%1\" a %2..."
+
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 (%2:%3) offre il file \"%4\" (%5 byte) per lo scaricamento."
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "Accettazione della richiesta di ripristino DCC da \"%1\" per il file \"%2\"."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "Invio della richiesta di ripresa DCC a \"%1\" per il file \"%2\"."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">Chiacchiera in %1</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">Chiacchiera con %1</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "Elenco dei &canali per %1"
+
+#~ msgid "Nicks Online"
+#~ msgstr "Nick collegati"
+
+#~ msgid "Themes"
+#~ msgstr "Temi"
+
+#~ msgid "Tab Bar"
+#~ msgstr "Barra delle schede"
+
+#~ msgid "Placement && Focus"
+#~ msgstr "Posizione e fuoco"
+
+#~ msgid "Place tab bar at the top"
+#~ msgstr "Metti la barra delle linguette alto"
+
+#~ msgid "&Bring new tabs to front"
+#~ msgstr "&Porta le nuove schede in primo piano"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "&Quando qualcuno richiede una conversazione privata con te, metti il fuoco sulla conversazione privata"
+
+#~ msgid "Limit the si&ze of the tab labels to fit all on screen"
+#~ msgstr "Limita le dimen&sioni delle etichette delle linguette per farle stare tutte nello schermo"
+
+#~ msgid "Close Button"
+#~ msgstr "Pulsante di chiusura"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "Visualizza le informazioni dei &dettagli DCC"
+
+#~ msgid "Find Text"
+#~ msgstr "Trova testo"
+
+#~ msgid "Whole words"
+#~ msgstr "Parole intere"
+
+#~ msgid "Search forward"
+#~ msgstr "Cerca in avanti"
+
+#~ msgid "Search for text"
+#~ msgstr "Cerca testo"
+
+#~ msgid "Close the window"
+#~ msgstr "Chiudi la finestra"
+
+#~ msgid "Show help here"
+#~ msgstr "Mostra aiuto qui"
+
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1 è entrato in questo canale (%2)."
+
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "Hai cacciato te stesso dal canale (%1)."
+
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "Sei stato cacciato dal canale da %1 (%2)."
+
+#~ msgid ""
+#~ "_: Translate to localised wikipedia url. Search term is appended on the end\n"
+#~ "http://en.wikipedia.org/wiki/Special:Search?go=Go&search="
+#~ msgstr "http://it.wikipedia.org/wiki/Speciale:Search?go=Vai&search="
+
+#~ msgid "Skip creating taskbar entry"
+#~ msgstr "Salta la creazione di una voce nella barra delle applicazioni"
+
+#~ msgid "If you enable this option Konversation will not show up in taskbar"
+#~ msgstr "Se abiliti questa opzione Konversation non apparirà nella barra delle applicazioni"
+
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "PulsantiRapidi_ConfigurazioneIU"
+
+#~ msgid "Alt+Q"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Alt+Z"
+#~ msgstr "Alt+Z"
+
+#~ msgid "Alt+D"
+#~ msgstr "Alt+D"
+
+#~ msgid "Form1"
+#~ msgstr "Modulo1"
+
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "ComportamentoGenerale_Configurazione"
+
+#~ msgid "Alt+R"
+#~ msgstr "Alt+R"
+
+#~ msgid "Alt+V"
+#~ msgstr "Alt+V"
+
+#~ msgid "Alt+B"
+#~ msgstr "Alt+B"
+
+#~ msgid "Alt+J"
+#~ msgstr "Alt+J"
+
+#~ msgid "FontAppearance_Config"
+#~ msgstr "AspettoCaratteri_Configurazione"
+
+#~ msgid "Alt+X"
+#~ msgstr "Alt+X"
+
+#~ msgid "Autoreplace_ConfigUI"
+#~ msgstr "SostituzioneAutomatica_ConfigurazioneIU"
+
+#~ msgid "ChatWindowAppearance_Config"
+#~ msgstr "AspettoFinestraChat_Configurazione"
+
+#~ msgid "%1 unknown %2"
+#~ msgstr "%1 sconosciuto %2"
+
+#~ msgid "Only notify when someone says &your nick"
+#~ msgstr "Notifica solo quando qualcuno dice il tuo nic&k"
+
+#~ msgid "Channel Owners"
+#~ msgstr "Proprietari del canale"
+
+#~ msgid "Channel Admins"
+#~ msgstr "Amministratori del canale"
+
+#~ msgid "Queries"
+#~ msgstr "Interrogazioni"
+
+#~ msgid "Notices"
+#~ msgstr "Comunicazioni"
+
+#~ msgid "CTCPs"
+#~ msgstr "CTCP"
+
+#~ msgid "DCCs"
+#~ msgstr "DCC"
+
+#~ msgid "C&lear"
+#~ msgstr "Pu&lisci"
+
+#~ msgid "C&hannels"
+#~ msgstr "Ca&nali"
+
+#~ msgid "&Queries"
+#~ msgstr "&Conversazione privata"
+
+#~ msgid "Not&ices"
+#~ msgstr "Comun&icazioni"
+
+#~ msgid "C&TCPs"
+#~ msgstr "C&TCP"
+
+#~ msgid "&DCCs"
+#~ msgstr "&DCC"
+
+#~ msgid "&Exception"
+#~ msgstr "&Eccezione"
+
+#~ msgid "Select Background Image"
+#~ msgstr "Scegli l'immagine di sfondo"
+
+#~ msgid "Connect to a new server..."
+#~ msgstr "Connetti a un nuovo server..."
+
+#~ msgid "Set your nick, away message, etc..."
+#~ msgstr "Imposta il tuo nick, il messaggio di assenza, ecc."
+
+#~ msgid "Lag: not known"
+#~ msgstr "Ritardo: ignoto"
+
+#~ msgid "Log_Config"
+#~ msgstr "Registro_Configurazione"
+
+#~ msgid "Alt+L"
+#~ msgstr "Alt+L"
+
+#~ msgid "&Blink the LED on the label when something has changed in the tab"
+#~ msgstr "Fai &lampeggiare la lucina sull'etichetta quando qualcosa è cambiato nella scheda"
+
+#~ msgid "Place close button on the &right side of the tab"
+#~ msgstr "Posiziona il pulsante di chiusura sul lato dest&ro della scheda"
+
+#~ msgid "Tab Management"
+#~ msgstr "Gestione delle schede"
+
+#~ msgid "NicklistBehavior_Config"
+#~ msgstr "ComportamentoListaNick_Configurazione"
+
+#~ msgid "Alt+I"
+#~ msgstr "Alt+I"
+
+#~ msgid "Alt+Y"
+#~ msgstr "Alt+Y"
+
+#~ msgid "Alt+S"
+#~ msgstr "Alt+S"
+
+#~ msgid "Alt+E"
+#~ msgstr "Alt+E"
+
+#~ msgid "Alt+M"
+#~ msgstr "Alt+M"
+
+#~ msgid "Alt+C"
+#~ msgstr "Alt+C"
+
+#~ msgid "A&dd..."
+#~ msgstr "A&ggiungi..."
+
+#~ msgid "Add Network"
+#~ msgstr "Aggiungi rete"
+
+#~ msgid "&Group:"
+#~ msgstr "&Gruppo:"
+
+#~ msgid "Optional. If you enter something here, all the Networks with the same Group will be listed together in the Server List screen."
+#~ msgstr "Opzionale. Se inserisci qualcosa qui, tutte le reti nello stesso gruppo saranno elencate assieme nella schermata di elenco dei server."
+
+#~ msgid "%1omsg needs a message parameter"
+#~ msgstr "%1omsg richiede un parametro del messaggio"
+
+#~ msgid "%1onotice needs a message parameter"
+#~ msgstr "%1onotice richiede un parametro del messaggio"
+
+#~ msgid "Quit server when you hit the tab's close button"
+#~ msgstr "Abbandona il server quando premi il pulsante di chiusura della scheda"
+
+#~ msgid "User Status"
+#~ msgstr "Stato dell'utente"
+
+#~ msgid "Channel Modes: "
+#~ msgstr "Modalità del canale: "
+
+#~ msgid "Konversation::ChannelOptionsUI"
+#~ msgstr "Konversation::ChannelOptionsUI"
+
+#~ msgid "Alt+T"
+#~ msgstr "Alt+T"
+
diff --git a/po/ja/Makefile.am b/po/ja/Makefile.am
new file mode 100644
index 0000000..f18f0ca
--- /dev/null
+++ b/po/ja/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ja
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ja/konversation.po b/po/ja/konversation.po
new file mode 100644
index 0000000..02c3963
--- /dev/null
+++ b/po/ja/konversation.po
@@ -0,0 +1,7231 @@
+# Translation of konversation into to Japanese.
+# Shintaro Matsuoka <shin@shoegazed.org>, 2004.
+# Yukiko Bando <ybando@k6.dion.ne.jp>, 2006, 2007, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-06 21:43+0900\n"
+"Last-Translator: Yukiko Bando <ybando@k6.dion.ne.jp>\n"
+"Language-Team: Japanese <Kdeveloper@kde.gr.jp>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "%1 のチャンネル設定"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "詳細モードを隠す(&H) <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "詳細モードを表示(&S) >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "新規"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "不明"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "%1 の情報:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "ファイル情報"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "このファイルに関する詳細情報はありません。"
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "送信"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "受信"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "キュー"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "準備中"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "待ち"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "接続中"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "受信中"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "送信中"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "完了"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "失敗"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "中止"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/秒"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "ユーザ情報 (&Whois)"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "バージョン情報 (CTCP &Version)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "ラグ測定 (CTCP &Ping)"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "オペレータ権限を与える (Mode +o)"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "オペレータ権限を奪う (Mode -o)"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "サブオペレータ権限を与える (Mode +h)"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "サブオペレータ権限を奪う (Mode -h)"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "発言権を与える (Mode +v)"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "発言権を奪う (Mode -v)"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "モード (Mode)"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "追い出す (Kick)"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "追い出して締め出す (Kickban)"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "締め出す (Ban)"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Ban *!*@*.ホスト"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Ban *!*@ドメイン"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Ban *!ユーザ名@*.ホスト"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Ban *!ユーザ名@ドメイン"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Kickban *!*@*.ホスト"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Kickban *!*@ドメイン"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Kickban *!ユーザ名@*.ホスト"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Kickban *!ユーザ名@ドメイン"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "追放 (Kick / Ban)"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "無視 (Ignore)"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "無視を解除 (Unignore)"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "クエリー (1対1で会話) (&Q)"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "DCC チャット(&C)"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "ファイルを送信 (DCC Send) (&F)..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Eメールを送信(&S)..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "アドレス帳関連付け"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "監視するニックに追加"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>これはチャンネルにいるすべての人のリストです。それぞれのニックネームを表示しています。"
+"<br>通常はその人の状態を表すアイコンも表示されますが、あなたのシステムにはアイコンテーマがインストールされていないようです。「設定」メニューの「Konver"
+"sation を設定」から設定パネルを開いて、「外観」->「テーマ」のページを確認してください。</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>これはチャンネルにいるすべての人のリストです。それぞれのニックネームとその人の状態を表すアイコンを表示しています。"
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>この人は管理者権限を持っています。</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>この人はチャンネル所有者権限を持っています。</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>この人はチャンネルオペレータです。</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>この人はチャンネルサブオペレータです。</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>この人は発言権を持っています。つまりモデレートチャンネルでも発言できます。</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>この人は特別な権限は持っていません。</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>これはこの人が離席中であることを示しています。</td></tr></table>"
+"<p>管理者、所有者、サブオペレータの意味はそれぞれの IRC サーバによって異なります。"
+"<p>それぞれのニックネームの上にマウスカーソルを合わせると、その人の状態やアドレス帳のさまざまな情報が表示されます。詳しくは「Konversation "
+"ハンドブック」をご覧ください。</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "コンタクトを編集..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "関連付けを選択/変更..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "コンタクトを選択..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "関連付けを変更..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "新しいコンタクトを作成..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "関連付けを削除"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "チャンネル"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "クエリー (1対1で会話)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notice"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "例外"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "タブ"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "今日"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "昨日"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (認証済み)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Eメール"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "ホストマスク:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "離席メッセージ:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(不明)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "接続開始:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "クリックすると正規表現エディタ (KRegExpEditor) が起動します。"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "正規表現エディタ (KRegExpEditor) がインストールされていません。"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "送信"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "受信"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "両方"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "%1 のチャンネルに入る"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "クイック接続"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "サーバホスト(&S):"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "ネットワークのホスト"
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "ポート(&P):"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "IRC サーバが使用しているポート"
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "ニック(&N):"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "使用するニック"
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "パスワード(&A):"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr "IRC サーバがパスワードを要求する場合は、それをここに入力してください。ほとんどのサーバではパスワードは必要ありません。"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL を使う(&U)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "接続(&O)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "サーバに接続"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "待ち受けソケットを開けませんでした: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "%1 へ DCC チャット接続を提案しています (ポート %2)..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "%1 と DCC チャット (ポート %2)。"
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "%1 (%2:%3) への DCC チャット接続を確立しています..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "%1 と DCC チャット (%2:%3)。"
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "%1 への DCC チャット接続を確立しました。"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "接続が絶たれました (エラーコード %1)。"
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "未知の CTCP-%1 リクエストを %2 から受け取りました"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "クライアントを受け付けられませんでした。"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "デフォルト ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "サーバリスト"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "選択した IRC ネットワークとチャンネルに接続するにはここをクリックします。"
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"これは設定済みの IRC ネットワークのリストです。IRC ネットワークは互いに協力するサーバの集合体です。したがってネットワークの一つのサーバに接続すれば "
+"IRC ネットワーク全体に接続することができます。接続すると Konversation "
+"は自動的にここに表示されているチャンネルに入ります。Konversation にはあらかじめ Freenode ネットワークと <i>#kde</i> "
+"が設定されています。"
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "ネットワーク"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "個人情報"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "チャンネル"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "新規(&N)..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr "新しいネットワークを設定します。接続するサーバや接続時に自動的に入るチャンネルも設定できます。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "編集(&E)..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "アプリケーションの起動時に表示する"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "新規ネットワーク"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "ネットワークを編集"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1 を削除することはできません。\n"
+"\n"
+"ネットワーク %2 には最低一つのサーバが必要です。"
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"選択したサーバを削除することはできません。\n"
+"\n"
+"ネットワーク %1 には最低一つのサーバが必要です。"
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "本当に選択したエントリを削除しますか?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "本当に %1 を削除しますか?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "表示するサイズ:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"このボックスでログファイルの最大サイズを設定します。この設定は Konversation "
+"を再起動するまで有効になりません。それぞれのログファイルに対して個別に設定することができます。"
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "ログファイルをクリア"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr "ログファイルのメッセージがここに表示されます。上が古いメッセージ、下が最近のメッセージです。"
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "本当にこのファイルのすべてのログ情報を完全に破棄しますか?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr "注意: ログファイルを保存すると、このビューアに表示されている部分だけではなく、すべてのデータがファイルに保存されます。"
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "ログファイルを保存"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "保存先フォルダを選択"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "情報"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "%2 秒後に %1 に接続を試みます。"
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "%2 秒後に %1 に再接続を試みます。"
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "再接続の最大試行回数に達しました。"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "既に %1 に接続しています。別の接続を確立しますか?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "既に %1 に接続しています"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "接続を確立"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr "現在 %2 (ポート %3) を介して %1 に接続しています。%4 (ポート %5) に切り替えますか?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "サーバを切り替え"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "「個人情報」を入力してください。<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "「本名」を入力してください。<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "少なくとも一つの「ニックネーム」を入力してください。<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>個人情報 \"%1\" は正しく設定されていません:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "個人情報の設定"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "個人情報を編集..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "個人情報"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "個人情報(&I):"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "複製"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "名前変更"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "全般"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "本名(&R):"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"ここにあなたの本名を入れてください。IRC "
+"ではあなたは友人からも敵からも隠れることはできません。意地悪をしたくなったときには、そのことを思い出してください。にせの「本名」を使えば変な人からあなたの性別を"
+"隠すことができます。しかし、使っているコンピュータは常に追跡可能なので、完全に匿名になることはできません。"
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "ニックネーム"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"あなたのニックネームのリストです。他のユーザはニックネームによってあなたを識別します。ニックネームはどんなものでも構いませんが、最初は文字でなければなりません。"
+"\n"
+"\n"
+"ニックネームは IRC "
+"ネットワーク全体で固有でなければならないので、指定した名前を他の人が既に使っているとサーバに拒否されるかもしれません。そういう場合のために代替ニックネームを入れ"
+"ておいてください。第一希望が拒否された場合、Konversation は代替ニックネームを試します。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "追加..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "編集..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "自動認証 (Identify)"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "サービス(&V):"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"サービス名は <b><i>nickserv</i></b> またはネットワーク名を含む <b><i>nickserv@services.dal.net</i>"
+"</b> のように指定してください。"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "パスワード(&S):"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "離席"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "離席時にチャットウィンドウにしおりを挿入する"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"これにチェックを入れると <b>/away</b> コマンドを実行したときにチャンネルに横線が入ります。これは離席した時点を示します。この線は他の IRC "
+"ユーザには見えません。"
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "離席時のニックネーム:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"離席中であることを示すニックネームを入れてください。この個人情報で入ったチャンネルで <b>/away msg</b> "
+"コマンドを実行すると、Konversation "
+"は自動的にあなたのニックネームを離席時のニックネームに変更します。それによって他のユーザはあなたがコンピュータから離れていることを知ることができます。離席してい"
+"たチャンネルで <b>/away</b> コマンドを実行すると Konversation は "
+"自動的にあなたのニックネームを元に戻します。離席したときに自動的にニックネームを変更されたくなければ、ここは空白にしておいてください。"
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "自動離席"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"これにチェックを入れると、スクリーンセーバーが起動するか、下で指定した時間ユーザの操作がなければ、この個人情報のすべての接続を自動的に離席中に切り替えます。"
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "離席中に切り替え"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " 分"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "(ユーザの操作がない)"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "自動復席"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"これにチェックを入れると、スクリーンセーバーが停止するか、ユーザの操作を検知したときに、この個人情報のすべての接続の離席中を自動的に解除します。"
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "離席メッセージ"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"これにチェックを入れると Konversation はこの個人情報で入ったすべてのチャンネルに自動的に離席メッセージを送ります。<b>%s</b> は <b>"
+"msg</b> に置換されます。<b>/away</b> コマンドを実行すると、この個人情報で入ったすべてのチャンネルに復席メッセージが表示されます。"
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "離席メッセージ(&M):"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "復席メッセージ(&T):"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "詳細"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "接続前に実行するコマンド(&P):"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"ここにはサーバとの接続を開始する前に実行するコマンドを入れることができます。"
+"<br>この個人情報に複数のサーバが設定されている場合は、それぞれのサーバに対してこのコマンドが実行されます。"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "ユーザ名(&D):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"多くのサーバは接続時に IDENT 情報を問い合わせます。あなたのコンピュータで IDENT サーバが稼動していない場合、Konversation "
+"はここに指定された情報を返します。スペースは含めることはできません。"
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "エンコーディング(&E):"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"この設定はあなたがタイプした文字をどうのようにエンコードしてサーバに送るかを決定します。またメッセージをどのように表示するかも決定します。Konversatio"
+"n は初回起動時に自動的にシステムの設定を取得します。他のユーザのメッセージが正しく表示されないなどの問題がある場合は、この設定を変更してみてください。"
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "終了理由(&Q):"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "サーバから退出したときに、このメッセージが他の参加者に表示されます。"
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "退出理由(&P):"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "チャンネルから退出したときに、このメッセージがチャンネルに送信されます。"
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "追い出す理由(&K):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr "あなたが (通常は IRC オペレータによって) チャンネルから追い出されたときに、このメッセージをチャンネルに送信します。"
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "個人情報を変更"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "すべての変更を破棄する"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "少なくとも一つのニックを個人情報に追加する必要があります。"
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "本名を入力してください。"
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "ニックネームを追加"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "ニックネーム:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "ニックネームを編集"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "個人情報を追加"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "個人情報名:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "個人情報に名前を付ける必要があります。"
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "個人情報名を変更"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr "この個人情報は使用中です。削除すると、これを使用していたネットワーク設定はデフォルトの個人情報に切り替えられます。削除を続行しますか?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "本当にこの個人情報のすべての情報を削除しますか?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "個人情報を削除"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "個人情報を複製"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "通常ユーザ"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "発言権所持者 (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "サブオペレータ (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "オペレータ (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "チャンネル管理者 (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "チャンネル所有者 (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "文字を挿入"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "文字を挿入する"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation ブックマークエディタ"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "空きポートなし"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "ソケットを開けませんでした"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "検索..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL をクリップボードにコピー"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "ブックマークに追加"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "リンクを保存..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "%1 とクエリー (1対1で会話)"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "チャンネル %1 に入る"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "通知"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "参加"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "退出"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "クエリー (1対1で会話)"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "参加(&J)"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "ユーザリストを取得(&U)"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "トピックを取得(&T)"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\" にマッチするものはありませんでした。"
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "リンクを保存"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "サーバリスト(&S)..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "ネットワークとサーバの管理"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "クイック接続(&C)..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "接続する新しい IRC サーバのアドレスを入力"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "再接続(&R)"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "現在のサーバに再接続します。"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "切断(&D)"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "現在のサーバから切断します。"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "個人情報(&I)..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "自分のニック、離席その他の個人情報を設定"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "ニックのオンライン状況(&W)"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC ステータス(&D)"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "ログファイルを開く(&O)"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "このチャンネルの既知の履歴を新しいタブに表示"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "チャンネルの設定(&C)..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "このタブのチャンネル設定ダイアログを開く"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "チャンネルリスト(&L)"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "このサーバの既知のチャンネルのリストを表示"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "URL キャッチャー(&U)"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "最近言及されたすべての URL を新しいタブに表示"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "新規 Konsole(&K)"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "新しいタブにターミナルを開く"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "次のタブ(&N)"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "前のタブ(&P)"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "タブを閉じる(&T)"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "次のアクティブなタブ"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "タブを上に移動"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "タブを下に移動"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "タブを右に移動"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "タブを左に移動"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "再びチャンネルに入る"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "通知を有効にする"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "接続と同時にチャンネルに入る"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "エンコーディングを設定"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "タブ %1 へ移動"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "しおりをクリア(&M)"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "現在のタブのしおりをクリア"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "ウィンドウをクリア(&C)"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "現在のタブの内容をクリア"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "すべてのウィンドウをクリア(&A)"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "開いているすべてのタブの内容をクリア"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "すべて離席"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "チャンネルに入る(&J)..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "IRC カラー(&I)..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "IRC メッセージカラーを設定"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "しおり(&M)"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "現在のタブにしおりを挿入"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "特殊文字(&C)..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "IRC メッセージに特殊な文字を挿入"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "すべてのクエリーを閉じる(&A)"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "ニックネームリストを隠す"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>実行中の DCC ファイル転送があります。本当に <b>Konversation</b> を終了しますか?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "終了の確認"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>本当に <b>Konversation</b> を終了しますか?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>メインウィンドウを閉じても Konversation はシステムトレイで実行し続けます。終了するには Konversation "
+"メニューから「終了」を選択してください。</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "システムトレイにドック"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr "<qt>メニューバーを完全に隠します。再び表示するには %1 を押してください。</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "通知を切り替え"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "すべてのサーバで離席中に切り替え"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "IRC カラーを挿入(&I)..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "特殊文字を挿入(&C)..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "しおりを挿入(&M)"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "チャンネルリスト(&C)"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "すべてのサーバで離席中に切り替え(&A)"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Raw"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "使い方: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "使い方: %1JOIN <チャンネル名> [パスワード]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "使い方: %1KICK <ニック> [理由]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK はチャンネルの中でのみ使用できます。"
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART はチャンネルまたはクエリーの中でのみパラメータなしに使用できます。"
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART はチャンネルの中でのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC はチャンネルの中でのみパラメータなしに使用できます。"
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC はチャンネルの中でのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"ターゲットを指定しない %1NAMES コマンドを使うと、おそらくサーバから切断されます。これを本当に実行する場合は '*' を指定してください。"
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr "使い方: %1close [ウィンドウ名] で、指定した名前のチャンネルまたはクエリータブを閉じます。指定がなければ現在のタブを閉じます。"
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "使い方: %1NOTICE <送信先> <メッセージ>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Notice \"%2\" を %1 に送信しています。"
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "使い方: %1ME テキスト"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "CTCP-%1 リクエストを %2 に送信しています。"
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "ファイル \"%1\" は存在しません。"
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "使い方: %1DCC [SEND ニックネーム ファイル名]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "使い方: %1DCC [CHAT ニックネーム]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "コマンド %1DCC %2 を認識できません。使用できるコマンドは SEND, CHAT, CLOSE です。"
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "使い方: %1INVITE <ニック> [チャンネル名]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE はチャンネルにいるときのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 はチャンネルではありません。"
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "使い方: %1EXEC <スクリプト> [パラメータリスト]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "スクリプト名に \"../\" を含めることはできません。"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "使い方: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "現在の通知リストは空です。"
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "現在の通知リスト: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "IRC オペレータ権限用のユーザ名とパスワードを入力してください:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC オペレータパスワード"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN はチャンネルの中にいるときのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN はチャンネルの中にいるときのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"使い方: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [チャンネル名] <ユーザ名|マスク>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"使い方: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [チャンネル名] <ユーザ名|マスク> "
+"[理由]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN はチャンネルの中にいるときのみチャンネル名なしに使用できます。"
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "使い方: %1UNBAN [チャンネル名] パターン"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 を無視リストに追加しました。"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "使い方: %1IGNORE [ -ALL ] <ユーザ 1> <ユーザ 2> ... <ユーザ n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "使い方: %1UNIGNORE <ユーザ 1> <ユーザ 2> ... <ユーザ n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 を無視リストから削除しました。"
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "%1: 無視リストにありません。"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "%1: 無視リストにありません。"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "使い方: %1QUOTE コマンドリスト"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "使い方: %1SAY テキスト"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "使い方"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "使い方: %1AME テキスト"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "使い方: %1AMSG テキスト"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "使い方: %1OMSG テキスト"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Notice \"%1\" を %2 に送信しています。"
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "使い方: %1ONOTICE テキスト"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "現在のエンコーディング: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "エンコーディング %1 に切り替えました。"
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 は有効なエンコーディングではありません。"
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"使い方: %1setkey [<ニック>|<チャンネル>] <鍵> "
+"で、ニックまたはチャンネルに暗号化鍵を設定します。チャンネルまたはクエリータブでそれに暗号化鍵を設定するときは、%2setkey <鍵> を使います。"
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "%1 の鍵を設定しました。"
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr "使い方: %1delkey <ニック> または <チャンネル> で、ニックまたはチャンネルの暗号化鍵を削除します。"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "%1 の鍵を削除しました。"
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 の鍵は \"%2\" です。"
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "%1 には鍵が設定されていません。"
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "使い方: %1DNS <ニック>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 を次に解決しました: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1 を解決できません"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "逆名前解決 (RDNS: IP アドレス -> 名前) には KDE 3.5.1 以上が必要です。"
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "使い方: %1KILL <ニック> [コメント]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>入力行にチャンネル、クエリー、サーバへ送るメッセージをタイプします。チャンネルへ送ったメッセージはチャンネルの全員が読めるのに対して、クエリーのメッセー"
+"ジはクエリーで会話している相手にだけ送信されます。"
+"<p>ニックネームを途中まで入力して Tab キーを押すと、残りが補完されます。何も入力せずに押した場合は、最後に補完されたニックネームが使われます。"
+"<p>また、以下のような特別なコマンドを送ることもできます:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>アクション</i></th>"
+"<td>アクションを表すメッセージとしてチャンネルやクエリーに送ります。例: 「/me は歌を歌っている」とチャンネルで送信すれば、「(ニックネーム) "
+"は歌を歌っている」と表示されます。</td></tr>"
+"<tr>"
+"<th>/whois <i>ニックネーム</i></th>"
+"<td>その人に関する情報 (例えば入っているチャンネル) を表示します。</td></tr></table>"
+"<p>他のコマンドについては「Konversation ハンドブック」をご覧ください。"
+"<p>複数の行を一度に送ることはできません。</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>チャットに長いテキスト (%1 バイト %2 行) "
+"を貼り付けようとしています。これによって接続を切られるか無視される可能性があります。続行しますか?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "長いテキスト貼り付けの警告"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "ユーザフレンドリな IRC クライアント"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// URL またはサーバのホスト名"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "接続するサーバ"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "使用するポート"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "接続後に入るチャンネル"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "使用するニックネーム"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "接続のためのパスワード"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "接続に SSL を使う"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008 Konversation 開発チーム"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation はインターネットリレーチャット (IRC) プロトコルのクライアントです。\n"
+"ネットで交友し、友人を作り、好きな話題に没頭してください。"
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "オリジナル作者, プロジェクト創始者"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "メンテナ"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "メンテナ, リリースマネージャ, ユーザインターフェース, プロトコルの処理"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, エンコーディングの処理, OSD配置"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "プロトコルの処理、入力ライン"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr "Blowfish, SSL サポート, KNetwork ポート, カラーニック, ニックリストのテーマ"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "再構築, KAddressBook/Kontact 統合"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "ウェブサイトのホスティング"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "ウェブサイトのメンテナンス"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "マルチモード拡張, クローズボタン配置, OSD機能"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr "ドキュメント作成, ニックネーム監視改良, カスタムウェブブラウザ拡張"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "カラー設定, 強調表示ダイアログ"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP インターフェース"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "非 Latin1 エンコーディング"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole 部分ビュー"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "クイック接続, 新 OSD ポート, その他機能とバグ修正"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "たくさんの修正とコード清掃"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "ドラッグ&ドロップ改良"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "アートワーク"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox スタイルの検索バー"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw モード, サーバによるタブのグループ化, Ban リスト"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "システムトレイのパッチ"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "バグ修正"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "拡張ユーザモードのパッチ"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "ショートカットで可視タブを閉じるパッチ"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "マウスホイールでのタブ回転"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "チャンネル所有モードのパッチ"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC カラーフィルタのオプション"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "バグ修正, OSD, トピックのクリア"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo スクリプト"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "コンテキストメニューの「接続と同時にチャンネルに入る」"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "%1 からチャンネル %2 に対する CTCP-PING リクエストを受け取りました。応答しています。"
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "%2 から CTCP-%1 リクエストを受け取りました。応答しています。"
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "%1 からチャンネル %2 に対する Version リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "%1 から Version リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "%1 から無効な DCC SEND リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "%1 から無効な DCC ACCEPT リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "%1 から無効な DCC RESUME リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "%1 から無効な DCC CHAT リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "%2 から未知の DCC コマンド %1 を受け取りました。"
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "%2 からチャンネル %3 に対する未知の CTCP-%1 リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "%2 から未知の CTCP-%1 リクエストを受け取りました。"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 -> %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "%1 から CTCP-PING リクエストに対する応答を受け取りました: %2 %3"
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "%2 から CTCP-%1 リクエストに対する応答を受け取りました: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "招待"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 があなたをチャンネル %2 へ招待しました。"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "ようこそ"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "サーバ %1 (バージョン %2), ユーザモード: %3, チャンネルモード: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "サポート"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "あなたのパーソナルモード:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "チャンネルモード: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "トピック保護"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "チャンネル外部からのメッセージ禁止"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "シークレット"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "招待のみ"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "プライベート"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "モデレート"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "パスワード保護"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "匿名"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "サーバ ReOP"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "カラー禁止"
+
+#: src/inputfilter.cpp:833
+#, c-format
+#, fuzzy
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"%n 人に制限\n"
+"%n 人に制限"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "モード"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "チャンネルの URL: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "作成"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "このチャンネルは%1に作成されました。"
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "ユーザ情報 (Whois)"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 が %2 としてログインしています。"
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Names"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "NAMES リスト 終わり"
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "チャンネル %1 にはトピックが設定されていません。"
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "トピック"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "%1 のチャンネルトピック: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "トピックは %1 が %2 に設定したものです。"
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "%1 のトピックは %2 が %3 に設定したものです。"
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 は実際にはホスト %2 を使用しています。"
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: そのようなニック/チャンネルは存在しません。"
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "%1: そのようなニックは存在しません。"
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: そのようなチャンネルは存在しません。"
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nick"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "ニックネームは既に使われています。他のニックネームを試してください。"
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "ニックネームは既に使われています。%1 を使います。"
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "ニックネームが間違っています。%1 を使います。"
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "あなたは %1 にいません。"
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "MOTD (今日のメッセージ):"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "MOTD 終わり"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "このサーバの IRC オペレータになりました。"
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "ユーザ"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "ネットワーク上のユーザ: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "%1 上のユーザ: %2"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "離席"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 は離席しています: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "%1 をチャンネル %2 へ招待しました。"
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 は %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 (%2) を次のアドレスに解決: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "%1 (%2) のアドレスを解決できません"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 は認証されているユーザです。"
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 は %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (離席中)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1 の /WHO リスト 終わり"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 がユーザであるチャンネル: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 が発言権を持っているチャンネル: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 がサブオペレータであるチャンネル: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 がオペレータであるチャンネル: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 が所有者であるチャンネル: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 が管理者であるチャンネル: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 は %2 (%3) 経由で接続しています。"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 がサポートできます。"
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 は IRC オペレータです。"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr "%n日"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr "%n時"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr "%n分"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr "%n秒"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 は%2%3%4%5間アイドル状態です。"
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 は%2%3%4間アイドル状態です。"
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 は%2%3間アイドル状態です。"
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr "%1 は%n秒間アイドル状態です。"
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 は%2からオンラインです。"
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS リスト 終わり"
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Userhost"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 は %3%4 です。"
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC オペレータ)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (離席中)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "リスト"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "チャンネルリスト:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr "%1 (%n人): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "チャンネルリスト 終わり"
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Ban リスト:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 は%3に %2 によって設定されました"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Ban リスト 終わり"
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 は現在利用できません。"
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: 未知のコマンド"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "登録されていません。"
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: このコマンドにはもっとパラメータが必要です。"
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "パーソナルモードを設定しました: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "があなたのパーソナルモードを変更しました:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " モードを設定: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "デフォルトの個人情報"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "監視するニックネームを編集"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "ネットワーク名(&N):"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "ここで接続するサーバネットワークを選んでください。"
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "ニックネーム(&I):"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>指定したネットワークのサーバに接続しているときに監視するニックネーム。</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "通知情報を変更"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "接続は %1 ビット SSL で保護されています。"
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"コンパイル時に OpenSSL サポートが有効にされていないため、Konversation は暗号化 SSL 通信を使ってサーバに接続できません。SSL "
+"をサポートする新しいバージョンの KDE が必要です。"
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"サーバから返された SSL 証明書を認識できませんでした。このサーバは指定したポートで SSL をサポートしていないのではありませんか?このサーバが普通の "
+"SSL なしの通信もサポートしているのであれば、SSL には別のポートを使用しています。"
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "ホスト %1 の IP アドレスは、証明書が発行されたものと一致しません。"
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "サーバ認証"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "詳細"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "サーバ (%1) の証明書は認証テストに合格しませんでした。"
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "この証明書を今後は確認なしで永久に受け入れますか?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "永久(&F)"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "このセッションのみ(&C)"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[強調表示] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[クエリー] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 が %2 に入りました"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 が %2 から退出しました"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 が %2 から切断しました"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 がニックネームを %2 に変えました"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 があなたにファイルを送りたいそうです"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 があなたと会話 (クエリー) を開始しました。"
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 はオンラインです (%2)。"
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 はオフラインになりました (%2)。"
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 に %2 から追い出されています"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 があなたと DCC チャットを開始しました。"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[強調表示] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "%1 への接続に失敗しました"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "%1 に入りました。"
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "フレーズが見つかりません"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "検索折り返し"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr "これは元に戻せません。本当に標準の値にリセットしますか?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "値をリセット"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "ネットワークインターフェース"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "IRC サーバからの応答"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "手動設定"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC カラー選択"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "なし"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "サーバ(&S):"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "サーバの名前または IP 番号。irchelp.org がサーバのリストを管理しています。"
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr "サーバに接続するためのポート番号を入れてください。これはたいていのサーバでは <b>6667</b> です。"
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "パスワード(&W):"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "安全な接続 (SSL) (&E)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"サーバとの通信に SSL (Secure Socket Layer) プロトコルを使う場合は、これにチェックを入れてください。これはあなたのコンピュータと "
+"IRC サーバ間の通信のプライバシーを保護します。これを機能させるためにはサーバが SSL "
+"プロトコルをサポートしている必要があります。たいていの場合、サーバが SSL をサポートしていなければ接続に失敗します。"
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "サーバのアドレスが必要です。"
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "管理者がファイルを送信する権限を制限しました"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL \"%1\" は存在しません。"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" を受信できませんでした。"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "ファイル名入力"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt><i>%1</i> へ送ろうとしているファイルには名前がありません。"
+"<br>ファイル名を入力するか、DCC 転送をキャンセルしてください。</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "ファイル名が与えられませんでした"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "IRC サーバを介して DCC SEND リクエストを相手に送信できませんでした。"
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "リモートユーザの承諾を待っています"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "接続を受け付けられませんでした。(ソケットのエラー)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "ファイルを開けませんでした: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "ソケットのエラー: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "タイムアウト"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "接続失敗: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "リモートユーザが切断しました"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "オペレーションは成功しました。エラーダイアログでは何も起きていないはずです。"
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "ファイル \"%1\" を読めませんでした。"
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "ファイル \"%1\" へ書き込めませんでした。"
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "修復不可能なエラーが発生しました。"
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "ファイル \"%1\" を開けません。"
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "オペレーションは予期せずに中止されました。"
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "タイムアウトしました。"
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "閉じる際に不特定のエラーが発生しました。"
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "未知のエラー。コード %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC 送信"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC 受信"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "不明なサーバ"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%2 の %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (ポート %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (ポート %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "はい、%1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 秒"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "準備完了"
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>これはチャンネルにいるユーザの数とオペレータ (op) の数を表示しています。"
+"<p>オペレータとは特別な権限を持っているユーザのことで、ユーザを追い出したり締め出したり、チャンネルのモードを変更したり、他のユーザにオペレータ権限を与えたり"
+"する権限を持っています。</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "ラグ: 不明"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr "サーバとのすべてのやりとりを暗号化します。これは他人が盗聴するのを困難にします。"
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>ステータスバーはサーバへの接続中のエラーなどのさまざまなメッセージを表示します。右端にはサーバとの間の延滞時間が表示されます。延滞時間とは送信したメッセ"
+"ージがサーバにたどり着くのにかかる時間、サーバからのメッセージがあなたに届くのにかかる時間を意味します。</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "ラグ: %1 ミリ秒"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "ラグ: %1 秒"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "サーバ %1 から%2%3%4%5間以上応答がありません。"
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "サーバ %1 から%2%3%4間以上応答がありません。"
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "サーバ %1 から%2%3間以上応答がありません。"
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr "サーバ %1 から%n秒間以上応答がありません。"
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "サーバ %1:%2 を探しています..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "サーバ %1 が見つかりません: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "サーバ検出完了。接続中..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "接続完了。ログイン中..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "サーバ %1 への接続が失われました: %2"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"SSL 暗号化を使って %1:%2 に接続できません。おそらくサーバが SSL をサポートしていないか、あるいはポートが間違っていませんか? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL 接続エラー"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "サーバ %1 から切断しました。"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"\"%1\" 個人情報からのいずれのニックネームも接続 \"%2\" に受け入れられませんでした。\n"
+"新しいものを入力するか、接続を切断する場合は「キャンセル」を押しください:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "ニックネームエラー"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "サーバからのデータを読む際にエラーが発生しました: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "%1 へ送るファイルを選択"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 が \"%2\" (%3) の送信を提案しています..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "不明なサイズ"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1 に \"%2\" (%3) のアップロードの受け入れを依頼しています..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "%2 から \"%1\" に対する無効なパッシブ DCC 送信承諾メッセージを受け取りました。"
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "%2 からの \"%1\" のダウンロードを %3% (%4) からレジュームします..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "%2 から \"%1\" に対する無効なレジューム承諾メッセージを受け取りました。"
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "%2 への \"%1\" のアップロードを %3% (%4) からレジュームします..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "%2 から \"%1\" に対する無効なレジュームリクエストを受け取りました。"
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "%2 からの \"%1\" のダウンロードが完了しました。"
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "%2 からの \"%1\" のダウンロードに失敗しました。理由: %3"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "%2 への \"%1\" のアップロードが完了しました。"
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "%2 への \"%1\" のアップロードに失敗しました。理由: %3"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "%2 に \"%1\" を送信しています..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "%3 から \"%1\" (%2) をダウンロードしています..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 からチャンネル %2 へ招待されました。受け入れますか?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "招待"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "エラー: スクリプト \"%1\" が見つかりません。"
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "エラー: スクリプト \"%1\" を実行できません。ファイルの許可情報をチェックしてください。"
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr ""
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "離席状態に設定しました。"
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "離席状態を解除しました。"
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "離席状態に設定していません。"
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "ニックのオンライン状況"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "ネットワーク/ニックネーム/チャンネル"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "追加情報"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>ニックネーム監視リストで指定したニックネームが接続しているサーバの下に表示されます。アドレス帳でサーバネットワークと関連付けたニックネームもリストに表示さ"
+"れます。</p>"
+"<p>「追加情報」カラムはそれぞれのニックネームに関する情報を表示します。</p>"
+"<p>それぞれのニックネームの下にはその人が入っているチャンネルのリストが表示されます。</p>"
+"<p>ネットワークのどのサーバにも接続していないニックネームは「オフライン」の下に表示されます。</p>"
+"<p>ニックネームを右クリックすると追加機能を実行できます。</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "監視リストを編集(&E)..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "この画面上のニックネームのリストを編集するにはクリックしてください。"
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "アドレス帳:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr "これらのボタンは上のリストで選択したニックネームとアドレス帳のエントリを関連付けるために使います。"
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "コンタクトを編集(&O)..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr "クリックすると上で選択したニックネームと関連付けられたアドレス帳のエントリを作成、表示、編集します。"
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "関連付けを変更(&C)..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "クリックすると上で選択したニックネームをアドレス帳のエントリと関連付けます。"
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "関連付けを削除(&D)"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "クリックすると上で選択したニックネームとアドレス帳のエントリとの関連付けを解除します。"
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " %1 経由でオンライン"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " %1 より"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "オフライン"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " 発言権所有者"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " サブオペレータ"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " オペレータ"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " 所有者"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " 管理者"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "新しいコンタクトを作成(&O)..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "関連付けを選択(&C)..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "チャンネルに入る(&J)"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "サウンドファイルを選択"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** ログ開始\n"
+"*** 日時: %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "招待されて自動的にチャンネルに入る前に確認する"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "ログファイルの保存はファイル全体を保存するという注意"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "ログファイルの内容を削除する前に確認する"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "ニックネームを無視に設定した後クエリーを閉じるか質問する"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "ネットワークに接続するサーバを切り替える前に確認する"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "同じネットワーク/サーバへの別の接続を確立する前に確認する"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "サーバタブを閉じるときに確認する"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "チャンネルタブを閉じるときに確認する"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "クエリータブを閉じるときに確認する"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "チャンネルリストはサーバの存在するタブでのみ開けるという注意"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "メインウィンドウメニューを非表示にしたときに警告する"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "チャンネルリスト取得の高トラフィックについて警告する"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "長いテキストを貼り付けたときに警告する"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Konversation を終了するときに警告する"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "終了するときに実行中の DCC ファイル転送があれば警告する"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "チャンネルリスト"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "フィルタ設定"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "最小ユーザ数:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "最大ユーザ数:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "チャンネルリストをここで指定した最小ユーザ数にマッチするチャンネルに制限することができます。0 を選ぶとこの規準は無効になります。"
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "チャンネルリストをここで指定した最大ユーザ数にマッチするチャンネルに制限することができます。0 を選ぶとこの規準は無効になります。"
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "フィルタパターン:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "フィルタ対象:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "フィルタする文字列をここに入力してください。"
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "正規表現"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "フィルタを適用"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "ここをクリックするとサーバからチャンネルリストを取得しフィルタを適用します。"
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"フィルタされたチャンネルのリストがここに表示されます。正規表現を使用しないと、Konversation "
+"は入力されたフィルタ文字列を含むすべてのチャンネルを表示します。つまり、その文字列で始まらないチャンネル名も表示されます。\n"
+"入るチャンネルをクリックして選んでください。チャンネルの上で右クリックするとチャンネルトピックで言及されたウェブアドレスのリストを取得できます。"
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "チャンネル名"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "チャンネルトピック"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "リストを更新"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "リストを保存..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "チャンネルに入る"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "ここをクリックしてチャンネルに入ります。チャンネルの新しいタブが作成されます。"
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "チャンネルリストを保存"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation チャンネルリスト: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "チャンネル数: %1 (%2 表示中)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "延べユーザ数: %1 (%2 表示中)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL を開く"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<URL が見つかりません>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 のチャンネルリスト"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "オンライン"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"他の KDE アプリケーションが Konversation "
+"を用いてインスタントメッセージを送ろうとしましたが、送り先のコンタクトが指定されていませんでした。おそらくそのアプリケーションのバグです。"
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"他の KDE アプリケーションが Konversation "
+"を用いてインスタントメッセージを送ろうとしましたが、指定されたコンタクトがアドレス帳に見つかりません。"
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"他の KDE アプリケーションが Konversation を用いてインスタントメッセージを送ろうとしましたが、送り先ユーザ %1 "
+"はオンラインではありません。"
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"他の KDE アプリケーションが Konversation "
+"を用いてコンタクトへファイルを送ろうとしましたが、送り先のコンタクトが指定されていませんでした。おそらくそのアプリケーションのバグです。"
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"他の KDE アプリケーションが Konversation "
+"を用いてコンタクトへファイルを送ろうとしましたが、指定されたコンタクトがアドレス帳に見つかりません。"
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"他の KDE アプリケーションが Konversation を用いてコンタクトへファイルを送ろうとしましたが、送り先ユーザ %1 はオンラインではありません。"
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"他の KDE アプリケーションが Konversation を用いてコンタクトを追加しようとしました。Konversation はこれをサポートしていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"アドレス帳のプログラム (kaddressbook) を起動できませんでした。おそらくインストールされていないのが原因です。kdepim "
+"パッケージをインストールしてください。"
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "選択したコンタクトはメールアドレスと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Eメール送信不可能"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"メーラーを起動できませんでした。おそらくインストールされていないのが原因です。KDE のメーラー (kmail) を使うには kdepim "
+"パッケージをインストールしてください。"
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "選択したコンタクトはどれもアドレス帳のコンタクトと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "選択したコンタクトはアドレス帳のコンタクトと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr "選択したコンタクトのうちのいくつか (%1) はアドレス帳のコンタクトと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr "選択したコンタクトのうちの一つ (%1) はアドレス帳のコンタクトと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr "アドレス帳にニックネームを関連付けるには、ニックネームを右クリックしてアドレス帳関連付けの編集を選択してください。"
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "選択したコンタクトはどれもEメールアドレスと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "選択したコンタクトのうちのいくつか (%1) はメールアドレスと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "選択したコンタクトのうちの一つ (%1) はメールアドレスと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr "ニックネームを右クリックしてアドレス帳のコンタクトの編集を選択し、それにメールアドレスを追加してください。"
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"選択したコンタクトのうちのいくつか (%1) はアドレス帳のコンタクトと関連付けられていません。また、選択したコンタクトのうちのいくつか (%2) "
+"はメールアドレスと関連付けられていません。"
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"ニックネームを右クリックしてアドレス帳関連付けの編集を選択してアドレス帳にニックネームを関連付け、アドレス帳のコンタクトの編集を選択し、それにメールアドレスを追"
+"加してください。"
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+#, fuzzy
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Eメールアドレスをもっていないニックに強制的にEメールを送りますか?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "メール送信"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC ニックをアドレス帳コンタクトへリンク"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "'%1' に対応する人を選んでください。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "現在 '%1' はコンタクトと関連付けられています。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "現在 '%1' はコンタクト '%2' と関連付けられています。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr "<qt>警告: '%1' は複数のコンタクトに属しています。正しいコンタクトを選択してください。</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "新規アドレス帳エントリ"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "新規エントリの名前:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL キャッチャー"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "このセッション中に Konversation のすべてのウィンドウ内で言及された URL のリスト"
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL を開く(&O)"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>上の URL を選択してこのボタンをクリックするとその URL の MIME タイプと関連付けられたアプリケーションを起動します。</p>"
+"<p>「設定」->「動作」->「全般」でウェブの URL に使うブラウザを設定できます。</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL をコピー(&C)"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "上の URL を選択してこのボタンをクリックすると、その URL をクリップボードへコピーします。"
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL を削除(&D)"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "上の URL を選択してこのボタンをクリックすると、その URL をリストから削除します。"
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "リストを保存(&V)..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "クリックするとリスト全体をファイルに保存します。"
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "リストをクリア(&L)"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "クリックするとリスト全体を消去します。"
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL リストを保存"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "複数行貼り付けの編集"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "引用符を追加(&Q)"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "チャンネル(&H):"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "チャンネル名が必要です。"
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "生ログ"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "現在のタブでテキストを検索"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "%1 のチャンネルリスト(&L)"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1 のログファイルを開く(&O)"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "%1 のチャンネル設定(&C)..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "標準 ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "検索はテキスト領域でのみ可能です。"
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "テキスト検索情報"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 のログファイル"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC ステータス"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr "この機能はネットワークに多大なトラフィックを生じさせることがあります。接続速度が十分に速くない場合は、サーバから切断される可能性があります。"
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "チャンネルリスト警告"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr "チャンネルリストはクエリー、チャンネル、ステータスのタブからのみ開くことができます。そのタブのサーバのリストが取得されます。"
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr "ここにネットワークの名前を入力してください。サーバリストに同じネットワークのエントリをいくつでも作成できます。"
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"既存の個人情報を選択するか、編集ボタンをクリックして新しい個人情報を追加または既存の個人情報を編集してください。個人情報はネットワーク接続時にあなたを確認しニッ"
+"クネームを決定します。"
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"これは接続後にサーバに送信するコマンドです。必須ではありません。例: <b>/msg NickServ IDENTIFY <i>konvirocks</i>"
+"</b>。これはユーザにパスワードでニックネームを登録して接続時にログインすることを要求する freenode ネットワークの例です。<i>"
+"konvirocks</i> は個人情報で指定されたニックネームのパスワードです。複数のコマンドはセミコロンで区切って入力してください。"
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr "Konversation を起動したときに自動的にこのネットワークに接続する場合は、これにチェックを入れてください。"
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"ネットワークの IRC サーバのリストです。ネットワークに接続すると Konversation "
+"は最初に一番上のサーバと接続を試みます。これが失敗すると二番目、これも失敗すると三番目、というふうに順に試します。最低一つのサーバを設定する必要があります。クリ"
+"ックでサーバを選択できます。"
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Konversation "
+"がサーバと接続したときに自動的に入るチャンネルのリストです。必須ではありません。どのチャンネルにも自動的に入りたくない場合は、このリストを空にしておいてください"
+"。"
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "ネットワーク情報を変更"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "サーバを追加"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "サーバを編集"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "チャンネルを追加"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "チャンネルを編集"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "ネットワーク名が必要です。"
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "少なくとも一つのサーバをネットワークに加える必要があります。"
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation テーマ"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "テーマパッケージを選択"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "テーマのダウンロードに失敗"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "テーマアーカイブが不正です"
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "テーマをインストールできません"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "%1 を削除しますか?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "テーマを削除"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC クライアント"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "送る相手を選択"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "ニックネームを選んでウィンドウを閉じる"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "変更を破棄してウィンドウを閉じる"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: サーバ %1 が見つかりません。"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "管理者がファイルを受信する権限を制限しました"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "無効な送信者アドレス (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "サポートしていないネゴシエーション (ファイルサイズ=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "フォルダを作成できませんでした。<br>フォルダ: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "KIO のインスタンスを作成できませんでした"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<qt>ファイルは他の転送に使用されています。<br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "不完全なファイルが存在しています。<br>%1<br>不完全なファイルのサイズ: %2 バイト<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "ファイルは既に存在しています。<br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "ファイルを開けませんでした。<br>エラー: %1<br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+#, fuzzy
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr "IRC サーバを介して DCC SEND リクエストを相手に送信できませんでした。"
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "接続するのを待っています"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "リモートホストの承認を待っています"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr "IRC サーバを介して DCC RECV レジュームリクエストを相手に送信できませんでした。"
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "リモートホストからの予期しない応答"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "転送エラー"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO エラー: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>このクエリーで会話している相手に関する情報がこのバーに表示されます。本名、ホストマスクの他に、KDE "
+"アドレス帳でこの人に関連付けられている画像やロゴが表示されます。"
+"<p>ニックとアドレス帳のコンタクトの関連付け、およびホストマスクの説明については「Konversation ハンドブック」を参照してください。</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(離席中)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "%1 を無視しますか?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "このニックネームを無視した後、このクエリーを閉じてもよろしいですか?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "このクエリーを閉じる"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "開いておく"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "%1 を無視するのを止めますか?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "個人情報のデフォルト ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "%1 とのクエリーを閉じますか?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "クエリーを閉じる"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "自分自身と会話する"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 がこのサーバから退出しました。"
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 がこのサーバから退出しました (%2)。"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD プレビュー - ドラッグして位置を調整してください"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "オペレータ"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "管理者"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "所有者"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "サブオペレータ"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "発言権所有"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "インターフェース"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "動作"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "通知"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "チャットウィンドウ"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "ニックリストのテーマ"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "色"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "クイックボタン"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "接続"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "ニックネームリスト"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "コマンドエイリアス"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "自動置換"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "ログ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "強調表示"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "監視するニックネーム"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "オンスクリーンディスプレイ (OSD)"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "警告ダイアログ"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC 受信 質問"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "レジューム(&R)"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "元のファイル名(&R)"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "新しい名前を提案する(&N)"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "上書き(&O)"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "名前を変更(&E)"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "前方検索"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "大文字小文字を区別する"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "完全な単語のみ"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "カーソル以降"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"本当に \"%1\" を閉じますか?\n"
+"\n"
+"関連する他のすべてのタブも閉じられます。"
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "タブを閉じる"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"本当に \"%1\" から接続を切断しますか?\n"
+"\n"
+"関連するすべてのタブも閉じられます。"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "サーバから切断"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "切断"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "開始"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "ステータス"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "相手"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "進捗"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "場所"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "残り"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "スピード"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "送信者のアドレス"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "受信"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "中止"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "ファイルを開く"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "受信を開始"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "転送を中止"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "ファイルを実行"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "DCC 転送の詳細を表示"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "すべてのアイテムを選択(&S)"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "すべての完了したアイテムを選択(&E)"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "受信(&A)"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "中止(&B)"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "再送"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "クリア(&C)"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "ファイルを開く(&O)"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "ファイル情報(&I)"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "チャンネル設定を編集"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>IRC のすべてのチャンネルには関連するトピックがあります。これはすべての人が見ることのできるメッセージです。"
+"<p>あなたがオペレータであるか、またはチャンネルに T (トピック保護) モードが設定されていない場合は、トピックの左にある "
+"「チャンネルのプロパティを編集」ボタンをクリックするとトピックを変更できます。そこで過去のトピックを見ることもできます。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>T</b> (トピック保護) モードでは、オペレータだけがチャンネルトピックを変更できます。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>N</b> (チャンネル外部からのメッセージ禁止) "
+"モードでは、このチャンネルにいない人はこのチャンネルにメッセージを送ることができません。迷惑メッセージを防ぐために、ほとんどすべてのチャンネルはこのモードを有効"
+"にしています。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>S</b> (シークレット) モードのチャンネルはチャンネルリストに表示されません。また、他のユーザが WHOIS "
+"や類似するコマンドを使っても、あなたがこのチャンネルにいることは分かりません。このチャンネルにいる人のみがあなたがこのチャンネルにいることを知ることができます。"
+"</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>I</b> (招待のみ) "
+"モードのチャンネルには招待された人のみが入ることができます。誰かを招待するにはオペレータがチャンネル内でコマンド「/invite "
+"ニックネーム」を実行してください。</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>P</b> (プライベート) モードのチャンネルはチャンネルリストに表示されますが、トピックは公開されません。WHOIS "
+"コマンドによって表示されるかどうかは IRC サーバによって異なります。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>M</b> (モデレート) モードのチャンネルではオペレータ、サブオペレータ、発言権を持っている人のみが発言できます。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>K</b> (パスワード保護) モードのチャンネルに入るにはパスワードを入力する必要があります。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>L</b> (人数制限) "
+"モードは同時にチャンネルに入れる人数を制限します。チャンネルの混み具合によって自動的にこの値を変更するボットが常駐しているチャンネルもあります。</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "チャンネルの人数制限"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>これはチャンネルの人数制限 (同時にチャンネルに入れる人数の最大値) です。あなたがオペレータであれば、L "
+"モードをクリックすると値を設定できます。これを設定すると左の <b>T</b> (トピック保護) モードも自動的に設定されます。</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>これはあなたの現在のニックネームと設定されている代替ニックネームです。代替ニックネームを選択、または違うニックネームを入力すると、ニックネーム変更リクエ"
+"ストをサーバへ送信します。サーバが承認すれば新しいニックネームが選択されます。新しいニックネームを入力するときは入力後に Enter キーを押してください。"
+"<p>「ファイル」メニューの「個人情報」オプションで代替ニックネームを変更できます。</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "選択したユーザを無視しますか?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "選択したユーザを無視するのを止めますか?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "補完"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "補完候補: %1"
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "チャンネルパスワード"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "人数制限"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "人数の上限を入力してください:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "ニックネームを %1 に変更しました。"
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 がニックネームを %2 に変更しました。"
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "チャンネル %1 に入りました (%2)。"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 がこのチャンネルに入りました (%2)。"
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "このサーバから退出しました。"
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "このサーバから退出しました (%1)。"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "チャンネル %1 から退出しました。"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "チャンネル %1 から退出しました (%2)。"
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 がこのサーバから退出しました (%2)。"
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 がこのチャンネルから退出しました。"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 がこのチャンネルから退出しました (%2)。"
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "自分自身をチャンネル %1 から追い出しました。"
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "自分自身をチャンネル %1 から追い出しました (%2)。"
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 にチャンネル %1 から追い出されました。"
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 にチャンネル %1 から追い出されました (%3)。"
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "%1 をチャンネルから追い出しました。"
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "%1 をチャンネルから追い出しました (%2)。"
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 が %2 にチャンネルから追い出されました。"
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 が %2 にチャンネルから追い出されました (%3)。"
+
+#: src/channel.cpp:1506
+#, c-format
+#, fuzzy
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n人\n"
+"%n人"
+
+#: src/channel.cpp:1507
+#, c-format
+#, fuzzy
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (op %n人)\n"
+" (op %n人)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "チャンネルトピックは \"%1\" です。"
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "チャンネルトピックを \"%1\" に設定しました。"
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 がチャンネルトピックを \"%2\" に設定しました。"
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "自分自身に所有者権限を与えました。"
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "%1 に所有者権限を与えました。"
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 から所有者権限を受け取りました。"
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 が %2 に所有者権限を与えました。"
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "自分自身から所有者権限を奪いました。"
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "%1 から所有者権限を奪いました。"
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 に所有者権限を奪われました。"
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 が %2 から所有者権限を奪いました。"
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "自分自身にチャンネル管理者権限を与えました。"
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "%1 にチャンネル管理者権限を与えました。"
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 からチャンネル管理者権限を受け取りました。"
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 が %2 にチャンネル管理者権限を与えました。"
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "自分自身からチャンネル管理者権限を奪いました。"
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "%1 からチャンネル管理者権限を奪いました。"
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 にチャンネル管理者権限を奪われました。"
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 が %2 からチャンネル管理者権限を奪いました。"
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "自分自身にオペレータ権限を与えました。"
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "%1 にオペレータ権限を与えました。"
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 からオペレータ権限を受け取りました。"
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 が %2 にオペレータ権限を与えました。"
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "自分自身からオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "%1 からオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 にオペレータ権限を奪われました。"
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 が %2 からオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "自分自身にサブオペレータ権限を与えました。"
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "%1 にサブオペレータ権限を与えました。"
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 からサブオペレータ権限を受け取りました。"
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 が %2サブオペレータ権限を与えました。"
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "自分自身からサブオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "%1 からサブオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 にサブオペレータ権限を奪われました。"
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 が %2 からサブオペレータ権限を奪いました。"
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "自分自身に発言権を与えました。"
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "%1 に発言権を与えました。"
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 から発言権を受け取りました。"
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 が %2 に発言権を与えました。"
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "自分自身から発言権を奪いました。"
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "%1 から発言権を奪いました。"
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 に発言権を奪われました。"
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 が %2 から発言権を奪いました。"
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "カラーコードを禁止に設定しました。"
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 がカラーコードを禁止に設定しました。"
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "カラーコードを許可に設定しました。"
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 がカラーコードを許可に設定しました。"
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "チャンネルを招待のみに設定しました。"
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 がチャンネルを招待のみに設定しました。"
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "招待のみを解除しました。"
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 が招待のみを解除しました。"
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "チャンネルをモデレートに設定しました。"
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 がチャンネルをモデレートに設定しました。"
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "チャンネルのモデレート設定を解除しました。"
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 がチャンネルのモデレート設定を解除しました。"
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "チャンネル外部からのメッセージを禁止に設定しました。"
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 がチャンネル外部からのメッセージを禁止に設定しました。"
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "チャンネル外部からのメッセージを許可に設定しました。"
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 がチャンネル外部からのメッセージを許可に設定しました。"
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "チャンネルをプライベートに設定しました。"
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 がチャンネルをプライベートに設定しました。"
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "チャンネルをパブリックに設定しました。"
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 がチャンネルをパブリックに設定しました。"
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "チャンネルをシークレットに設定しました。"
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 がチャンネルをシークレットに設定しました。"
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "チャンネルを可視に設定しました。"
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 がチャンネルを可視に設定しました。"
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "トピック保護を有効にしました。"
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 がトピック保護を有効にしました。"
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "トピック保護を解除しました。"
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 がトピック保護を解除しました。"
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "チャンネルキーを \"%1\" に設定しました。"
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 がチャンネルキーを \"%2\" に設定しました。"
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "チャンネルキーを削除しました。"
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 がチャンネルキーを削除しました。"
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "チャンネルの人数制限を %1 人に設定しました。"
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 がチャンネルの人数制限を %2 人に設定しました。"
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "チャンネルの人数制限を解除しました。"
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 がチャンネルの人数制限を解除しました。"
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "%1 に対する Ban を設定しました。"
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 が %2 に対する Ban を設定しました。"
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "%1 に対する Ban を解除しました。"
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 が %2 に対する Ban を解除しました。"
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "%1 に対する Ban 例外を設定しました。"
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 が %2 に対する Ban 例外を設定しました。"
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "%1 に対する Ban 例外を解除しました。"
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 が %2 に対する Ban 例外を解除しました。"
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "招待マスク %1 を設定しました。"
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 が招待マスク %2 を設定しました。"
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "招待マスク %1 を解除しました。"
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 が招待マスク %2 を解除しました。"
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "チャンネルモードを +%1 に設定しました。"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 がチャンネルモードを +%2 に設定しました。"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "チャンネルモードを -%1 に設定しました。"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 がチャンネルモードを -%2 に設定しました。"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "オペレータのみが変更可能"
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "トピック保護 (%1)"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "チャンネル外部からのメッセージ禁止 (%1)"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "シークレットチャンネル (%1)"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "招待のみのチャンネル (%1)"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "プライベートチャンネル (%1)"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "モデレートチャンネル (%1)"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "パスワード保護"
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "人数制限"
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "'%1' から退出しますか?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "チャンネルから退出"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "退出"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Shintaro Matsuoka,Yukiko Bando"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "shin@shoegazed.org,ybando@k6.dion.ne.jp"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "遅いキュー"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "行数"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "バイト数"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "経過時間:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "件数:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "行数:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "バイト数:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "普通のキュー"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "速いキュー"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "すべてのキュー"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "受信:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "バイト数 (Raw):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "バイト数 (エンコード後):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "ボタン名"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "ボタンアクション"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "ボタンアクション:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "ボタン名:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "利用可能な置換"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: 現在のニックネーム\n"
+"%c: 現在のチャンネル名\n"
+"%K: サーバのパスワード\n"
+"%u: 選択したニックネームのリスト\n"
+"%s<文字>%: %u でニックネームを区切るために使う文字\n"
+"%n: コマンドを入力行ではなく直接サーバに送る"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "ファイル名:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "自身:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "タイプ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "ステータス:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "場所:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "進捗:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "相手:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "フォルダを開く"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "ファイルサイズ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "平均速度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "レジューム:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "現在の速度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "現在の位置:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "推定残り時間:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "提案:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "終了:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "開始:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "転送時間:"
+
+# ACCELERATOR added by translator
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "自動的に再接続する(&E)"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "再接続までの遅延:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "再接続の試行回数:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " 秒"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "無制限"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "デバッグ"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "接続時に生ログウィンドウを表示する(&L)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "パターン"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "タイプ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "パターン:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "メッセージタイプ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "新規(&N)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "すべて削除(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "ネットワーク名:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "個人情報:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "コマンド:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "起動時に自動的に接続する(&N)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "サーバ"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "追加(&A)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "編集(&D)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "自動的に入るチャンネル"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "編集(&I)..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "エイリアス:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "置換:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "エイリアス"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "置換"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "次を検索(&X)"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "前を検索"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "ダブルクリックしたときに実行するコマンド(&T):"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "大文字小文字を区別せずにソートする(&I)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "活発さでソートする(&A)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "ユーザの状態でソートする(&Y)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "説明"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(ドラッグ&ドロップでソート順を変更できます)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "テーマ設定"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "テーマをインストール(&N)..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "テーマを削除(&R)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "通常ユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "離席中のユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "発言権のあるユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "サブオペレータ権限のあるユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "オペレータ権限のあるユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "管理者権限のあるユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "所有者権限のあるユーザのアイコン"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "プレビュー:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "タブバーの設定"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "外観"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "配置:"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "閉じるボタンをそれぞれのタブに表示する(&B)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "閉じるボタンをタブバーの右側に表示する(&R)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "すべてのタブが表示されるようにタブラベルのサイズを制限する(&S)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "フォーカス"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "新しいタブにフォーカスを移す(&F)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "新しいクエリーにフォーカスを移す(&Q)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "マウス"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "中クリックでタブを閉じる(&M)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "ニックネームをダブルクリックしたときに実行するコマンド(&X):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>「ニックのオンライン状況」ウィンドウでニックネームをダブルクリックしたとき、このコマンドがサーバウィンドウの入力行に挿入されます。</p>\n"
+"<p>コマンドの中で次の置換子が利用できます:</p>"
+"<ul>\n"
+"<li>%u: ダブルクリックしたニックネーム</li>\n"
+"<li>%K: サーバのパスワード</li>\n"
+"<li>%n: 入力行に入れずにそのままサーバへ送信</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>「ニックのオンライン状況」ウィンドウでニックネームをダブルクリックしたとき、このコマンドがサーバウィンドウの入力行に挿入されます。</p>\n"
+"<p>コマンドの中で次の置換子が利用できます:</p>"
+"<ul>\n"
+"<li>%u: ダブルクリックしたニックネーム</li>\n"
+"<li>%K: サーバのパスワード</li>\n"
+"<li>%n: 入力行に入れずにそのままサーバへ送信</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "更新間隔(&U):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "Konversation は下に表示されているニックネームの状態をこの間隔でチェックします。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "起動時にニックのオンライン状況タブを表示する(&A)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr "<qt>Konversation 起動時に自動的に「ニックのオンライン状況」ウィンドウを開きます。</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "ニックネーム監視を使う(&K)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>ニックネーム監視を有効にすると、「監視するネットワーク/ニックネーム」リストで指定したニックネームがオンラインまたはオフラインになったときに通知します。<"
+"/p>\n"
+"<p>また、「ニックのオンライン状況」ウィンドウで、すべての監視対象のニックネームの状況を見ることができます。</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "ネットワーク:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "選択した監視するユーザがいる IRC サーバネットワーク (例: freenode)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "選択した監視するユーザのニック (ユーザ名)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "監視するネットワーク/ニックネーム"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>ニックネーム監視を有効にすると、「監視するネットワーク/ニックネーム」リストで指定したニックネームがオンラインまたはオフラインになったときに通知します。<"
+"/p>\n"
+"<p>また、「ニックのオンライン状況」ウィンドウで、すべての監視対象のニックネームの状況を見ることができます。</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "クリックするとリストにニックネームを追加します。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "クリックすると選択したニックネームをリストから削除します。"
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "ログを保存する(&E)"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "ログファイル名に小文字を使う(&L)"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "ログファイル名にホスト名を追加する(&T)"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "ログファイルのパス(&P):"
+
+# ACCELERATOR added by translator
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "システムトレイを有効にする(&T)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "新しいメッセージの通知にシステムトレイを使う(&U)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "強調表示が発生または現在のニックが使用されたときにのみ通知する(&N)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "アイコンを点滅させる(&K)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "起動時にウィンドウを表示しない"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "ニックネーム補完"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "補完モード(&M):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "ニックリスト循環"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "シェル風"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "候補ボックス付きシェル風"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "行頭の場合の接尾辞(&X):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "その他の場合(&E):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "大文字小文字を区別する"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "離席中は通知を無効にする(&W)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "カスタムバージョン応答を使う(&V):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr "<qt>ここで <b>CTCP <i>Version</i></b> に対する応答をカスタマイズできます。</qt>"
+
+# ACCELERATOR added by translator
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "入力ボックスをテキストに合わせて拡大する(&I)"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "コマンド接頭辞(&R):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "指定したウェブブラウザを使う(&B):"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "すべてのタブが表示されるようにタブラベルのサイズを制限する"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "スクロールバーを隠す"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "IRC の入力行で逐次スペルチェックを使用する場合は有効にしてください。"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "これを有効にすると、テキストが幅いっぱいまで入力されると、入力ボックスが縦に広がります。"
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "システムトレイに最小化"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "メインウィンドウを表示せずに起動する"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "ニックネームの横に本名を表示する(&S)"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "起動時にニックのオンライン状況タブを表示する"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "感情アイコンを有効にする"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "感情アイコンテーマ"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "トピック(&C)"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "時間"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "モード(&D)"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "トピック保護(&T)"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "チャンネル外部からのメッセージ禁止(&N)"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "チャンネルリストには表示されないシークレットチャンネル(&S)"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "招待された人のみが入れるチャンネル(&I)"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>これらはチャンネルの「モード」をコントロールします。モードはオペレータだけが変更できます。"
+"<p><b>I</b> (招待のみ) "
+"モードのチャンネルには招待された人のみが入ることができます。誰かを招待するにはオペレータがチャンネル内でコマンド「/invite "
+"ニックネーム」を実行してください。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "発言権のある人だけが書き込めるモデレートチャンネル(&M)"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "チャンネルパスワード(&P):"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "人数制限(&L):"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "詳細モードを表示(&A) >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "パラメータ"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Ban リスト(&B)"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Ban を解除(&R)"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "Ban を追加(&A)"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "ホストマスク"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "設定者"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "設定日時"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "検索:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC 設定"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "ダウンロードフォルダ(&F):"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "ファイル名に送信者の名前を追加する(&S)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "送信者別にフォルダを作成する(&E)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "送信する前にファイル名に含まれる空白をアンダースコアに置き換える"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "自動的にダウンロードの提案を受け入れる(&Y)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "自動的にダウンロードをレジュームする(&T)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "高速 DCC 送信を使う(&N) (使えないクライアントがあるかもしれません)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "バッファサイズ(&Z):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC 送信タイムアウト(&I):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "DCC 送信では IPv4 にフォールバックする(&4):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "このオプションを有効にすると、IPv6 接続の DCC 転送は、ここで設定した IPv4 インターフェースで実行されます。"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " バイト"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " 秒"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "パッシブ DCC 送信を有効にする"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "自分の IP を取得する方法(&M):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "自分の IP(&W):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "ポート"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "DCC チャットに特定のポートを使う(&O):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "〜"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "DCC 転送サーバに特定のポートを使う(&P):"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "カラーテキストを使う"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "カラー LED を使う"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "アプリケーションイベント"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr "アプリケーションイベントは Konsole タブ、DCC ステータスタブ、その他チャットには直接使用しないタブで発生します。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "メッセージ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "プライベートメッセージ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "現在のニックが使用されたとき"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "チャンネルイベント"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "チャンネルのモード変更またはユーザの参加/退出がチャンネルイベントです。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "チャットウィンドウの強調表示色を優先する"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr "このオプションを選ぶと、「現在のニックが使用されたとき」と「強調表示」には強調表示のページで設定した色が使用されます。"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "MOTD メッセージに固定幅フォントを使う(&X)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "MOTD (今日のメッセージ) を固定幅フォントで表示します。"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "チャットビューで送信者のニックネームをボールド体で表示する(&B)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "チャット:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "ニックネームリスト:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "タブバー:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "強調表示リスト"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "正規表現"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "強調表示"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "サウンド"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "自動応答"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "パターン(&P):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "色:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "サウンド(&S):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "サウンドをテスト"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "自動応答(&A):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "強調表示に対してサウンドを有効にする(&B)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "現在の自分のニックネームを強調表示する(&Y):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "自分の発言を強調表示する(&L):"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "新規エントリを作成(&E)..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "アドレス帳に新規エントリを作成します。"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "写真"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "名前"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "インスタントメッセージで通信するコンタクトを選択してください"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "検索(&E):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "ASCII BEL を受信したらシステムベルを鳴らす(&Y)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "ASCII BEL (0x07) 制御文字を受信したときにシステムベルを鳴らします。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "参加/退出/ニックイベントを隠す(&J)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "%C, %B, %G などの変数を展開しない(&X)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"サーバにテキストを送るときに変数を展開しません。変数は '%' で始まります。例えば、%B はテキストをボールド体にするために必要な文字に展開されます。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "ステータスメッセージをサーバステータスウィンドウにも表示する(&R)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "スクロールバック制限(&B):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "バッファに保持する行数。0 は無制限。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "モード変更に Raw モードを使う(&U)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"チャンネルモードを表す文字の組み合わせを人間が理解できる言葉に置き換えません。例えば「*** チャンネルモード: チャンネル外部からのメッセージ禁止」は "
+"「*** チャンネルモード: n」になります。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " 行"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "しおり"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "すべてのチャットウィンドウにしおりを表示する"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "非表示になったチャットウィンドウにしおりを挿入する"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr "他のチャットウィンドウに切り替えたときや、アプリケーションを最小化したときに、チャットウィンドウにしおりを挿入します。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "新しいテキストが表示される直前に行を移動する"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "自動ユーザ情報取得 (/WHO) を有効にする"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "チャンネルの最大人数:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " 人"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "更新間隔:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "オンスクリーンディスプレイ (OSD) を使う(&E)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "オンスクリーンディスプレイ(&S)"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "影を描画する(&R)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSDフォント:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "表示する OSD メッセージ(&O)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "自分のニックネームを含むチャンネルメッセージ(&I)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "すべてのチャンネルメッセージ(&Y)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "クエリー (1対1で会話)(&Q)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "参加/退出イベント(&J)"
+
+# ACCELERATOR added by translator
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "カスタムカラーを使う(&N)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "テキストの色(&X):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "背景色(&B):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "その他の設定(&T)"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "表示時間(&U):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "スクリーン(&C):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ミリ秒"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "ウィンドウ(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "新規(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "削除(&E)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "対象"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "検索文字列"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "置換文字列"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "対象:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "検索文字列:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "置換文字列:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "タイムスタンプを有効にする(&T)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "日付を表示する(&W)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "フォーマット(&F):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "バックログを表示する(&B)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "行(&L):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "レイアウト(&L)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "チャンネルトピックを表示する(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "チャンネルモードボタンを表示する(&M)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "スクロールバーを表示する(&R)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "ニックネーム変更ボックスを表示する(&X)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "クイックボタンを表示する(&Q)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "ニックネームリストに本名を表示する(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "チャンネルニックリストとクイックボタンを表示する(&N)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "ニックネームリストにホストマスクを表示する(&K)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "背景画像を使う(&G)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "パス(&A):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "カスタムカラー"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "入力ボックス、ニックネームリスト、タブリストに指定した色を使う(&U)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "背景色(&B):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "サーバメッセージ(&S):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "ハイパーリンク(&Y):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "チャンネルメッセージ(&M):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "アクション(&N):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "バックログ(&K):"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "コマンドメッセージ(&E):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "クエリーメッセージ(&Q):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "タイムスタンプ(&T):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "もう一つの背景色(&L):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "カラーニック"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "自分のニックカラー(&O):"
+
+# ACCELERATOR changed by translator
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "IRC メッセージ中のカラーテキストを許可する(&I)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"このオプションを有効にすると、IRC メッセージに追加されたカラーコードはカラーテキストとしてチャットウィンドウに表示されます。「挿入」->"
+"「IRC カラー」でメッセージにカラーコードを追加できます。"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "プレビュー"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "選択した色を使ったときのメッセージのプレビューです。"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>これはあなたのメッセージが読む人にどのように見えるかを表示しています。"
+"<br>\n"
+"注意: すべてのクライアントがテキストカラーに対応しているわけではありません。また、カラーを無視するように設定しているユーザもいるかもしれません。\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "選択したテキストカラーを入力行へ追加します。"
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>次に送るメッセージに付ける色をここで選択できます。色を選んで「OK」をクリックするとそのカラーコードが入力行に追加されます。色を再選択するまでその色が入"
+"力した文字に適用されます。"
+"<br>\n"
+"注意: すべてのクライアントがテキストカラーに対応しているわけではありません。</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "前景色(&F):"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "選択した背景カラーを入力行へ追加します。"
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>次に送るメッセージの背景に付ける色をここで選択できます。\n"
+"色を選んで「OK」をクリックするとそのカラーコードが入力行に追加されます。\n"
+"色を再選択するまでその色が入力した文字に適用されます。"
+"<br>\n"
+"デフォルトである「なし」を選択すると背景色を指定しません。つまり、読み手はそれぞれの通常の背景上であなたのメッセージを読むことになります。"
+"<br>\n"
+"注意: "
+"すべてのクライアントがテキストカラーに対応しているわけではありません。また、すべてのユーザがテキストカラーオプションを有効にしているとは限りません。</qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "表示する警告ダイアログ"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "パスワード(&P):"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "サーバ:"
+
diff --git a/po/ka/Makefile.am b/po/ka/Makefile.am
new file mode 100644
index 0000000..8d1a798
--- /dev/null
+++ b/po/ka/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ka
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ka/konversation.po b/po/ka/konversation.po
new file mode 100644
index 0000000..c0a822c
--- /dev/null
+++ b/po/ka/konversation.po
@@ -0,0 +1,7869 @@
+# translation of konversation.po to Georgian
+#
+# Rusudan Tsiskreli <tsiskreli@gmail.com>, 2006.
+# რუსუდან ცისკრელი <tsiskreli@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-03-28 01:23+0400\n"
+"Last-Translator: Giasher <giasher@telenet.ge>\n"
+"Language-Team: <www.gia.ge>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.2\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, fuzzy, c-format
+msgid "Channel Settings for %1"
+msgstr "%1-სთვის არხის პარამეტრები"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "გაფართოებული რეჟიმის &დამალვა <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "გაფართოებული რეჟიმის ჩ&ვენება >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "ახალი"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "უცნობი"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "%1 ფაილისთვის ხელმისაწვდომი ინფორმაცია:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "ცნობები ფაილის შესახებ"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "ამ ფაილისთვის დეტალური ცნობები ვერ მოიძებნა."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "გაგზავნა"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "მიღება"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "რიგში"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "მომზადება"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "მიმდინარეობს დაკავშირება"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "მიღება"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "გაგზავნა"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "შესრულებულია"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "ვერ განხორციელდა"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "შეწყვეტილია"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/წმ"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&ვერსია"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Op-ის მიცემა"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Op-ის აღება"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "HalfOp-ის მიცემა"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "HalfOp-ის აღება"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Voice-ის მიცემა"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Voice-ის აღება"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "რეჟიმები"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Kick"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Kickban"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "მეტსახელის დაბლოკვა"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Ban *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Ban *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Ban *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Ban *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Kickban *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Kickban *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Kickban *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Kickban *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Kick / Ban"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "იგნორირება"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+#, fuzzy
+msgid "Unignore"
+msgstr "იგნორირება"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "&გამოკითხვის განხსნა"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "DCC &საუბრის გახსნა"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "&ფაილის გაგზავნა..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "ელფოსტის &გაგზავნა..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "მისამართთა წიგნთან ასოციაციები"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+#, fuzzy
+msgid "Add to Watched Nicks"
+msgstr "სათვალყურო მეტსახელების რედაქტირება"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>ეს აჩვენებს არხზე მყოფ ყველა ადამიანს. ყოველი ადამიანის მეტსახელია "
+"ნაჩვენები."
+"<br>როგორც წესი ყოველი ადამიანის მდგჰომარეობის ასასახად ნაჩვენებია ხატულა, "
+"მაგრამ თქვენ როგორც ჩანს არცერთი ხატულათა გაფორმება არ გაქვთ დაყენებული. "
+"იხილეთ Konversation პარამეტრები - <i>Konversation-ის კონფიგურაცია</i><i>"
+"პარამეტრების</i>მენიუში. შემდეგ იხილეთ <i>გაფორმებების</i> გვერდი <i>"
+"იერსახის</i> ჩანართში.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>ეს აჩვენებს არხზე მყოფ ყველა ადამიანს. ყოველი ადამიანის მეტსახელი ჩანს "
+"მდგომარეობის ამსახველი ხატულით."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>ამ ადამიანს აქვს ადმინისტრატორის პრივილეგიები.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>ეს ადამიანი არხის პატრონია.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>ეს ადამიანი არხის ოპერატორია.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>ეს ადამიანი არხის ნახევრად ოპერატორია.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>ამ ადამიანს აქვს ხმა და შეუძლია მოდერირებად არხებში საუბარი.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>ამ ადამიანს არანაერი პრივილეგიები არ აქვს.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>ეს ნიშნავს, რომ ადამიანი გასულია.</td></tr></table>"
+"<p>ადმინისტრატორის, პატრონის, ოპერატორის და ნახევრად ოპერატორის მნიშვნელობები "
+"სხვადასხვა IRC სერვერებზე განსხვავდება."
+"<p>კურსორის მეტსახელზე გადატარებით ჩანს მათი მიმდინარე მდგომარეობა, როგორც "
+"მომხმარებლის ცნობები მისამართთა წიგნში. მეტი ცნობებისთვის იხილეთ Konversation "
+"სახელმძღვანელო.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "მეგობრის რედაქტორება..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "აირჩიეთ/შეცვალეთ ასოციაციები..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "აირჩიეთ მეგობარი..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "შეცვალეთ ასოციაცია..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "ახალი მეგობრის შექმნა..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "ასოციაციის წაშლა"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "არხი"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "გამოკითხვა"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "შენიშვნა"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "გამონაკლისი"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr ""
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "დღეს"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "გუშინ"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (იდენტიფიცირებულია)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "ელფოსტა"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Hostmask:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "გასვლის შეტყობინება:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(უცნობი)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "ხაზზეა ამ დროიდან:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "წკაპი -სკენ ჩვეულებრივი გამოხატვა რედაქტორი"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "წკაპი -სკენ ჩვეულებრივი გამოხატვა რედაქტორი"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:59
+#, fuzzy
+msgid "Incoming"
+msgstr "&კოდირება:"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr ""
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "არხზე შეერთება %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "სწრაფად დაკავშირება"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&სერვერის ჰოსტი:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "აქ ქსელის ჰოსტი ჩაწერეთ."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&პორტი:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "პორტი, რომელსაც IRC სერვერი იყენებს."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&მეტსახელი:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "მეტსახელი, რომლის გამოყენებაც გსურთ."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "პ&აროლი:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"თუ IRC სერვერი პაროლს ითხოვს, შეიყვანეთ იგი აქ (უმეტესი სერვერები პაროლებს არ "
+"ითხოვენ.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL &გამოყენება"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "და&კავშირება"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "სერვერთან დაკავშირება"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "სოკეტის გახსნა ვერ განხორციელდა"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "DCC საუბრის კავშირის შეთავაზება %1-სთან %2 პორტზე..."
+
+#: src/dccchat.cpp:148
+#, fuzzy
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC საუბარი %1-სთან %2 პორტზე"
+
+#: src/dccchat.cpp:160
+#, fuzzy
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "DCC საუბრის კავშირის დამყარება %1 (%2:%3)-სთან..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, fuzzy, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "DCC საუბრის კავშირის დამყარება %1 (%2:%3)-სთან..."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "კავშირი დაირღვა, შეცდომის კოდი %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "მიღებულია უცნობი CTCP-%1 მოთხოვნა %2სგან"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "კლიენტის მიღება ვერ განხორციელდა."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "ნაგულისხმები ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "სერვერი"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "დააწკაპუნეთ არჩეულ IRC ქსელთან და არხთან დასაკავშირებლად."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"ეს აჩვენებს დაკონფიგურირებული IRC ქსელების სიას. IRC ქსელი არის ერთმანეთთან "
+"დაკავშირებული სერვერები. ამ ქსელთან დასაკავშირებლად მხოლოდ ერთერთ სერვერთან "
+"დაკავშირება გჭირდებათ. დაკავშირების შემდეგ Konversation ავტომატურად შეუერთდება "
+"ნაჩვენებ არხებს. როდესაც Konversation პირველად ეშვება, Freenode ქსელი და <i>"
+"#kde</i> არხი თავისით ჩაგერთვებათ."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "ქსელი"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "იდენტიფიკაცია"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "არხები"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&ახალი..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"დააწკაპუნეთ ახალი ქსელის განსასაზღვრად, დასაკავშირებელი სერვერების და "
+"ავტომატურად შესაერთებელი არხების ჩათვლით."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&რედაქტირება..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "&პროგრამის გაშვებისას დაკავშირება"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "ქსელი"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "ქსელის რედაქტორება"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"თქვენ არ შეგიძლიათ %1-ს წაშლა.\n"
+"\n"
+"%2 ქსელს ერთი სერვერი მაინც უნდა ჰქონდეს."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"თქვენ არ შეგიძლიათ მონიშნული სერვერების წაშლა.\n"
+"\n"
+"%1 ქსელს ერთი სერვერი მაინც უნდა ჰქონდეს."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "ნამდვილად გსურთ არჩეული ჩანაწერების წაშლა?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "ნამდვილად გსურთ %1-ს წაშლა?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "უკანასკნელის ჩვენება:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"გამოიყენეთ ეს უჯრა ჟურნალის ფაილის მაქსიმალური ზომის განსასაზღვრად. ეს "
+"პარამეტრი არ გააქტიურდება სანამ Konversation-ს თავიდან არ გაუშვებთ. ყოველ "
+"ჟურნალის ფაილს შეიძლება ცალკე სტრიქონი ჰქონდეს."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr "კბ"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "ჟურნალის ფაილის გაწმენდა"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"შეტყობინებები ჟურნალის ფაილიდან უკვე აისახება აქ. უძველესი შეტყობინებები არიან "
+"ზემოთ და უახლესები კი ქვემოთ."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "ნამდვილად გსურთ ყველა ჟურნალიდან შეტყობინებების სამუდამოდ განდევნა?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"შენიშვნა: ჟურნალის ფაილის შენახვისას თქვენ ინახავთ ფაილში არსებულ ყველა "
+"მონაცემებს და არა მარტო იმას რასაც მხილველში ხედავთ."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "ჟურნალის ფაილის შენახვა"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "დანიშნულების საქაღალდის არჩევა"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "ინფორმაცია"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "DCC საუბრის კავშირის შეთავაზება %1-სთან %2 პორტზე..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "თავიდან დაკავშირებათა მცდელობები:"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, fuzzy, c-format
+msgid "Already connected to %1"
+msgstr "%1-სთან დაკავშირება ვერ განხორციელდა"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "კავშირი"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "სერვერის რედაქტორება"
+
+#: src/connectionmanager.cpp:502
+#, fuzzy
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "გთხოვთ შეავსოთ თქვენი <b>ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "გთხოვთ შეავსოთ თქვენი <b>ნამდვილი სახელი</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "გთხოვთ მოგვაწოდოთ მინიმუმ ერთი <b>მეტსახელი</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>თქვენი იდენტიფიკაცია \"%1\" არ არის სწორად გამართული:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+#, fuzzy
+msgid "Identity Settings"
+msgstr "იდენტიფიკაციის პარამეტრების შემოწმება"
+
+#: src/connectionmanager.cpp:518
+#, fuzzy
+msgid "Edit Identity..."
+msgstr "იდენტიფიკაციის დამატება"
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "იდენტიფიკაციები"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&იდენტიფიკაცია"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "დუბლირება"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "სახელის გადარქმევა"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "საერთო"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "ნა&მდვილი სახელი:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"აქ ნამდვილი სახელი ჩაწერეთ. IRC არ აპირებს თქვენს დამალვას მეგობრებისგან ან "
+"მტრებისგან. გაითვალისწინეთ თუ ცუდად აპირებთ მოქცევას. ყალბი \"ნამდვილი სახელი\" "
+"შეიძლება გამოგადგეთ აქაური უტვინოებისგან თქვენი სქესის დასამლად, მაგრამ "
+"კომპიუტერი, რომელზეც ზიხართ მაინც გამოჩნდება, ასე რომ სრული ანონიმურობა არ "
+"იქმნება."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "მეტსახელი"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"ეს არის თქვენი მეტსახელების სია. მეტსახელი ის სახელია, რომლითაც სხვა "
+"მომხმარებლები გიცნობენ. თქვენ ნებისმიერი სახელის გამოყენება შეგიძლიათ. პირველი "
+"სიმბოლო ასო უნდა იყოს.\n"
+"\n"
+"რადგან მეტსახელი მოცემულ IRC ქსელში უნიკალური უნდა იყოს, ამის გამო თქვენს მიერ "
+"არჩეული მეტსახელი სერვერის მიერ შეიძლება იარყოფილი იქნას იმის გამო რომ სხვას "
+"უკვე აქვს იგივე მეტსახელი. ამიტომ შეიყვანეთ თქვენთვის ალტერნატიული მეტსახელი. "
+"ასე რომ, თუ სერვერი უარყოფს პირველ არჩევანს, მაშინ Konversation გამოიყენებს "
+"არტერნატიულ მეტსახელებს."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "დამატება..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "რედაქტირება..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "ავტომატური"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "სერ&ვისი:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"სერვისის სახელი შეიძლება იყოს <b><i>nickserv</i></b> "
+"ან ქსელის მიერ განპირობებული სახელი, როგორიცაა <b><i>"
+"nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "პა&როლი:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "გასული"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"თუ ამ უჯრას მონიშნავთ, როდესა შეასრულებთ <b>/away</b> "
+"ბრძანებას, ჰორიზონტალური ხაზი გამოჩნდება არხში, რომელიც აღნიშნავს ადგილს, "
+"საიდანაც თქვენ გახვედით. სხვა IRC მომხმარებლები ვერ დაინახავენ ამ ჰორიზონტალურ "
+"ხაზს."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "გასულია მეტსახელი:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"შეიყვანეთ მეტსახელი, რომელიც აგღნიშნავთ როგორც გასულს. როდესაც შეასრულებთ <b>"
+"/away msg</b> ბრძანებას, ყველა არხზე Konversation ავტომატურად შეცვლის თქვენს "
+"მეტსახელს გასულ მეტსახელზე. სხვა მომხმარებლები გაიგებენ რომ თქვენ "
+"კომპიუტერისგან გასული ხართ. როდესაც კი შეასრულებთ <b>>/away</b> "
+"ბრძანებას, Konversation ყველა არხში დაგიბრუნებთ თავდაპირველ მეტსახელს. თუ არ "
+"გსურთ გასვლისას ავტომატურად შეგეცვალოთ მეტსახელი, დატოვეთ ეს ცარიელი."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr "სტროფები"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "&გამოკითხვის აქტივობები"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "ავრომატურად"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "გასვლის შეტყობინება:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"თუ ამ უჯრას მონიშნავთ, Konversation ავტომატურად ყველა არხზე გააგზავნის გასვლის "
+"შეტყობინებას. <b>%s</b> ჩანაცვლებულ იქნება <b>msg</b>"
+"-ს მიერ. როდესაც კი შეასრულებთ <b>/away</b> ბრძანებას, დაბრუნების შეტყობინება "
+"აისახება ყველა არხში."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "გასვლის შ&ეტყობინება:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "&დაბრუნების შეტყობინება:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "დეტალური"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pre-shell ბრძანება:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"აქ შეგიძლიათ შეიყვანოთ ბრძანება, რომელიც კავშირის დამყარებამდე შესრულდება"
+"<br>თუ ამ იდენტიფიკაციაში რამოდენიმე სერვერი გაქვთ, მაშინ ბრძანება ყოველი "
+"სერვერისთვის შესრულდება"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "ი&დენტიფიკაცია:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"როდესაც დაუკავშირდებით, ბევრი სერვერი აწარმოებს თქვენი კომპიუტერის გამოკითხვას "
+"IDENT პასუხის მისაღებად. თუ თქვენ კომპიუტერზე არაა IDENT სერვერი გაშვებული, "
+"მაშინ ამ პასუხს Konversation გააგზავნის. ღარები არაა ნებადართული."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&კოდირება:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"ეს პარამეტრი განსაზღვრავს თუ როგორ უნდა დაიშიფროს თქვენს მიერ აკრებული "
+"სიმბოლოები სერვერისთვის გასაგზავნათ. ეს ასევე განსაზღვრავს თუ როგორ უნდა იქნნან "
+"შეტყობინებები ასახულნი. როდესაც პირველად ხსნით Konversation, იგი ამ პარამეტრს "
+"სისტემისგან ავტომატურად იღებს. თუ კი სხვების შეტყობინებების ნახვისას პრობლემები "
+"გექმნებათ, მაშინ სცადეთ ამ პარამერტრის შეცვლა."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "&Part მიზეზი:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "როდესაც ტოვებთ არხს, ეს შეტყობინება იგზავნება არხში."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Part მიზეზი:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "როდესაც ტოვებთ არხს, ეს შეტყობინება იგზავნება არხში."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Kick მიზეზი:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"როდესაც გაგაპანღურებენ არხიდან (როგორც წესი IRC ოპერატორი აკეთებს ამას), ეს "
+"შეტყობინება იგზავნება არხში."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "იდენტიფიკციის ინფორმაციის შეცვლა"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "ყველა ცვლილებებს აუქმებს"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "იდენტიფიკაციაში ერთი მეტსახელი მაინც უნდა დაამატოთ."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "მეტსახელის დამატება"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "მეტსახელი:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "მეტსახელის რედაქტორება"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "იდენტიფიკაციის დამატება"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "იდენტიფიკაციის სახელი:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "თქვენ უნდა მიუთითოთ იდენტიფიკაციის სახელი."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "იდენტიფიკაციის სახელის გადარქმევა"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"ეს იდენტიფიკაცია გამოიყენება, თუ თქვენ მას წაშლით, მაშინ ქსელის პარამეტრები "
+"ნაგულისხმებ იდენტიფიკაციას დაუბრუნდება. მაინც გსურთ წაშლა?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"დარწმუნებული ხართ რომ ამ იდენტიფიკაციიდან მთელი ინფორმაციის წაშლა გსურთ?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "იდენტიფიკაციის წაშლა"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "იდენტიფიკაციის დუბლირება"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "ჩვეულებრივი მომხმარებლები"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voice (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operators (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "არხის ადმინისტრატორები (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "არხის მფლობელები (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "სიმბოლოს ჩასმა"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "სიმბოლოს ჩასმა"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation-ის სანიშნეთა რედაქტორი"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "თავისუფალი პორტი არაა"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "სოკეტის გახსნა ვერ განხორციელდა"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "ტექსტის მოძებნა..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL გაცვლის ბუფერში ასლი"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "სანიშნედ დამატება"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "სიის შენა&ხვა..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "გამოკითხვის %1-სთან გახსნა"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "%1 არხისთვის შეერთება"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "შეტყობინება"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "ჩართვა"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Part"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "გამოკითხვის გახსნა"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&შეერთება"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "&მომხმარებელთა სიის მიღება"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "თე&მის მიღება"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\"-სთვის დამთხვევები ვერ მოიძებნა."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "სიის შ&ენახვა..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&სერვერთა სია..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "ქსელთა და სერვერთა მართვა"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "სწრაფი &დაკავშირება..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "ჩაწერეთ ახალი IRC სერვერის მისამართი დასაკავშირებლად"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "თ&ავიდან დაკავშირება"
+
+#: src/konversationmainwindow.cpp:141
+#, fuzzy
+msgid "Reconnect to the current server."
+msgstr "სერვერთან დაკავშირება"
+
+#: src/konversationmainwindow.cpp:143
+#, fuzzy
+msgid "&Disconnect"
+msgstr "კავშირის გაწყვეტა"
+
+#: src/konversationmainwindow.cpp:145
+#, fuzzy
+msgid "Disconnect from the current server."
+msgstr "სერვერთან კავშირი გაწყვეტილია."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&იდენტიფიკაციები..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "მართეთ თქვენი მეტსახელი, გასვლის და იდენტიფიკაციის სხვა პარამეტრები"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&სათვალყურო მეტსახელები ხაზზე"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC სტატუსი"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "ჟურნალის ფაილის &გახსნა"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "არხის ცნობილი ისტორიის ახალ ჩანართში გახსნა"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+#, fuzzy
+msgid "&Channel Settings..."
+msgstr "ს&ხვა პარამეტრები"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+#, fuzzy
+msgid "Channel &List"
+msgstr "არხთა სია"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "სერვერზე არსებული ყველა ცნობილი არხების სიის ჩვენება"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL-ს დამჭერი"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "ყველა მისამართის ახალ ჩანართში ჩამოთვლა, რაც ბოლო დროს ნახსენები იყო"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "ახალი &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "ტერმინალის ახალ ჩანართში გახსნა"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "შე&მდეგი ჩანართი"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&წინა ჩანართი"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "ჩანართის &დახურვა"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "შე&მდეგი ჩანართი"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+#, fuzzy
+msgid "Move Tab Up"
+msgstr "ჩანართის მარცხნივ გადატანა"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+#, fuzzy
+msgid "Move Tab Down"
+msgstr "ჩანართის მარცხნივ გადატანა"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "ჩანართის მარჯვნივ გადატანა"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "ჩანართის მარცხნივ გადატანა"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&არხთან შეერთება"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "შეტყობინებების ჩართვა"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&არხთან შეერთება"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "კოდირების დაყენება"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "გადასვლა %1 ჩანართისკენ"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "სიაის გა&წმენდა"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "მიმდინარე ჩანართის შიგთავსის წაშლა"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "ფანჯრის &გაწმენდა"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "მიმდინარე ჩანართის შიგთავსის წაშლა"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "&ყველა ფანჯრის გაწმენდა"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "ყველა გახსნილი ჩანართის შიგთავსის წაშლა"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&არხისთვის შეერთება..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC ფერი..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "თქვემი მიმდინარე IRC შეტყობინების ფერის მინიჭება"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "ხაზის &დამახსოვრება"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"მიმდინარე ჩანართში ჰორიზონტალური ხაზის ჩასმა, რომლის ხილვაც მხოლოდ თქვენ "
+"შეგიძლიათ"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "სპეციალური &სიმბოლო..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "თქვენს მიმდინარე IRC შეტყობინებაში ნებისმიერი სიმბოლოს ჩასმა"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "&ყველა გახსნილი გამოკითხვის დახურვა"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "მეტსახელთა სიის დამალვა"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+#, fuzzy
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>მთავარი ფანჯრის დახურვის შემდეგ, Konversation მაინც გაშვებული იქნება "
+"სისტემურ პანელში. გამოიყენეთ <b>გასვლა</b> <b>Konversation</b>"
+"-ის მენიუდან, პროგრამიდან გასასვლელად.</p>"
+"<p>"
+"<center><img source=\"systray_shot\"></center></p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "სისტემურ პანელზე დამაგრება"
+
+#: src/konversationmainwindow.cpp:490
+#, fuzzy
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>ეს მენიუს ზოლს სრულიად დამალავს. თქვენ მისი გამოჩენა შეგიძლიათ %1-ს "
+"აკრეფვით.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+#, fuzzy
+msgid "Toggle Notifications"
+msgstr "შეტყობინებების ჩართვა"
+
+#: src/konversationmainwindow.cpp:540
+#, fuzzy
+msgid "Toggle Away Globally"
+msgstr "გლობალურად გ&ასვლის მდგომარეობის დაყენება"
+
+#: src/konversationmainwindow.cpp:541
+#, fuzzy
+msgid "Insert &IRC Color..."
+msgstr "&IRC ფერი..."
+
+#: src/konversationmainwindow.cpp:542
+#, fuzzy
+msgid "Insert Special &Character..."
+msgstr "სპეციალური &სიმბოლო..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "ხაზის &დამახსოვრება"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&არხთა სია"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "გლობალურად გ&ასვლის მდგომარეობის დაყენება"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "ნედლი"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "გამოყენება: %1JOIN <channel> [password]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "გამოყენება: %1KICK <nick> [reason]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK მხოლოდ არხებში მუშაობს"
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART პარამეტრების გარეშე მუსაობს მხოლოდ არხში ან გამოკითხვაში."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC პარამეტრების გარეშე მუსაობს მხოლოდ არხში."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES მიზანის გარეშე შეიძლება სერვერთან კავშირი გაწყვიტოს. განსაზღვრეთ '*' თუ "
+"ნამდვილად გსურთ ეს."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "გამოყენება: %1NOTICE <recipient> <message>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "გამოყენება: %1AME ტექსტი"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "%2-სთვის CTCP-%1 მოთხოვნის გაგზავნა."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "\"%1\" ფაილი არ არსებობს."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "გამოყენება: %1DCC [SEND nickname filename]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "გამოყენება: %1DCC [CHAT nickname]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "ამოუცნობი ბრძანება %1DCC %2. შესაძლო ბრძანებებია SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "გამოყენება: %1INVITE <nick> [channel]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 არ არის არხი."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "გამოყენება: %1EXEC <script> [parameter list]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "სკრიპტის სახელი არ უნდა შეიცავდეს \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "გამოყენება: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "მიმდინარე შეტყობინებათა სია ცარიელია."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "მიმდინარე შეტყობინებათა სია: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"IRC ოპერატორის პრივილეგიების მისაღებად შეიყვანეთ მომხმარებლის სახელი და პაროლი:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC ოპერატორის პაროლი"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:1196
+#, fuzzy
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1BAN არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "გამოყენება: %1BAN [-HOST | -DOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "გამოყენება: %1BAN [-HOST | -DOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN არხის სახელის გარეშე მუშაობს მხოლოდ მიმდინარე ახრში."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "გამოყენება: %1UNBAN [channel] pattern"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 დაემატა თქვენს იგნორირებულთა სიას."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "გამოყენება: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "გამოყენება: %1UNIGNORE <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 წაშლილია თქვენი იგნორირებულთა სიიდან."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "ასეთი იგნორირებული არაა: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "ასეთი იგნორირებულები არ არიან: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "გამოყენება: %1QUOTE ბრძანებათა სია"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "გამოყენება: %1SAY ტექსტი"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "გამოყენება"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "გამოყენება: %1AME ტექსტი"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "გამოყენება: %1AMSG ტექსტი"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "გამოყენება %1OMSG ტექსტი"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "\"%1\" შეტყობინების %2-სთვის გაგზავნა."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "გამოყენება: %1ONOTICE ტექსტი"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "მიმდინარე შეტყობინებათა სია: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "კოდირების დაყენება"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 არ არის არხი."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1-თვის გასაღები ახლა წაშლილია."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1-თვის გასაღები ახლა წაშლილია."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1-თვის გასაღები ახლა წაშლილია."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "გამოყენება: %1DNS <nick>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 მიღებულია %2-სკენ"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1-ს მიღება შეუძლებელია"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "KDE 3.5.1 ან უფრო ახლის მიღების მოთხოვნების შებრუნება."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "გამოყენება: %1KICK <nick> [reason]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>შეტანის ხაზია, სადაც თქვენ არხზე, გამოკითხვაში ან სერვერზე გასაგზავნ "
+"შეტყობინებას წერთ. არხზე გაგზავნილ შეტყობინებას ხედავს ყველა ვინც კი იმყოფება "
+"ამ არხზე, მაშინ როდესაც გამოკითხვაში გაგზავნილი შეტყობინების ხილვა მხოლოდ იმ "
+"პირს შეუძლია, ვისაც ამ გამოკითხვაში ესაუბრებით."
+"<p>თქვენ ასევე შეგიძლიათ სპეციალური ბრძანებების გაგზავნა:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>მოქმედება</i></th>"
+"<td>აჩვენებს არხში ან გამოკითხვაში მოქმედებას. მაგალითად: <em>"
+"/me ვმღერივარ</em>არხში გამოჩნდება როგორც, 'მეტსახელი მღერის სიმღერას;.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>მეტსახელი</i></th>"
+"<td> აჩვენებს ცნობებს ამ მომხმარებლის შესახებ, იმის ჩათვლით თუ რა არხებში "
+"იმყოფება იგი.</td></tr></table>"
+"<p>მეტი ბრძანებებისთვის იხილეთ Konversation-ის სახელმძღვანელო."
+"<p>შეტყობინების მაქსიმალური ზომაა 512 ასო და იგი მხოლოდ ერთ ხაზს უნდა "
+"შეიცავდეს.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>თქვენ სცადეთ საუბარში ტექსტის დიდი პორციის ჩასმა (%1 ბაიტი ან %2 ხაზი). "
+"ამან შეიძლება გამოიწვიოს კავშირის გაწყვეტა. ნამდვილად გსურთ გაგრძელება?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "დიდი ჩასმის გაფრთხილება"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "მოხერხებული IRC კლიენტი"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "დასაკავშირებელი სერვერი"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "გამოსაყენებელი პორტი"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "დაკავშირების შემდეგ შესაერთებელი არხი"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "გამოსაყენებელი მეტსახელი"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "დაკავშირებისთვის პაროლი"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "კავშირისთვის SSL-ს გამოყენება"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2005 Konversation გუნდი"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation არის ინტერნეტ საუბრის (IRC) ოქმის კლიენტი.\n"
+"შეხვდით მეგობრებს ინტერნეტში, გაიცანით ახალი ხალხუი და\n"
+"ისაუბრეთ თქვენთვის საინტერესო თემებზე."
+
+#: src/main.cpp:62
+#, fuzzy
+msgid "Original Author, Project Founder"
+msgstr "თავდაპირველი ავტორი/პროექტის დამაარსებელი"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "მხარდამჭერი"
+
+#: src/main.cpp:64
+#, fuzzy
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"თანა-მხარდამჭერი, მომხმარებლებთან უერთიერთობა, ქსელის სემანტიკა, ოქმიის "
+"დამუშავება"
+
+#: src/main.cpp:65
+#, fuzzy
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC-ის გადაწერა, კოდირებათა გაუმჯობესება, OSD განლაგება"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr ""
+
+#: src/main.cpp:67
+#, fuzzy
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish მხარდაჭერა, SSL მხარდაჭერა, KNetwork-სკენ გადადება, შეფერილი "
+"მეტსახელები, ხატულათა გაფორმების მხარდაჭერა"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "გადამუშავება, KAddressBook/Kontact ინტეგრაცია"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"მრავალი რეჟიმის გაფართოვება, დახურვის ელემენტის მდებარეობა, OSD ფუნქციები"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"დოკუმენტაცია, სათვალყურო მეტსახელთა ხაზზე ყოფნის გაუმჯობესება, სხვა ვებ "
+"ბრაუზერების გაფართოვება"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "ფერთა კონფიგურაცია, მარკირებული დიალოგები"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP ინტერფეისი"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "არა-Latin1-კოდირებები"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole ნაწილის ხილვა"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"სწრაფად დაკავშირება, ახალი OSD გადაწევა, სხვა შესაძლებლობანი და შეცდომების "
+"გასწორება"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "ცოტაოდენი შესწორებები და კოდის გაწმენდა"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "გადათრევა&ჩაგდების გაუმჯობესება"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Artwork"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox სტილის ძიების ზოლი"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "ნედლი რეჟიმები, სერვერებად ჩანართთა დაჯგუფება"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "სისტემური პანელის ჩანართი"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "შეცდომათა გასწორება"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "მომხმარებელთა გაფართოებული რეჟიმების დანართები"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "ხილული ჩანართის მალმხმობი დანართით დახურვა"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "თაგვის ბორბლით ჩანართების გადაფურცვლა"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "არხის პატრონობის რეჟიმის დანართი"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC ფერთა გაფილტვრვის პარამეტრი"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "შეცდომათა გასწორება, OSD მუშაობა, თემათა გაწმენდა"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo სკრიოპტი"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "%2 არხზე %1-სგან მიღებულ იქნა CTCP-PING მოთხოვნა, პასუხი იგზავნება."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "%2-სგან მიღებულია CTCP-%1 მოთხოვნა, პასუხი იგზავნება."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა %2 არხზე."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "%1-სგან მიღებულია ვერსიის მოთხოვნა."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "%2-სგან მოვიდა უცნობი DCC ბრძანება %1."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "%3 არხზე %2-სგან მიღებულია უცნობი CTCP-%1 მოთხოვნა"
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "მიღებულია უცნობი CTCP-%1 მოთხოვნა %2სგან"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 %2- %3-ს"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "%1-სგან მიღებულია CTCP-PING პასუხი: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "%2-სგან მიღებულია CTCP-%1 პასუხი: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "მოწვევა"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1-მ მოგიწვიათ %2 არხზე"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "მოგესალმებით"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "სერვერი %1 (ვერსია %2), მომხმარებლის რეჟიმები: %3, არხის რეჟიმები: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "მხარდაჭერა"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "არხის რეჟიმები:"
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "თემის დაცვა"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "გარედან შეტყობინებები არაა"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "საიდუმლო"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "მხოლოდ მოწვევა"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "პირადი"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "მოდერირებადი"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "პაროლით დაცული"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "ანონიმური"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "სერვერის reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "ფერები არაა ნებადართული"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "რეჟიმი"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1სთვის არხთა სია"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "შექმნილია"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "ეს არხი შეიქმნა %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 შემოსულია როგორც %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "სახელები"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "სახელთა სიის დასასრული."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "თემა"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "%1 არხს არ აქვს თემა."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "თემა"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "არხის თემა %1-სთვის არის: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "%2-ზე %1-მ დააყენა თემა."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "%1-სთვის თემა დააყენა %2-მ %3-ზე."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 იყენებს %2ჰოსტს."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: ასეთი მეტსახელი/არხი არ არსებობს."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "ასეთი მეტსახელი არ არსებობს: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: ასეთი არხი არ არსებობს."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "მეტსახელი"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "მეტსახელი უკვე გამოიყენება, სხვა სცადეთ."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "მეტსახელი უკვე გამოიყენება. %1 იცდება."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "გაუმართავი მეტსახელი. მეტსახელი შეიცვალა %1-ით."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "თქვენ ხართ %1-ზე."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "დღის შეტყობინება:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "დღის შეტყობინების დასასრული"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "თქვენ ახლა IRC ოპერატორი ხართ ამ სერვერზე."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "მომხმარებლები"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "მიმდინარე მომხმარებლები ქსელზე: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "მიმდინარე მომხმარებლები %1-ზე: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "გასულია"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 გასულია: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "თქვენ %1 მოიწვიეთ %2 არხზე."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+#, fuzzy
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 არის %2&#64;%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "მიღებულია %1 (%2) მისამართზე: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "%1 (%2)-თვის მისამართის მიღება შეუძლებელია"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 იდენტიფიცირებული მომხმარებელია."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+#, fuzzy
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 არის %2&#64;%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (გასულია)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1-ს /WHO სიის დასასრული"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 მომხმარებელია არხზე: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1-ს აქვს ხმა არხებზე: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 ნახევრადოპერატორია არხებზე: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 ოპერატორია არხებზე: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 არხის პატრონია: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 არხის ადმინია: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 ხაზზეა %2 (%3)-ს მეშვეობით"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 დახმარებისთვის ხელმისაწვდომია."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (IRC ოპერატორი)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr "%n დღე"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr "%n საათი"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr "%n წუთი"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr "%n წამი"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 გასულია %2 დღე, %3საათი, %4 წუთი და %5 წამი."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 გასულია %2 სსთი, %3 წუთი და %4 წამი."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 გასულია %2 წუთი და %3 წამი."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr "%1 გასულია %n წამი."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 ხაზზეა %2 დროიდან."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS სიის დასასრული."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Userhost"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC ოპერატორი)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (გასვლა)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "სია"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "არხთა სია:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr "%1 (%n მომხმარებელი): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "არხთა სიის დასასრული."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr ""
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr ""
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 ახლა ხელმიუწვდომელია."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: უცნობი ბრძანებაა."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "არ არის რეგისტრირებული."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: ეს ბრძანება მეტ პარამეტრებს მოითხოვს."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "თქვენ 1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " აყენებს რეჟიმებს: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "ნაგულისხმები იდენტიფიკაცია"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "სათვალყურო მეტსახელების რედაქტირება"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&ქსელის სახელი:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "აქედან აიღეთ დასაკავშირებელი ქსელის სერვერი."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "მე&ტსახელი:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>სათვალყურო მეტსახელი, როდესაც უკავშირდებით ქსელში სერვერს.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "შეტყობინების ინფორმაციის შეცვლა"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "კავშირი %1 სერვერთან ვერ შედგა: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"დაკავშირებისას დაშიფრული SSL-ს გამოყებნება ხელმიუწვდომელიაKonversation-ში, "
+"რადგან კომპილაციის დროს OpenSSL-ს მხარდაჭერა არ იყო გააქტიურებული. თქვენ KDE-ს "
+"ახალი ვერსია გჭირდებათ, რომელსაც აქვს SSL-ს მხარდაჭერა."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"სერვერიდან დაბრუნებული SSL სერტიფიკატის ამოცნობა ვერ განხორციელდა. შესაძლოა ამ "
+"სერვერს მოცემულ პორტზე არ აქვს SSL-ის მხარდაჭერა? თუ ამ სერვერს ნორმალურად "
+"აქვს მხარდაჭერა არა SSL კავშირებისაც, მაშინ SSL იქნება სხვა პორტზე."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"%1 ჰოსტის IP მისამართი არ ემთხვევა იმას რისთვისაც სერტიფიკატი იყო მინიჭებული."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "სერვერის ავტორიზაცია"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "ცნობები"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "სერვერის (%1) სერვტიფიკატმა ავტორიზაციის ტესტი ჩააგდო."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "გსურთ ამ სერტიფიკატის სამუდამოდ მიღება შეკითხვის გარეშე?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "სა&მუდამოდ"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "მხოლოდ მიმ&დინარე სესია"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[HighLight] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "გამოკითხვა <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 შეუერთდა %2-ს"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 შეუერთდა %2-ს"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 გავიდა %2-დან"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1-მ მეტსახელი %2-ით შეიცვალა"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1-ს სურს თქვენთვის ფაილის გამოგზავნა"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1-მ თქვენთან საუბარი (გამოკითხვა) დაიწყო."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 ხაზზეა (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 ხაზიდან გავიდა (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "თქვენ %1-მ %2-დან გაგაპანღირათ"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1-მ თქვენთან dcc საუბარი დაიწყო"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[HighLight] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "%1-სთან დაკავშირება ვერ განხორციელდა"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "თქვენ შეუერთდით %1-ს."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "ფრაზა ვერ მოიძებნა"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "გადაფარული ძიება"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "ქსელის ინტერფეისი"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "პასუხი IRC სერვერიდან"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "ხელით მითითება"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC ფერების ამრჩევი"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "არა"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&სერვერი:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "სერვერის სახელი ან IP ნომერი. irchelp.org შეიცავს სერვერთა სიას."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"სერვერთან დასაკავშირებლად საჭირო პორტის ნომერი შეიყვანეთ. უმეტესი "
+"სერვერებისთვის ეს უნდა იყოს <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "პარ&ოლი:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "და&ცული კავშირი (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"მონიშნეთ თუ გსურთ დაცული სოკეტის ფენის Secure Socket Layer (SSL) ოქმი სერვერთან "
+"დასაკავშირებლად. ეს იცავს თქვენს კომპიუტერსა და IRC სერვერს შორის კავშირის "
+"პრივატულობას. ამისთვის სერვერს უნდა ჰქონდეს SSL-ის მხარდაჭერა. უმეტეს "
+"შემთხვევებში, თუ სერვერს არ აქვს SSL-ის მხარდაჭერა, კავშირი ვერ განხორციელდება."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "სერვერის მისამართია საჭირო."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "ადმინმა ფაილთა გაგზავნა აკრძალა"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "\"%1\" მისამართი არ არსებობს"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" მიღება ვერ განხორციელდა"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "შეიყვანეთ ფაილის სახელი"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>ფაილს, რომელსაც უგზავნით <i>%1</i>-ს, არ აქვს სახელი."
+"<br>გთხოვთ შეიყვანოთ ფაილის სახელი ან გააუქმოთ dcc გადაცემა</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "ფაილის სახელი არაა მოცემული"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "დაშორებული მომხმარებლის თანხმობას ველით"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "კავშირის დადასტურება ვერ განხორციელდა. (სოკეტის შეცდომა)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "ფაილის გახსნა ვერ განხორციელდა: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "სოკეტის შეცდომა: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "დაყოვნების დრო"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "კავშირის ჩავარდნა: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "დაშორებულ მომხმარებელთან კავშირი გაწყდა"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "ოპერაციამ წარმატებით ჩაიარა. ეს არ მოხდებოდა შეცდომის დიალოგისას."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "\"%1\" ფაილიდან წაკითხვა ვერ განხორციელდა."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "\"%1\" ფაილში ჩაწერა ვერ განხორციელდა."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "ფატალური შეცდომა მოხდა."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "\"%1\" ფაილის გახსნა ვერ განხორციელდა."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "ოპერაცია წარმატებით შეწყდა."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "ოპერაციის დაყოვნების დრომ გადააჭარბა."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "დახურვისას დაუსაბუთებელი შეცდომა მოხდა."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "უცნობი შეცდომა. %1 კოდი."
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC გაგზავნა: %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "DCC კითხვის მიღება"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "უცნობი ზომა"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 შეუერთდა %2-ს"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 შეუერთდა %2-ს"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 შეუერთდა %2-ს"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr "წმ"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "მზად."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>ეს აჩვენებს არხზე მყოფი მომხმარებლების და ოპერატორების რაოდენობას."
+"<p>არხის ოპერატორი არის მომხმარებბელი სპეციალური პრივილეგიებით აღჭურვილი, "
+"როგორიცაა მომხმარებლების განდევნა და დაბლოკვა, არხის რეჟიმების შეცვლა და სხვა "
+"მომხმარებლებისთვის ოპერატორის სტატუსის მინიჭება</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "ინტერვალი: უცნობი"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"ყველა კავშირი სერვერთან დაშიფრულია. ეს უძნელებს მესამე პირს თქვენი კავშირის "
+"მოსმენას."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>მდგომარეობის ველში ნაჩვენებია სხვადასხვა შეტყობინებები მათ შორის სერვერთან "
+"დაკავშირების პრობლემების. მარჯვნივ ნაჩვენებია სერვერის მიმდინარე დაყოვნება. "
+"დაყოვნება არის ის დრო, რაც შეტყობინებას სჭირდება თქვენგან სერვერამდე მისაღწევად "
+"და სერვრიდან თქვენთან დასაბრუნებლად.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "ინტერვალი: %1 მწმ"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "ინტერვალი: %1 წმ"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr ""
+"%1 სერვერიდან პასუხი არაა ამ დროზე მეტხანს %2 დღე, %3 საათი, %4 წუთი და %5 "
+"წამი."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr ""
+"%1 სერვერიდან პასუხი არაა ამ დროზე მეტხანს %2 საათი, %3 წუთი და %4 წამი."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "%1 სერვერიდან პასუხი არაა ამ დროზე მეტხანს %2 წუთი და %3 წამი"
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr "%1 სერვერიდან პასუხი არაა %n წამი."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "%1 სერვერის ძებნა:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "%1 სერვერი ვერ მოიძებნა. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "სერვერი მოიძებნა, მიმდინარეობს დაკავშირება..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "კავშირი დამყარებულია, შესვლა..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "კავშირი %1 სერვერთან ვერ შედგა: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"%1-სთან დაკავშირება ვერ განხორციელდა: %2 იყენებს SSL დაშიფრვას. შესაძლოა "
+"სერვერს არ აქვს SSL-ის მხარდაჭერა, ან ეგებ თქვენ გაქვს არასწორი პორტი "
+"მითითებული? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL კავშირის შეცდომა"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "სერვერთან კავშირი გაწყვეტილია."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+#, fuzzy
+msgid "Nickname error"
+msgstr "მეტსახელი"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "სერვერიდან მონაცემთა წაკითხვისას მოხდა შეცდომა: %1"
+
+#: src/server.cpp:1636
+#, fuzzy, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "აირჩიეთ %1-სთვის გასაგზავნი ფაილი"
+
+#: src/server.cpp:1711
+#, fuzzy
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 ხაზზეა %2 (%3)-ს მეშვეობით"
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "უცნობი ზომა"
+
+#: src/server.cpp:1742
+#, fuzzy
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1 ხაზზეა %2 (%3)-ს მეშვეობით"
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"%3-სგან (%2 პოზიციიდან) \"%1\" ფაილის გაუმართავი რეზიუმე იქნა მიღებული."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"%3-სგან (%2 პოზიციიდან) \"%1\" ფაილის გაუმართავი რეზიუმე იქნა მიღებული."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+"%3-სგან (%2 პოზიციიდან) \"%1\" ფაილის გაუმართავი რეზიუმე იქნა მიღებული."
+
+#: src/server.cpp:1887
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "DCC \"%1\" ფაილის ჩამოქაჩვა დასრულდა."
+
+#: src/server.cpp:1890
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "\"%1\" ფაილის DCC ჩამოტვირთვა ვერ შედგა. მიზეზი: %2"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "\"%1\" ფაილის DCC ატვირთვა ვერ შედგა. მიზეზი: %2"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr ""
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1-მ მოგიწვიათ %2 არხზე. ეთანხმებით მოწვევას?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "მოწვევა"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "შეცდომა: \"%1\" სკრიპტის მოძებნა ვერ განხორციელდა."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"შეცდომა: \"%1\" სკრიპტის შესრულება ვერ განხორციელდა. შეამოწმეთ ფაილის უფლებები."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "გასვლა"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "თქვენ ახლა აღნიშნული ხართ როგორც გასული."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "თქვენ აღარ ხართ აღნიშნული როგორც გასული."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "თქვენ არ ხართ აღნიშნული როგორც გასული."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "სათვალყურო მეტსახელები ხაზზე არიან"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "ქსელი/მეტსახელი/არხი"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "დამატებითი ცნობები"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>თქვენი სათვალყურო მეტსახელთა სიის ყველა მეტსახელი ჩამოთვლილია ქსელების "
+"მიხედვით, რომლის სერვერებზეც ისინი დაკავშირებულნი არიან. ეს სია ასევე შეიცავს "
+"KAddressBook-თან ასოცირებულ მეტსახელებს.</p>"
+"<p><b>დამატებითი ინფორმაციის</b> სვეტში ნაჩვენებია ყოველი მეტსახელ შესახებ "
+"ცნობები.</p>"
+"<p>ყოველი მეტსახელის ქვეშ ჩამოთვლილია არხები, რომლებთანაც ისინი დაკავშირებულნი "
+"არიან.</p>"
+"<p>მეტსახელები, რომლებიც აღნიშნულნი არიან როგორც <b>ხაზიდან გასული</b> "
+"არ არიან ქსელის არცერთ სერვერთან დაკავშირებულნი.</p>"
+"<p>დამატებითი ფუნქციებისთვის მეტსახელზე მერჯვენათი დააწკაპუნეთ.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "სათვალყურო სიის &რედაქტორება..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "ამ ეკრანზე ასახული მეტსახელთა რედაქტირებისთვის დააწკაპუნეთ."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "მისამართთა წიგნი:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"როდესაც ზედა სიიდან ირჩევთ მეტსახელს, ამ ღილაკების გამოყენება შეგეძლებათ "
+"მეტსახელის მისამართთა წიგნის ჩანაწერთან ასოცირებისთვის."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "მეგობრის რედა&ქტირება..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"ზემოთ მონიშნულ მეტსახელთან ასოცირებული KAddressBook ჩანაწერის შესაქმნელად, "
+"დასარედაქტირებლად ან სანახავად აქ დააწკაპუნეთ."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "ასოციაციის შ&ეცვლა..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "ზემოთმონიშნული მეტსახელის KAddressBook-თან ასოცირებისთვის დააწკაპუნეთ."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "ასოციაციის &წაშლა"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"ამ მეტსახელსა და KAddressBook ჩანაწერს შორის ასოციაციის წასაშლელად დააწკაპუნეთ."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " ხაზზე %1-ს მეშვეობით"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr "%1-დან"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "ხაზიდან გასული"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr "Voice"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr "HalfOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr "ოპერატორი"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr "მფლობელი"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr "ადმინი"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "ახალი მე&გობრის შექმნა"
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "ასოციაციის ა&რჩევა..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&არხთან შეერთება"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "ხმის ფაილის ამორჩევა"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** ჟურნალის ფაილი დაიწყო\n"
+"*** %1-ზე\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "მოწვევისას არხზე ავრომატურად შეერთება"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"გაითვალისწინეთ რომ, ჟურნალის ფაილი შენახვა, მთელი ფაილის სენახვას გამოიწვევს"
+
+#: src/warnings_preferences.cpp:107
+#, fuzzy
+msgid "Ask before deleting logfile contents"
+msgstr "ჟურნალის ფაილის შიგთავსის წაშლის შემდეგ კითხვა"
+
+#: src/warnings_preferences.cpp:108
+#, fuzzy
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "მეტსახელის იგნორირების და გამოკითხვის დახურვის შემდეგ კითხვა"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "<qt>სათვალყურო მეტსახელი, როდესაც უკავშირდებით ქსელში სერვერს.</qt>"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "<qt>სათვალყურო მეტსახელი, როდესაც უკავშირდებით ქსელში სერვერს.</qt>"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "სერვერის ჩანართის დახურვა"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "არხის ჩანართის დახურვა"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "გამოკითხვის ჩანართის დახურვა"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "არხთა სია მხოლოდ სერვერის ჩანართებიდან იხსნება"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "გაფრთხილება ფანჯრის მთავარი მენიუს დამალვისას"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "გაფრთხილება არხთა სიის მაღალ ტრაფიკზე"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "გაფრთხილება ტექსტის დიდი პორციების გაგზავნისას"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "გაფრთხილება ტექსტის დიდი პორციების გაგზავნისას"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "არხთა სია"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "ფილტრის პარამეტრები"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "მ&ინიმუმ მომხმარებლები:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "მ&აქსიმუმ მომხმარებლები:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"თქვენ შეგიძლიათ შეზღუდოთ არხზე მომხმარებელთა მინიმალური რაოდენობა. ამ "
+"კრიტერიუმის გამოსართველად, აირჩიეთ 0."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"თქვენ შეგიძლიათ შეზღუდოთ არხზე მომხმარებელთა მაქსიმალური რაოდენობა. ამ "
+"კრიტერიუმის გამოსართველად, აირჩიეთ 0."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "ფილტრის შა&ბლონი:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "ფილტრის მიზანი:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "შეიყვანეთ აქ ფილტრის სტრიქონი."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "&რეგულარული გამოსახულება"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "ფილტრის გა&აქტიურება"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "არხთა სიის მისაღებად და ფილტრის გასააქტიურებლად აქ დააწკაპუნეთ."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"აქ ასახულია არხთა გაფილტრული სია. გაითვალისწინეთ, თუ არ იყენებთ რეგულარულ "
+"გამოსახულებებს, Konversation ასახავს ყველა არხს, რომელიც შეიცავს მითითებული "
+"ფილტრის სტრიქონს. არხის სახელი შეიძლება არ იწყებოდეს შეყვანილი სტრიქონით.\n"
+"\n"
+"წკაპით აირჩიეთ არხი, რომელთან შეერთებაც გსურთ. არხზე მარჯვენა წკაპით კი მიიღებთ "
+"არხის თემაში ნახსენებ ყველა ვებ მისამართს."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "არხის სახელი"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "არხის თემა"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "სიის გა&ნახლება"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "სიის შენა&ხვა..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&არხთან შეერთება"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "დააწკაპუნეთ არხთან შესაერთებლად. არხისთვის ახალი ჩანართი შეიქმნება."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "არხთა სიის შენახვა"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation-ის არხთა სია: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "არხები: %1 (%2 ნაჩვენები)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "არაუნიკალური მომხმარებლები: %1 (%2 ნაჩვენები)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL-ს გახსნა"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<No URL found>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1სთვის არხთა სია"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "ხაზზე"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის წამიერი შეტყობინებისთვის გამოყენება, "
+"მაგრამ არ დააზუსტა, თუ ვისთვის უნდა გაეგზავნა შეტყობინება. ეს ალბათ სხვა "
+"პროგრამის ბზიკია."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის წამიერი შეტყობინებისთვის გამოყენება, "
+"მაგრამ Konversation-მა მითითებული მეგობარი KDE-ს მისამართთა წიგნში ვერ მოძებნა."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის წამიერი შეტყობინებისთვის გამოყენება, "
+"მაგრამ მოთხოვნილი მომხმარებელი %1 ნახხე არაა."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის ფაილის გასაგზავნად გამოყენება, "
+"მაგრამ არ დააზუსტა, თუ ვისთვის უნდა გაეგზავნა შეტყობინება. ეს ალბათ სხვა "
+"პროგრამის ბზიკია."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის ფაილის გასაგზავნად გამოყენება, "
+"მაგრამ Konversation-მა მითითებული მეგობარი KDE-ს მისამართთა წიგნში ვერ მოძებნა."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის ფაილის გასაგზავნად გამოყენება, "
+"მაგრამ მოთხოვნილი მომხმარებელი %1 ნახხე არაა."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"KDE-ს სხვა პროგრამამ სცადა Konversation-ის მეგობრის დასამატებლად გამოყენება. "
+"Konversation-ს არ აქვს ამის მხარდაჭერა."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"თქვენი მისამართთა წიგნის პროგრამის გაშვება ვერ განხორციელდა (kaddressbook). ეს "
+"ალბათ იმიტომ მოხდა, რომ იგი არაა დაყენებული. გთხოვთ დააყენოთ 'kdepim' "
+"პაკეტები."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "არჩეულ მეგობარს არ აქვს ასოცირებული ელფოსტის მისამართი. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "ელფოსტის გაგზავნა შეუძლებელია"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"თქვენი ელფოსტის პროგრამის გაშვება ვერ განხორციელდა. ეს ალბათ იმიტომ მოხდა, რომ "
+"იგი არაა დაყენებული. KDE-ს ელფოსტის პროგრამის დასაყენებლად, გთხოვთ 'kdepim' "
+"პაკეტები დააყენოთ."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"არცერთ არჩეულ მეგობარს არ აქვს ასოცირება მისამართთა წიგნის ჩანაწერებთან. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "არჩეულ მეგობარს არ აქვს ასოცირება მისამართთა წიგნის ჩანაწერებთან. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"ზოგიერთ არჩეულ მეგობარს (%1) არ აქვს ასოცირება მისამართთა წიგნის ჩანაწერებთან. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"ერთერთ არჩეულ მეგობარს (%1) არ აქვს ასოცირება მისამართთა წიგნის ჩანაწერებთან. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"თქვენ შეგიძლიათ მარჯვენა წკაპით დაარედაქტიროთ მეგობრის ბმული მისამართთა წიგნში "
+"და დააკავშიროთ იგი ჩანაწერთან."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"თქვენს მიერ არჩეულ არცერთ მეგობარს არ აქვთ ასოცირებული ელფოსტის მისამართი. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"თქვენს მიერ არჩეულ ზოგიერთ მეგობარს (%1) არ აქვთ ასოცირებული ელფოსტის "
+"მისამართი. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"თქვენს მიერ არჩეულ ერთერთ მეგობარს (%1) არ აქვთ ასოცირებული ელფოსტის მისამართი. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"თქვენ მარჯვენა წკაპუთ შეგიძლიათ მეგობრის მისამართთა წიგნის ჩანაწერი ჩაასწოროთ "
+"და დაამატოთ ელფოსტა."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"ზოგიერთ არჩეულ მეგობარს (%1) არ აქვს ასოცირება მისამართთა წიგნის ჩანაწერებთან, "
+"და ზოგიერთ მეგობარს (%2) არ აქვთ ასოცირებული ელფოსტის მისამართი. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"თქვენ შეგიძლიათ დააწკაპუნოთ მეგობარზე და აირჩიეთ მისამართთა წიგნთან ასოცირების "
+"რედაქტირება, რათა დაარედაქტიროთ მისამართთა წიგნის ჩანაწერი და დაამატოთ ელფოსტის "
+"მისამართი."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"მაინც გსურთ იმ მეტსახელებთან ფოსტის გაგზავნა, ვისაც მითითებული აქვთ ელფოსტის "
+"მისამართი?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "ელფოსტის გაგზავნა"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC მეტსახელია მისამართთა წიგნის ჩანაწერთან მობმა"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "არირჩიეთ '%1' პიროვნება"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "ახლა '%1'-ს მეგობართან არის ასოცირებული."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "ახლა '%1'-ს '%2' მეგობართან არის ასოცირებული."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>გაფრთხილება:</b> '%1' ჩამოთვლილია, როგორც რამოდენიმე მეგობრის "
+"კუთვნილება. გთხოვთ აირჩიოთ სწორი მეგობარი.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "მისამართთა წიგნის ახალი ჩანაწერი"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "ახალი ჩანაწერის სახელი:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL-ს დამჭერი"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "სესიის განმავლობაში ნახსენები ყველა რესურსის სია."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL-ს &გახსნა"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>ამოირჩიეთ <b>URL</b> ზემოთ, შემდეგ დააწკაპუნეთ ან ღილაკს URL-ს მიმეტიპთან "
+"ასოცირებული პროგრამის გასაშვებად.</p>"
+"<p><b>პარამეტრებში</b>, <b>ქცევა</b>|<b>საერთოში</b> "
+"შეგიძლიათ მიუთითოთ რჩეული ბრაუზერი.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL-ს &ასლი"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "ამოირჩიეთ ზემოთ <b>URL</b> შემდეგ URL ასლისთვის დააწკაპუნეთ ამ ღილაკს."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL-ს &წაშლა"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"ამოირჩიეთ ზემოთ <b>URL</b> შემდეგ URL-ს სიიდან წასაშლელად დააწკაპუნეთ ამ "
+"ღილაკს."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "სიის შენა&ხვა..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "სიის ფაილში შესანახად დააწკაპუნეთ."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "სიაის გა&წმენდა"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "ჩანაწერთა სიის წასაშლელად დააწკაპუნეთ."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL სიის შენახვა"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "მრავალხაზიანი ხცასმის რედაქტირება"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "&ციტირების ინდიკატორის დამატება"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&არხი:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "არხის სახელია საჭირო."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "ნედლი ჟურნალი"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "მიმდინარე ჩანართის შიგთავსის წაშლა"
+
+#: src/viewcontainer.cpp:545
+#, fuzzy, c-format
+msgid "Channel &List for %1"
+msgstr "%1სთვის არხთა სია"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1-თვის ჟურნალის ფაილის &გახსნა"
+
+#: src/viewcontainer.cpp:576
+#, fuzzy
+msgid "&Channel Settings for %1..."
+msgstr "%1-სთვის არხის პარამეტრები"
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "ნაგულისხმები ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "თქვენ მხოლოდ ტექსტურ ველში შეგიძლიათ ძიება."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "ტექსტური ინფორმაციის ძიება"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1-ს ჟურნალის ფაილი"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC სტატუსი"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"ამ ფუნქციის გამოყენებამ შეიძლება გაზარდოს შემომავალი ტრაფიკი. თუ თქვენი კავშირი "
+"არაა საკმარისად ჩქარი, შესაძლოა თქვენი კლიენტის კავშირი გაწყვიტოს სერვერმა."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "არხთა სიის გაფრთხილება"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"არხთა სიის გახსნა მხოლოდ გამოკითხვიდან შეიძლება, არხის ან მდგომარეობის "
+"ფანჯრის,იმის გასარკვევათ თუ რომელ სერვერს ეკუთვნის ეს სია."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"აქ ქსელის სახელი შეიყვანეთ. თქვენ სერვერთა სიის ფანჯარაში იმდენი ერთიდაიგივე "
+"ქსელის შექმნა შეგიძლიათ, რამდენიც გაგიხარდებათ."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"აირჩიეთ არსებული იდენტიფიკაცია ან დააწკაპუნეთ ახალი იდენტიფიკაციის დასამატებლად "
+"ან არსებულის დასარედაქტირებლად. იდენტიფიკაცია დაკავშირებისას განსაზღვრავს "
+"თქვენს მეტსახელს."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"არააუცილებელი. ეს ბრძანება გაიგზავნება სერვერზე დაკავშირების შემდეგ. მაგალითად: "
+"<b>/msg NickServ IDENTIFY <i>konvirocks</i></b>. ეს მაგალითი არის "
+"თავისუფალკვანძიანი სერვერისთვის, რომელიც მოითხოვს მომხმარებლებისგან "
+"რეგისტრაციას და პაროლით შესვლას. <i>konvirocks<i> არის იდენტიფიკაციაში მოცემული "
+"მეტსახელის პაროლი. თქვენ რამოდენიმე ბრძანების შეყვანა შეგიძლიათ და მათი "
+"მძიმეებით გაყოფა."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"მონიშნეთ ეს თუ გსურთ რომ Konversation გაშვებისას ავტომატურად დაუკავშირდეს ამ "
+"ქსელს."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"ეს არის ქსელში IRC სერვერების სია. როდესაც ქსელს უკავშირდებით, Konversation "
+"ეცდება ჯერ ზედა სერვერს დაუკავშირდეს. თუ ეს არ გამოვა, იგი მეორე სერვერს ცდის. "
+"თუ ეს არ გამოვა იგი მესამე სერვერს ცდის და ა.შ.ერთი სერვერი მაინც უნდა იყოს "
+"მითითებული. სერვერის მოსანიშნად დააწკაპუნეთ მას."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"არასავალდებულო. ეს არის არხთა სია, რომელსაც ავტომატურად შეუერთდებით, როდესაც "
+"Konversation დაუკავშირდება სერვერს. თქვენ შეგიძლიათ ეს ცარიელი დატოვოთ თუ არ "
+"გსურთ ავტომატურად შეუერთდეთ არხებს."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "ქსელის ინფორმაციის შეცვლა"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "სერვერის დამატება"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "სერვერის რედაქტორება"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "არხის დამატება"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "არხის რედაქტორება"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "ქსელის სახელია საჭირო."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "თქვენ ქსელს ერთი სერვერი მაინც უნდა დაამატოთ."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation გაფორმებები"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "გაფორმების თემის ამორჩევა"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "გაფორმების ჩამოტვირთვა ვერ განხორციელდა"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "გაფორმების არქივი გაუმართავია."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "გაფორმების დაყენება ვერ განხორციელდა"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "გსურთ თუ არა %1ს წაშლა?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "თემის წაშლა"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC კლიენტი"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "მიმღების ამორჩევა"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "მეტსახელის ამორჩევა და ფანჯრის დახურვა"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "ფანჯრის ცვლილებების გარეშე დახურვა"
+
+#: src/konvdcop.cpp:156
+#, fuzzy
+msgid "getNickname: Server %1 is not found."
+msgstr "%1 სერვერი ვერ მოიძებნა. %2"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "ადმინმა აკრძალა ფაილების მიღება"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "მხარდაუჭერელი პირობა (ფაილის ზომა = 0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>საქაღალდის შექმნა შეუძლებელია.</b><br>საქაღალდე: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "KIO -ს შექმნა ვერ განხორციელდა"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>ფაილი უკვე არსებობს.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>ფაილი ნაწილობრივ არსებობს.</b>"
+"<br>%1"
+"<br>ფაილის ნაწილის ზომა: %2 ბაიტი"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>ფაილი უკვე არსებობს.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>ფაილის გახსნა ვერ განხორციელდა.<br>შეცდომა: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "დაკავშირებისთვის პაროლი"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "დაშორებული ჰოსტის თანხმობის მოლოდინი"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "დაშორებული ჰოსტისგან მოულოდნელი პასუხი"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "გადაცემის შეცდომა"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO შეცდომა: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>მოსაუბრე პირის ზოგიერთი ცნობები ნაჩვენებია ამ ზოლში. სრული სახელი და "
+"ქსელის ნიღაბია ნაჩვენები, ასევე მათან აოცირებული სურათი KDE მისამართთა "
+"წიგნიდან."
+"<p>იხილეთ <i>Konversation-ის სახელმძღვანელო</i> მეტი ცნობებისთვის, მეგობრის "
+"მისამართთა წიგნის ჩანაწერთან ასოცირების შესახებ და ჰოსტის ნიღბის "
+"განმარტებისთვის.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(გასვლა)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "გსურთ თუ არა %1ს იგნორირება?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "გსურთ თუ არა მეტსახელის იგნორირების შემდეგ გამოკითხვის დახურვა?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "ამ გამოკითხვის დახურვა"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "გახსნილად დატოვება"
+
+#: src/channel.cpp:638 src/query.cpp:408
+#, fuzzy
+msgid "Do you want to stop ignoring %1?"
+msgstr "გსურთ თუ არა %1ს იგნორირება?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "იდენტიფიკაცია ნაგულისხმევი ( %1 )"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Do you want to close your query with %1?"
+msgstr "გსურთ თქვენი გამოკითხვის %1სთან დახურვა?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "გამოკითხვის დახურვა"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "საკუთარ თავთან საუბარი"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+#, fuzzy
+msgid "%1 has left this server."
+msgstr "%1მა დატოვა ეს სერვერი %2."
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1მა დატოვა ეს სერვერი %2."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD წინასწარ ნახვა - რეპოზიციისკენ გადათრევა"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "ოპერატორი"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "ადმინი"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "მფლობელი"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "ნახევრად-ოპერატორი"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "აქვს ხმა"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+#, fuzzy
+msgid "Interface"
+msgstr "DCOP ინტერფეისი"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "ქცევა"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "შეტყობინებები"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "სასაუბრო ფანჯარა"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "ფერები"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "სწრაფი ღილაკები"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "კავშირი"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "მეტსახელთა სია"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "ბრძანების ფსევდონიმი"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+#, fuzzy
+msgid "Auto Replace"
+msgstr "ჩანაცვლება"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "ჟურნალირება"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "მარკირებული"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "სათვალყურო მეტსახელები"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "ეკრანზე ჩვენება"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "გაფრთხილების დიალოგები"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC კითხვის მიღება"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&გაგრძელება"
+
+#: src/dccresumedialog.cpp:87
+#, fuzzy
+msgid "O&riginal Filename"
+msgstr "შეიყვანეთ ფაილის სახელი"
+
+#: src/dccresumedialog.cpp:88
+#, fuzzy
+msgid "Suggest &New Filename"
+msgstr "&ახალი სახელის შეთავაზება"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&გადაწერა"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "&სახელის გადარქმევა"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr ""
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "რეგისტრისადმი მგძნობიარე"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "მხოლოდ მთელი სიტყვები"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "კურსორიდან"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "ჩანართის &დახურვა"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "გსურთ თუ არა '%1'-სთან კავშირის გაწყვეტა?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "სერვერთან კავშირის გაწყვეტა"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "კავშირის გაწყვეტა"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "სტატუსი"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "პარტნიორი"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "პროგრესი"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "პოზიცია"
+
+#: src/dcctransferpanel.cpp:84
+#, fuzzy
+msgid "Remaining"
+msgstr "დარჩენილია"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "სიჩქარე"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "გამგზავნის მისამართი"
+
+#: src/dcctransferpanel.cpp:115
+#, fuzzy
+msgid "Accept"
+msgstr "&დათანხმება"
+
+#: src/dcctransferpanel.cpp:116
+#, fuzzy
+msgid "Abort"
+msgstr "შე&წყვეტა"
+
+#: src/dcctransferpanel.cpp:118
+#, fuzzy
+msgid "Open File"
+msgstr "ფაილის &გახსნა"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "მიღების დაწყება"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "გადაცემ(ებ)ის შეწყვეტა"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "ფაილის გაშვება"
+
+#: src/dcctransferpanel.cpp:125
+#, fuzzy
+msgid "View DCC transfer details"
+msgstr "DCC დეტალური ინფორმაციის ხილვა"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "ყველა ელემენტების ა&მორჩევა"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "ყველა დასრულებული ელემენტების ამ&ორჩევა"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&დათანხმება"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "შე&წყვეტა"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&გაგრძელება"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "გა&წმენდა"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "ფაილის &გახსნა"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "ფაილის &ინფორმაცია"
+
+#: src/channel.cpp:128
+#, fuzzy
+msgid "Edit Channel Settings"
+msgstr "ს&ხვა პარამეტრები"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>IRC-ზე ყველა არხს აქვს თემა. ეს არის მარტივი შეტყობინება, რომლის ნახვაც "
+"ყველას შეუძლია."
+"<p>თუ თქვენ არხის ოპერატორი ხართ და <em>'T'</em> რეჟიმი არაა ჩართული, მაშინ, "
+"შეგიძლიათ შეცვალოთ თემა არხის თვისებების რედაქტირებაის ღილაკზე დაწკაპუნებით, "
+"თემიდან მარცხნივ. აქ ასევე თემების ისტორიის ნახვაც შეგიძლიათ.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>ეს მართავს არხის <em>რეჟიმს</em>. მხოლოდ ოპერატორს შეუძლია მისი შეცვლა."
+"<p><b>T</b> რეჟიმი ნიშნავს რომ მხოლოდ არხის ოპერატორს შეუძლია თემის შეცვლა.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, fuzzy, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr "<qt><em></em> მხოლოდ<p><b> N</b> ყველა -სკენ</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt><em></em> მხოლოდ"
+"<p> A<b> S</b> სია ნებისმიერი -სკენ<em></em> ან ნებისმიერი მხოლოდ</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr "<qt><em></em> მხოლოდ<p> A<b> M</b> 1 და</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr "<qt><em></em> მხოლოდ<p> A<b></b> -სკენ -სკენ</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr "<qt><em></em> მხოლოდ<p> A<b> L</b> ნებისმიერი 1 და ჩართულია</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "არხზე დაშვებული მომხმარებლების მაქსიმალური რაოდენობა"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>ეს არის არხზე მომხმარებელთა შეზღუდვა - მომხმარებელთა მაქს. რაოდენობა, "
+"რომლებიც არხზე შეიძლება იყვნენ. თუ თქვენ ოპერატორი ხართ, მაშინ ამის დაყენება "
+"შეგიძლიათ. <b> T</b> -სკენ</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "გსურთ თუ არა არჩეული მომხმარებლის იგნორირება?"
+
+#: src/channel.cpp:640
+#, fuzzy
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "გსურთ თუ არა არჩეული მომხმარებლის იგნორირება?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "დასრულება"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "შესაძლო დასასრულები: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "არხის პაროლი"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "მეტსახელთა შეზღუდვა"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "შეიყვანეთ ახალი მეტსახელთა შეზღუდვა"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "თქვენ ახლა ცნობილი ხართ როგორც %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 ახლა ცნობილია როგორც %2."
+
+#: src/channel.cpp:1269
+#, fuzzy
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "თქვენ შეუერთდით %1 (%2) არხს."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1308
+#, fuzzy
+msgid "You have left this server."
+msgstr "თქვენ დატოვეთ %1 სერვერი."
+
+#: src/channel.cpp:1310
+#, fuzzy
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "თქვენ დატოვეთ %1 სერვერი."
+
+#: src/channel.cpp:1315
+#, fuzzy, c-format
+msgid "You have left channel %1."
+msgstr "თქვენ დატოვეთ არხი %1%2."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+#, fuzzy
+msgid "%1 has left this channel."
+msgstr "%1მა დატოვა არხი%2."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1378
+#, fuzzy, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "თქვენ საკუთარი თავი გააპანღურეთ %1 არხიდან (%2)."
+
+#: src/channel.cpp:1381
+#, fuzzy
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "თქვენ საკუთარი თავი გააპანღურეთ %1 არხიდან (%2)."
+
+#: src/channel.cpp:1388
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "თქვენ %2მ გაგაპანღურათ %1 არხიდან (%3)."
+
+#: src/channel.cpp:1394
+#, fuzzy
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "თქვენ %2მ გაგაპანღურათ %1 არხიდან (%3)."
+
+#: src/channel.cpp:1415
+#, fuzzy
+msgid "You have kicked %1 from the channel."
+msgstr "თქვენ გაგაპანღურეს %1 არხიდან (%2)."
+
+#: src/channel.cpp:1418
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "თქვენ გაგაპანღურეს %1 არხიდან (%2)."
+
+#: src/channel.cpp:1425
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 არხიდან %2 (%3)მ გააპანღურა."
+
+#: src/channel.cpp:1431
+#, fuzzy
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 არხიდან %2 (%3)მ გააპანღურა."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "არხის თემაა \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "თქვენ არხის თემად \"%1\" დააყენეთ."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1მა არხის თემად \"%2\" დააყენა."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "თქვენ საკუთარ თავს მიანიჭეთ არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "თქვენ არხის პატრონობის პრივილეგია %1-ს მიანიჭეთ."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 -მა მოგცათ არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 -მა %2-ს მისცა არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "თქვენ საკუთარ თავს ჩამოართვით არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "თქვენ %1-ს ჩამოართვით არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "თქვენ %1მა ჩამოგართვათ არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1მა %2-ს ჩამოართვა არხის პატრონობის პრივილეგია."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "თქვენ საკუთარ თავს მიანიჭეთ არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "თქვენ %1-ს მიანიჭეთ არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1მა მოგანიჭათ არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1მა არხის ადმინის პრივილეგია %2-ს მიანიჭა."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "თქვენ საკუთარ თავს ჩამოართვით არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "თქვენ %1-ს ჩამოართვით არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "თქვენ %1მა ჩამოგართვათ არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1მა %2-ს ჩამოართვა არხის ადმინის პრივილეგია."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "თქვენ საკუთარ თავს მიანიჭეთ არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "თქვენ %1-ს მიანიჭეთ არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1მა მოგანიჭათ არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1მა არხის ოპერატორის პრივილეგია %2-ს მიანიჭა."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "თქვენ საკუთარ თავს ჩამოართვით არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "თქვენ %1-ს ჩამოართვით არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "თქვენ %1მა ჩამოგართვათ არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1მა %2-ს ჩამოართვა არხის ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "თქვენ საკუთარ თავს მიანიჭეთ არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "თქვენ %1-ს მიანიჭეთ არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1მა მოგანიჭათ არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1მა არხის ნახევრად-ოპერატორის პრივილეგია %2-ს მიანიჭა."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "თქვენ საკუთარ თავს ჩამოართვით არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "თქვენ %1-ს ჩამოართვით არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "თქვენ %1მა ჩამოგართვათ არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1მა %2-ს ჩამოართვა არხის ნახევრად-ოპერატორის პრივილეგია."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "თქვენ საკუთარ თავს მიეცით საუბრის უფლება."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "თქვენ %1-ს მიეცით საუბრის უფლება."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1მა საუბრის უფლება მოგცათ."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1მა %2-ს საუბრის უფლება მისცა."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "თქვენ საკუთარ თავს ჩამოართვით საუბრის უფლება."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "თქვენ %1-ს ჩამოართვით საუბრის უფლება."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "თქვენ %1მა ჩამოგართვათ საუბრის უფლება."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1მა %2-ს ჩამოართვა საუბრის უფლება."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "თქვენ არხზე 'ფერების აკრძალვის' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1მა არხზე 'ფერების აკრძალვის' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "თქვენ არხზე 'ფერების კოდეკების დაშვების' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1მა არხზე 'ფერების კოდეკების დაშვების' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "თქვენ არხზე 'მხოლოდ მოწვევის' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1მა არხზე 'მხოლოდ მოწვევის' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "თქვენ არხზე 'მხოლოდ მოწვევის' რეჟიმი მოხსენით."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1მა არხზე 'მხოლოდ მოწვევის' რეჟიმი მოხსნა."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "თქვენ არხზე 'მოდერირებადის' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1მა არხზე 'მოდერირებადის' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "თქვენ არხზე 'არამოდერირებადის' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1მა არხზე 'არამოდერირებადის' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "თქვენ არხზე 'გარედან შეტყობინებების აკრძალვის' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1მა არხზე 'გარედან შეტყობინებების აკრძალვის' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "თქვენ არხზე 'გარედან შეტყობინებების მიღების' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1მა არხზე 'გარედან შეტყობინებების მიღების' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "თქვენ არხზე 'პირადი' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1მა არხზე 'პირადი' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "თქვენ არხზე 'საჯარო' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1მა არხზე 'საჯარო' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "თქვენ არხზე 'საიდუმლო' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1მა არხზე 'საიდუმლო' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "თქვენ არხზე 'ხილული' რეჟიმი დააყენეთ."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1მა არხზე 'ხილული' რეჟიმი დააყენა."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "თქვენ გადართეთ 'თემის დაცვაზე'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1მა გადართო 'თემის დაცვაზე'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "თქვენ გამორთეთ 'თემის დაცვა'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1მა გამორთო 'თემის დაცვა'."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "თქვენ არხის თემად \"%1\" დააყენეთ."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1მა არხის თემად \"%2\" დააყენა."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "თქვენ არხის შეზღუდვა მოხსებით."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1მა არხის შეზღუდვა მოხსნა."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "თქვენ არხის შეზღუდვა %1 მეტსახელზე დააყენეთ."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1მა არხის შეზღუდვა %2 მეტსახელზე დააყენა."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "თქვენ არხის შეზღუდვა მოხსებით."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1მა არხის შეზღუდვა მოხსნა."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "თქვენ %1 დაბანეთ."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1მა %2 დაბანა."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "თქვენ %1-ს ბანი მოხსენით."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1მა %2-ს ბანი მოხსნა."
+
+#: src/channel.cpp:1949
+#, fuzzy, c-format
+msgid "You set a ban exception on %1."
+msgstr "თქვენ ჩართულია."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1954
+#, fuzzy, c-format
+msgid "You remove the ban exception on %1."
+msgstr "თქვენ ჩართულია."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1962
+#, fuzzy, c-format
+msgid "You set invitation mask %1."
+msgstr "თქვენ."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1967
+#, fuzzy, c-format
+msgid "You remove the invitation mask %1."
+msgstr "თქვენ."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1974
+#, fuzzy, c-format
+msgid "You set channel mode +%1"
+msgstr "თქვენ 1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr ""
+
+#: src/channel.cpp:1979
+#, fuzzy, c-format
+msgid "You set channel mode -%1"
+msgstr "თქვენ 1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1-მა არხის რეჟიმი -%2-ზე გადართო"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "თქვენ ოპერატორი უნდა იყოთ ამის შესაცვლელად."
+
+#: src/channel.cpp:2396
+#, fuzzy, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "თემა 1"
+
+#: src/channel.cpp:2397
+#, fuzzy, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "არა -სკენ ჩართულია 1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "საიდუმლო არხი. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "მხოლოდ მოწვეულთა არხი. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "პირადი არხი. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "მოდერირებადი არხი. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "არხის პაროლით დაცვა"
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "აყენებს არხზე მომხმარებეთა შეზღუდვას."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "გსურთ %1-ს დატოვება?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "არხის დატოვება"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "დატოვება"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "რუსუდან ცისკრელი"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "tsiskreli@gmail.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "რიგში"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "სტროფები"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "ბაიტები"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&ხმა:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "სტროფები"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "ბაიტები"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "ჩვეულებრივი მომხმარებლები"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "რიგში"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "რიგში"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "ადრესატი:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "ღილაკის სახელი"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "ღილაკის მოქმედება"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, fuzzy, no-c-format
+msgid "Button action:"
+msgstr "ღილაკის მოქმედება:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "ღილაკის სახელი:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr "თქვენ მიმდინარე არხი სერვერი სია<term> ვადა -სკენ გაგზავნა -სკენ"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "ფაილი:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, fuzzy, no-c-format
+msgid "Self:"
+msgstr "მხოლოდ"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "ტიპი"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "მდგომარეობა:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "მო&ქმედება:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "პროგრესი:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "პარტნიორი"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "ფაილის &გახსნა"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "ფაილი:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&გაგრძელება"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "მიმდინარე"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "პოზიცია:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "შენახვა:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "გადაცემის შეცდომა"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "ავტომატური თავიდან დაკავშირების ჩართვა"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "თავიდან დაკავშირება დაყოვნების დრო:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "თავიდან დაკავშირებათა მცდელობები:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr "წამები"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "შეუზღუდავი"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "განბზიკვა"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "ჩვენება დაკავშირება"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "შაბლონი"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "ტიპი"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "შაბლონი:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "შეტყობინების ტიპები"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&ახალი"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&ყველას წაშლა"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "&ქსელის სახელი:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "&იდენტიფიკაცია"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "ბ&რძანებები:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "&პროგრამის გაშვებისას დაკავშირება"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "სერვერები"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "დამატება..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "რედაქტირება..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "არხებზე ავტო შეერთება"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "რედაქტირება..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, fuzzy, no-c-format
+msgid "Alias:"
+msgstr "ფსევდონიმი"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, fuzzy, no-c-format
+msgid "Replacement:"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "ფსევდონიმი"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "&შემდეგის პოვნა"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "წინას პოვნა"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "ორმაგი წკაპისას შესასრულებელი &ბრძანება:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "რეგისტრისადმე &არამგძნობიარედ დახარისხება"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "&გამოკითხვის აქტივობები"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "მომხმარებლის მდფგომარეობით დახარისხება"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "განმარტება"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(მეტსახელთა დახარისხების განახლება გადათრევა და ჩაგდებით)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "გაფორმების და&ყენება..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "გაფორმების &წაშლა"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "ხატულა ნორმალური მომხმარებლისთვის"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "ხატულა გასული მომხმარებლებისთვის"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "ხატულა ხმიანი მომხმარებლებისთვის"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "ხატულა მომხმარებლებისთვის ნახევრად ოპერატორის პრივილეგიებით"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "ხატულა მომხმარებლებისთვის ოპერატორის პრივილეგიებით"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "ხატულა მომხმარებლებისთვის ადმინის პრივილეგიით"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "ხატულა მომხმარებლებისთვის პატრონის პრივილეგიით"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "ესკიზი:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "შეხედვა"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, fuzzy, no-c-format
+msgid "Placement:"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, fuzzy, no-c-format
+msgid "Show &close button on tabs"
+msgstr "ჩანართებზე დახურვის ღ&ილაკის ჩვენება"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, fuzzy, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "ჩანართებზე დახურვის ღ&ილაკის ჩვენება"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, fuzzy, no-c-format
+msgid "Focus"
+msgstr "კურსორიდან"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "რეჟიმი"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "ბრძანება double:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p> double<b> ხაზზე</b><b> შეყვანა ხაზი</b> ჩართულია</p>\n"
+"<p></p>"
+"<ul>\n"
+"<li> double</li>\n"
+"<li> სერვერი</li>\n"
+"<li> გაგზავნა -სკენ</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p> double<b> ხაზზე</b>\n"
+"<b> შეყვანა ხაზი</b> ჩართულია</p>\n"
+"<p></p>"
+"<ul>\n"
+"<li> double</li>\n"
+"<li> სერვერი</li>\n"
+"<li> გაგზავნა -სკენ</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "განახლების ინტერვალი:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "Konversation."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "ჩვენება ხაზზე ჩართულია"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr "<qt><b> ხაზზე</b> Konversation</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "ჩართვა"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p> ჩართულია<b></b> სია ხაზზე ან ხაზიდან გასვლა</p>\n"
+"<p> თქვენ<b> ხაზზე</b> -სკენ ყველა</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "ქსელი:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "-სკენ ჩართულია."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "-სკენ"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "სათვალყურო ქსელები/მეტსახელები"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p> ჩართულია<b></b> სია ხაზზე ან ხაზიდან გასვლა</p>\n"
+"<p> თქვენ<b> ხაზზე</b> -სკენ ყველა</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "წკაპი -სკენ -სკენ სია."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "წკაპი -სკენ სია."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "ჟურნალირების ჩ&ართვა"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "ჩართვა"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "-სკენ"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "ჟურნალის ფაილის &გეზი:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "სისტემური პანელის ჩართვა"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "გამოყენება -თვის"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "მეტსახელის დასრულება"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "დასრულება:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "NickList-ის ციკლირება"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "გარსის მაგვარი"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "დასრულება"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "ხაზის დაწყების სუფი&ქსი:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "ნებისმიერ &ადგილას:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "რეგისტრისადმი მგძნობიარე"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "გამორთე გასვლა"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "გამოყენება:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr "<qt> -თვის<b> CTCP<i></i></b></qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "ბრძანება char:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, fuzzy, no-c-format
+msgid "Use custom web &browser:"
+msgstr "გამოყენება ვები:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "ჩართვა ყველა IRC -სკენ"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "სისტემურ პანელზე დამაგრება"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "ჩვენება -სკენ"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "პროგრამის გაშვებისას სათვალყურო მეტსახელთა ჩანართის გახსნა"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "ემოციების ჩართვა"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "ემოციათა თემა"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "თე&მა"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "თარიღი"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "რეჟ&იმები"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "თემა"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "არა"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "სია"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "მხოლოდ -სკენ"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr "<qt><em></em> მხოლოდ<p><b></b> -ში -სკენ<em></em></qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "-სკენ"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "არხის პაროლი"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "მომხმარებელთა შე&ზღუდვა:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "&დეტალური რეჟიმები >> ჩვენება"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "პარამეტრი"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "&ძებნა:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_პარამეტრები"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "ჩამოტვირთვის &საქაღალდე:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "გამგზავნის ფაილის სახელისთვის &დამატება"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "შექმნა -თვის"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, fuzzy, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "ავრომატურად"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "ავრომატურად"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "ჩართვა DCC ყველა"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "ბუფერის &ზომა:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC გაგზავნის &დაყოვნების დრო:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, fuzzy, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "-სკენ -თვის:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "ჩართული -თვის შესრულებული"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr "ბაიტები"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr "წმ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "ჩართვა -თვის DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "-სკენ IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&საკუთარი IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, fuzzy, no-c-format
+msgid "Ports"
+msgstr "პორტი"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "ჩართვა -თვის DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "-სკენ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "ჩართვა -თვის DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "გამოყენება ტექსტი"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "გამოყენება"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "შეტყობინება"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "სერვერი:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "მიმდინარე"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "არხი"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "არხი ან."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "-სკენ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr "მარკირებები -თვის მიმდინარე და მარკირებული."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "ჩართვა -თვის MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "ჩვენება MOTD შეტყობინება დღე"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, fuzzy, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "საუბრის ხედში გამგზავნის მეტსახელის გა&მუქება"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "ჩატი ტექსტი:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "მეტსახელთა სია:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, fuzzy, no-c-format
+msgid "Tab bar:"
+msgstr "ჩანართთა ზოლი"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "&მარკირებული სია"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "მარკირებები"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "ხმა"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "ავტომატური ტექსტი"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&ნიმუში:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "ფერები"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&ხმა:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "x x x"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, fuzzy, no-c-format
+msgid "Test sound"
+msgstr "მოსაძებნი ტექსტი:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&ავტო ტექსტი:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "ჩართვა -თვის სია"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "ყოველთვის:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "ყოველთვის:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "ახალი ჩან&აწერის შექმნა."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "მისამართთა წიგნში ახალი ჩანაწერის შექმნა"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "ფოტო"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "სახელი"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"აირჩიეთ მეგობარი, ვისთანაც გსურთ წამიერი შეტყობინების მეშვეოით დაკავშირება"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&ძებნა:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "ჩართვა ჩართულია ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "ხმები ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "დამალვა ჩართვა Part მეტსახელი"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "გამორთე g C B"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr "ტექსტი -სკენ A -თვის მაგალითი B -სკენ -სკენ ტექსტი."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, fuzzy, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "ყველა -სკენ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "გამოყენება -თვის"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr "დატოვება E g არხი არა არხი"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr "სტროფები"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "სერვერი"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "ჩვენება ყველა და"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "ჩართვა ავტომატური მომხმარებელი შეხედვა ზემოთ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "მაქსიმალური:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " მეტსახელები"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "განახლების ინტერვალი:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "ეკრანზე ასახვის ჩა&რთვა"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "ეკრანი ჩვენება"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "ჩრდილების &დახატვა"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD შრიფტი:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&OSD შეტყობინების ჩვენება"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&თუ საკუთარი მეტსახელი აისახება არხის შეტყობინებებში"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "&ნებისმიერი არხის შეტყობინებაზე"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "&გამოკითხვის აქტივობები"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "ჩართვა Part"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "სხვა ფერების ჩართვა"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "ტე&ქსტის ფერი:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&ფონის ფერი:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "ს&ხვა პარამეტრები"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&ხანგრძლიობა:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&ეკრანი:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr "მწმ"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&ფანჯარა"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "ახალი"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "წაშლილი"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, fuzzy, no-c-format
+msgid "Replace In"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, fuzzy, no-c-format
+msgid "Find"
+msgstr "ძი&ება"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, fuzzy, no-c-format
+msgid "Replace With"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, fuzzy, no-c-format
+msgid "Replace in:"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, fuzzy, no-c-format
+msgid "Find:"
+msgstr "ძი&ება"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, fuzzy, no-c-format
+msgid "Replace with:"
+msgstr "ჩანაცვლება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "დ&როის შტამპების ჩართვა"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "თ&არიღების ჩვენება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&ფორმატი:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "განლაგება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "ჩვენება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "ჩვენება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "ჩვენება -სკენ"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "ჩვენება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "ჩვენება -სკენ"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "ჩართვა ფონი გამოსახულება"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&გეზი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "სხვა ფერები"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&ფონი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "სერვერი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&ბმული:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "არხი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "მო&ქმედება:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "ბ&რძანების შეტყობინება:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&გამოკითხვის შეტყობინება:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&დროის შტამპი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "ა&ლტერნატიული ფონი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "გაფერადებული მეტსახელები"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&საკუთარი მეტსახელის ფერი:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "ნების დართვა ტექსტი IRC შეტყობინებები"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr "-სკენ IRC ტექსტი თქვენ -სკენ IRC ფერი"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "წინასწარ ნახვა"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "თქვენი შეტყობინება ამ ფერებით ასე გამოჩნდება:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>"
+"<br>\n"
+"<b> ყველა და -სკენ</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "ტექსტი -სკენ."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt> ტექსტი -სკენ და ოკ -სკენ შეყვანა ხაზი ნებისმიერი ტექსტი"
+"<br>\n"
+"<b> ყველა ჩართულია -სკენ</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "შ&რიფტის ფერი:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "ტექსტი -სკენ."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt> -თვის ტექსტი -სკენ და ოკ -სკენ შეყვანა ხაზი ტექსტი"
+"<br> საწყისი პარამეტრებით<i> არა</i> საშუალო ტექსტი"
+"<br>\n"
+"<b> ყველა და ყველა ჩართულია -სკენ</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "გაფრთხილების დიალოგების ჩვენება"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&პაროლი:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "სერვერი:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Messages"
+#~ msgstr "შეტყობინებები"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "&გასვლის შეტყობინების ჩვენება"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "გლობალურად &ხელმისაწვდომობის დაყენება"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "ყოველ "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "გაფრთხილება DCC-თი მიღებული ფაილების წაშლისას"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1-სთვის გასაღები წარმატებით დაყენდა."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "'%1' ფაილის წაშლა შეუძლებელია."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC შეცდომა"
+
+#, fuzzy
+#~ msgid "Remove File"
+#~ msgstr "ფაილის წაშ&ლა"
+
+#, fuzzy
+#~ msgid "Transfer Details"
+#~ msgstr "DCC &დეტალები"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "ამ პანელიდან წაშლა"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "არჩეული ფაილ(ებ)ის წაშლა"
+
+#~ msgid "&Remove File"
+#~ msgstr "ფაილის წაშ&ლა"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr "ნამდვილად გსურთ მონიშნული %n ფაილის წაშლა?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "წაშლის დადასტურება"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "ჩვენება -სკენ სია."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "კავშირი %1 სერვერთან გაწყდა: %2. თავიდან დაკავშირების მცდელობა ხორციელდება."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "იმის ნაცვლად ვცდით %1 სერერს."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "კავშირის დამყარების შემდეგ მცდელობამდე 2 წითი მოთმინება..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "ხელმისაწვდომი პარამეტრების ჯგუფი: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "ხელმისაწვდომი პარამეტრები %1 ჯგუფში:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "გამოყენება: %1PREFS <group> <option> <value> ან %2PREFS LIST ჯგუფების ჩამოთვლა ან %3PREFS group LIST ჯგუფში პარამეტრების ჩამოსათვლელად. პარამეტრების ციტირება, თუ ისინი შეიცავენ ღარებს."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DCC &დეტალები"
+
+#~ msgid "Channel &key:"
+#~ msgstr "არხის &გასაღები:"
+
+#, fuzzy
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "სამახსოვრო &ხაზის ჩასმა, როდესაც გასვლის მდგომარეობა ირთვება"
+
+#, fuzzy
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "სამახსოვრო &ხაზის ჩასმა, როდესაც გასვლის მდგომარეობა ირთვება"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "კავშირი"
+
+#~ msgid "Application Startup"
+#~ msgstr "პროგრამის დასაწყისი"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "ჩვენება სია"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1-ს აქვს მეტსახელის იდენტიფიკაცია."
+
+#~ msgid "&Channel"
+#~ msgstr "&არხი"
+
+#~ msgid "&Topic"
+#~ msgstr "თე&მა"
+
+#~ msgid "&Save List..."
+#~ msgstr "სიის შ&ენახვა..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "ავრომატურად ჩართულია"
+
+#~ msgid "Offering"
+#~ msgstr "შეთავაზება"
+
+#, fuzzy
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "DCC საუბრისთვის თავისუფალი პორტი არაა."
+
+#~ msgid "Update &interval:"
+#~ msgstr "განახლების &ინტერვალი:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p> ჩართულია<b></b> სია ხაზზე ან ხაზიდან გასვლა</p>\n"
+#~ "<p> თქვენ<b> ხაზზე</b> -სკენ ყველა</p>\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "DCC ჩამოქაჩვა %1 პორტზე არ არის."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "DCC ატვირთვა %1 პორტზე არ არის."
+
+#, fuzzy
+#~ msgid "Alt+N"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+P"
+#~ msgstr "Alt+4"
+
+#~ msgid "File:"
+#~ msgstr "ფაილი:"
+
+#~ msgid "Local Path:"
+#~ msgstr "ლოკალური გეზი:"
+
+#, fuzzy
+#~ msgid "Open this file"
+#~ msgstr "ფაილის &გახსნა"
+
+#~ msgid "Sender:"
+#~ msgstr "გამგზავნი:"
+
+#~ msgid "Position:"
+#~ msgstr "პოზიცია:"
+
+#, fuzzy
+#~ msgid "Accept this transfer"
+#~ msgstr "გადაცემ(ებ)ის შეწყვეტა"
+
+#, fuzzy
+#~ msgid "Abort this transfer"
+#~ msgstr "გადაცემ(ებ)ის შეწყვეტა"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "ნამდვილად გსურთ მიღებული ფაილის წაშლა?"
+
+#, fuzzy
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "DCC &დეტალები"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "პოზიცია:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "გამგზავნის მისამართი"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "გამგზავნის მისამართი"
+
+#~ msgid "Switch To"
+#~ msgstr "გადართვა"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 ქსელის ადმინისტრატორია."
+
+#~ msgid "&Channel:"
+#~ msgstr "&არხი:"
+
+#~ msgid "Removed"
+#~ msgstr "წაშლილი"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2 არის %3%4"
+
+#~ msgid "&Network:"
+#~ msgstr "&ქსელი:"
+
+#~ msgid " Command Aliases"
+#~ msgstr "ბრძანებათა ფსევდონიმები"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "www.konversation.org ჰოსტი"
+
+#, fuzzy
+#~ msgid "Various bug fixes"
+#~ msgstr "შეცდომათა გასწორება"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "%1-სთვის არხის პარამეტრები"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "თქვენ აღნიშნული ხართ როგორც გასული."
+
+#~ msgid "Edit Channel Properties"
+#~ msgstr "შეიყვანეთ არხის თვისებები"
+
+#, fuzzy
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "კითხვა, თუ რა უნდა გაკეთდეს DCC-ს დასრულებუის შემდეგ"
+
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "ავრომატურად ჩართულია"
+
+#~ msgid "Version"
+#~ msgstr "ვერსია"
+
+#~ msgid "Ping"
+#~ msgstr "Ping"
+
+#~ msgid "Server already connected."
+#~ msgstr "სერვერი უკვე დაკავშირებულია."
+
+#~ msgid "New Alias"
+#~ msgstr "ახალი ფსევდონიმი"
+
+#~ msgid "Add alias:"
+#~ msgstr "ფსევდონიმის დამატება"
+
+#~ msgid "RE"
+#~ msgstr "RE"
+
+#, fuzzy
+#~ msgid "DCC chat with %1 on %2:%3."
+#~ msgstr "DCC საუბარი %1-სთან %2 :%3-ზე"
+
+#, fuzzy
+#~ msgid "Resuming download of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "\"%1\" ფაილის დასრულება, შემოთავაზებულია %2-ს მიერ %3 პოზიციიდან."
+
+#, fuzzy
+#~ msgid "Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "\"%1\" ფაილის დასრულება, შემოთავაზებულია %2-ს მიერ %3 პოზიციიდან."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" to %2 finished."
+#~ msgstr "DCC \"%1\" ფაილის ატვირთვა დასრულდა."
+
+#, fuzzy
+#~ msgid "Downloading \"%1\" (%2) from %3..."
+#~ msgstr "DCC \"%1\" ფაილის ჩამოქაჩვა დასრულდა."
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "იძებნება %1 ჰოსტი..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "ჰოსტი მოიძებნა, დაკავშირება..."
+
+#~ msgid "Connection established."
+#~ msgstr "კავშირი დამყარებულია."
+
+#~ msgid "&Default"
+#~ msgstr "&ნაგულისხმები"
+
+#, fuzzy
+#~ msgid "Direction:"
+#~ msgstr "&ხანგრძლიობა:"
+
+#, fuzzy
+#~ msgid "Direction"
+#~ msgstr "თემის დაცვა"
+
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "შეყვანა და სია"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr "\"%1\"-ს %2-სთვის ასატვირთად შეთავაზება..."
+
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 (%2:%3) ითხვოვს ჩამოსაქაჩად \"%4\" (%5) ფაილს."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" was accepted by %2."
+#~ msgstr "\"%1\" ფაილის DCC ატვირთვა ვერ შედგა. მიზეზი: %2"
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "\"%1\"-სგან DCC რეზიუმეს მოთხოვნის დათახმება \"%2\" ფაილისთვის."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "DCC რეზიუმეს გაგზავნა მოითხოვს \"%1\"-ს \"%2\" ფაილისთვის."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">საუბარი %1-ში</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">საუბარი %1-სთან</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "&არხთა სია %1-სთვის"
+
+#~ msgid "Nicks Online"
+#~ msgstr "ხაზზე მყოფი მეტსახელები"
+
+#~ msgid "Themes"
+#~ msgstr "გაფორმებები"
+
+#~ msgid "Tab Bar"
+#~ msgstr "ჩანართთა ზოლი"
+
+#~ msgid "Placement && Focus"
+#~ msgstr "მდებარეობა და ფოკუსი"
+
+#~ msgid "Place tab bar at the top"
+#~ msgstr "ჩანართთა ზოლის ზემოთ მოთავსება"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "როდესაც ვინმე გამოკითხვას გიწყებთ, ახალი &გამოკითხვის ფოკუსირება"
+
+#~ msgid "Close Button"
+#~ msgstr "დახურვის ღილაკი"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "&DCC დეტალული ინფორმაცია"
+
+#~ msgid "Find Text"
+#~ msgstr "ტექსტის ძიება"
+
+#~ msgid "Whole words"
+#~ msgstr "მთელი სიტყვა"
+
+#~ msgid "Search forward"
+#~ msgstr "წინ ძიება"
+
+#~ msgid "Search for text"
+#~ msgstr "ტექსტის ძიება"
+
+#~ msgid "Close the window"
+#~ msgstr "ფანჯრის დახურვა"
+
+#~ msgid "Show help here"
+#~ msgstr "აქ დახმარების ჩვენება"
+
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1 შეუერთდა ამ არხს (%2)."
+
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "თქვენ საკუთარი თავი გააპანღურეთ არხიდან (%1)."
+
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "თქვენ %1მ გაგაპანღურათ არხიდან (%2)."
+
+#~ msgid ""
+#~ "_: Translate to localised wikipedia url. Search term is appended on the end\n"
+#~ "http://en.wikipedia.org/wiki/Special:Search?go=Go&search="
+#~ msgstr "http://en.wikipedia.org/wiki/Special:Search?go=Go&search="
+
+#~ msgid "Skip creating taskbar entry"
+#~ msgstr "სისტემური პანელის ჩანაწერის გაცდენა"
+
+#~ msgid "If you enable this option Konversation will not show up in taskbar"
+#~ msgstr "Konversation"
+
+#, fuzzy
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "სწრაფი ღილაკები"
+
+#~ msgid "Alt+Q"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Alt+Z"
+#~ msgstr "Alt+Z"
+
+#~ msgid "Alt+D"
+#~ msgstr "Alt+D"
+
+#, fuzzy
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "TabBar_Config"
+
+#, fuzzy
+#~ msgid "Alt+R"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+V"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+B"
+#~ msgstr "Alt+Q"
+
+#, fuzzy
+#~ msgid "Alt+J"
+#~ msgstr "Alt+Q"
+
+#~ msgid "Alt+X"
+#~ msgstr "Alt+X"
diff --git a/po/ko/Makefile.am b/po/ko/Makefile.am
new file mode 100644
index 0000000..5028270
--- /dev/null
+++ b/po/ko/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ko
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ko/konversation.po b/po/ko/konversation.po
new file mode 100644
index 0000000..0a1bd21
--- /dev/null
+++ b/po/ko/konversation.po
@@ -0,0 +1,8336 @@
+# 콘버세이션 한글 번역
+# This po file is completely translated to Korean by Cho Sung Jae.
+# Copyright (C) Hye-Shik Chang
+# This file is distributed under the same license as the PACKAGE package.
+# Hye-Shik Chang <perky@FreeBSD.org>, 2003.
+# Cho Sung Jae <jachin@netian.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation \n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-07-12 18:21+0900\n"
+"Last-Translator: Cho Sung Jae <jachin@netian.com>\n"
+"Language-Team: 한국어\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, fuzzy, c-format
+msgid "Channel Settings for %1"
+msgstr "%1에 대한 채널 옵션들"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "고급 모드 숨기기(&H)<<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "고급 모드 보이기(&S)>>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "추가"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "알 수 없음"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "파일 %1에 대한 정보를 사용가능함:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "파일 정보"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "이 파일에 대한 자세한 정보를 찾을 수 없습니다."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "전송"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "수신"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "예약됨"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "준비중"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "접속 중"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "받는 중"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "보내는 중"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "완료"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "실패"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "중단됨"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sec"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "Whois(&W)"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "버전(&V)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "핑(&P)"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "옵 주기"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "옵 뺏기"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "반옵 주기"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "반옵 뺏기"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "보이스 주기"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "보이스 뺏기"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "모드"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "킥"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "킥밴"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "닉네임으로 밴"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "*!*@*.host를 밴"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "*!*@domain을 밴"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "*!user@*.host를 밴"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "*!user@domain을 밴"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "*!*@*.host를 킥밴"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "*!*@domain을 킥밴"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "*!user@*.host를 킥밴"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "*!user@domain을 킥밴"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "킥 / 밴"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "무시"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+#, fuzzy
+msgid "Unignore"
+msgstr "무시"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "쿼리 열기(&Q)"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "DCC 채팅 열기(&C)"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "파일 보내기(&F)..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "이메일 보내기(&S)..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "주소록 연결"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+#, fuzzy
+msgid "Add to Watched Nicks"
+msgstr "관찰된 닉네임 편집"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>이것은 채널의 모든 사람을 보여줍니다. 각 사람의 닉네임이 보입니다."
+"<br>보통 아이콘은 각 사람의 상태를 보여주지만 어떤 아이콘 테마도 설치되지 않은 것으로 보입니다. <i>설정</i> 메뉴 아래 <i>"
+"Konversation 설정</i>을 보십시오.그 다음 <i>외양</i> 아래 <i>테마</i>에 대한 페이지를 보십시오.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>이것은 채널에 있는 모든 사람들을 보여줍니다. 각 사람에 대한 닉네임이 그들의 상태를 나타내는 그림과 함께 보여집니다."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>이 사람은 관리자 권한을 갖고 있습니다.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>이 사람은 채널 소유자 입니다.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>이 사람은 채널 관리자입니다.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>이 사람은 체널의 부관리자 입니다.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>이 사람은 발언권을 가지고 있으며 조정된 채널에서 얘기할 수 있습니다.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>이 사람은 어떠한 권한도 없습니다.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>이것은 이 사람이 현재 자리에 없다는 것을 나타냅니다.</td></tr></table>"
+"<p>관리자, 소유자 그리고 부관리자의 의미는 IRC 서버마다 다릅니다."
+"<p>어떤 닉네임 위에 떠있는 것은 그들의 현재 상태를 나타내며, 이 사람에 대한 주소록에 있는 어떤 정보와 같습니다. 더 많은 정보에 대해 "
+"Konversation 핸드북을 보십시오.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "연락처 편집..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "연결 선택/변경..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "연락처 선택..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "연결 변경..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "새 연락처 생성..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "연결 삭제"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "채널"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "쿼리"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "공지"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "예외"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+#, fuzzy
+msgid "Tabs"
+msgstr "탭"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "오늘"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "어제"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (확인됨)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "이메일"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "호스트마스크:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "자리비움 메시지:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(알 수 없음)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "다음 시각 이후로 온라인:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "정규표현식 편집기를 실행하기 위해 클릭 (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "정규표현식 편집기를 실행하기 위해 클릭 (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:59
+#, fuzzy
+msgid "Incoming"
+msgstr "인코딩(&E):"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr ""
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "%1에 채널 입장"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "빠른 접속"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "서버 호스트(&S):"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "네트워크의 호스트를 여기에 입력하십시오."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "포트(&P):"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "IRC 서버가 사용중인 포트"
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "닉네임(&N):"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "여러분이 사용하고 싶은 이름."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "패스워드(&A):"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr "만약 IRC 서버가 패스워드를 요구한다면, 여기에 입력하십시오. (대부분의 서버가 패스워드를 요구하지 않습니다.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL 사용(&U)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "접속(&O)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "서버에 연결"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "소켓을 열 수 없습니다."
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "%1에 포트 %2로 DCC 채팅 연결 제공중..."
+
+#: src/dccchat.cpp:148
+#, fuzzy
+msgid "DCC chat with %1 on port %2."
+msgstr "%2 포트로 %1을 DCC 채팅"
+
+#: src/dccchat.cpp:160
+#, fuzzy
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "%1에 대한 DCC 챗 연결 계산중 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, fuzzy, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "%1에 대한 DCC 챗 연결 계산중 (%2:%3)..."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "연결 깨짐, 에러 코드 %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "%2로부터 알 수 없는 CTCP-%1을 받았습니다."
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "클라이언트를 수용할 수 없습니다."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "기본 ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "서버 목록"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "선택된 IRC 네트워크와 채널에 대해 연결하기 위해 이곳을 클릭하십시오."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"이것은 설정된 IRC 네트워크들에 대한 목록을 보여줍니다. IRC 네트워크는 상호협력 하는 서버의 집합입니다. 여러분은 전체 IRC 네트워크에 "
+"연결될 네트워크에 있는 서버들 중 하나의 연결만 필요합니다. 한번 연결되면 Konversation은 자동적으로 보이는 채널에 입장할 것입니다. "
+"Konversation이 처음에 시작되었을때 Freenode 네트워크의 <i>#kde</i>채널이 여러분을 위해 이미 입력되어 있습니다."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "네트워크"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "정체성"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "채널"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "새로 작성(&N)..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"새로운 네트워크를 정의하기 위해 이곳을 클릭하십시오. 연결하기 위한 서버를 포함하여 자동적으로 입장하기 위한 채널도 같이 정의하십시오."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "편집(&E)..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "응용프로그램이 시작할 때 연결(&A)"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "새 네트워크"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "네트워크 편집"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1을 지울 수 없습니다.\n"
+"\n"
+"네트워크 %2는 적어도 하나의 서버를 필요로 합니다."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"선택된 서버를 삭제할 수 없습니다.\n"
+"\n"
+"네트워크 %1은 적어도 한 서버를 필요로 합니다."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "선택된 항목을 삭제하길 원하십니까?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "%1을 삭제하길 원하십니까?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "마지막으로 보인 시간:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"로그 파일의 최대 크기를 지정하기 위해 이 상자를 사용하십시오. 이 설정은 여러분은 Konversation을 재시작하기 전까지 아무런 영향을 "
+"미치지 않습니다. 각 로그파일은 구분된 설정을 갖을 것입니다."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "로그파일 비우기"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"로그 파일에 있는 메시지들이 여기에 보입니다. 가장 오래된 메시지들은 맨 위에 있는 것이고 가장 최신의 것들은 바닥에 있습니다."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "정말로 이 파일의 모든 로그 정보를 영구적으로 포기하길 원하십니까?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"주의: 로그파일을 저장하는 것으로 여러분은 파일에 모든 데이터를 저장하는 것 뿐만 아니라 이 뷰어에서 여러분이 볼 수 있는 부분까지 저장할 "
+"것입니다."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "로그파일 저장"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "대상 폴더 선택"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "정보"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "%1에 포트 %2로 DCC 채팅 연결 제공중..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "재연결 시도:"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, fuzzy, c-format
+msgid "Already connected to %1"
+msgstr "%1에 접속하는데 실패했습니다."
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "연결"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "서버 편집"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "여러분의 <b>인증</b>을 채워주십시오.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "여러분의 <b>실명</b>을 채워주십시오.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "적어도 하나의 <b>닉네임</b>을 주십시오.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>여러분의 인증 \"%1\"이 올바르게 설정되지 않았습니다:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "인증 설정"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "인증 편집..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "자기 정보"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "사용자(&I):"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "복사"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "이름바꿈"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "일반 설정"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "실명(&R):"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"여기에 여러분의 실제 이름을 입력하십시오. IRC는 여러분의 친구들이나 적으로부터 여러분을 숨기도록 유도하지 않습니다. 불법적인 행위를 "
+"시도하려 한다면 이 점을 마음에 새겨두십시오. 가짜 \"실명\"은 우매한 사람들에게 여러분들로부터 여러분의 성별을 감추는 데에는 좋은 "
+"방법입니다만, 여러분이 사용하는 PC는 추적될 수 있으며 언제까지나 익명이 될 수는 없습니다."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "닉네임"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"이것은 여러분의 닉네임 목록입니다. 닉네임은 다른 사용자들이 여러분을 알 수 있는 수단입니다. 여러분이 원하는 이름을 사용하십시오. 닉네임 "
+"처음에는 꼭 문자로 시작해야 합니다.\n"
+"\n"
+"닉네임이 전체 IRC 네트워크를 통틀어 유일해야만 합니다. 여러분이 필요로 하는 이름이 서버로부터 거절될 수 있는데 이미 누군가 닉네임을 "
+"사용하고 있기 때문입니다. 여러분들에 대한 대체할 수 있는 닉네임을 입력하십시오. 만약 여러분의 첫번째 닉네임이 서버로부터 거절된다면 "
+"Konversation은 대체 닉네임으로 시도할 것입니다."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "추가..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "편집..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "자동 인증"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "서비스(&V):"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"서비스 이름은 <b><i>nickserv</i></b>나 <b><i>nickserv@services.dal.net</i></b>"
+"와 같은 네트워크 관련 이름이 될 수 있습니다."
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "패스워드(&S):"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "자리비움"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"이 상자를 선택하면, 여러분이 <b>/away</b> 명령을 실행할 때마다 여러분이 자리비움 한 시점을 표시하는 선이 채널에 보일 것입니다. "
+"다른 IRC 사용자들은 이 수평 선이 보이지 않습니다."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "자리비움 닉네임:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"여러분이 자리비움임을 나타내는 닉네임을 입력하십시오. 여러분이 이 인증으로 입장한 어떤 체널에서 <b>/away msg</b> "
+"명령을 사용할 때마다 Konversation이 여러분의 닉네임을 자리비움 닉네임으로 자동적으로 바꿀 것입니다. 다른 사용자들은 여러분의 "
+"컴퓨터에서 여러분이 떠났다고 말할 수 있습니다. 여러분이 자리를 비운 체널에서 <b>/away</b> "
+"명령을 실행할 때마다 Konversation은 자동적으로 여러분의 닉네임을 본래대로 변경할 것입니다.만약 자동적으로 자리비움 닉네임으로 "
+"변경하지 않으려면 이 부분을 비워두십시오."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " 온라인"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "쿼리 활성화 시(&Q)"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "자동으로 다운로드 재개하기(&T)"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "자리비움 메시지:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"이 상자를 선택하면 Konversation은 자동적으로 여러분이 입장한 체널에 자리비움 메시지를 전달할 것입니다. <b>%s</b>는 <b>"
+"msg</b>를 대체할 것입니다. 여러분이 <b>/away</b> 명령을 수행할 때마다, 되돌아옴 메시지들이 이 인증으로 입장한 모든 체널에서 "
+"보일 것입니다."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "자리비움 메시지(&M):"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "되돌아옴 메시지(&T):"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "고급"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "먼저 실행될 쉘 명령(&P):"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"여기에 서버에 대한 연결을 시작하기 전에 수행해야 할 명령어들을 입력할 수 있습니다."
+"<br>만약 여러분이 이 인증에서 여러 서버들을 가지고 있다면 이 명령은 각 서버에 대해 따로 수행될 것입니다."
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "인증(&D):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"여러분이 접속할 때, 많은 서버들이 여러분의 컴퓨터에 IDENT에 대한 응답으로 쿼리를 보냅니다. 만약 여럽누의 컴퓨터가 IDENT 서러를 "
+"운영하지 않는다면 이 응답은 Konversation에 의해 전달될 것입니다. 공백은 허용되지 않습니다."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "인코딩(&E):"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"이 설정은 여러분이 전달할 문자들을 어떤 방식의 인코딩을 전달할 지 결정합니다. 이것은 또한 메시지가 어떻게 보일지도 결정합니다. 여러분이 "
+"먼저 Konversation을 실행했을 때, 이것은 자동적으로 여러분의 OS 설정을 검색합니다. 만약 사용자의 메시지가 올바르게 보이지 "
+"않는다면, 이 설정을 변경해보십시오."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "나가는 이유(&P):"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "체널을 떠날 때, 이 메시지가 체널에 전달됩니다."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "나가는 이유(&P):"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "체널을 떠날 때, 이 메시지가 체널에 전달됩니다."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "킥 이유(&K):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr "여러분이 체널로부터 (보통 IRC 관리자에 의해) 킥되었을 때, 이 메시지가 체널에 전달됩니다."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "인증 정보 변경"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "모든 변경내용들 포기"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "여러분은 적어도 인증에 대한 하나의 닉네임을 추가해야 합니다."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+#, fuzzy
+msgid "Please enter a real name."
+msgstr "이 인증의 새 이름을 넣어주세요:"
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "닉네임 추가"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "닉네임:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "닉네임 편집"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "인증 추가"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "인증 이름:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "인증에 대한 이름을 주어야 합니다."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "인증 이름 변경"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr "기본 인증에 대한 네트워크 설정이 제거된다면 이 인증이 사용됩니다. 이것이 삭제되어야 합니까?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "이 인증에 대한 모든 정보를 삭제하길 원하는지 확인하셨습니까?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "인증 삭제"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "인증 복사"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "일반 사용자"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "발언권자 (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "부운영자 (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "채널운영자 (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "채널 관리자 (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "채널 소유자 (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "문자 삽입"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "문자 삽입"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation 즐겨찾기 편집기"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "비어있는 포트가 없습니다."
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "소켓을 열 수 없습니다."
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "텍스트 찾기..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL을 클립보드로 복사"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "즐겨찾기에 추가"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "목록 저장(&V)..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "%1(으)로 쿼리 열기"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "%1 채널 입장"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "오늘의 공지"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "알림"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "입장"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "퇴장"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "쿼리 열기"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "입장(&J)"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "사용자 목록 얻기(&U)"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "주제 얻기(&T)"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\"에 해당하는 것이 없습니다."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "목록 저장(&S)..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "서버 목록(&S)..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "네트워크들과 서버들 관리"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "빠른 접속(&C)..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "연결하기 위한 새로운 IRC 서버의 주소를 입력하기"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "재접속(&R)"
+
+#: src/konversationmainwindow.cpp:141
+#, fuzzy
+msgid "Reconnect to the current server."
+msgstr "서버에 연결"
+
+#: src/konversationmainwindow.cpp:143
+#, fuzzy
+msgid "&Disconnect"
+msgstr "접속끊기"
+
+#: src/konversationmainwindow.cpp:145
+#, fuzzy
+msgid "Disconnect from the current server."
+msgstr "서버로부터 연결이 끊어졌습니다."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "인증들(&I)..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "여러분의 닉네임, 자리비움, 다른 인증 설정들을 관리하십시오."
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "관찰된 온라인 상태 닉네임(&W)"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC 상태(&D)"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "로그 파일 열기(&O)"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "새로운 탭에 이 체널에 대한 알려진 히스토리 열기"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+#, fuzzy
+msgid "&Channel Settings..."
+msgstr "다른 설정(&T)"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+#, fuzzy
+msgid "Channel &List"
+msgstr "채널 목록"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "이 서버에서 알려진 모든 체널의 목록 보이기"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "URL 수집기(&U)"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "새 탭에서 최근에 언급된 모든 URL들을 나열합니다."
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "새 콘솔(&K)"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "새 탭에 터미널 열기"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "다음 탭(&N)"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "이전 탭(&P)"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "탭 닫음(&T)"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "다음 탭(&N)"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+#, fuzzy
+msgid "Move Tab Up"
+msgstr "탭 왼쪽으로 이동"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+#, fuzzy
+msgid "Move Tab Down"
+msgstr "탭 왼쪽으로 이동"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "탭 오른쪽으로 이동"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "탭 왼쪽으로 이동"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "채널 입장(&J)"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "알림 사용하기"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "자동 접속"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "인코딩 설정"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "%1 탭으로 이동"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "목록 비우기(&L)"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "현재 탭의 내용들 비우기"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "창 비우기(&C)"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "현재 탭의 내용들 비우기"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "모든 창 비우기(&A)"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "모든 열린 탭들의 내용을 비우기"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "채널 입장(&J)..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "IRC 색상(&I)..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "여러분의 현재 IRC 메시지의 색상을 설정"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "기억 행(&R)"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "여러분만 볼 수 있는 수평행을 삽입합니다."
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "특수 문자(&C)..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "여러분의 현재 IRC 메시지에 어떤 문자를 삽입"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "모든 열린 쿼리들을 닫음(&A)"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "닉네임목록 숨기기"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>주 창을 닫는 것은 Konversation이 시스템 트레이에어 실행되도록 유지할 것입니다. 응용프로그램을 종료하기 위해서는 <b>"
+"Konversation</b> 메뉴에서 <b>종료</b>를 사용하십시오."
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "시스템 트레이에 넣기"
+
+#: src/konversationmainwindow.cpp:490
+#, fuzzy
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr "<qt>메뉴 막대를 완전히 숨깁니다. %1을 치면 다시 막대를 보이게 할 수 있습니다.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+#, fuzzy
+msgid "Toggle Notifications"
+msgstr "알림 사용하기"
+
+#: src/konversationmainwindow.cpp:540
+#, fuzzy
+msgid "Toggle Away Globally"
+msgstr "전체 자리비움 설정(&A)"
+
+#: src/konversationmainwindow.cpp:541
+#, fuzzy
+msgid "Insert &IRC Color..."
+msgstr "IRC 색상(&I)..."
+
+#: src/konversationmainwindow.cpp:542
+#, fuzzy
+msgid "Insert Special &Character..."
+msgstr "특수 문자(&C)..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "기억 행(&R)"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "채널 목록(&C)"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "전체 자리비움 설정(&A)"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "순수"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "사용예: %1JOIN <채널> [패스워드]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "사용예: %1KICK <닉네임> [이유]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK은 채널 안에서만 할 수 있습니다."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "파라매터 없는 %1PART는 체널이나 쿼리안에서만 작동합니다."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "채널 이름 없는 %1PART는 채널 안에서만 동작합니다."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "파라메터 없는 %1TOPIC은 체널 안에서만 동작합니다."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "체널 이름 없는 %1TOPIC은 채널 안에서만 동작합니다."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr "대상 없는 %1NAMES 는 서버로부터 여러분의 연결을 끊을 것입니다. 이것을 원한다면 '*'을 지정하십시오."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "사용예: %1NOTICE <받을사람> <메시지>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "알림메시지 %1(을)를 \"%2\"에게 보내는 중"
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "사용예: %1AME 문장"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "%2에게 CTCP-%1 요청을 보냄"
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "\"%1\" 파일이 없습니다."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "사용예: %1DCC [SEND 닉네임 파일이름]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "사용예: %1DCC [CHAT 닉네임]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "명령어 %1DCC %2(을)를 인식하지 않습니다. 가능한 명령어는 SEND, CHAT, CLOSE 입니다."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "사용예: %1INVITE <닉네임> [채널]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "채널 이름없는 %1INVIDe는 채널 안에서만 작동합니다."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1은 채널이 아닙니다."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "사용예: %1EXEC <스크립트> [파라메터 목록]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "스크립트 이름은 \"../\"를 포함할 수 없습니다!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "사용예: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "현재 알림 목록이 비어있습니다."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "알림 목록: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "IRC 운영자 특권에 대한 이름과 패스워드를 입력하십시오"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC 운영자 패스워드"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "채널 이름 없는 %1BAN은 채널 안에서만 동작합니다."
+
+#: src/outputfilter.cpp:1196
+#, fuzzy
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "채널 이름 없는 %1BAN은 채널 안에서만 동작합니다."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "사용예: %1BAN [-HOST | -DOMAIN] [채널] <사용자|마스크>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "사용예: %1BAN [-HOST | -DOMAIN] [채널] <사용자|마스크>"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "채널 이름 없는 %1UBAN은 채널 안에서만 작동합니다."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "사용예: %1UNBAN [채널] 패턴"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "여러분의 무시 목록에 %1이 추가되었음"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "사용예: %1IGNORE [ -ALL ] <사용자1> <사용자2> ... <사용자n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "사용예: %1UNIGNORE <사용자1> <사용자2> ... <사용자n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "여러분의 무시목록에서 %1 제거됨."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "무시 대상이 없습니다. %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "무시 대항이 없습니다. %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "사용예: %1QUOTE 명령어 목록"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "사용예: %1SAY 문장"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "사용예"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "사용예: %1AME 문장"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "사용예: %1AMSG 문장"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "사용예: %1OMSG 문장"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "%2에게 \"%1\" 공지 보냄."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "사용예: %1ONOTICE 문장"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "알림 목록: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "인코딩 설정"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1은 채널이 아닙니다."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1에 대한 키를 삭제했습니다."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1에 대한 키를 삭제했습니다."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1에 대한 키를 삭제했습니다."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, fuzzy, c-format
+msgid "No key has been set for %1."
+msgstr "%1(은)는 %2 초 동안 대기상태입니다."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "사용예: %1DNS <닉네임>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "다음에 대해 %1 해석됨: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1을 해석할 수 없습니다."
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "역-해석은 KDE 버전 3.5.1 이나 그 이상의 버전이 필요합니다."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "사용예: %1KICK <닉네임> [이유]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>입력행은 체널, 쿼리 혹은 서버에 보낼 메시지를 입력하는 곳입니다. 채널에 보내진 메시지는 채널에 있는 모든 사람이 보게 됩니다. "
+"쿼리에 있는 메시지는 여러분과 쿼리에 있는 사람만 보게 됩니다."
+"<p>여러분은 특수 명령어를 보낼수도 있습니다."
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>행동</i></th>"
+"<td>채널이나 쿼리에서 행동으로서 보여줍니다. 예를들어 <em>/me sings a song</em> "
+"은 채널에서 'Nick sings a song'으로 보일 것입니다.</td></tr>"
+"<tr>"
+"<th>/whois <i>닉네임</i></th>"
+"<td>이 사람에 대한 정보를 어떤 채널에 있는지도 포함하여 보여줍니다.</td></tr></table>"
+"<p>더 많은 명령어는 Konversation 핸드북을 보십시오."
+"<p>메시지는 512 문자 길이가 최대이며 다중행을 포함할 수 없습니다.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>대화창에 엄청 긴 (%1 바이트 혹은 %2 행) 문장을 붙여넣기하려고 하고 있습니다. 그러면, 접속이 끊기거나, 다른 사용자에게서 킬을 "
+"당할 수 있습니다. 진짜로 하시겠습니까?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "큰 내용 붙여넣기 경고"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "사용자에게 친숙한 IRC 클라이언트"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "연결하기 위한 서버"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "사용하려는 포트"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "연결 후 입장할 채널"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "사용하려는 닉네임"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "연결에 대한 패스워드"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "연결에 대한 SSL 사용"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 Konversation 팀"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation은 인터넷 릴레이 채팅 (IRC) 프로토콜을 위한 클라이언트입니다.\n"
+"네트워크 상에서 친구들을 만나고, 새로 아는 사람들도 만들며, 좋아하는 주제들에\n"
+"대해 얘기하며 여유있게 지내세요."
+
+#: src/main.cpp:62
+#, fuzzy
+msgid "Original Author, Project Founder"
+msgstr "원 제작자/프로젝트 설립자"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "관리자"
+
+#: src/main.cpp:64
+#, fuzzy
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "협력 관리자, 사용자 상호작용, 네트워크 접근, 프로토콜 제어"
+
+#: src/main.cpp:65
+#, fuzzy
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC 재작성, 인코딩 개선, OSB 위치"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr ""
+
+#: src/main.cpp:67
+#, fuzzy
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr "Blowfish 지원, SSL 지원, KNetwork에 포팅, 색상을 입힌 닉네임, 아이콘, 테마 지원"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "재구성, KAddressBook/Kontact 병합"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr ""
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr ""
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "다중모드 확장, 위젯 변경 닫기, OSB 기능"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr "문서, 온라인 상의 닉네임 감시 개선, 사용자 정의 웹 브라우져 확장"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "색상 설정기, 강조 대화상자"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP 인터페이스"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "비 Latic1 인코딩"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "콘솔 부분 보기"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "빠른 연결, 새 OSD에 포팅, 다른 요소들과 버그수정"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "가벼운 수정과 코드 청소"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "드래그앤드랍 개선(&D)"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "아트워크"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "파이어폭스 스타일 검색바"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw 모드, 서버마다 탭 그룹화, 밴 리스트"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "시스템 트래이 패치"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "버그 수정"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "확장된 사용자 모드 패치"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "단축키 패치로 보이는 탭 닫기"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "마우스 스크롤 키로 탭 전환"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "채널 소유권 모드 패치"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC 색상 필터링을 사용하기 위한 옵션"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "버그 수정, OSD 작동, 주제 비우기"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "시스템 정보 스크립트"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "%1의 %2 채널에 대한 CTCP-PING 요청을 받아서, 응답중입니다."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "%2에게서 CTCP-%1 요청을 받아서, 응답중입니다."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "%1의 %2 채널에 대한 버젼확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "%1에게서 버젼 확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "%1에게서 버젼 확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "%1에게서 버젼 확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "%1에게서 버젼 확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "%1에게서 버젼 확인 요청을 받았습니다."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "알 수 없는 DCC 명령 %1(을)를 %2(으)로부터 받았습니다."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "%2로부터 %3 채널에 대한 알 수 없는 CTCP-%1을 받았습니다."
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "%2로부터 알 수 없는 CTCP-%1을 받았습니다."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1부터 %2까지- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "%1: %2 %3(으)로부터 CTCP-PING 응답을 받았습니다."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "%2: %3(으)로부터 CTCP-%1 응답을 받았습니다: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "초대"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1(으)로부터 %2채널에 대한 초대를 받았습니다."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "어서오세요"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "서버 %1 (버젼 %2), 사용자 모드: %3, 채널 모드: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "지원"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "채널 모드:"
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "주제 보호"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "밖으로부터의 메시지가 없음"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "비밀"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "초대한 사람만"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "사적임"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "중재식 대화"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "패스워드 보호됨"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "익명"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "서버 리옵"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "컬러가 허용되지 않음"
+
+#: src/inputfilter.cpp:833
+#, fuzzy, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"%n 사용자로 제한됨\n"
+"%n 사용자로 제한됨"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "모드"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1에 대한 채널 목록"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "생성됨"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "이 채널은 %1에 열렸습니다."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%2로서 %1에 로그인 했습니다."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "이름"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "채널 참가자 명단 끝."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "주제"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "채널 %1은 설정된 주제가 없습니다."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "주제"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "%1에 대한 채널 주제는 다음과 같습니다. \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "%1에 의해 %2에 대한 주제가 정해졌습니다."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "%2에 의해 %3의 %1에 대한 주제가 정해졌습니다."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1은 실제로 호스트 %2를 사용중입니다."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: 그런 닉네임/채널이 없습니다."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "%1: 그런 닉네임이 없습니다."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: 그런 채널이 없습니다."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "닉네임"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "닉네임이 이미 사용 중입니다. 다른 닉네임을 시도합니다."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "닉네임이 이미 사용 중입니다. %1을 시도합니다."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "잘못된 닉네임입니다. %1로 닉네임을 변경중입니다."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "%1에 있지 않습니다."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "오늘의 메시지:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "오늘의 메시지의 끝"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "이 서버에서 당신은 IRC 관리자입니다."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "사용자"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "이 네트워크의 현재 사용자: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "%1 서버 현재 사용자: %2명"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "자리 비움"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1은 자리를 비웠습니다: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "%1은 채널 %2에 초대되었습니다."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+#, fuzzy
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1은 %2&#64;%3 (%4) 입니다."
+
+#: src/inputfilter.cpp:1203
+#, fuzzy
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "다음 주소에 대해 %1 (2) 계산됨: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "%1 (%2)에 대해 주소를 해결할 수 없습니다."
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1(은)는 인증된 사용자입니다."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "누구"
+
+#: src/inputfilter.cpp:1269
+#, fuzzy
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1은 %2&#64;%3 (%4)%5 입니다."
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (자리 비움)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1에 대한 /WHO 목록의 끝"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1은 다음 채널의 사용자입니다. %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1가 발언권을 가진 채널: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1가 부운영자인 채널: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1가 운영자인 채널: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1가 소유자인 채널: %2 "
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1가 관리자인 채널: %2 "
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1은 %2 (%3)를 통해 접속 중"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1은 도움말을 사용할 수 있습니다."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (IRC 운영자)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, fuzzy, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 일\n"
+"%n 일"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, fuzzy, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 시간\n"
+"%n 시간"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, fuzzy, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 분\n"
+"%n 분"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, fuzzy, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 초\n"
+"%n 초"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1은 %2일 %3시간 %4분 %5초 동안 대기상태입니다."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1은 %2시간 %3분 %4 초 동안 대기상태입니다."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1은 %2분 %3초 동안 대기상태입니다."
+
+#: src/inputfilter.cpp:1519
+#, fuzzy
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1은 1초 동안 대기 상태입니다.\n"
+"%1은 %n 초 동안 대기 상태입니다."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1은 %2부터 접속해 있습니다."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS 목록의 끝."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "사용자 호스트"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC 운영자)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (자리 비움)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "목록"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "채널 목록:"
+
+#: src/inputfilter.cpp:1617
+#, fuzzy
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n 사용자): %2\n"
+"%1 (%n 사용자): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "채널 목록 끝."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "밴목록:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1은 %3에서 %2에게 정해졌습니다."
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "밴 목록 끝."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1은 현재 사용가능하지 않습니다."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: 알 수 없는 명령어."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "등록되지 않음"
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: 이 명령은 더 많은 파라메터가 필요합니다."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "채널에서 '%1' 모드를 제거했습니다."
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " 세트 모드: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "기본 인증"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "관찰된 닉네임 편집"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "네트워크 이름(&N):"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "여러분이 연결할 서버 네트워크를 선택하십시오."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "닉네임(&I):"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>네트워크에 있는 서버에 접속할 때 관찰하기 위한 닉네임입니다.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "알림 정보 변경"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "%1 서버 접속이 실패하였습니다."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"SSL로 암호화된 통신을 사용하는 서버에 연결하기 위한 기능은 Konversation 에서 컴파일 하였을 때 OpenSSL 지원을 사용하지 "
+"않도록 되어 있기 때문에 사용할 수 없습니다. SSL 지원을 하는 KDE 의 새 버전을 얻을 필요가 있습니다."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"서버로부터 돌아온 SSL 인증이 인식되지 않습니다. 아마도 이 서버는 주어진 포트로 SSL을 지원하지 않는 것 같습니다. 만약 이 서버가 "
+"일반적인 통신을 지원한다면 비 SSL 통신이 더 잘 될 것입니다. 그리고 SSL 은 다른 포트에서 될 것입니다."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "호스트 %1의 IP 주소가 지정된 인증에 일치하지 않습니다."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "서버 인증"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "세부사항"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "서버 (%1) 인증이 인증 테스트에서 실패했습니다."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "이 인증을 물어보지 않고 허용하시겠습니까?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "항상(&F)"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "현재 세션만(&C)"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[강조] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(쿼리) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1이 %2에 입장했습니다."
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1이 %2에서 나갔습니다."
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1이 %2을 종료했습니다."
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1이 %2로 닉네임을 변경했습니다."
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1은 당신에게 파일을 보내려고 합니다."
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1은 당신과 쿼리를 시작했습니다."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1은 온라인 상태입니다. (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 이 접속을 끊었습니다. (%2)"
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "당신은 %2로부터 %1에게 킥당했습니다."
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 이 당신과 dcc 챗을 시작했습니다"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[강조] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "%1에 접속하는데 실패했습니다."
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "당신은 %1에 접속했습니다."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "구호를 찾을 수 없습니다."
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "줄바꿈된 것 검색"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "네트워크 인터페이스"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "IRC 서버로부터의 응답"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "수동으로 지정하기"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC 색상 선택기"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "없음"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "서버(&S):"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "이름이나 서버의 IP 숫자. irchelp.org가 서버의 목록을 관리합니다."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr "서버 접속에 필요한 포트 숫자를 입력하십시오. 대부분의 서버에 대해 이것은 <b>6667</b> 일 것입니다."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "패스워드(&W):"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "보안 연결(SSL)(&E)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"만약 서버와의 통신을 위해 보안 소켓 레이어(SSL)를 사용하길 원한다면 선택하십시오.이것은 여러분의 컴퓨터와 IRC 서버간의 통신 보안을 "
+"보호합니다. 서버는 SSL 프로토콜을 지원합니다. 이것이 동작하려면 서버는 SSL 프로토콜을 지원해야 합니다. 대부분의 경우 만약 서버가 "
+"SSL 을 지원하지 않는다면, 연결은 실패할 것입니다."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "서버 주소가 필요합니다."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "관리자가 파일 전송에 대한 권한을 금지했습니다."
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL \"%1\"이 존재하지 않습니다."
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" 파일을 찾을 수 없습니다."
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "파일 이름 입력"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt><i>%1</i>에 전송중인 파일은 파일이름이 없습니다."
+"<br>수신자에게 표시될 파일 이름을 입력하여 주십시오. 혹은 dcc 전송을 취소하십시오.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "주어진 파일 이름이 없습니다."
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "사용자의 승인을 기다리는 중"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "연결을 수용할 수 없습니다.(소켓 에러)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "파일을 열 수 없습니다: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "소캣 에러: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "시간 초과"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "연결 실패: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "원격 사용자 연결 끊기"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "작동이 성공되었습니다. 오류 대화상자가 나타나지 않을 것입니다."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "\"%1\" 파일을 읽을 수 없습니다."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "\"%1\" 파일을 쓸 수 없습니다."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "회복할 수 없는 치명적인 에러가 발생했습니다."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "\"%1\" 파일을 열 수 없습니다."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "작동이 예기치 않게 중단되었습니다."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "작업이 시간을 초과했습니다."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "지정되지 않은 에러가 발생하였습니다."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "알 수 없는 에러. 코드 %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC 전송 에러"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "DCC 수신 : %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "알 수 없는 오류"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1이 %2에 입장했습니다."
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1이 %2에서 나갔습니다."
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1이 %2에서 나갔습니다."
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr "초"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "KDE콘솔"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "준비됨."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>이것은 채널의 사용자 수를 보여줍니다. 그리고 관리자의 수도 알려줍니다."
+"<p>체널운영자는 특별한 권한을 갖은 사용자입니다. 사용자를 킥하거나 밴 할 수 있고, 채널의 모드를 변경할 수 있습니다. 또한 다른 사용자를 "
+"운영자로 만들 수 있습니다.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "지연: 알 수 없음"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr "서버와의 모든 커뮤니케이션이 암호화됩니다. 이것은 여러분의 통신에서 누군가가 메시지를 듣기 힘들게 만듭니다."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>이 상태 막대는 서버에 대한 어떤 연결 문제를 포함하여, 다양한 메시지를 보여줍니다. 서버에 대한 현재 지연이 나타나고 있습니다. "
+"지연은 여러분으로부터 서버에 도달하고, 서버에서 여러분에게 되돌려주는 메시지에 대한 시간입니다.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "지연: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "지연: %1 초"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "%1로부터 %2일 %3시간 %4분 %5초보다 더 응답이 없었습니다."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "%2시 %3분 %4초 동안 %1로부터 응답이 없습니다."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "%2시 %3초 동안 서버 %1로부터 응답이 없습니다."
+
+#: src/konversationstatusbar.cpp:205
+#, fuzzy
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"1초 이상 서버 %1로부터 응답이 없습니다.\n"
+"%n 초 이상 서버 %1로부터 응답이 없습니다."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "서버 %1:%2(을)를 찾는 중 ..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "서버 %1을 찾을 수 없습니다. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "서버를 찾았습니다. 접속 중 ..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "접속되었습니다! 로그인 중 ..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "%1 서버 접속이 실패하였습니다. %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"SSL 함호화를 사용하여 %1:%2에 연결할 수 없습니다. 아마도 서버에서 SSL을 지원하지 않는 것 같습니다. 혹은 프토가 잘못 되었을 수도 "
+"있습니다. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL 연결 에러"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "서버로부터 연결이 끊어졌습니다."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+#, fuzzy
+msgid "Nickname error"
+msgstr "닉네임"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "서버로부터 데이터를 읽는데 에러입니다. %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "%1에 전송하기 위한 파일 선택하기"
+
+#: src/server.cpp:1711
+#, fuzzy
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1은 %2 (%3)를 통해 접속 중"
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "알 수 없는 크기"
+
+#: src/server.cpp:1742
+#, fuzzy
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "%1은 %2 (%3)를 통해 접속 중"
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "%3(으)로부터 (위치 %2) 파일 \"%1\"에 대한 유효하지 않은 재개 요청을 받았습니다."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "%3(으)로부터 (위치 %2) 파일 \"%1\"에 대한 유효하지 않은 재개 요청을 받았습니다."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "%3(으)로부터 (위치 %2) 파일 \"%1\"에 대한 유효하지 않은 재개 요청을 받았습니다."
+
+#: src/server.cpp:1887
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "\"%1\" 파일의 DCC 전송이 끝났습니다."
+
+#: src/server.cpp:1890
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "\"%1\" 파일의 DCC 전송이 실패했습니다. 이유: %2"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "\"%1\" 파일의 DCC 업로드가 실패했습니다. 이유: %2"
+
+#: src/server.cpp:1928
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "알림메시지 %1(을)를 \"%2\"에게 보내는 중"
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1에 의해 채널 %2에 초대되었습니다. 초대를 수락하시겠습니까?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "초대"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "에러: \"%1\" 스크립트를 찾을 수 없습니다."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "에러: \"%1\" 스크립트를 실행할 수 없습니다. 파일 권한을 확인하세요."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "지금 바로 떠나기"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "당신은 이제 자리비움으로 표시되었습니다."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "당신은 더이상 자리비움으로 표시되지 않습니다."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "당신은 자리비움으로 표시되지 않았습니다."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "온라인 상태 닉네임 관찰됨"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "네트워크/닉네임/채널"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "추가적인 정보"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>이들은 모두 여러분의 관찰대상 목록 닉네임에 있는 닉네임들입니다. 그들이 연결된 서버 밑에 나열되어있습니다. 목록은 또한 서버 네트워크에 "
+"연결되어 있고 K주소록에 있는 닉네임들도 포함합니다.</p>"
+"<p><b>추가적인 정보</b>칸은 각 닉네임에 대해 알려진 정보를 보여줍니다.</p>"
+"<p>닉네임이 있는 채널들은 각 닉네임 밑에 나열되어있습니다.</p>"
+"<p><b>오프라인</b>밑에 있는 닉네임들은 네트워크에서 어떤 서버와도 연결되어 있지 않습니다.</p>"
+"<p>닉네임 위에서 마우스로 오른쪽 클릭을 하면 추가적인 기능을 수행할 수 있습니다.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "관찰 목록 편집(&E)..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "이 스크린에 표시되는 닉네임의 목록을 편집하기 위해 클릭하십시오."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "주소록:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr "다음 목록에 있는 닉네임을 선택할 때, 여기에 있는 버튼들은 K주소록에 있는 항목과 함께 닉네임을 연결하는데 사용됩니다."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "연락처 편집(&O)..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr "아래에 선택한 닉네임에 연결된 K주소록 항목을 생성하기, 보기, 편집하기 위해 클릭하십시오."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "연결 변경하기(&C)..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "아래에 선택된 닉네임과 K주소록에 있는 항목을 연결하기 위해 클릭하십시오."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "연결 삭제(&D)"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "아래에 선택된 닉네임과 K주소록 항목간의 연결을 제거하기 위해 클릭하십시오."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr "%1을 통해 온라인"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " %1 부터"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "오프라인"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " 보이스"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " 부운영자"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " 운영자"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " 소유자"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " 관리자"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "새로운 연락처 생성(&O)..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "연결 선택(&C)..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "채널 입장(&J)"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "사운드파일 선택"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** 로그파일 시작됨\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "자동적으로 초대된 채널에 입장"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "로그파일을 저장하는 것이 전체 파일을 저장하는 것을 알림"
+
+#: src/warnings_preferences.cpp:107
+#, fuzzy
+msgid "Ask before deleting logfile contents"
+msgstr "로그파일 내용을 삭제하기 전에 물어보기"
+
+#: src/warnings_preferences.cpp:108
+#, fuzzy
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "닉네임을 무시한 후 쿼리를 닫는 것에 대해 물어보기"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "<qt>네트워크에 있는 서버에 접속할 때 관찰하기 위한 닉네임입니다.</qt>"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "<qt>네트워크에 있는 서버에 접속할 때 관찰하기 위한 닉네임입니다.</qt>"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "서버탭 닫기"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "채널 탭 닫기"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "쿼리 탭 닫기"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "채널 리스트는 서버측 탭으로부터만 열릴 수 있습니다."
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "주요 창 메뉴를 숨기는 것을 경고"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "채널 목록으로 높은 트래픽을 경고"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "문장의 큰 부분을 지나가는 것을 경고"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "온라인 상태 사람들 - 콘버세이션"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "채널 목록"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "필터 셋팅"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "최소 사용자(&I):"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "최대 사용자(&X):"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "채널의 인원을 최소 사용자로 제한할 수 있습니다. 0을 선택하는 것은 이 기준을 사용하지 않겠다는 것입니다."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "사용자들의 최대 숫자로 이 채널에 채널 목록을 제한할 수 있습니다.0을 선택하는 것은 이 기준을 사용하지 않겠다는 것입니다."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "필터 패턴(&P):"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "필터 대상:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "필터 문장을 여기에 입력하십시오."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "정규표현식(&R)"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "필터 적용(&Y)"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "서버로부터 채널의 목록을 검색하고 필터를 적용하기 위해 이곳을 클릭하십시오. "
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"여기에 걸러진 채널의 목록이 보입니다. 만약 정규표현식을 사용하지 않는다면, Konversation은 여러분이 입력한 필터 문장을 포함하는 "
+"채널의 어떤 이름을 나열합니다.채널 이름은 여러분이 입력한 문장으로 시작하지 않습니다.\n"
+"\n"
+"채널을 클릭하는 것으로 입장하고 싶은 채널을 선택하십시오. 채널의 주제에 언급된 모든 웹주소의 목록을 얻기 위해 채널에서 오른쪽 클릭하십시오."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "채널 이름"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "채널 주제"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "목록 갱신(&F)"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "목록 저장(&V)..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "채널 입장(&J)"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "채널에 입장하기 위해 이곳을 클릭하십시오. 채널에 대한 새 탭이 생성되었습니다."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "채널 목록 저장"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation 채널 목록: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "채널: %1 (%2개 보임)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "비 단일 사용자: %1 (%2명 보임)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL 열기"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<발견된 URL 이 없습니다>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1에 대한 채널 목록"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "온라인"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"다른 KDE 응용프로그램이 인스턴트 메시징을 위해 Konversation을 사용하려 시도하고 있습니다만 메시지를 전달하기 위해 어떤 연락처도 "
+"지정하지 않았습니다. 이것은 다른 응용프로그램에서의 버그일 것입니다."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"다른 KDE 응용프로그램이 인스턴트 메시징을 위해 Konversation을 사용하려 시도하고 있습니다만 Konversation이 K주소록에서 "
+"지정된 연락처를 찾을 수 없습니다."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"다른 KDE 응용프로그램이 인스턴트 메시징을 위해 Konversation을 사용하려 시도하고 있습니다만, 요청된 사용자 %1 이 온라인 상태가 "
+"아닙니다."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"다른 KDE 응용프로그램이 연락처에 파일을 전송하기 위해 Konversation을 사용하려 시도했습니다만, 파일을 전송하기 위한 어떤 연락처도 "
+"지정되지 않았습니다. 이것은 아마도 다른 응용프로그램의 버그인 것 같습니다."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"다른 KDE 응용프로그램이 연락처에 파일을 전송하기 위해 Konversation을 사용하려 시도했습니다만 Konversation은 K주소록에서 "
+"지정된 연락처를 찾을 수 없었습니다."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"다른 KDE 응용프로그램은 연락처에 파일을 전송하기 위해 Konversation을 사용하려 시도했습니다만 요청된 사용자 %1은 현재 온라인이 "
+"아닙니다."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"다른 KDE 응용프로그램이 연락처를 추가하기 위해 Konversation을 사용하려 시도했습니다. Konversation은 이것을 지원합니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"주소록 프로그램(K주소록)을 실행할 수 없습니다. 이것은 대부분 설치되지 않았기 때문일 것입니다. 'kdepim' 패키지들을 설치하여주십시오."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "여러분이 선택한 연락처는 그것과 연관된 이메일 주소를 가지고 있지 않습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "이메일을 전송할 수 없습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"여러분의 이메일 프로그램을 실행할 수 없습니다. 이것은 아마도 하나가 설치되지 않았기 때문일 것입니다. KDE 이메일 프로그램(K메일)을 "
+"설치하기 위해 kdepim 패키지를 설치하여 주십시오."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "여러분이 선택한 연락처 중 아무것도 주소록 연락처와 연결되지 않았습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "여러분이 선택한 연락처가 주소록 연락처와 연결되어 있지 않습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr "여러분이 선택한 몇몇 연락처들은 (%1) 주소록 연락처와 연력되지 않았습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr "여러분이 선택한 연락처들 중 하나는 (%1) 주소록 연락처와 연결되어 있지 않습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"여러분은 연락처 위에서 오른쪽 클릭을 할 수 있으며, 여러분의 주소록에 있는 연락처와 연결할 수 있도록 주소록 연결을 편집할 수 있게 선택할 "
+"수 있습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "여러분이 선택한 연락처 중 아무것도 이메일 주소를 가지고 있는 것이 없습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "여러분이 선택한 몇몇 연락처들은 (%1) 그것과 연결된 이메일 주소가 없습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "여러분이 선택한 연락처 중 하나는 (%1) 그것과 연결된 이메일 주소가 없습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr "연락처에서 오른쪽 클릭을 할 수 있으며 이메일을 추가할 수 있도록 주소록 연락처를 편집할 수 있습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"여러분이 선택한 몇몇 연락처가 (%1) 주소록 연락처와 연결되어 있지 않습니다.그리고 몇몇 연락처(%2)는 이메일 주소와 연결되어 있지 "
+"않습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"연락처에서 오른쪽 클릭을 할 수 있습니다. 그리고 여러분의 주소록에 있는 연락처와 연결할 수 있도록 주소록 연결을 편집하도록 선택할 수 "
+"있습니다. 이메일 주소를 추가하기 위해 주소록 연락처를 편집할 수 있습니다."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"이메일 주소를 가지고 있는 닉네임에 어쨌든 이메일을 보내길 원하십니까?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "이메일 보내기"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC 닉네임을 주소록 연락처에 연결하기"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "'%1'을 선택하기"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "현재 '%1'(이)가 연락처와 연결되어 있습니다."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "현재 '%1'(이)가 연락처 '%2'와 연결되어 있습니다."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>경고:</b> '%1'은 현재 여러 연락처에 포함된 것으로 나타납니다. 올바른 연락처를 선택하여 주십시오.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "새 주소록 항목"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "새로운 항목 이름:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL 수집기"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "이 세션에서 Konversation 창의 어느 것에서 언급했던 단일형 리소스 위치자의 목록"
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL 열기(&O)"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>아래에 있는 <b>URL</b>을 선택하십시오. 다음으로 URL의 MIME형식과 연결할 응용프로그램을 실행하기 위해 이 버튼을 "
+"클릭하십시오.</p>"
+"<p><b>동작</b> | <b>일반</b> 아래에 있는 <b>설정</b>에서 여러분은 웹 URL에 대한 사용자 정의 웹 브라우저를 지정할 수 "
+"있습니다.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL 복사(&C)"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "아래에 있는 <b>URL<b>을 선택하십시오. 그 다음 클립보드에 URL을 복사하기 위해 이 버튼을 클릭하십시오."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL 삭제(&D)"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "아래에 있는 <b>URL</b>을 선택하십시오. 그 다음 목록에서 URL을 삭제하기 위해 이 버튼을 클릭하십시오."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "목록 저장(&V)..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "파일에 전체 목록을 저장하기 위해 클릭하십시오."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "목록 비우기(&L)"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "전체 목록을 삭제하기 위해 클릭하십시오."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL 목록 저장"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "다중행 붙이기 편집"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "인용문 알림 표시 추가(&Q)"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "채널(&H):"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "채널 이름이 필요합니다."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "순수 로그"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "현재 탭에서 문장 찾기"
+
+#: src/viewcontainer.cpp:545
+#, fuzzy, c-format
+msgid "Channel &List for %1"
+msgstr "%1에 대한 채널 목록"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1에 대한 로그파일 열기(&O)"
+
+#: src/viewcontainer.cpp:576
+#, fuzzy
+msgid "&Channel Settings for %1..."
+msgstr "%1에 대한 채널 옵션들"
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "기본 ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "텍스트 영역에서만 찾을 수 있습니다."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "텍스트 정보 찾기"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1의 로그파일"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC 상태"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"이 함수를 사용하는 것은 많은 네트워크 부하를 일으킵니다. 여러분의 연결 회선이 충분히 빠르지 않다면 여러분의 클라이언트가 서버에 의해 끊기게 "
+"될지도 모릅니다."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "채널 목록 경고"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr "채널 목록은 이 목록이 속한 서버에서 찾으려는 쿼리, 채널, 상태앙으로부터 열릴 수 있습니다."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"네트워크의 이름을 여기에 입력하십시오. 여러분은 여러분이 원하는 같은 네트워크와 함께 서버 목록 스크린에서 많은 항목을 생성할 수 있을 "
+"것입니다."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"존재하는 인증을 선택하거나 새로운 인증을 추가하기 위해 편집 버튼을 클릭하거나 존재하는 인증을 수정하십시오. 인증은 여러분을 인증할 것이고 "
+"네트워크에 여러분이 접속할 때 여러분의 닉네임을 결정할 것입니다."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"부가적임. 이 명령은 연결 후 서버에 전달될 것입니다. 예를들어 <b>/msg NickServ IDENTIFY <i>konvirocks</i>"
+"</b> 와 같이 말입니다. 이 예는 freenode 네트워크에서 하는 것이며 패스워드와 함께 닉네임을 가입해야 합니다. 그리고 연결할 때 "
+"로그인 해야 합니다. <i>konvirocks</i>는 인증에 주어진 닉네임에 대한 패스워드 입니다. 세미콜론으로 명령어를 구분함으로써 더 "
+"많은 명령을 입력할 수 있습니다."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr "Konversation을 시작할 때 자동으로 이 네트워크에 연결하길 원한다면 이곳을 클릭하십시오."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"이것은 네트워크에 있는 IRC 서버의 목록입니다. 네트워크에 연결할 때 Konversation은 맨 위에 있는 서버에 먼저 연결 시도를 할 "
+"것이빈다. 만약 실패하면 다음 서버에 시도할 것입니다. 만약 그것도 실패한다면 세번째 서버에 시도할 것입니다. 적어도 한 서버는 지정되어야만 "
+"합니다. 지정할 서버를 클릭하십시오."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"부가적임. 이것은 Konversation이 서버에 연결되었을 때 자동적으로 입장할 채널의 목록입니다. 만약 어느 채널에도 자동으로 입장하지 "
+"않길 원하신다면 빈칸으로 두십시오."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "네트워크 정보 변경"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "서버 추가"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "서버 편집"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "채널 추가"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "채널 편집"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "네트워크 이름이 필요합니다."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "네트워크에 적어도 하나의 서버가 필요합니다."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation 테마"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "테마 패키지 선택"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "테마 다운로드가 실패"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "테마 아카이브가 유효하지 않습니다."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "테마를 설치할 수 없음"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "%1(을)를 제거하길 원하십니까?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "테마 제거"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC 클라이언트"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "수신자 선택"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "닉네임을 선택하고 창을 닫으십시오."
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "변경하지 않고 창 닫기"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "닉네임얻기: 서버 %1 (을)를 찾을 수 없습니다."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "관리자가 파일을 받을 권한을 제한했습니다."
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "지원하지 않는 내용 (파일크기=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>폴더를 생성할 수 없습니다.</b><br>폴더: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "KIO 인스턴스를 생성할 수 없습니다"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>파일이 이미 존재합니다.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>부분 파일이 존재합니다.</b><br>%1<br>부분 파일의 크기: %2 bytes<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>파일이 이미 존재합니다.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>파일을 열 수 없습니다.<br>오류: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "연결에 대한 패스워드"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "원격 호스트의 승인을 기다리는 중입니다."
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "원격 호스트로부터 예상하지 못한 응답입니다."
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "전송 오류 "
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO 오류: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>이 쿼리에서 얘기를 나눴던 사람들의 몇몇 세부사항은 이 막대에 보입니다. 전체이름과 호스트마스크가 몇몇 이미지나 이 사람이 KDE "
+"주소록에 있는 연락처와 연결되 어 있는 로고와 함께 보이게 됩니다."
+"<p>주소록에 있는 연락처에 닉네임을 연결하는 것에 대한 자세한 정보와 호스트 마스크가 무엇인지에 대한 설명에 대해서 <i>"
+"Konversation 핸드북</i>을 보십시오.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr " (자리 비움)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "%1을 무시하길 원하십니까?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "이 닉네임을 무시한 후 쿼리를 닫길 원하십니까?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "이 쿼리를 닫기"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "열린채로 두기"
+
+#: src/channel.cpp:638 src/query.cpp:408
+#, fuzzy
+msgid "Do you want to stop ignoring %1?"
+msgstr "%1을 무시하길 원하십니까?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "인증 기본 ( %1 )"
+
+#: src/query.cpp:600
+#, fuzzy
+msgid "Do you want to close your query with %1?"
+msgstr "%1로 여러분의 쿼리를 닫길 원하십니까?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "쿼리 닫기"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "여러분 스스로 말하기"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1(이)가 이 서버를 나갔습니다."
+
+#: src/query.cpp:669
+#, fuzzy
+msgid "%1 has left this server (%2)."
+msgstr "%1이 이 서버 %2(을)를 떠났습니다."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD 미리보기 - 위치를 바꿀 곳으로 드래그"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "운영자"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "관리자"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "소유자"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "부운영자"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "보이스 갖기"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+#, fuzzy
+msgid "Interface"
+msgstr "인터페이스(&I):"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "동작"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "공지"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "채팅 창"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "색상"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "빠른 버튼"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "연결"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "닉네임 목록"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "명령 연결"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "자동 대체"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "로그인 중"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "강조"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "관찰된 닉네임"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "스크린에 표시"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "경고 대화상자"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC 수신 질문"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "계속(&R)"
+
+#: src/dccresumedialog.cpp:87
+#, fuzzy
+msgid "O&riginal Filename"
+msgstr "파일 이름 입력"
+
+#: src/dccresumedialog.cpp:88
+#, fuzzy
+msgid "Suggest &New Filename"
+msgstr "새 이름 제안(&N)"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "덮어쓰기(&O)"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "이름바꾸기(&E)"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "앞으로 찾기"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "대소문자 구분"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "전체 단어로만"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "커서부터"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "탭 닫음(&T)"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "%1로부터 접속을 끊겠습니까?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "서버로부터 접속을 끊었습니다."
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "접속끊기"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "상태"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "상대방"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "진행"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "위치"
+
+#: src/dcctransferpanel.cpp:84
+#, fuzzy
+msgid "Remaining"
+msgstr "잔여"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "속도"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "발신자 주소"
+
+#: src/dcctransferpanel.cpp:115
+#, fuzzy
+msgid "Accept"
+msgstr "수용(&A)"
+
+#: src/dcctransferpanel.cpp:116
+#, fuzzy
+msgid "Abort"
+msgstr "중단(&B)"
+
+#: src/dcctransferpanel.cpp:118
+#, fuzzy
+msgid "Open File"
+msgstr "파일 열기(&O)"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "수신 시작"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "전송 중지"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "파일 실행"
+
+#: src/dcctransferpanel.cpp:125
+#, fuzzy
+msgid "View DCC transfer details"
+msgstr "DCC 전송"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "모든 항목 선택(&S)"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "완성된 모든 항목 선택(&E)"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "수용(&A)"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "중단(&B)"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "계속(&R)"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "비우기(&C)"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "파일 열기(&O)"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "파일 정보(&I)"
+
+#: src/channel.cpp:128
+#, fuzzy
+msgid "Edit Channel Settings"
+msgstr "다른 설정(&T)"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>IRC의 모든 채널은 관련된 주제를 가지고 있습니다. 이것은 단순히 모든 사람이 볼 수 있는 메시지입니다."
+"<p>만약 여러분이 운영자라면 혹은 채널 모드 <em>'T'</em>가 설정되지 않았다면, 여러분은 주제 왼쪽의 채널 속성 편집 버튼을 "
+"클릭하는 것으로 주제를 변경할 수 있습니다. 여러분은 또한 그곳의 이전 주제들도 볼 수 있습니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다."
+"<p><b>주제</b>모드는 채널에 대한 주제를 운영자만이 변경할 수 있음을 의미합니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다. "
+"<p><b>외부로부터의 메시지 없음</b>은 채널에 없는 사용자가 채널에 있는 모든 사람이 볼 수 있는 메시지를 보낼 수 없음을 의미합니다. "
+"대부분 모든 채널이 쓸데없는 메시지를 막기위해 이것을 설정해둡니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 변경할 수 있습니다. "
+"<p><b>비밀</b> 채널은 채널 목록에서 보이지 않을 것입니다. 또한 <em>WHOIs</em> "
+"명령이나 유사한 명령으로 여러분이 있는 채널을 볼 수 없습니다. 이 모드가 설정되면 같은 채널에 있는 사람만이 이 채널에 당신이 있다는 것을 "
+"알 수 있습니다."
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다. "
+"<p><b>채널만 초대하기<b>는 오로지 초대 받은 사람만이 채널에 들어올 수 있음을 의미합니다. 누군가를 초대하기 위해 채널 운영자는 채널 "
+"안에서 <em>/invite 닉네임</em> 명령을 입력할 필요가 있습니다.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다."
+"<p><b>즐겨찾는 채널</b>은 모든 나열된 채널들을 보여주지만 채널의 주제는 보여주지 않습니다. 사용자의 <em>WHOIS</em>"
+"는 IRC 서버에 따라 개인 채널에 있는지 여부를 보여줄 수도 있고, 보여줄 수 없을 수도 있습니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다. "
+"<p><b>조정된 채널</b>은 운영자, 부운영자 그리고 발언권을 얻은 사람들만 말할 수 있는 곳입니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다. "
+"<p><b>보호되는 채널</b>은 사용자가 입장하기 위해서 '패스워드'가 필요합니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 운영자만이 이것을 변경할 수 있습니다. "
+"<p>사용자 <b>제한</b>을 갖고 있는 채널은 몇몇의 사용자만을 가지고 있는 채널입니다. 몇몇 채널은 봇을 넣어 채널에 두고 자동으로 "
+"채널이 얼마나 바쁜지 등을 조절하게 됩니다.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "채널에서 허용된 최대 사용자"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>이것은 채널 사용자 제한입니다. 최대 사용자 수는 동시에 채널에 있을 수 있는 사용자의 수를 말합니다. 만약 당신이 운영자라면 이것을 "
+"설정할 수 있습니다. 채널 모드 (왼쪽에 있는 버튼)<b>주제</b>는 자동적으로 이것을 설정하면 설정됩니다.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>이것은 여러분의 현재 닉네임을 보여줍니다. 그리고 대체될 닉네임들을 설정합니다. 만약 여러분이 다른 닉네임을 선택하거나 입력했다면, "
+"IRC 서버에 여러분의 닉네임을 변경하도록 전송할 수 있습니다. 만약 서버가 그것을 허용한다면 새로운 닉네임이 선택될 것입니다. 만약 새로운 "
+"닉네임을 입력했다면 여러분은 끝에 '엔터'키를 누를 필요가 있습니다. "
+"<p>여러분은 <em>파일</em> 메뉴에 있는 <em>인증</em>옵션에 변경된 대체 닉네임을 추가할 수 있습니다.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "선택된 사용자를 무시하길 원하십니까?"
+
+#: src/channel.cpp:640
+#, fuzzy
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "선택된 사용자를 무시하길 원하십니까?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "완성"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "가능한 완성: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "채널 패스워드"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "닉네임 제한"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "새로운 닉네임 제한을 입력하십시오:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "당신은 이제 %1입니다."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1(이)가 닉네임을 %2로 바꾸었습니다."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "%1 채널에 입장했습니다. (%2)"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1(이)가 이 채널에 입장했습니다. (%2)"
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "당신은 이 서버를 떠났습니다."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "여러분은 이 서버를 떠났습니다. (%1)"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "%1 채널에서 나왔습니다."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "여러분은 채널 %1 에서 떠났습니다. (%2)"
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1(은)는 이 서버를 떠났습니다. (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1(은)는 이 채널을 떠났습니다."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1(은)는 이 채널을 떠났습니다. (%2)"
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "당신은 스스로를 채널 %1 에서 킥했습니다."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "채널 %1 에서 당신 스스로를 킥했습니다. (%2)"
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2에 의해 채널 %1에서 킥되었습니다."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2에 의해 채널 %1 에서 킥당했습니다. (%3)"
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "채널에서 %1(을)를 킥하였습니다."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "채널에서 %1(을)를 쫓아냈습니다. (%2)"
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1(은)는 %2에 의해 채널에서 퇴장당했습니다."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1(은)는 %2에 의해 채널에서 퇴장당했습니다. (%3)"
+
+#: src/channel.cpp:1506
+#, fuzzy, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n 닉네임\n"
+"%n 닉네임"
+
+#: src/channel.cpp:1507
+#, fuzzy, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+"(%n 운영자)\n"
+"(%n 운영자)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "채널 주제는 \"%1\"입니다."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "채널 주제가 \"%1\"(으)로 바뀌었습니다."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1(이)가 채널 주제를 \"%2\"(으)로 바꿨습니다."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "스스로에게 채널 소유자 권한을 주었습니다."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "채널 소유자 권한을 %1에게 주었습니다."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1(이)가 채널 소유자 권한을 당신에게 주었습니다."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1(이)가 채널 관리자 권한을 %2에게 주었습니다."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "스스로 채널 소유자 권한을 없앴습니다."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "%1에게서 채널 소유자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1(이)가 당신의 채널 소유자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1(이)가 %2에게서 채널 소유자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "스스로에게 채널 관리자 권한을 주었습니다."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "채널 관리자 권한을 %1에게 주었습니다."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1(이)가 채널 관리자 권한을 당신에게 주었습니다."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1(이)가 채널 관리자 권한을 %2에게 주었습니다."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "스스로 채널 관리자 권한을 없앴습니다."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "%1에게서 채널 관리자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1(이)가 당신의 채널 관리자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1(이)가 %2에게서 채널 관리자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "스스로에게 채널 운영자 권한을 주었습니다."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "채널 운영자 권한을 %1에게 주었습니다."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1(이)가 채널 운영자 권한을 당신에게 주었습니다."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1(이)가 채널 운영자 권한을 %2에게 주었습니다."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "스스로 채널 운영자 권한을 없앴습니다."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "%1에게서 채널 운영자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1(이)가 당신의 채널 운영자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1(이)가 %2에게서 채널 운영자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "당신은 당신 스스로 부운영자 권한을 주었습니다."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "당신은 %1에게 부운영자 권한을 추었습니다."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1(은)는 당신에게 부운영자 권한을 주었습니다."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1(이)가 부운영자 권한을 %2에게 주었습니다."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "스스로 부운영자 권한을 없앴습니다."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "%1에게서 부운영자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1(이)가 당신의 채널 관리자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1(이)가 %2에게서 부운영자 권한을 뺏었습니다."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "스스로 발언권을 얻었습니다."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "%1에게 발언권을 줬습니다."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1(이)가 당신에게 발언권을 줬습니다."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1(이)가 %2에게 발언권을 줬습니다."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "스스로 발언권을 없앴습니다."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "%1에게서 발언권을 뺏었습니다."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1(이)가 당신의 발언권을 뺏었습니다."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1(이)가 %2에게서 발언권을 뺏었습니다."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "이 채널을 색상 사용 금지 채널로 지정하였습니다."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1(이)가 채널을 색상 사용금지 채널로 지정하였습니다."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "이 채널에서 색상을 사용할 수 있게 했습니다."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1(이)가 채널에서 색상을 사용할 수 있게 했습니다."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "이 채널을 초대받은 사람만 올 수 있게 했습니다."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1(이)가 이 채널을 초대받은 사람만 올 수 있게 했습니다."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "이제 초대받지 않은 사람도 이 채널에 올 수 있습니다."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1(이)가 이 채널에 초대받지 않은 사람도 올 수 있게 했습니다."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "조정된 채널로 지정하였습니다."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1(이)가 조정된 채널로 지정하였습니다."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "이 채널을 자유 채널로 지정하였습니다."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1(이)가 이 채널을 자유 채널로 지정하였습니다."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "외부에서 메시지를 받지 않도록 지정하였습니다."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1(이)가 외부에서 메시지를 받지 않도록 지정하였습니다."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "외부에서 채널에 메시지를 보낼 수 있도록 지정하였습니다."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1(이)가 외부에서 채널에 메시지를 보낼 수 있도록 지정하였습니다."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "이 채널을 개인적인 채널로 지정하였습니다."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1(이)가 이 채널을 개인적인 채널로 지정하였습니다."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "이 채널을 공개채널로 지정하였습니다."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1(이)가 이 채널을 공개채널로 지정하였습니다."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "이 채널을 비밀 채널로 지정하였습니다."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1(이)가 이 채널을 비밀 채널로 지정하였습니다."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "이 채널을 밖에서 보이는 채널로 지정하였습니다."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1(이)가 이 채널을 밖에서 보이는 채널로 지정하였습니다."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "주제를 보호하도록 전환하였습니다."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1(이)가 주제를 보호하도록 전환하였습니다."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "아무나 주제 변경을 할 수 있도록 하였습니다."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1(이)가 아무나 주제 변경을 할 수 있도록 하였습니다."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "채널 주제가 \"%1\"(으)로 바뀌었습니다."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1(이)가 채널 주제를 \"%2\"(으)로 바꿨습니다."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "참여 인원 제한을 없앴습니다."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1(이)가 참여 인원 제한을 없앴습니다."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "%1명으로 참여 인원을 제한하였습니다."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1(이)가 참여 인원을 %2로 제한했습니다."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "참여 인원 제한을 없앴습니다."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1(이)가 참여 인원 제한을 없앴습니다."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "%1에 대한 밴을 설정하였습니다."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1(이)가 %2에 대한 밴을 설정하였습니다."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "%1에 대한 밴을 지웠습니다."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1(이)가 %2에 대한 밴을 지웠습니다."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "%1에 대한 밴 예외를 지정하였습니다."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1(이)가 %2에 대한 밴 예외를 지정하였습니다."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "%1에 대한 밴 예외를 지웠습니다."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1(이)가 %2에 대한 밴 예외를 지웠습니다."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "%1 마스크에 대해 초대를 설정했습니다."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1(이)가 %2에 대한 초대를 설정했습니다."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "%1에 대한 초대를 지웠습니다."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1(이)가 %2에 대한 초대를 지웠습니다."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "채널에 '%1' 모드를 지정했습니다."
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1(이)가 채널에 '%2' 모드를 지정했습니다."
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "채널에서 '%1' 모드를 제거했습니다."
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1(이)가 채널에서 '%2' 모드를 제거했습니다."
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "이것을 변경하기 위해 당신은 운영자가 되어야 합니다."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "채널 주제는 운영자만 변경할 수 있습니다. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "외부에 있는 클라이언트로부터 채널에 보낸 메시지는 없습니다. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "비밀 채널. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "초대 전용 채널. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "개인적인 채널. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "조정된 채널. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "패스워드로 채널 보호."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "채널에 사용자 제한 설정."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "%1로부터 접속을 끊겠습니까?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "채널 떠나기"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "떠나기"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Cho Sung Jae"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "jachin@netian.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "예약됨"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "행(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr "예"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "사운드(&S):"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "행(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr "예"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "일반 사용자"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "예약됨"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "예약됨"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "수신자:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "버튼 이름"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "버튼 작동"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, fuzzy, no-c-format
+msgid "Button action:"
+msgstr "버튼 작동:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "버튼 이름"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"다음 표시를 사용할 수 있습니다:\n"
+"%c: 현재 채널\n"
+"%k: 채널 키 (아직 작동하지 않음)\n"
+"%K: 서버 키\n"
+"%u: 선택된 닉네임 목록\n"
+"%s<단어>%: %u의 별명을 구분하기 위해 사용된 단어\n"
+"%n: 입력창에 넣는 대신 바로 서버로 보냄"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "파일:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, fuzzy, no-c-format
+msgid "Self:"
+msgstr "자기 스스로"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "형식"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "상태"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "액션(&N):"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "진행:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "상대방"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "파일 열기(&O)"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "파일:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "계속(&R)"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "현재 사용 닉네임"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "위치"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "다음으로 저장:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "전송 오류 "
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "자동 재연결 사용하기"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "재연결 초과시간:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "재연결 시도:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr "초"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "제한 없음"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "디버그"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "시작하면서 raw 로그 창을 보임(&L)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "패턴"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "형식"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "패턴:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "메시지 형식"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "새로 생성(&N)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "모두 제거(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "네트워크 이름(&N):"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, fuzzy, no-c-format
+msgid "Identity:"
+msgstr "사용자(&I):"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, fuzzy, no-c-format
+msgid "Commands:"
+msgstr "명령어(&M)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "응용프로그램이 시작할 때 연결(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "서버"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "추가..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "편집..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "채널 자동 입장"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "편집..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, fuzzy, no-c-format
+msgid "Alias:"
+msgstr "연결"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, fuzzy, no-c-format
+msgid "Replacement:"
+msgstr "대체"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "연결"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "대체"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "다음 찾기(&X)"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "이전 찾기"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "더블클릭으로 실행될 명령(&C):"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "대소문자 구분하여 정렬"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "쿼리 활성화 시(&Q)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "사용자 상태로 정렬(&Y)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "설명"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(드래그 앤 드랍으로 닉네임 정렬 순서 재 정렬)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "테마 설정"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "테마 설치(&N)..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "테마 제거(&R)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "일반 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "자리비운 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "발언권을 갖고 있는 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "부운영권자 권한을 갖고 있는 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "운영자 권한을 갖고 있는 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "관리자 권한을 갖고 있는 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "소유자 권한을 갖고 있는 사용자에 대한 아이콘"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "미리보기:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "탭막대 설정"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "찾기"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, fuzzy, no-c-format
+msgid "Placement:"
+msgstr "대체:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, fuzzy, no-c-format
+msgid "Show &close button on tabs"
+msgstr "각 탭에 닫기 버튼 보임(&U)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, fuzzy, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "탭 막대의 오른쪽에 닫기 버튼 보이기(&D)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, fuzzy, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "스크린의 크기에 맞춰 탭 레이블의 크기 제한하기"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, fuzzy, no-c-format
+msgid "Focus"
+msgstr "커서부터"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "모드"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "닉네임을 더블클릭했을 때 실행될 명령(&X):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p><b>온라인 상태 닉네임</b> 창에서 닉네임을 더블클릭 했을 때, 이 명령이 \n"
+"서버 창에 있는 <b>입력 행</b>에 위치합니다.</p>\n"
+"<p>다음 심볼들은 명령에서 사용될 수 있습니다.</p>"
+"<ul>\n"
+"<li>%u: 더블클릭한 닉네임.</li>\n"
+"<li>%K: 서버 패스워드.</li>\n"
+"<li>%n: 입력행 대신 서버에 바로 전달할 명령.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p><b>온라인 상태 닉네임</b> 창에 있는 닉네임을 더블클릭 했을 때, 이 명령이 \n"
+"서버창에 있는 <b>입력 행</b>에 위치합니다.</p>\n"
+"<p>다음 심볼들은 명령에 사용될 수 있습니다.</p>"
+"<ul>\n"
+"<li>%u: 더블클릭한 닉네임.</li>\n"
+"<li>%K: 서버 패스워드.</li>\n"
+"<li>%n: 입력행 대신 서버에 직접 전달할 명령.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "업데이트 주기:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "Konversation은 이 기간동안 나열할 닉네임의 상태를 체크할 것입니다."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "응용프로그램 시작시에 온라인 탭에 관찰중인 닉네임 보이기(&S)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>이것이 체크되면, Konversation이 시작될 때 <b>온라인 상태 닉네임</b> 창이 자동적으로 열릴 것입니다.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "닉네임 감시기 사용하기(&E)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"닉네임 감시기가 켜졌을 때, 닉네임이 <b>관찰된 네트워크/닉네임</b> 목록에서 온라인이거나 오프라인으로 나타났을 때 알려줄 것입니다.</p>"
+"\n"
+"<p>당신은 또한 <b>온라인 상태 닉네임</b> 창을 열고 관찰된 닉네임의 상태를 볼 수 있습니다.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "네트워크:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "관찰하기 위해 사용자가 선택한 ('freenode'와 같은) irc 서버 네트워크는 연결상태입니다."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "관찰하기 위해 선택된 사람의 닉네임 (사용자이름)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "관찰된 네트워크/닉네임"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"닉네임 감시기가 켜졌을 때, 닉네임이 <b>관찰된 네트워크/닉네임</b> 목록에서 온라인이거나 오프라인으로 나타났을 때 알려줄 것입니다.</p>"
+"\n"
+"<p>당신은 또한 <b>온라인 상태 닉네임</b> 창을 열고 관찰된 닉네임의 상태를 볼 수 있습니다.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "목록에 닉네임을 추가하기 위해 클릭"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "목록에서 선택된 닉네임을 제거하기 위해 클릭."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "로그인 사용하기(&E)"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "소문자 로그파일 이름 사용하기(%L)"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "로그파일 이름에 호스트이름 추가(&A)"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "로그파일 경로(&P):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "시스템 트레이 사용하기"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "새 메시지 알림에 대해 시스템 트레이 사용하기(&U)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "강조문장이나 당신의 현재 닉네임이 사용될 때만 알림"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "닉네임 완성"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "완성 모드(&M):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "닉네임 목록 순환"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "쉘 같은 형태"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "완성 박스가 있는 쉘 같은 형태"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "행의 시작에 접미사(&X):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "다른데서(&E):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "대소문자 구분"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "자리비움일 때 알림 사용하지 않기(&A)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "사용자 정의 버전 응답 사용(&V):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr "<qt>여기에 <b>CTCP <i>버전</i></b> 요청에 대한 사용자의 응답을 설정 할 수 있습니다.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "명령 문자(&D):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, fuzzy, no-c-format
+msgid "Use custom web &browser:"
+msgstr "사용자 정의 웹 브라우저 사용(&B):"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "스크린의 크기에 맞춰 탭 레이블의 크기 제한하기"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "당신이 IRC 입력행에 입력한 문장의 맞춤법을 확인하기 원한다면 사용하기"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, fuzzy, no-c-format
+msgid "Hidden to system tray"
+msgstr "시스템 트레이에 넣기"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "닉네임 다음에 실제 이름 보이기(&S)"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "응용프로그램 시작 시에 관찰하는 닉네임 탭 열기"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "이모티콘 사용하기"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "이모티콘 테마"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "주제(&C)"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "날짜"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "모드(&D)"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "채널 운영자에 의해서만 변경될 수 있는 주제(&T)"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "채널 외부 메시지 받지 않기(&N)"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "비밀 채널, 채널은 채널 목록에 나열되지 않을 것입니다.(&S)"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "초대되어야만 채널에 입장이 허용됩니다."
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>이것은 채널의 <em>모드</em>를 제어합니다. 이것은 운영자만 변경할 수 있습니다."
+"<p><b>초대 전용 채널</b>은 초대된 사람만 채널에 입장할 수 있음을 뜻합니다. 누군가를 초대하기 위해서 채널 운영자는 채널안에서 <em>"
+"/invite 닉네임</em> 명령을 사용해야 합니다.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "조정된 채널, 발언권을 갖고 있는 사람만 채널에 글을 쓸 수 있습니다.(&M)"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "채널 패스워드"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "사용자 제한(&L):"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "고급 모드 보이기(&A) >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, 백스페이스, 탭, 백스페이스"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "파라메터"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "밴 목록(&B)"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "밴 제거(&R)"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "밴 추가(&A)"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "호스트마스크"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "다음에 의해 설정"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "시간 설정"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "검색(&E):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC 설정"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "다운로드 폴더(&F):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "파일에 전송자 추가(&A)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "전송자에 대해 폴더 생성(&E)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, fuzzy, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "자동으로 다운로드 요청 수락(&Y)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "자동으로 다운로드 재개하기(&T)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "빠른 DCC 전송 사용하기 (몇몇 클라이언트에서는 작동하지 않을 것입니다)(&N)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "버퍼 크기(&Z):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC 전송 시간초과(&I):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, fuzzy, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "dcc 전송에 대한 IPv&4 인터페이스에 대해 대비:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "만약 이 옵션이 사용되면, 여기서 지정한 IPv4 인터페이스를 통해 IPv6 통신에 대한 dcc 전송이 완료될 것입니다."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr "바이트"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr "초"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "DCC 전송에 대한 지정된 포트 사용하기(&P):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "소유한 IP를 얻기 위한 방법(&M):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "소유 IP(&W):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, fuzzy, no-c-format
+msgid "Ports"
+msgstr "포트"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "DCC 채팅에 대한 지정된 포트 사용하기(&O):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "to"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "DCC 전송에 대한 지정된 포트 사용하기(&P):"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "색상 적용된 글자 사용하기"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "색상 적용된 LED 사용하기"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "응용프로그램 이벤트"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr "응용프로그램 이벤트는 콘솔탭, DCC 상태 탭에서 발생하며, 다른 응용프로그램 탭은 채팅에 직접적으로 사용되지 않습니다."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "메시지"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "서버 메시지(&S):"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "현재 사용 닉네임"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "채널 이벤트"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "채널 이벤트는 모드 변경이나 사용자 입장/퇴장 입니다. "
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "채팅창 강조 색상에 대한 선행 주기"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"만약 이것을 선택하면, 강조 설정 페이지에서 선택한 색상이 \"현재 사용 닉네임\"과 \"강조\"에 대한 색상을 덮을 것입니다."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "MOTD 메시지에 대해 고정폭 글꼴 사용하기(&X)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "고정폭 글꼴로 MOTD(Messages Of The Day, 그날의 메시지) 보이기"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, fuzzy, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "채팅창에서 전송자의 닉네임을 굵게 만들기(&B)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "채팅 문장:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "닉네임 목록:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "탭 막대:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "강조 목록(&H)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "강조"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "사운드"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "자동 문장"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "패턴(&P):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "색상"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "사운드(&S):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, fuzzy, no-c-format
+msgid "Test sound"
+msgstr "찾기 위한 문장:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "자동 문장(&A):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "강조된 목록 항목에 대해 사운드 사용하기(&B)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "현재 자신의 닉네임을 항상 강조하기(&Y):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "자신의 행 항상 강조하기(&L):"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "새 항목 생성(&E)..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "당신의 주소록에 새 항목 생성"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "사진"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "이름"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "인스턴트 메시징을 통해 통신하기 원하는 연락처 선택하기"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "검색(&E):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "ASCII 벨로 시스템 벨 사용하기(&Y)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "아스키 벨(0x07) 제어 문자를 받았을 때 시스템 밸 소리내기"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "입장/최장/닉네임 이벤트 숨기기(&J)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "변수 확장 (예를 들어 %C, %B, %G...) 사용하지 않기"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"서버에 텍스트를 전송할 때 변수를 확장하지 마십시오. '%'로 시작하는 변수, 예를 들어 %B는 텍스트를 굵게 표시하는데 필요한 문자로 확장될 "
+"것입니다."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, fuzzy, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "서버 상태 창에 모든 상태 메시지 보내기(&R)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "스크롤 백 제한(&B):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "얼마나 많은 행을 버퍼에 저장하시겠습니까? 0 = 제한없음"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "모드 변경에 대해 raw 모드 사용하기(&U)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"사람이 읽을 수 있는 단어들로 그것들을 번역하는 대신 문자의 조합으로서 채널 모드 문장을 유지하십시오. 예를 들어 '*** 채널 모드: 외부 "
+"메시지 없음'이 '*** 채널 모드: n'으로 변경될 것입니다."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " 온라인"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "서버 목록"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "모든 채널과 쿼리에서 기억한 행 보이기(&Q)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "자동 사용자 정보 검색 사용하기 (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "채널에서의 사용자 최대 수:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " 닉네임"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "업데이트 주기:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "스크린 표시 사용하기(&E)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "스크린 표시할 때(&S)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "그림자 그리기(&D)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD 글꼴:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "OSD 메시지 보이기(&O)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "만약 채널 메시지에서 닉네임이 나타나면(&I)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "어떤 채널 메시지에도(&Y)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "쿼리 활성화 시(&Q)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "입장/퇴장 이벤트 시(&J)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "사용잦 지정 색상 사용하기"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "텍스트 색상(&X):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "배경 색상(&B):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "다른 설정(&T)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "지속기간(&D):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "스크린(&C):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "창(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "추가"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "제거됨"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, fuzzy, no-c-format
+msgid "Replace In"
+msgstr "대체"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, fuzzy, no-c-format
+msgid "Find"
+msgstr "찾기(&F)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, fuzzy, no-c-format
+msgid "Replace With"
+msgstr "대체"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, fuzzy, no-c-format
+msgid "Replace in:"
+msgstr "대체:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, fuzzy, no-c-format
+msgid "Find:"
+msgstr "찾기(&F)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, fuzzy, no-c-format
+msgid "Replace with:"
+msgstr "대체:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "타임스탬프 사용하기(&T)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "날짜보기(&D)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "형식(&F):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "이전로그 보기"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "행(&L): "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "레이아웃(&L)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "채널 주제 보기(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "채널 모드 버튼 보이기(&M)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "가지고 있는 닉네임을 변경하기 위해 박스 보이기(&X)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "빠른 버튼 보이기(&Q)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "닉네임 다음에 실제 이름 보이기(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "채널 닉네임 목록과 빠른 버튼 보이기(&N)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "닉네임 목록에서 호스트마스크 보이기(&K)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "배경 이미지 사용하기(&G)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "경로(&A):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "사용자 지정 색상"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "배경(&B):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "서버 메시지(&S):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "하이퍼링크(&Y):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "채널 메시지(&M):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "액션(&N):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "이전로그(&K):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "명령 메시지(&D):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "쿼리 메시지(&Q):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "타임스탬프(&T):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "대채 배경(&L):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "색상적용된 닉네임"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "가지고 있는 닉네임 색상(&O):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "IRC 메시지에서 색상 적용된 문장 허용하기(&A)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"이 옵션을 사용하는 것으로, IRC 메시지에 추가된 색상 코드는 당신의 채팅 창에서 색상이 적용된 문장으로 표시될 것입니다. 삽입 -> "
+"IRC 색상을 선택하는 것으로 당신의 메시지에 색상 코드를 추가할 수 있습니다."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "미리보기"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "이것은 이 색상이 당신의 메시지가 어떻게 보이는지 나타냅니다."
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>이것은 당신이 이 색상들을 선택했을 때, 메시지를 읽는 사람들이 어떻게 보이는지의 미리보기입니다."
+"<br>\n"
+"<b>주의: 모든 클라이언트가 이것을 지원하지는 않습니다. 그리고 몇몇 사용자는 당신의 색상이 변경되는 것을 무시하도록 선택했을 수 "
+"있습니다.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "선택된 텍스트 색상이 입력행에 추가되었습니다."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>여기에서 당신이 다음에 보낼 메시지에 적용될 색상을 선택하십시오. 만약 색상을 선택하고 확인을 클릭하면 선택된 색상은 입력행에 "
+"추가됩니다. 이후에 작성된 어떤 텍스트는 색상을 다시 변경하기 전까지 선택된 색상이 적용될 것입니다."
+"<br>\n"
+"<b>주의: 모든 사용자가 이것을 보기 위한 옵션을 켜놓지는 않습니다.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "전경 색상(&F):"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "선택된 텍스트 배경색상이 입력행에 추가되었습니다."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>여기에서 전송할 다음 메시지에 대한 배경색을 선택하십시오.\n"
+"만약 색상을 선택하고 확인을 누르면, 선택된 색상은 입력행에 추가될 것입니다.\n"
+"이후 입력된 어떤 문장도 색상을 변경하기 전까지 그 색상을 유지할 것입니다."
+"<br>\n"
+"기본 \"<i>없음</i>\"을 선택하는 것은 메시지의 배경색을 변경하지는 않을 것입니다. 그러므로 메시지를 보는 쪽에서는 그들의 기본 "
+"배경색상으롣 당신의 메시지를 볼 것입니다. "
+"<br>\n"
+"<b>주의: 모든 클라이언트가 이것을 지원하지는 않습니다. 또한 모든 사용자가 이것을 보기 위해 이것을 설정하지는 않습니다.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "보이기 위한 대화상자 경고"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "패스워드(&P):"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "서버:"
+
+#, fuzzy
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
+
+#~ msgid "Messages"
+#~ msgstr "메시지"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "자리비움 메시지 보임(&W)"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "전역적으로 사용가능하게 설정(&A)"
+
+#~ msgid " s"
+#~ msgstr "초"
+
+#~ msgid "Every "
+#~ msgstr "매회 "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "DCC로 수신된 파일을 지우는 것을 경고"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1에 대한 키를 성공적으로 설정했습니다."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "\"%1\" 파일을 제거할 수 없습니다."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC 에러"
+
+#, fuzzy
+#~ msgid "Remove File"
+#~ msgstr "파일 제거(&R)"
+
+#, fuzzy
+#~ msgid "Transfer Details"
+#~ msgstr "DCC 세부사항(&D)"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "이 패널로부터 제거"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "수신된 파일 제거"
+
+#~ msgid "&Remove File"
+#~ msgstr "파일 제거(&R)"
+
+#, fuzzy
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "선택된 파일을 제거하길 원하십니까?\n"
+#~ "선택된 %n 파일들을 제거하길 원하십니까?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "삭제 확인"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "닉네임 다음에 닉네임 목록에 있는 사람의 실제 이름 보이기."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "%1 서버 접속이 끊겼습니다. %2. 재접속을 시도 중입니다."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "서버 %1로 대신 시도중입니다."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "다른 재연결 시도 전에 2분동안 기다리는 중입니다..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "사용가능한 참조 그룹들: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "그룹 %1 에서 사용가능한 옵션:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "사용예: 그룹을 나열하기 위해서 %1PREFS <group> <option> <value> 또는 %2PREFS LIST. 그룹의 옵션을 나열하기 위해서 %3PREFS 그룹 LIST. 공백을 포함할 경우 파라메터에 큰따옴표를 붙이십시오."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "DCC 세부사항(&D)"
+
+#~ msgid "Channel &key:"
+#~ msgstr "채널 키(&K):"
+
+#, fuzzy
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "자리비움 상태로 전환 했을 때 행 기억 삽입(&L)"
+
+#, fuzzy
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "자리비움 상태로 전환 했을 때 행 기억 삽입(&L)"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "연결"
+
+#~ msgid "Application Startup"
+#~ msgstr "응용프로그램 시작 시"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "서버 목록 대화상자 보이기(&S)"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1는 이 별명에 대해 인증된 사용자입니다."
+
+#~ msgid "&Channel"
+#~ msgstr "채널(&C)"
+
+#~ msgid "&Topic"
+#~ msgstr "주제(&T)"
+
+#~ msgid "&Save List..."
+#~ msgstr "목록 저장(&S)..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "초대시 자동으로 채널에 입장하기(&A)"
+
+#~ msgid "Offering"
+#~ msgstr "제공중"
+
+#, fuzzy
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "DCC 채팅에 대해 남는 포트가 없습니다."
+
+#~ msgid "Update &interval:"
+#~ msgstr "업데이트 주기(&I):"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "닉네임 감시자가 작동될 때, <b>감시된 네트워크/닉네임</b>에서 닉네임이 온라인 이거나 오프라인이 되면 알려줄 것입니다.</p>\n"
+#~ "<p>당신은 또한 모든 관찰된 닉네임의 상태를 보기 위해 <b>온라인 상태 닉네임</b>창을 열 수 있습니다.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "%1 포트에서 DCC 다운로드를 하고 있지 않습니다!"
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "포트 %1에서 실행중인 DCC 업로드가 없습니다."
+
+#, fuzzy
+#~ msgid "Alt+N"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "Alt+P"
+#~ msgstr "Alt+4"
+
+#, fuzzy
+#~ msgid "%1 %2 (port %3)"
+#~ msgstr "%1 (%2 사용자): %3"
+
+#~ msgid "File:"
+#~ msgstr "파일:"
+
+#~ msgid "Local Path:"
+#~ msgstr "지역 경로:"
+
+#, fuzzy
+#~ msgid "Open this file"
+#~ msgstr "파일 열기(&O)"
+
+#~ msgid "Sender:"
+#~ msgstr "송신자:"
+
+#~ msgid "Position:"
+#~ msgstr "위치"
+
+#, fuzzy
+#~ msgid "Accept this transfer"
+#~ msgstr "전송 중지"
+
+#, fuzzy
+#~ msgid "Abort this transfer"
+#~ msgstr "전송 중지"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "수신된 파일을 제거하기 원하십니까?"
+
+#, fuzzy
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "DCC 세부사항(&D)"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "위치"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "발신자 주소"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "발신자 주소"
+
+#~ msgid "Switch To"
+#~ msgstr "다음으로 전환"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1은 네트워크 관리자입니다."
+
+#~ msgid "&Channel:"
+#~ msgstr "채널(&C):"
+
+#~ msgid "Removed"
+#~ msgstr "제거됨"
+
+#, fuzzy
+#~ msgid "DCC %1: %2"
+#~ msgstr "DCC %1 : %2"
+
+#~ msgid "%1%2 is %3%4."
+#~ msgstr "%1%2은 %3%4"
+
+#~ msgid "&Network:"
+#~ msgstr "네트워크(&N):"
+
+#~ msgid " Command Aliases"
+#~ msgstr "명령어 연결"
+
+#, fuzzy
+#~ msgid "http://konversation.kde.org hosting"
+#~ msgstr "www.konversation.org 호스팅"
+
+#~ msgid "Various bug fixes"
+#~ msgstr "다양한 버그 수정"
+
+#~ msgid "Channel Options for %1"
+#~ msgstr "%1에 대한 채널 옵션들"
+
+#~ msgid "Switch to Away mode in all open connections"
+#~ msgstr "모든 열린 연결들에서 자리비움 모드로 전환"
+
+#~ msgid "You are marked as being away."
+#~ msgstr "당신은 자리비움으로 표시되었습니다."
+
+#~ msgid "Edit Channel Properties"
+#~ msgstr "채널 속성 편집"
+
+#, fuzzy
+#~ msgid "Ask about what to do on DCC resume"
+#~ msgstr "DCC 재개에서 무엇을 할지 물어보기"
+
+#~ msgid "Automatically re&join channels on reconnect"
+#~ msgstr "재연결시 자동적인 채널 재입장"
+
+#~ msgid "Version"
+#~ msgstr "버젼"
+
+#~ msgid "Ping"
+#~ msgstr "핑"
+
+#~ msgid "Server already connected."
+#~ msgstr "서버에 이미 접속되었습니다."
+
+#~ msgid "New Alias"
+#~ msgstr "모든 연결들"
+
+#~ msgid "Add alias:"
+#~ msgstr "연결 추가:"
+
+#~ msgid "RE"
+#~ msgstr "답장"
+
+#, fuzzy
+#~ msgid "DCC chat with %1 on %2:%3."
+#~ msgstr "%1의 DCC 챗 %2:%3"
+
+#, fuzzy
+#~ msgid "Resuming download of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "%2에서 제공한 \"%1\" 파일 전송을 %3부터 계속 하는 중."
+
+#, fuzzy
+#~ msgid "Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+#~ msgstr "%2에서 제공한 \"%1\" 파일 전송을 %3부터 계속 하는 중."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" to %2 finished."
+#~ msgstr "\"%1\" 파일의 DCC 업로드가 끝났습니다."
+
+#, fuzzy
+#~ msgid "Downloading \"%1\" (%2) from %3..."
+#~ msgstr "\"%1\" 파일의 DCC 전송이 끝났습니다."
+
+#~ msgid "&Follow nick changes"
+#~ msgstr "다음 닉네임 변경하기(&F)"
+
+#~ msgid "Output"
+#~ msgstr "출력"
+
+#~ msgid "Input"
+#~ msgstr "입력"
+
+#~ msgid "Input/Output"
+#~ msgstr "입력/출력"
+
+#~ msgid "Looking for host %1..."
+#~ msgstr "호스트 %1을 검색중..."
+
+#~ msgid "Host found, connecting..."
+#~ msgstr "호스트 발견, 연결중..."
+
+#~ msgid "Connection established."
+#~ msgstr "연결 완료."
+
+#~ msgid "&Default"
+#~ msgstr "기본(&D)"
+
+#~ msgid "Automatically insert &remember line after minimizing main window"
+#~ msgstr "주요창을 최소화 한 다음에 행 기억 자동 삽입하기(&R)"
+
+#~ msgid "Autoreplace Patterns"
+#~ msgstr "자동변환 패턴"
+
+#~ msgid "Direction:"
+#~ msgstr "방향:"
+
+#~ msgid "Direction"
+#~ msgstr "방향"
+
+#~ msgid "Input fields and nick list &uses custom colors"
+#~ msgstr "입력 영역과 닉네임 목록에 사용자 정의 색상 사용(&U)"
+
+#~ msgid "Offering \"%1\" to %2 for upload..."
+#~ msgstr "%2에 업로드 하기 위한 \"%1\"(을)를 제공합니다."
+
+#~ msgid "%1 (%2:%3) offers the file \"%4\" (%5) for download."
+#~ msgstr "%1 (%2:%3)은 다운로드에 대한 파일 \"%4\" (%5)(을)를 제공합니다."
+
+#, fuzzy
+#~ msgid "Upload of \"%1\" was accepted by %2."
+#~ msgstr "\"%1\" 파일의 DCC 업로드가 실패했습니다. 이유: %2"
+
+#~ msgid "Accepting DCC Resume request from \"%1\" for file \"%2\"."
+#~ msgstr "\"%1\"로부터 파일 \"%2\"에 대한 DCC 이어받기를 시작합니다."
+
+#~ msgid "Sending DCC Resume request to \"%1\" for file \"%2\"."
+#~ msgstr "\"%1\"에게 파일 \"%2\"에 대한 DCC 다시 보내기를 요청합니다."
+
+#~ msgid "<a href=\"Chat\">Chat in %1</a>"
+#~ msgstr "<a href=\"Chat\">%1 에서 채팅</a>"
+
+#~ msgid "<a href=\"Chat\">Chat with %1</a>"
+#~ msgstr "<a href=\"Chat\">%1 (와)과 함께 채팅</a>"
+
+#~ msgid "&Channel List for %1"
+#~ msgstr "%1에 대한 채널 목록(&C)"
+
+#~ msgid "Nicks Online"
+#~ msgstr "온라인 상태 닉네임"
+
+#~ msgid "Themes"
+#~ msgstr "테마"
+
+#~ msgid "Tab Bar"
+#~ msgstr "탭 막대"
+
+#~ msgid "Placement && Focus"
+#~ msgstr "위치 && 포커스"
+
+#~ msgid "Place tab bar at the top"
+#~ msgstr "최상위에 위치탭 막대"
+
+#~ msgid "&Bring new tabs to front"
+#~ msgstr "앞으로 새 탭을 보내기(&B)"
+
+#~ msgid "When someone queries you, focus new &query"
+#~ msgstr "누군가 당신에게 쿼리를 보내면, 새 쿼리에 포커스(&Q)"
+
+#~ msgid "Limit the si&ze of the tab labels to fit all on screen"
+#~ msgstr "스크린에 맞게 탭 레이블의 크기를 제한(&Z)"
+
+#~ msgid "Close Button"
+#~ msgstr "닫기 버튼"
+
+#~ msgid "View DCC detail information"
+#~ msgstr "DCC 세부사항 정보 보기"
+
+#~ msgid "DCC &Detail Information"
+#~ msgstr "DCC 세부 정보(&D)"
+
+#~ msgid "Find Text"
+#~ msgstr "본문 찾기"
+
+#~ msgid "Whole words"
+#~ msgstr "전체 단어"
+
+#~ msgid "Search forward"
+#~ msgstr "아래로 찾기"
+
+#~ msgid "Search for text"
+#~ msgstr "문장 찾기"
+
+#~ msgid "Close the window"
+#~ msgstr "창 닫음"
+
+#~ msgid "Show help here"
+#~ msgstr "여기에 도움말 보이기"
+
+#~ msgid "%1 has joined this channel (%2)."
+#~ msgstr "%1가 이 채널에 입장했습니다. (%2)"
+
+#~ msgid "You have kicked yourself from the channel (%1)."
+#~ msgstr "스스로 이 채널에서 강제퇴장했습니다. (%1)"
+
+#~ msgid "You have been kicked from the channel by %1 (%2)."
+#~ msgstr "%1에 의해서 채널에서 퇴장당했습니다. (%2)"
+
+#~ msgid "QuickButtons_ConfigUI"
+#~ msgstr "퀵 버튼 설정인터페이스"
+
+#~ msgid "Form1"
+#~ msgstr "형식1:"
+
+#~ msgid "GeneralBehavior_Config"
+#~ msgstr "일반 동작 설정"
+
+#~ msgid "FontAppearance_Config"
+#~ msgstr "글꼴모양 설정"
+
+#~ msgid "ChatWindowAppearance_Config"
+#~ msgstr "채팅창모양 설정"
+
+#~ msgid "%1 unknown %2"
+#~ msgstr "%1 알수 없는 %2"
+
+#~ msgid "Channel Owners"
+#~ msgstr "채널 소유자"
+
+#~ msgid "Channel Admins"
+#~ msgstr "채널 관리자"
+
+#~ msgid "Queries"
+#~ msgstr "쿼리 "
+
+#~ msgid "Notices"
+#~ msgstr "공지"
+
+#~ msgid "CTCPs"
+#~ msgstr "CTCP"
+
+#~ msgid "DCCs"
+#~ msgstr "DCC"
+
+#~ msgid "C&lear"
+#~ msgstr "비우기(&L)"
+
+#~ msgid "C&hannels"
+#~ msgstr "채널(&H)"
+
+#~ msgid "&Queries"
+#~ msgstr "쿼리(&Q)"
+
+#~ msgid "Not&ices"
+#~ msgstr "공지(&I)"
+
+#~ msgid "C&TCPs"
+#~ msgstr "CTCP(&T)"
+
+#~ msgid "&DCCs"
+#~ msgstr "DCC(&D)"
+
+#~ msgid "&Exception"
+#~ msgstr "예외(&E)"
+
+#~ msgid "Select Background Image"
+#~ msgstr "배경 이미지 선택"
+
+#~ msgid "Connect to a new server..."
+#~ msgstr "새 서버에 접속..."
+
+#~ msgid "Lag: not known"
+#~ msgstr "지연: 알려지지 않음"
+
+#~ msgid "Log_Config"
+#~ msgstr "로그 설정"
+
+#~ msgid "ConnectionBehavior_Config"
+#~ msgstr "연결 동작 설정"
+
+#~ msgid "Place close button on the &right side of the tab"
+#~ msgstr "각 탭의 오른쪽에 닫기 버튼 보임"
+
+#~ msgid "&Group:"
+#~ msgstr "그룹(&G):"
+
+#~ msgid "User Status"
+#~ msgstr "사용자 상태"
+
+#~ msgid "Channel Modes: "
+#~ msgstr "채널 모드:"
+
+#~ msgid "Konversation::ChannelOptionsUI"
+#~ msgstr "Konversation::채널옵션 사용자 인터페이스"
+
+#~ msgid "Highlight_Config"
+#~ msgstr "강조 설정"
+
+#~ msgid "You set the channel mode to 'quiet' on %1."
+#~ msgstr "%1에 채널모드를 '조용히' 모드로 설정하였습니다."
+
+#~ msgid "%1 sets the channel mode to 'quiet' on %2."
+#~ msgstr "%2에 %1(이)가 채널을 '조용히' 모드로 지정하였습니다."
+
+#~ msgid "You remove the 'quiet' channel mode from %1."
+#~ msgstr "%1(으)로부터 '조용히' 채널 모드를 제거햇습니다."
+
+#~ msgid "%1 removes the 'quiet' channel mode from %2."
+#~ msgstr "%1(이)가 %2(으)로부터 '조용히' 채널 모드를 지웠습니다."
+
+#~ msgid "no"
+#~ msgstr "아니요"
+
+#~ msgid "Select DCC Download Folder"
+#~ msgstr "DCC 다운로드 폴더 선택"
+
+#~ msgid "Appearance-Chat Window"
+#~ msgstr "모양-채팅 창"
+
+#~ msgid "Appearance - Colors"
+#~ msgstr "모양 - 색상"
+
+#~ msgid "Behavior - Connection"
+#~ msgstr "동작 - 연결"
+
+#~ msgid "Behavior - Chatwindow"
+#~ msgstr "동작 - 채팅창"
+
+#~ msgid "Behavior - Nickname List"
+#~ msgstr "동작 - 닉네임 목록"
+
+#~ msgid "Behavior - Tab Bar"
+#~ msgstr "동작 - 탭 막대"
+
+#~ msgid "Behavior - DCC"
+#~ msgstr "동작 - DCC"
+
+#~ msgid "Notification - Watched Nicknames"
+#~ msgstr "알림 - 관찰된 닉네임"
+
+#~ msgid "Notification - Highlighting"
+#~ msgstr "알림 - 강조"
+
+#~ msgid "%1 sec"
+#~ msgstr "%1 초"
+
+#~ msgid "Send Email..."
+#~ msgstr "이메일 보내기..."
+
+#~ msgid "Edit &Contact..."
+#~ msgstr "연락처 편집(&C)..."
+
+#~ msgid "Choose &Contact..."
+#~ msgstr "연락처 선택(&C)..."
+
+#~ msgid "Create &New Contact..."
+#~ msgstr "새 연락처 생성(&N)..."
+
+#~ msgid "%1 - Offline"
+#~ msgstr "%1 - 오프라인"
+
+#~ msgid "Edit Preferences"
+#~ msgstr "환경설정 편집"
+
+#~ msgid "Ignored Nicknames"
+#~ msgstr "무시된 닉네임"
+
+#~ msgid "Log"
+#~ msgstr "로그"
+
+#~ msgid "Keep changes made to configuration and close the window"
+#~ msgstr "창 닫은 후 설정 변경 내용 유지"
+
+#~ msgid "Keep changes made to configuration"
+#~ msgstr "변경 내용 저장"
+
+#~ msgid "unknown number of"
+#~ msgstr "알 수 없는 수의 "
+
+#~ msgid "Child Window Mode"
+#~ msgstr "하위 창 모드"
+
+#~ msgid "no error"
+#~ msgstr "오류 없음"
+
+#~ msgid "system error: %1"
+#~ msgstr "시스템 오류: %1"
+
+#~ msgid "Usage: SCRIPT <script> [parameter list]"
+#~ msgstr "사용예: SCRIPT <script> [파라메터 목록]"
+
+#~ msgid "New C&ontact..."
+#~ msgstr "새 연락처(&O)..."
+
+#~ msgid "Away Users"
+#~ msgstr "자리비움 사용자"
+
+#~ msgid "&Timestamp"
+#~ msgstr "타임스탬프(&T)"
+
+#~ msgid "Show nickname bo&x in channel and status window"
+#~ msgstr "채널과 상태 창에서 닉네임 상자 보이기(&X)"
+
+#~ msgid "&General"
+#~ msgstr "일반(&G)"
+
+#~ msgid "&Show server list dialog on application startup"
+#~ msgstr "응용프로그램 시작시 서버목록 대화상자 보이기(&S)"
+
+#~ msgid "&Colors"
+#~ msgstr "색상(&C)"
+
+#~ msgid "&Blinking tabs"
+#~ msgstr "탭 깜빡임(&B)"
+
+#~ msgid "Check &interval:"
+#~ msgstr "확인 주기(&I):"
+
+#~ msgid "Use &bold nicknames"
+#~ msgstr "닉네임 굵게 사용하기(&U)"
+
+#~ msgid "<qt>Error: %1 is not a regular folder.</qt>"
+#~ msgstr "<qt>에러: %1은 일반 폴더가 아닙니다!</qt>"
+
+#~ msgid "Incorrect Path"
+#~ msgstr "잘못된 경로"
+
+#~ msgid "Interval:"
+#~ msgstr "주기:"
+
+#~ msgid "Nick Colors"
+#~ msgstr "닉네임 색상"
+
+#~ msgid "IRC Colors"
+#~ msgstr "IRC 색상"
+
+#~ msgid "sec"
+#~ msgstr "초"
+
+#~ msgid "C&hoose..."
+#~ msgstr "선택(&H)..."
+
+#~ msgid "Send File..."
+#~ msgstr "파일 보내기..."
+
+#~ msgid "(%1) %2 has joined this channel. (%3)"
+#~ msgstr "(%1) %2(이)가 이 채널에 입장했습니다. (%3)"
+
+#~ msgid "&Nickname:"
+#~ msgstr "닉네임(&N):"
+
+#~ msgid "DCC se&nd ports:"
+#~ msgstr "DCC 전송 포트(&N):"
+
+#~ msgid "DCC &chat ports:"
+#~ msgstr "DCC 채팅 포트(&C):"
+
+#~ msgid "Server Name"
+#~ msgstr "서버 이름"
+
+#~ msgid "Choos&e..."
+#~ msgstr "선택(&E)..."
+
+#~ msgid "Show &timestamps"
+#~ msgstr "타임스탬프 보이기(&T)"
+
+#~ msgid "&Browse..."
+#~ msgstr "탐색(&B)..."
+
+#~ msgid "Connection to Server %1 closed."
+#~ msgstr "서버 %1에 대한 연결이 닫혔습니다."
+
+#~ msgid "IRCColorChooserUI"
+#~ msgstr "IRC 색상 선택 사용자 인터페이스"
+
+#~ msgid "&Topic:"
+#~ msgstr "주제(&T):"
+
+#~ msgid "No answer from server %1 for more than %2"
+#~ msgstr "%1 서버에서 %2초 이상 응답이 없습니다"
+
+#~ msgid "&Clear Item"
+#~ msgstr "항목 비우기(&C)"
+
+#~ msgid "%1 has been idle for %2 days, %3 hours, %4 minutes and %5 seconds."
+#~ msgstr "%1(은)는 %2일 %3 시간 %4 분 %5 초 동안 대기상태입니다."
+
+#~ msgid "%1 has been idle for %2 hours, %3 minutes and %4 seconds."
+#~ msgstr "%1(은)는 %2시간 %3분 %4 동안 대기상태입니다."
+
+#~ msgid "File information"
+#~ msgstr "파일 정보"
+
+#~ msgid "Quit Server"
+#~ msgstr "서버 종료"
+
+#~ msgid "Error Sending File"
+#~ msgstr "파일 전송 오류"
+
+#~ msgid "Re&name..."
+#~ msgstr "이름바꾸기(&N)..."
+
+#~ msgid "Nickname &%1:"
+#~ msgstr "닉네임 &%1:"
+
+#~ msgid "<qt>This is the default identity used for all servers where no separate identity was selected.</qt>"
+#~ msgstr "<qt>이것은 별도의 프로필이 설정되지 않은 모든 서버에 대해 사용되는 기본값입니다.</qt>"
+
+#~ msgid "Rem&ove Identity"
+#~ msgstr "인증 제거(&O)"
+
+#~ msgid "New Identity"
+#~ msgstr "새 인증"
+
+#~ msgid "&Group name:"
+#~ msgstr "그룹 이름(&G):"
+
+#~ msgid "File open failure: %1"
+#~ msgstr "파일 열기 실패: %1"
+
+#~ msgid "KIO Error"
+#~ msgstr "KIO 오류"
+
+#~ msgid "Quits application"
+#~ msgstr "응용프로그램 종료"
+
+#~ msgid "Po&rt:"
+#~ msgstr "포트(&R):"
+
+#~ msgid "Co&nnect command(s):"
+#~ msgstr "접속 명령(&N):"
+
+#~ msgid "Password"
+#~ msgstr "패스워드"
+
+#~ msgid "Connec&t"
+#~ msgstr "접속(&T)"
+
+#~ msgid "&New Server..."
+#~ msgstr "새 서버(&N)..."
+
+#~ msgid "Could not retrieve \"%1\"."
+#~ msgstr "\"%1\" 파일을 찾을 수 없습니다."
+
+#~ msgid "&Send email..."
+#~ msgstr "이메일 보내기(&S)"
+
+#~ msgid "&Rollback:"
+#~ msgstr "되돌림(&R):"
+
+#~ msgid "P&ort:"
+#~ msgstr "포트(&O):"
+
+#~ msgid "%1 %2 / %3 %4"
+#~ msgstr "%1 %2 / %3 %4"
+
+#~ msgid "Op"
+#~ msgstr "옵"
+
+#~ msgid "Ops"
+#~ msgstr "옵"
+
+#~ msgid "Nick Watch Dialog"
+#~ msgstr "닉네임 관찰 대화상자"
+
+#~ msgid "1 second"
+#~ msgstr "1 초"
+
+#~ msgid "%1 seconds"
+#~ msgstr "%1 초"
+
+#~ msgid "Error: \"%1\" is not a regular file."
+#~ msgstr "에러: \"%1\"은 정규 파일이 아닙니다."
+
+#~ msgid "Server/Nickname"
+#~ msgstr "서버/닉네임"
+
+#~ msgid "DCC Get Error"
+#~ msgstr "DCC 받기 에러"
+
+#~ msgid "&Connect"
+#~ msgstr "접속(&C)"
+
+#~ msgid "Closing"
+#~ msgstr "닫는 중"
+
+#~ msgid "Negotiating resume..."
+#~ msgstr "재개 시도중..."
+
+#~ msgid "Connecting..."
+#~ msgstr "접속 중 ..."
+
+#~ msgid "Stalled"
+#~ msgstr "멈춤"
+
+#~ msgid "Size"
+#~ msgstr "크기"
+
+#~ msgid "% Done"
+#~ msgstr "% 완료"
+
+#~ msgid "CPS"
+#~ msgstr "CPS"
+
+#~ msgid "&Actions"
+#~ msgstr "작업(&A)"
+
+#~ msgid "&Find Text..."
+#~ msgstr "문장 찾기(&F)..."
+
+#~ msgid "&Server URL:"
+#~ msgstr "서버 URL(&S):"
+
+#~ msgid "&Channels"
+#~ msgstr "채널(&C)"
+
+#~ msgid "N&otices"
+#~ msgstr "공지(&O)"
+
+#~ msgid "Auto re&join"
+#~ msgstr "자동 재입장(&J)"
+
+#~ msgid "N&otify list:"
+#~ msgstr "알림 목록(&O):"
+
+#~ msgid "Text font:"
+#~ msgstr "일반 글꼴:"
+
+#~ msgid "&Use custom widget spacing"
+#~ msgstr "사용자 위젯 공백 사용(&U)"
+
+#~ msgid "&Spacing:"
+#~ msgstr "공백(&S):"
+
+#~ msgid "Mar&gin:"
+#~ msgstr "마진(&G):"
+
+#~ msgid "Pixel"
+#~ msgstr "픽셀"
+
+#~ msgid "Use &paragraph spacing:"
+#~ msgstr "문단 공백 사용(&P):"
+
+#~ msgid "Sorting Order"
+#~ msgstr "정렬 순서"
+
+#~ msgid "Ignore List"
+#~ msgstr "목록 무시"
+
+#~ msgid "&Action text color:"
+#~ msgstr "작업 문장 색상(&A):"
+
+#~ msgid "Bac&klog text color:"
+#~ msgstr "예비 문장 색상(&K):"
+
+#~ msgid "&Query message text color:"
+#~ msgstr "쿼리 메시지 문장 색상(&Q):"
+
+#~ msgid "&Server message text color:"
+#~ msgstr "서버 메시지 문장 색상(&S):"
+
+#~ msgid "Ch&oose..."
+#~ msgstr "선택(&O)..."
+
+#~ msgid "&Dark cyan:"
+#~ msgstr "어두운 시안(&D):"
+
+#~ msgid "Dar&k gray:"
+#~ msgstr "어두운 회색(&K):"
+
+#~ msgid "Dark g&reen:"
+#~ msgstr "어두운 녹색(&R):"
+
+#~ msgid "Br&own:"
+#~ msgstr "갈색(&O):"
+
+#~ msgid "Dark b&lue:"
+#~ msgstr "어두운 파랑(&L):"
+
+#~ msgid "&Magenta:"
+#~ msgstr "마젠타(&M):"
+
+#~ msgid "R&ed:"
+#~ msgstr "빨강(&E):"
+
+#~ msgid "Characters to add on nick completion"
+#~ msgstr "닉네임 완성에 추가할 문자"
+
+#~ msgid "Search Text..."
+#~ msgstr "문장 검색..."
+
+#~ msgid "&Background Color:"
+#~ msgstr "배경색(&B):"
+
+#~ msgid "PrefsPageIRCColorsUI"
+#~ msgstr "환경설정 페이지 IRC 색상 UI"
+
+#~ msgid "Search Text"
+#~ msgstr "문장 찾기"
+
+#~ msgid "limited to %1 users"
+#~ msgstr "%1 명으로 제한"
+
+#~ msgid "%1 (%2 users): %3"
+#~ msgstr "%1 (%2 사용자): %3"
+
+#~ msgid "<qt>The file \"%1\" already exists. Do you want to resume the transfer?</qt>"
+#~ msgstr "<qt>\"%1\" 파일이 이미 있습니다. 이어받겠습니까?</qt>"
+
+#~ msgid "Resume Transfer"
+#~ msgstr "이어 받기"
+
+#~ msgid "&Use notify"
+#~ msgstr "알림 사용(&U)"
+
+#~ msgid "Add notify:"
+#~ msgstr "알림 추가:"
+
+#~ msgid "Bounce"
+#~ msgstr "튕겨내기"
+
+#~ msgid "Modes can only take a certain number of nick names at the same time.The server may truncate your mode list."
+#~ msgstr "모드는 동시에 일정 개수 만큼만 바꿀 수 있습니다. 서버가 정한 개수를 초과하면 일부만 처리될 수도 있습니다."
+
+#~ msgid "Slovenian translation"
+#~ msgstr "슬로베니안 번역"
+
+#~ msgid "Korean translation"
+#~ msgstr "한국어 번역"
+
+#~ msgid "Highlight list"
+#~ msgstr "강조 목록"
+
+#~ msgid "Notify list"
+#~ msgstr "알림 목록:"
+
+#~ msgid "Edit highlight patterns"
+#~ msgstr "강조 패턴 편집"
+
+#~ msgid "You can not add a Highlight with empty pattern."
+#~ msgstr "빈 패턴은 강조에 추가할 수 없습니다."
+
+#~ msgid "Empty Pattern"
+#~ msgstr "빈 패턴"
+
+#~ msgid "Keyword:"
+#~ msgstr "키:"
+
+#~ msgid "Keyword"
+#~ msgstr "키워드"
diff --git a/po/pa/Makefile.am b/po/pa/Makefile.am
new file mode 100644
index 0000000..944337a
--- /dev/null
+++ b/po/pa/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = pa
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/pa/konversation.po b/po/pa/konversation.po
new file mode 100644
index 0000000..4d21693
--- /dev/null
+++ b/po/pa/konversation.po
@@ -0,0 +1,7129 @@
+# translation of konversation.po to Punjabi
+#
+# A S Alam <aalam@redhat.com>, 2006.
+# A S Alam <apbrar@gmail.com>, 2006.
+# A S Alam <aalam@users.sf.net>, 2007.
+# Amanpreet Singh Alam <apreet.alam@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-01-18 22:25+0530\n"
+"Last-Translator: Amanpreet Singh Alam <apreet.alam@gmail.com>\n"
+"Language-Team: Punjabi/Panjabi <punjabi-users@llist.sf.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KAider 0.1\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "%1 ਲਈ ਚੈਨਲ ਸੈਟਿੰਗ"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "ਤਕਨੀਕੀ ਮੋਡ ਓਹਲੇ (&H) <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "ਤਕਨੀਕੀ ਮੋਡ ਵੇਖੋ(&S) >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "ਨਵਾਂ"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "ਅਣਜਾਣ"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "ਫਾਇਲ %1 ਲਈ ਜਾਣਕਾਰੀ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "ਫਾਇਲ ਜਾਣਕਾਰੀ"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "ਇਹ ਫਾਇਲ ਲਈ ਕੋਈ ਜਾਣਕਾਰੀ ਨਹੀਂ ਮਿਲੀ ਹੈ।"
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "ਭੇਜੋ"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "ਲਵੋ"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "ਕਤਾਰਬੱਧ"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "ਤਿਆਰੀ ਜਾਰੀ"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "ਉਡੀਕ ਜਾਰੀ ਹੈ"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "ਲਈ ਜਾ ਰਹੀ ਹੈ"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "ਭੇਜੀ ਜਾ ਰਹੀ ਹੈ"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "ਮੁਕੰਮਲ"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "ਅਸਫ਼ਲ"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "ਅਧੂਰੀ ਛੱਡੀ"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sec"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "ਵਰਜਨ(&V)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "ਪਿੰਗ(&P)"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Op ਦਿਓ"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Op ਲਵੋ"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "HalfOp ਦਿਓ"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "HalfOp ਲਵੋ"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "ਆਵਾਜ਼ ਦਿਓ"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "ਆਵਾਜ਼ ਲਵੋ"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "ਮੋਡ"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "ਠੁੱਡਾ ਮਾਰੋ"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "ਠੁੱਡਾ-ਪਾਬੰਦੀ"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "ਪਾਬੰਦੀਸ਼ੁੱਦਾ ਨਾਂ"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "*!*@*.host ਪਾਬੰਦੀ"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "*!*@domain ਪਾਬੰਦੀ"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "*!user@*.host ਪਾਬੰਦੀ"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "*!user@domain ਪਾਬੰਦੀ"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Kickban *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Kickban *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Kickban *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Kickban *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "ਠੁੱਡਾ / ਪਾਬੰਦੀ"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "ਅਣਡਿੱਠਾ"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "ਨਾ-ਅਣਡਿੱਠਾ"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "ਕਿਊਰੀ ਖੋਲ੍ਹੋ(&Q)"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "DC&C ਗੱਲਬਾਤ ਖੋਲ੍ਹੋ"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "ਫਾਇਲ ਭੇਜੋ(&F)..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "ਈਮੇਲ ਭੇਜੋ(&S)..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "ਐਡਰੈੱਸ-ਬੁੱਕ ਸਬੰਧ"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "ਵਾਚ ਕੀਤੇ ਨਿੱਕ 'ਚ ਸ਼ਾਮਲ"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "ਸੰਪਰਕ ਸੋਧ..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "ਸਬੰਧ ਚੋਣ/ਸੋਧ..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "ਸੰਪਰਕ ਚੁਣੋ..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "ਸਬੰਧ ਬਦਲੋ..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "ਨਵਾਂ ਸੰਪਰਕ ਬਣਾਓ..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "ਸਬੰਧ ਹਟਾਓ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "ਚੈਨਲ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "ਕਿਊਰੀ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "ਨੋਟਿਸ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "ਛੋਟ"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "ਟੈਬਾਂ"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "ਅੱਜ"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "ਕੱਲ੍ਹ"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (ਪਛਾਣ)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "ਈ-ਮੇਲ"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "ਹੋਸਟ-ਮਾਸਕ:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "ਦੂਰ ਸੁਨੇਹਾ:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(ਅਣਜਾਣ)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "ਆਨਲਾਇਨ ਹੈ:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr ""
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "ਬਾਹਰੀ"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "ਆ ਰਹੇ"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "ਦੋਵੇਂ"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "%1 ਉੱਤੇ ਚੈਨਲ ਜੁਆਇੰਨ"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "ਤੁਰੰਤ ਕੁਨੈਕਟ"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "ਸਰਵਰ ਹੋਸਟ(&S):"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "ਨੈੱਟਵਰਕ ਦਾ ਹੋਸਟ ਇੱਥੇ ਦਿਓ।"
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "ਪੋਰਟ(&P):"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr ""
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "ਨਾਂ(&N):"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "ਵਰਤਣ ਲਈ ਤੁਹਾਡਾ ਨਾਂ ਹੈ।"
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "ਪਾਸਵਰਡ(&a):"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "SSL ਵਰਤੋਂ(&U)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "ਕੁਨੈਕਟ ਕਰੋ(&o)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "ਲਿਸਨ ਕਰਨ ਵਾਸਤੇ ਇੱਕ ਸਾਕਟ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr ""
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr ""
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr ""
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr ""
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "%1 ਨਾਲ DCC ਗੱਲਬਾਤ ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਗਿਆ ਹੈ।"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "ਕੁਨੈਕਸ਼ਨ ਟੁੱਟਿਆ ਹੈ, ਗਲਤੀ ਕੋਡ %1 ਹੈ।"
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr ""
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "ਕਲਾਇਟ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰ ਸਕਦਾ ਹੈ।"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "ਡਿਫਾਲਟ (%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "ਸਰਵਰ ਲਿਸਟ"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "ਚੁਣੇ IRC ਨੈੱਟਵਰਕ ਅਤੇ ਚੈਨਲਾਂ ਨਾਲ ਕੁਨੈਕਟ ਕਰਨ ਲਈ ਇੱਥੇ ਦਬਾਓ।"
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "ਨੈੱਟਵਰਕ"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "ਪਛਾਣ"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "ਚੈਨਲ"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "ਨਵਾਂ(&N)..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "ਸੋਧ(&E)..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਸਟਾਰਟਅੱਪ ਮੌਕੇ ਵੇਖੋ"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "ਨਵਾਂ ਨੈੱਟਵਰਕ"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "ਨੈੱਟਵਰਕ ਸੋਧ"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"ਤੁਸੀਂ %1 ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦੇ ਹੋ।\n"
+"\n"
+"ਨੈੱਟਵਰਕ %2 ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਸਰਵਰ ਦੀ ਲੋੜ ਹੈ।"
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"ਤੁਸੀਂ ਚੁਣੇ ਸਰਵਰਾਂ ਨੂੰ ਹਟਾ ਨਹੀਂ ਸਕਦੇ ਹੋ।\n"
+"\n"
+"ਨੈੱਟਵਰਕ %1 ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਸਰਵਰ ਦੀ ਲੋੜ ਹੈ।"
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "ਕੀ ਤੁਸੀਂ ਚੁਣੀਆਂ ਐਂਟਰੀਆਂ ਹਟਾਉਣੀਆਂ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "ਆਖਰੀ ਵੇਖੋ:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"ਇਸ ਬਾਕਸ ਵਿੱਚ ਲਾਗ ਫਾਇਲਾਂ ਦਾ ਵੱਧੋ-ਵੱਧ ਸਾਈਜ਼ ਸੈੱਟ ਕਰੋ। ਇਸ ਸੈਟਿੰਗ ਕੰਨਵਰਸ਼ੇਸ਼ਨ "
+"ਮੁੜ-ਸਟਾਰਟ ਹੋਣ ਤੱਕ ਪਰਭਾਵੀ ਨਹੀਂ ਹੋਵੇਗੀ। ਹਰੇਕ ਲਾਗ ਫਾਇਲ ਲਈ ਇੱਕ ਵੱਖਰੀ ਸੈਟਿੰਗ ਵੀ ਹੋ "
+"ਸਕਦੀ ਹੈ।"
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "ਲਾਗਫਾਇਲ ਸਾਫ਼ ਕਰੋ"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"ਲਾਗ ਫਾਇਲ ਵਿੱਚ ਸੁਨੇਹੇ ਇੱਥੇ ਵੇਖਾਏ ਜਾ ਰਹੇ ਹਨ। ਪੁਰਾਣੇ ਸੁਨੇਹੇ ਉੱਤੇ ਹਨ ਅਤੇ ਸਭ ਤੋਂ "
+"ਨਵੇਂ ਹੇਠਾਂ ਹਨ।"
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"ਕੀ ਤੁਸੀਂ ਇਹ ਫਾਇਲ ਵਿੱਚੋਂ ਸਭ ਲਾਗ ਜਾਣਕਾਰੀਆਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "ਲਾਗਫਾਇਲ ਸੰਭਾਲੋ"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "ਟਿਕਾਣਾ ਫੋਲਡਰ ਚੁਣੋ"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "ਜਾਣਕਾਰੀ"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "ਮੁੜ-ਕੁਨੈਕਸ਼ਨ ਦੀ ਕੋਸ਼ਿਸ:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ %1 ਨਾਲ ਕੁਨੈਕਟ ਕਰ ਚੁੱਕੇ ਹੋ। ਕੀ ਤੁਸੀਂ '%2' ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਕਰਕੇ "
+"'%3' ਨਾਲ ਕੁਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "%1 ਨਾਲ ਪਹਿਲਾਂ ਹੀ ਕੁਨੈਕਟ ਹੈ"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ %1 ਨਾਲ ਕੁਨੈਕਟ ਕਰ ਚੁੱਕੇ ਹੋ। ਕੀ ਤੁਸੀਂ '%2' ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਕਰਕੇ "
+"'%3' ਨਾਲ ਕੁਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "ਸਰਵਰ ਸੋਧ"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "ਆਪਣੀ <b>ਪਛਾਣ</b> ਦਿਓ ਜੀ।<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "ਆਪਣਾ <b>ਅਸਲੀ ਨਾਂ</b> ਦਿਓ ਜੀ।<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "ਘੱਟੋ-ਘੱਟ ਇੱਕ <b>ਨਾਂ</b> ਤਾਂ ਦਿਓ ਜੀ।<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr ""
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "ਪਛਾਣ ਸੈਟਿੰਗ"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "ਪਛਾਣ ਸੋਧ..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "ਪਛਾਣ"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "ਪਛਾਣ(&I):"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "ਡੁਪਲੀਕੇਟ"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "ਨਾਂ ਬਦਲੋ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "ਆਮ"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "ਅਸਲੀ ਨਾਂ(&R):"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "ਨਾਂ"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "ਸ਼ਾਮਲ..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "ਸੋਧ..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "ਆਟੋ ਪਛਾਣ"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "ਸਰਵਿਸ(&v):"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "ਪਾਸਵਰਡ(&s):"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "ਦੂਰਾ"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "ਦੂਰ ਜਾਣ ਲਈ ਨਾਂ:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " ਲਾਈਨਾਂ"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "ਕਿਊਰੀ ਐਕਟਵਿਟੀ ਉੱਤੇ(&q)"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "ਆਟੋਮੈਟਿਕ ਡਾਊਨਲੋਡ ਮੁੜ ਕਰੋ(&t)"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "ਦੂਰ ਸੁਨੇਹਾ:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "ਦੂਰ ਸੁਨੇਹਾ(&m):"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "ਵਾਪਸੀ ਸੁਨੇਹਾ(&t):"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "ਤਕਨੀਕੀ"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr ""
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "ਪਛਾਣ(&d):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "ਇੰਕੋਡਿੰਗ(&E):"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "ਪਾਰਟ ਕਾਰਨ(&P):"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਚੈਨਲ ਛੱਡੋਗੇ ਤਾਂ ਇਹ ਸੁਨੇਹਾ ਚੈਨਲ ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ।"
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "ਪਾਰਟ ਕਾਰਨ(&P):"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "ਜਦੋਂ ਤੁਸੀਂ ਇੱਕ ਚੈਨਲ ਛੱਡੋਗੇ ਤਾਂ ਇਹ ਸੁਨੇਹਾ ਚੈਨਲ ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ।"
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "ਕਿੱਕ ਦਾ ਕਾਰਨ(&K):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "ਪਛਾਣ ਜਾਣਕਾਰੀ ਬਦਲੋ"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "ਸਭ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ ਰੱਦ ਕਰੋ"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "ਤੁਹਾਨੂੰ ਪਛਾਣ ਲਈ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਨਾਂ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ।"
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "ਨਾਂ ਸ਼ਾਮਿਲ"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "ਨਾਂ:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "ਨਾਂ ਸੋਧ"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "ਪਛਾਣ ਸੋਧ"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "ਪਛਾਣ ਨਾਂ:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "ਤੁਹਾਨੂੰ ਪਛਾਣ ਲਈ ਇੱਕ ਨਾਂ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ।"
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "ਪਛਾਣ ਨਾਂ ਬਦਲੋ"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਪਛਾਣ ਨਾਲ ਸਬੰਧਿਤ ਸਭ ਜਾਣਕਾਰੀ ਹਟਾਉਣ ਲਈ ਸਹਿਮਤ ਹੋ?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "ਪਛਾਣ ਹਟਾਓ"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "ਡੁਪਲੀਕੇਟ ਪਛਾਣ"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "ਆਮ ਯੂਜ਼ਰ"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "ਆਵਾਜ਼ (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "ਓਪਰੇਟਰ (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "ਚੈਨਲ ਐਡਮਿਨ (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "ਚੈਨਲ ਓਨਰ (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "ਅੱਖਰ ਪਾਓ"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "ਇੱਕ ਅੱਖਰ ਪਾਓ"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "ਕੇ-ਗੱਲਬਾਤ ਬੁੱਕਮਾਰਕ ਐਡੀਟਰ"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "ਕੋਈ ਖਾਲੀ ਪੋਰਟ ਨਹੀਂ"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "ਸਾਕਟ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "ਟੈਕਸਟ ਖੋਜ..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL ਨੂੰ ਕਲਿੱਪਬੋਰਡ 'ਚ ਕਾਪੀ ਕਰੋ"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "ਬੁੱਕਮਾਰਕ 'ਚ ਸ਼ਾਮਲ"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "ਲਿੰਕ ਇੰਝ ਸੰਭਾਲੋ..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "%1 ਨਾਲ ਕਿਊਰੀ ਖੋਲ੍ਹੋ"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "ਚੈਨਲ %1 ਜੁਆਇੰਨ ਕਰੋ"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "ਸੂਚਨਾ"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "ਜੁਆਇੰਨ"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "ਭਾਗ"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "ਕਿਊਰੀ ਖੋਲ੍ਹੋ"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "ਜੁਆਇੰਨ(&J)"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "ਯੂਜ਼ਰ ਲਿਸਟ ਲਵੋ(&u)"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "ਵਿਸ਼ਾ ਲਵੋ(&t)"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\" ਨਾਲ ਮਿਲਦਾ ਕੁਝ ਨਹੀਂ ਹੈ।"
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "ਲਿੰਕ ਇੰਝ ਸੰਭਾਲੋ"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "ਸਰਵਰ ਲਿਸਟ(&S)..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "ਨੈੱਟਵਰਕ ਅਤੇ ਸਰਵਰ ਪਰਬੰਧ"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "ਤੁਰੰਤ ਕੁਨੈਕਟ ਕਰੋ(&C)..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "ਕੁਨੈਕਟ ਕਰਨ ਲਈ ਇੱਕ ਨਵੇਂ IRC ਸਰਵਰ ਦਾ ਐਡਰੈੱਸ ਦਿਓ"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "ਮੁੜ-ਕੁਨੈਕਟ(&R)"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "ਮੌਜੂਦਾ ਸਰਵਰ ਨਾਲ ਮੁੜ ਕੁਨੈਕਟ ਕਰੋ।"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਖਤਮ(&D)"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "ਮੌਜੂਦਾ ਸਰਵਰ ਤੋਂ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਕਰੋ।"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "ਪਛਾਣ(&I)..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC ਹਾਲਤ"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "ਲਾਗਫਾਇਲ ਖੋਲ੍ਹੋ(&O)"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "ਇਸ ਚੈਨਲ ਲਈ ਜਾਣਿਆ ਅਤੀਤ ਇੱਕ ਨਵੀਂ ਟੈਬ ਵਿੱਚ ਖੋਲ੍ਹੋ"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "ਚੈਨਲ ਸੈਟਿੰਗ(&C)..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "ਇਹ ਟੈਬ ਲਈ ਚੈਨਲ ਸੈਟਿੰਗ ਡਾਈਲਾਗ ਖੋਲ੍ਹੋ"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "ਚੈਨਲ ਲਿਸਟ(&L)"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "ਇਸ ਚੈਨਲ ਉੱਤੇ ਜਾਣੇ ਚੈਨਲਾਂ ਦੀ ਲਿਸਟ ਵੇਖੋ"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&URL ਖੋਜੀ"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "ਨਵੀਂ ਕਨਸੋਲ(&K)"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "ਇੱਕ ਨਵੀਂ ਟੈਬ 'ਚ ਇੱਕ ਟਰਮੀਨਲ ਖੋਲ੍ਹੋ"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "ਅਗਲੀ ਟੈਬ(&N)"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "ਪਿੱਛੇ ਟੈਬ(&P)"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "ਟੈਬ ਬੰਦ ਕਰੋ(&T)"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "ਅੱਗੇ ਐਕਟਿਵ ਟੈਬ"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "ਟੈਬ ਉੱਤੇ ਭੇਜੋ"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "ਟੈਬ ਹੇਠਾਂ ਭੇਜੋ"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "ਟੈਬ ਸੱਜੇ ਭੇਜੋ"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "ਟੈਬ ਖੱਬੇ ਭੇਜੋ"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਯੋਗ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "ਇੰਕੋਡਿੰਗ ਦਿਓ"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "%1 ਟੈਬ ਉੱਤੇ ਜਾਓ"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "ਮਾਰਕਰ ਲਾਈਨਾਂ ਸਾਫ਼ ਕਰੋ(&M)"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "ਮੌਜੂਦਾ ਟੈਬ ਵਿੱਚ ਮਾਰਕਰ ਲਾਈਨਾਂ ਸਾਫ਼ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "ਵਿੰਡੋ ਸਾਫ਼ ਕਰੋ(&C)"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "ਮੌਜੂਦਾ ਟੈਬ ਦੀ ਸਮੱਗਰੀ ਸਾਫ਼ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "ਸਭ ਵਿੰਡੋ ਸਾਫ਼ ਕਰੋ(&A)"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "ਸਭ ਖੁੱਲੀਆਂ ਟੈਬਾਂ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਾਫ਼ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ(&J)..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC ਰੰਗ..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "ਆਪਣੇ IRC ਸੁਨੇਹੇ ਲਈ ਰੰਗ ਸੈੱਟ ਕਰੋ"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "ਮਾਰਕਰ ਲਾਈਨਾਂ(&M)"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "ਮੌਜੂਦਾ ਟੈਬ ਵਿੱਚ ਹਰੀਜ਼ਟਲ ਲਾਈਨ ਖਿੱਚੋ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਵੇਖੋ"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "ਖਾਸ ਅੱਖਰ(&C)..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "ਸਭ ਖੁੱਲੀਆਂ ਕਿਊਰੀਆਂ ਬੰਦ ਕਰੋ(&A)"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "ਨਾਂ-ਲਿਸਟ ਓਹਲੇ"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>ਕੀ ਤੁਸੀਂ <b>ਕੇ-ਗੱਲਬਾਤ</b> ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "ਬੰਦ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>ਕੀ ਤੁਸੀਂ <b>ਕੇ-ਗੱਲਬਾਤ</b> ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>ਮੇਨ ਵਿੰਡੋ ਨੂੰ ਬੰਦ ਕਰਨ ਨਾਲ ਕੇ-ਗੱਲਬਾਤ ਸਿਸਟਮ ਟਰੇ ਵਿੱਚ ਚਲਾ ਜਾਵੇਗਾ। <b>"
+"ਕੇ-ਗੱਲਬਾਤ</b> ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਮੇਨੂ ਵਿੱਚੋਂ <b>ਬਾਹਰ ਜਾਓ</b> "
+"ਨੂੰ ਦਬਾਓ</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "ਸਿਸਟਮ ਟਰੇ 'ਚ ਰੱਖੋ"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>ਇਸ ਨਾਲ ਮੇਨੂ ਬਾਰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਹੋ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਇਸ ਨੂੰ %1 ਟਾਈਪ ਕਰਕੇ ਮੁੜ ਵੇਖ "
+"ਸਕਦੇ ਹੋ।</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਬਦਲੋ"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "ਗਲੋਬਲੀ ਦੂਰ ਬਦਲੋ"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "&IRC ਰੰਗ ਸ਼ਾਮਿਲ..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "ਖਾਸ ਅੱਖਰ ਸ਼ਾਮਿਲ(&C)..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "ਮਾਰਕਰ ਲਾਈਨ ਸ਼ਾਮਲ(&M)"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "ਚੈਨਲ ਲਿਸਟ(&C)"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "ਗਲੋਬਲੀ ਦੂਰ ਸੈੱਟ ਕਰੋ(&A)"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "ਰਾਅ"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "ਵਰਤੋਂ: %1JOIN <channel> [password]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "ਵਰਤੋਂ: %1KICK <nick> [reason]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr ""
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "ਵਰਤੋਂ: %1NOTICE <recipient> <message>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr ""
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "ਵਰਤੋਂ: %1ME text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr ""
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "ਫਾਇਲ \"%1\" ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "ਵਰਤੋਂ: %1DCC [SEND nickname filename]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "ਵਰਤੋਂ: %1DCC [CHAT nickname]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "ਵਰਤੋਂ: %1INVITE <nick> [channel]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr ""
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 ਇੱਕ ਚੈਨਲ ਨਹੀਂ ਹੈ।"
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "ਵਰਤੋਂ: %1EXEC <script> [parameter list]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr ""
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "ਵਰਤੋਂ: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "ਮੌਜੂਦਾ ਸੂਚਨਾ ਲਿਸਟ ਖਾਲੀ ਹੈ।"
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "ਮੌਜੂਦਾ ਸੂਚਨਾ ਲਿਸਟ: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "IRC ਚੈਨਲ ਅਧਿਕਾਰਾਂ ਲਈ ਯੂਜ਼ਰ ਨਾਂ ਅਤੇ ਪਾਸਵਰਡ ਦਿਓ:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC ਓਪਰੇਟਰ ਪਾਸਵਰਡ"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"ਵਰਤੋਂ: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"ਵਰਤੋਂ: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr ""
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "ਵਰਤੋਂ: %1UNBAN [channel] pattern"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 ਨੂੰ ਤੁਹਾਡੀ ਅਣਡਿੱਠਾ ਲਿਸਟ 'ਚ ਜੋੜਿਆ ਗਿਆ"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "ਵਰਤੋਂ: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "ਵਰਤੋਂ: %1UNIGNORE <user 1> <user 2> ... <user n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 ਨੂੰ ਤੁਹਾਡੀ ਅਣਡਿੱਠੀ ਸੂਚੀ ਵਿੱਚੋਂ ਹਟਾਇਆ ਗਿਆ।"
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "ਕੋਈ ਅਣਡਿੱਠਾ ਨਹੀਂ: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr ""
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "ਵਰਤੋਂ: %1QUOTE command list"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "ਵਰਤੋਂ: %1SAY text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "ਵਰਤੋਂ"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "ਵਰਤੋਂ: %1AME text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "ਵਰਤੋਂ: %1AMSG text"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "ਵਰਤੋਂ: %1OMSG text"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr ""
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "ਵਰਤੋਂ: %1ONOTICE text"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "ਮੌਜੂਦਾ ਇੰਕੋਡਿੰਗ ਹੈ: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "%1 ਇੰਕੋਡਿੰਗ ਲਈ ਸਵਿੱਚ ਕਰੋ"
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 ਇੱਕ ਵੈਧ ਇੰਕੋਡਿੰਗ ਨਹੀਂ ਹੈ।"
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1 ਲਈ ਕੁੰਜੀ ਹੁਣ ਹਟਾਈ ਗਈ ਹੈ।"
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1 ਲਈ ਕੁੰਜੀ ਹੁਣ ਹਟਾਈ ਗਈ ਹੈ।"
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 ਲਈ ਕੁੰਜੀ ਹੁਣ ਹਟਾਈ ਗਈ ਹੈ।"
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "ਵਰਤੋਂ: %1DNS <nick>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr ""
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1 ਹੱਲ ਕਰਨ ਲਈ ਅਸਫ਼ਲ"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr ""
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "ਵਰਤੋਂ: %1KILL <nick> [comment]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>ਤੁਸੀਂ ਗੱਲਬਾਤ ਵਿੱਚ ਟੈਕਸਟ ਦਾ ਵੱਡਾ ਭਾਗ ਚੇਪਣ ਜਾ ਰਹੇ ਹੋ (%1 ਬਾਈਟ ਜਾਂ %2 ਲਾਈਨਾਂ)। "
+"ਇਸ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਰੀ-ਸੈੱਟ ਹੋ ਸਕਦਾ ਹੈ ਜਾਂ ਫਲੱਡ ਕਿਲ ਹੋ ਸਕਦਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ "
+"ਚਾਹੁੰਦੇ ਹੋ?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "ਵੱਧ ਚੇਪਣ ਚੇਤਾਵਨੀ"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "ਇੱਕ ਯੂਜ਼ਰ ਆਸਾਨ IRC ਕਲਾਇਟ"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "ਕੁਨੈਕਟ ਕਰਨ ਲਈ ਸਰਵਰ"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "ਵਰਤਣ ਲਈ ਪੋਰਟ"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਦੇ ਬਾਅਦ ਜੁਆਇੰਨ ਕਰਨ ਲਈ ਚੈਨਲ"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "ਵਰਤਣ ਲਈ ਨਾਂ"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਲਈ ਪਾਸਵਰਡ"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਲਈ SSL ਵਰਤੋਂ"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "ਕੰਨਵਰਸ਼ੇਸ਼ਨ"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2007 Konversation ਟੀਮ ਕੋਲ ਕਾਪੀਰਾਈਟ ਹੈ"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"ਕੰਨਵਰਸ਼ੇਸ਼ਨ ਇੰਟਰਨੈਟ ਰੀਲੇਅ ਚੈਟ (IRC) ਪਰੋਟੋਕਾਲ ਲਈ ਇੱਕ ਕਲਾਇਟ ਹੈ।\n"
+"ਨੈੱਟ ਉੱਤੇ ਦੋਸਤਾਂ ਨੂੰ ਮਿਲੋ, ਨਵੇਂ ਵਿਚਾਰ ਲਵੋ ਅਤੇ ਆਪਣੇ ਪਸੰਦੀਦਾ ਵਿਸ਼ੇ ਉੱਤੇ ਗੱਲਾਂ\n"
+"ਕਰਦੇ ਹੋਏ ਆਪਣਾ ਆਪ ਗੁਆ ਦਿਓ।"
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "ਅਸਲੀ ਲੇਖਕ, ਪਰੋਜੈੱਕਟ ਫਾਊਂਡਰ"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "ਪਰਬੰਧਕ"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr ""
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "ਪਰੋਟੋਕਾਲ ਹੈਡਲਿੰਗ, ਇੰਪੁੱਟ ਲਾਈਨ"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr ""
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "ਵੈੱਬਸਾਇਟ ਹੋਸਟਿੰਗ"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "ਵੈੱਬਸਾਇਟ ਪਰਬੰਧ"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr ""
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP ਇੰਟਰਫੇਸ"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "ਗ਼ੈਰ-ਲੈਟਿਨ-ਇੰਕੋਡਿੰਗ"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "ਕਨਸੋਲ ਭਾਗ ਝਲਕ"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr ""
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr ""
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "ਕਲਾਕਾਰੀ"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr ""
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr ""
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "ਸਿਸਟਮ ਟਰੇ ਪੈਂਚ"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "ਬੱਗ ਫਿਕਸ"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr ""
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr ""
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr ""
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr ""
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr ""
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr ""
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr ""
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr ""
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr ""
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr ""
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr ""
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr ""
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr ""
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr ""
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr ""
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr ""
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr ""
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 %2- %3 ਲਈ"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr ""
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr ""
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "ਸੱਦਾ"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ %2 ਚੈਨਲ 'ਚ ਸੱਦਿਆ।"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "ਜੀ ਆਇਆਂ ਨੂੰ"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "ਸਰਵਰ %1 (ਵਰਜਨ %2), ਯੂਜ਼ਰ ਮੋਡ: %3, ਚੈਨਲ ਮੋਡ: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "ਸਹਿਯੋਗ"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "ਤੁਹਾਡੇ ਨਿੱਜੀ ਮੋਡ ਹਨ:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "ਚੈਨਲ ਮੋਡ:"
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "ਵਿਸ਼ਾ ਸੁਰੱਖਿਆ"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "ਬਾਹਰ ਤੋਂ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "ਗੁਪਤ"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "ਸਿਰਫ਼ ਸੱਦੇ ਨਾਲ"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "ਪ੍ਰਾਈਵੇਟ"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr ""
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "ਪਾਸਵਰਡ ਰਾਹੀਂ ਸੁਰੱਖਿਆ"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "ਅਣਜਾਣ"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "ਰੰਗ ਮਨਜ਼ੂਰ ਨਹੀਂ"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "ਮੋਡ"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1 ਲਈ ਚੈਨਲ ਲਿਸਟ"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "ਬਣਾਇਆ"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "ਚੈਨਲ %1 ਨੂੰ ਬਣਾਇਆ ਗਿਆ ਸੀ।"
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "ਕੌਣ ਹੈ"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 ਨੇ %2 ਵਾਂਗ ਲਾਗਇਨ ਕੀਤਾ ਹੈ।"
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "ਨਾਂ"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr ""
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TOPIC"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "ਚੈਨਲ %1 ਦਾ ਕੋਈ ਵਿਸ਼ਾ ਨਹੀਂ ਹੈ।"
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "ਵਿਸ਼ਾ"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "%1 ਲਈ ਚੈਨਲ ਵਿਸ਼ਾ ਹੈ: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "%2 ਲਈ %1 ਨੇ ਵਿਸ਼ਾ ਸੈੱਟ ਕੀਤਾ ਹੈ।"
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "%1 ਲਈ ਵਿਸ਼ਾ %3 ਉੱਤੇ %2 ਨੇ ਸੈੱਟ ਕੀਤਾ ਸੀ।"
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr ""
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: ਕੋਈ ਨਾਂ/ਚੈਨਲ ਨਹੀਂ ਹੈ।"
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr ""
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr ""
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "ਆਮ ਨਾਂ"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "ਨਾਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ, ਵੱਖਰਾ ਵਰਤ ਕੇ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "ਨਾਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤੋਂ ਅਧੀਨ ਹੈ। %1 ਨਾਲ ਕੋਸ਼ਿਸ਼ ਜਾਰੀ ਹੈ।"
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "ਗਲਤ ਨਾਂ ਹੈ। ਨਾਂ ਨੂੰ %1 ਤਬਦੀਲ ਕੀਤਾ ਗਿਆ ਹੈ।"
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "ਤੁਸੀਂ %1 ਉੱਤੇ ਨਹੀਂ ਹੋ।"
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "ਦਿਨ ਦਾ ਸੁਨੇਹਾ:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "ਦਿਨ ਦਾ ਸੁਨੇਹਾ ਖਤਮ"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr ""
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "ਯੂਜ਼ਰ"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "ਨੈੱਟਵਰਕ ਉੱਤੇ ਮੌਜੂਦਾ ਯੂਜ਼ਰ: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "%1 ਉੱਤੇ ਮੌਜੂਦਾ ਯੂਜ਼ਰ: %2"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "ਦੂਰ"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 ਦੂਰ ਹੈ: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ %2 ਉੱਤੇ %1 ਨੂੰ ਸੱਦਿਆ ਹੈ।"
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 %2@%3 (%4) ਹੈ"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr ""
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr ""
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "ਕੌਣ"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (ਦੂਰ)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr ""
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr ""
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr ""
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 ਮੱਦਦ ਲਈ ਉਪਲੱਬਧ ਹੈ।"
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 IRC ਓਪਰੇਟਰ ਹੈ।"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 ਦਿਨ\n"
+"%n ਦਿਨ"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 ਘੰਟਾ\n"
+"%n ਘੰਟੇ"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 ਮਿੰਟ\n"
+"%n ਮਿੰਟ"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 ਸਕਿੰਟ\n"
+"%n ਸਕਿੰਟ"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr ""
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr ""
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr ""
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 %2 ਚਿਰ ਤੋਂ ਆਨਲਾਇਨ ਹੈ।"
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr ""
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "ਯੂਜ਼ਰਹੋਸਟ ਨਾਂ"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC ਓਪਰੇਟਰ)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (ਦੂਰ)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "ਲਿਸਟ"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "ਚੈਨਲਾਂ ਦੀ ਲਿਸਟ:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n ਯੂਜ਼ਰ): %2\n"
+"%1 (%n ਯੂਜ਼ਰ): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "ਚੈਨਲ ਲਿਸਟ ਦਾ ਅੰਤ"
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "ਪਾਬੰਦੀਸੂਚੀ:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr ""
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr ""
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 ਇਸ ਸਮੇਂ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।"
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: ਅਣਜਾਣ ਕਮਾਂਡ ਹੈ।"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "ਰਜਿਸਟਰ ਨਹੀਂ ਹੈ।"
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr ""
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr ""
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr "ਮੋਡ ਸੈੱਟ:"
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "ਡਿਫਾਲਟ ਪਛਾਣ"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr ""
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "ਨੈੱਟਵਰਕ ਨਾਂ(&N):"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "ਸਰਵਰ ਨੈੱਟਵਰਕ ਚੁਣੋ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਇੱਥੇ ਕੁਨੈਕਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।"
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "ਨਾਂ(&i):"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "ਸੂਚਨਾ ਜਾਣਕਾਰੀ ਬਦਲੋ"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr ""
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "ਸਰਵਰ ਪਰਮਾਣਕਿਤਾ"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "ਵੇਰਵਾ"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr ""
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "ਹਮੇਸ਼ਾ(&F)"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "ਸਿਰਫ਼ ਮੌਜੂਦਾ ਸ਼ੈਸ਼ਨ ਲਈ(&C)"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[HighLight] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[ਕਿਊਰੀ)] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 %2 ਵਿੱਚ ਜੁਆਇੰਨ"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr ""
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 ਨੇ %2 ਬੰਦ ਕੀਤਾ"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ਨੇ ਨਾਂ %2 ਬਦਲਿਆ ਲਿਆ ਹੈ"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 ਤੁਹਾਨੂੰ ਫਾਇਲ ਭੇਜਣੀ ਚਾਹੁੰਦਾ ਹੈ"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 ਨੇ ਤੁਹਾਡੇ ਨਾਲ ਗੱਲਬਾਤ (ਕਿਊਰੀ) ਸ਼ੁਰੂ ਕੀਤੀ ਹੈ।"
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 ਆਨਲਾਇਨ ਹੈ (%2)"
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 ਆਫਲਾਇਨ ਹੋ ਗਿਆ/ਗਈ (%2)"
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr ""
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr ""
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[HighLight] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "%1 ਨਾਲ ਕੁਨੈਕਟ ਕਰਨ ਲਈ ਅਸਫ਼ਲ"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "ਤੁਸੀਂ %1 ਵਿੱਚ ਜੁਆਇੰਨ ਹੋਏ।"
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "ਪ੍ਹੈਰਾ ਨਹੀਂ ਲੱਭਿਆ"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr ""
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "ਨੈੱਟਵਰਕ ਇੰਟਰਫੇਸ"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr ""
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "ਦਸਤੀ ਦਿਓ"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC ਰੰਗ ਚੋਣਕਾਰ"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "ਕੋਈ ਨਹੀਂ"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "ਸਰਵਰ(&S):"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "ਪਾਸਵਰਡ(&w):"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "ਸੁਰੱਖਿਅਤ ਕੁਨੈਕਸ਼ਨ (SSL)(&e)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "ਸਰਵਰ ਐਡਰੈੱਸ ਲੋੜੀਦਾ ਹੈ।"
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr ""
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "url \"%1\" ਮੌਜੂਦ ਨਹੀਂ ਹੈ"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋ ਸਕੀ"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "ਫਾਇਲ ਨਾਂ ਦਿਓ"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "ਕੋਈ ਫਾਇਲ ਨਾਂ ਨਹੀਂ ਦਿੱਤਾ ਗਿਆ ਹੈ"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr ""
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "ਫਾਇਲ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "ਸਾਕਟ ਗਲਤੀ: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "ਟਾਈਮ ਆਉਟ"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "ਰਿਮੋਟ ਯੂਜ਼ਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋਇਆ"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr ""
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "ਫਾਇਲ \"%1\" ਲਿਖਣ ਲਈ ਅਸਫ਼ਲ ਹੈ।"
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr ""
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "ਫਾਇਲ \"%1\" ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।"
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr ""
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "ਓਪਰੇਸ਼ਨ ਸਮਾਂ ਸਮਾਪਤ।"
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "ਬੰਦ ਕਰਨ ਸਮੇਂ ਇੱਕ ਅਣਜਾਣ ਗਲਤੀ ਆਈ ਹੈ।"
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "ਅਣਜਾਣ ਗਲਤੀ ਹੈ। ਕੋਡ %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC ਭੇਜੋ"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC ਪ੍ਰਾਪਤ"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "ਅਣਜਾਣ ਸਰਵਰ"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%2 ਉੱਤੇ %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (ਪੋਰਟ %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (ਪੋਰਟ %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "ਹਾਂ, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 ਸਕਿੰਟ"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "ਕਨਸੋਂਲ"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "ਤਿਆਰ ਹੈ।"
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "ਲਾਗ: ਅਣਜਾਣ"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "ਲਾਗ: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "ਲਾਗ: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr ""
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr ""
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr ""
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"%1 ਸਰਵਰ ਤੋਂ 1 ਸਕਿੰਟ ਦੇ ਵੱਧ ਸਮੇਂ ਤੋਂ ਜਵਾਬ ਨਹੀਂ ਆਇਆ।\n"
+"%1 ਸਰਵਰ ਤੋਂ %n ਸਕਿੰਟਾਂ ਦੇ ਵੱਧ ਸਮੇਂ ਤੋਂ ਜਵਾਬ ਨਹੀਂ ਆਇਆ।"
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "%1 ਸਰਵਰ ਦੀ ਖੋਜ ਜਾਰੀ: %2"
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "ਸਰਵਰ %1 ਨਹੀਂ ਲੱਭਿਆ: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "ਸਰਵਰ ਮਿਲਿਆ, ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "ਕੁਨੈਕਟ ਹੋਇਆ; ਲਾਗਇਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "ਸਰਵਰ %1 ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ: %2"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL ਕੁਨੈਕਸ਼ਨ ਗਲਤੀ"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "ਸਰਵਰ ਤੋਂ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋ ਗਿਆ ਹੈ।"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "ਨਾਂ ਗਲਤੀ"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr ""
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "%1 ਨੂੰ ਭੇਜਣ ਲਈ ਫਾਇਲ ਚੁਣੋ"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr ""
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "ਅਣਜਾਣ ਸਾਈਜ਼"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr ""
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr ""
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr ""
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr ""
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr ""
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr ""
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr ""
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr ""
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"ਤੁਹਾਨੂੰ %1 ਨੇ %2 ਚੈਨਲ ਜੁਆਇੰਨ ਸੱਦਾ ਭੇਜਿਆ ਸੀ। ਕੀ ਤੁਸੀਂ ਸੱਦਾ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "ਸੱਦਾ"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr ""
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "ਹੁਣ ਤੋਂ ਦੂਰ ਗਿਆ ਹੈ।"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "ਤੁਹਾਨੂੰ ਹੁਣ ਦੂਰ ਬਣਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।"
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "ਤੁਹਾਨੂੰ ਦੂਰ ਨਹੀਂ ਵੇਖਾਇਆ ਜਾਵੇਗਾ।"
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "ਤੁਸੀਂ ਹੁਣ ਦੂਰ ਨਹੀਂ ਹੋ।"
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr ""
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "ਨੈੱਟਵਰਕ/ਆਮ ਨਾਂ/ਚੈਨਲ"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "ਹੋਰ ਜਾਣਕਾਰੀ"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr ""
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr ""
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "ਐਡਰੈੱਸ ਬੁੱਕ:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "ਸੰਪਰਕ ਸੋਧ(&o)..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "ਸਬੰਧ ਤਬਦੀਲ(&C)..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "ਸਬੰਧ ਹਟਾਓ(&D)"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr "%1 ਰਾਹੀਂ ਆਨਲਾਈਨ"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " %1 ਤੋਂ"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "ਆਫਲਾਇਨ"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " ਆਵਾਜ਼"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " HalfOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " ਓਪਰੇਟਰ"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " ਓਨਰ"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " ਐਡਮਿਨ"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "ਨਵਾਂ ਸੰਪਰਕ ਬਣਾਓ(&o)..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "ਸਬੰਧ ਚੁਣੋ(&C)..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ(&J)"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "ਸਾਊਂਡ ਫਾਇਲ ਚੁਣੋ"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** ਲਾਗ ਫਾਇਲ %1\n"
+"*** ਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ ਗਿਆ \n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "ਸੱਦੇ ਉੱਤੇ ਚੈਨਲ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਹੀ ਜੁਆਇੰਨ ਕਰੋ"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "ਲਾਗ-ਫਾਇਲ ਸਮੱਗਰੀ ਹਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁੱਛੋ"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr ""
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "ਨੈੱਟਵਰਕ ਵਿੱਚ ਵੱਖਰੇ ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੁੱਛੋ"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "ਨੈੱਟਵਰਕ ਵਿੱਚ ਵੱਖਰੇ ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੁੱਛੋ"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "ਸਰਵਰ ਟੈਬ ਬੰਦ ਕਰੋ"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "ਚੈਨਲ ਟੈਬ ਬੰਦ ਕਰੋ"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "ਗੱਲਬਾਤ ਟੈਬ ਬੰਦ ਕਰੋ"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "ਮੇਨ ਵਿੰਡੋ ਮੇਨੂ ਓਹਲੇ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr ""
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr ""
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr ""
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "ਚੈਨਲ ਲਿਸਟ"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "ਫਿਲਟਰ ਸੈਟਿੰਗ"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "ਵੱਧੋ-ਵੱਧ ਯੂਜ਼ਰ:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "ਵੱਧੋ-ਵੱਧ ਯੂਜ਼ਰ:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "ਫਿਲਟਰ ਪੈਟਰਨ:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "ਫਿਲਟਰ ਟਾਰਗੇਟ:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "ਇੱਕ ਨਵੀਂ ਫਿਲਟਰ ਸਤਰ ਇੱਥੇ ਦਿਓ।"
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "ਰੈਗੂਲਰ ਐਕਸਪਰੈਸ਼ਨ"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "ਫਿਲਟਰ ਲਾਗੂ ਕਰੋ"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "ਚੈਨਲ ਨਾਂ"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "ਚੈਨਲ ਵਿਸ਼ਾ"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "ਲਿਸਟ ਤਾਜ਼ਾ ਕਰੋ"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "ਲਿਸਟ ਸੰਭਾਲੋ..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਕਰੋ"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "ਚੈਨਲ ਜੁਆਇੰਨ ਹੋਣ ਲਈ ਇੱਥੇ ਦਬਾਓ। ਚੈਨਲ ਲਈ ਨਵੀਂ ਟੈਬ ਬਣਾਈ ਜਾਵੇਗੀ।"
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "ਚੈਨਲ ਲਿਸਟ ਸੰਭਾਲੋ"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"ਕੇ-ਗੱਲਬਾਤ ਚੈਨਲ ਲਿਸਟ: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "ਚੈਨਲ: %1 (%2 ਵੇਖਾਇਆ)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr ""
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL ਖੋਲ੍ਹੋ"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<ਕੋਈ URL ਨਹੀਂ ਲੱਭਿਆ>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 ਲਈ ਚੈਨਲ ਲਿਸਟ"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "ਆਨਲਾਇਨ"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "ਈ-ਮੇਲ ਭੇਜੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "ਈ-ਮੇਲ ਭੇਜੋ"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr ""
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr ""
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL ਖੋਜੀ"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL ਖੋਲ੍ਹੋ(&O)"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL ਕਾਪੀ ਕਰੋ(&C)"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL ਹਟਾਓ(&D)"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "ਲਿਸਟ ਸੰਭਾਲੋ(&v)..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "ਪੂਰੀ ਲਿਸਟ ਇੱਕ ਫਾਇਲ ਵਿੱਚ ਸੰਭਾਲਣ ਲਈ ਕਲਿੱਕ ਕਰੋ।"
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "ਲਿਸਟ ਸਾਫ਼ ਕਰੋ(&l)"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "ਪੂਰੀ ਲਿਸਟ ਸਾਫ਼ ਕਰਨ ਲਈ ਦਬਾਓ।"
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL ਲਿਸਟ ਸੰਭਾਲੋ"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "ਮਲਟੀ-ਲਾਈਨ ਚੇਪਣ ਸੋਧ"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr ""
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "ਚੈਨਲ(&h):"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "ਚੈਨਲ ਨਾਂ ਦੀ ਲੋੜ ਹੈ।"
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "ਰਾਅ ਲਾਗ"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "ਮੌਜੂਦਾ ਟੈਬ ਵਿੱਚ ਟੈਕਸਟ ਦੀ ਖੋਜ"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "%1 ਲਈ ਚੈਨਲ ਲਿਸਟ(&L)"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1 ਲਈ ਲਾਗ ਫਾਇਲ ਖੋਲ੍ਹੋ(&O)"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "%1 ਲਈ ਚੈਨਲ ਸੈਟਿੰਗ(&C)..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "ਡਿਫਾਲਟ (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "ਤੁਸੀਂ ਸਿਰਫ਼ ਟੈਕਸਟ ਖੇਤਰਾਂ 'ਚ ਹੀ ਖੋਜ ਕਰ ਸਕਦੇ ਹੋ।"
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "ਟੈਕਸਟ ਜਾਣਕਾਰੀ ਖੋਜ"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 ਲਈ ਲਾਗਫਾਇਲ"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC ਹਾਲਤ"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "ਚੈਨਲ ਲਿਸਟ ਚੇਤਾਵਨੀ"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "ਨੈੱਟਵਰਕ ਜਾਣਕਾਰੀ ਤਬਦੀਲ"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "ਸਰਵਰ ਸ਼ਾਮਲ"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "ਸਰਵਰ ਸੋਧ"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "ਚੈਨਲ ਸ਼ਾਮਿਲ"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "ਚੈਨਲ ਸੋਧ"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "ਨੈੱਟਵਰਕ ਨਾਂ ਦੀ ਲੋੜ ਹੈ।"
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr ""
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|ਕੇ-ਗੱਲਬਾਤ ਥੀਮ"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "ਥੀਮ ਪੈਕੇਜ ਚੁਣੋ"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "ਥੀਮ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "ਥੀਮ ਅਕਾਇਵ ਅਵੈਧ ਹੈ।"
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "ਥੀਮ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "ਥੀਮ ਹਟਾਓ"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "ਕੇ-ਗੱਲਬਾਤ - IRC ਕਲਾਇਟ"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr ""
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "ਨਾਂ ਚੁਣੋ ਅਤੇ ਵਿੰਡੋ ਬੰਦ ਕਰੋ"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "ਬਿਨਾਂ ਤਬਦੀਲੀਆਂ ਦੇ ਵਿੰਡੋ ਬੰਦ ਕਰੋ"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ ਲਈ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "ਰਿਮੋਟ ਹੋਸਟ ਤੋਂ ਅਚਾਨਕ ਜਵਾਬ ਮਿਲਿਆ"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "ਟਰਾਂਸਫਰ ਗਲਤੀ"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO ਗਲਤੀ: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(ਦੂਰ)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "ਇਹ ਕਿਊਰੀ ਬੰਦ ਕਰੋ"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "ਖੁੱਲ੍ਹਾ ਰੱਖੋ"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "ਡਿਫਾਲਟ ਪਛਾਣ (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਨਾਲ ਆਪਣੀ ਕਿਊਰੀ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "ਕਿਊਰੀ ਬੰਦ ਕਰੋ"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "ਆਪਣੇ ਨਾਲ ਗੱਲਬਾਤ"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 ਨੇ ਇਹ ਸਰਵਰ ਛੱਡਿਆ।"
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 ਨੇ ਇਹ ਸਰਵਰ (%2) ਛੱਡਿਆ।"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD ਝਲਕ - ਸਥਿਤੀ ਬਦਲਣ ਲਈ ਸੁੱਟੋ"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "ਓਪਰੇਟਰ"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "ਐਡਮਿਨ"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "ਓਨਰ"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "ਅਰਧ-ਓਪਰੇਟਰ"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "ਇੰਟਰਫੇਸ"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "ਰਵੱਈਆ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "ਗੱਲਬਾਤ ਵਿੰਡੋ"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "ਨਾਂ-ਲਿਸਟ ਥੀਮ"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "ਰੰਗ"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "ਤੇਜ਼ ਬਟਨ"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "ਕੁਨੈਕਸ਼ਨ"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "ਨਾਂ ਲਿਸਟ"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "ਕਮਾਂਡ ਏਲੀਆਸ"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "ਆਟੋ-ਤਬਦੀਲ"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "ਲਾਗ ਰੱਖਣਾ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "ਹਾਈਲਾਈਟ"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr ""
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "ਆਨ ਸਕਰੀਨ ਡਿਸਪਲੇਅ"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "ਚੇਤਾਵਨੀ ਡਾਈਲਾਗ"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr ""
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "ਮੁੜ-ਪ੍ਰਾਪਤ(&R)"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "ਅਸਲੀ ਫਾਇਲ-ਨਾਂ(&r)"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "ਨਵਾਂ ਫਾਇਲ ਨਾਂ ਦਿਓ(&N)"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "ਉੱਤੇ ਲਿਖੋ(&O)"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "ਨਾਂ ਬਦਲੋ(&e)"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "ਅੱਗੇ ਖੋਜ"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "ਅੱਖਰ ਅਕਾਰ ਨਿਰਭਰ"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "ਸਿਰਫ਼ ਪੂਰੇ ਅੱਖਰ ਹੀ"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "ਕਰਸਰ ਤੋਂ"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "ਟੈਬ ਬੰਦ ਕਰੋ(&T)"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "ਕੀ ਤੁਸੀਂ '%1' ਨੂੰ ਬੰਦ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "ਡਿਸ-ਕੁਨੈਕਟ"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "ਹਾਲਤ"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "ਭਾਗੀਦਾਰ"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "ਤਰੱਕੀ"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "ਸਥਿਤੀ"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "ਬਾਕੀ"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "ਸਪੀਡ"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "ਮਨਜ਼ੂਰ"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "ਅਧੂਰਾ ਛੱਡੋ"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "ਫਾਇਲ ਚਲਾਓ"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "ਸਭ ਆਈਟਮਾਂ ਚੁਣੋ(&S)"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr ""
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "ਮਨਜ਼ੂਰ(&A)"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "ਅਧੂਰਾ ਛੱਡੋ(&b)"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "ਮੁੜ-ਭੇਜੋ"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "ਸਾਫ਼ ਕਰੋ(&C)"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ(&O)"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "ਫਾਇਲ ਜਾਣਕਾਰੀ(&I)"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "ਚੈਨਲ ਸੈਟਿੰਗ ਸੋਧ"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "ਚੈਨਲ ਵਿੱਚ ਵੱਧੋ-ਵੱਧ ਮਨਜ਼ੂਰ ਯੂਜ਼ਰ"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "ਕੀ ਤੁਸੀਂ ਚੁਣੇ ਯੂਜ਼ਰਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "ਕੀ ਤੁਸੀਂ ਚੁਣੇ ਯੂਜ਼ਰਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨ ਤੋਂ ਰੋਕਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "ਪੂਰਨਤਾ"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "ਸੰਭਵ ਪੂਰਨਤਾ: %1"
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "ਚੈਨਲ ਪਾਸਵਰਡ"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "ਨਾਂ ਲਿਮਟ"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr ""
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "ਤੁਸੀਂ ਹੁਣ %1 ਵਾਂਗ ਜਾਣੇ ਜਾਓਗੇ।"
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 ਨੂੰ ਹੁਣ %2 ਕਰਕੇ ਜਾਣਿਆ ਜਾਵੇਗਾ।"
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "ਤੁਸੀਂ %1 (%2) ਚੈਨਲ ਵਿੱਚ ਆ ਗਏ ਹੋ।"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "ਤੁਸੀਂ ਇਹ ਸਰਵਰ ਛੱਡ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "ਤੁਸੀਂ ਇਹ ਸਰਵਰ (%1) ਛੱਡ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ %1 ਛੱਡ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr ""
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 ਨੇ ਇਹ ਚੈਨਲ ਛੱਡ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "ਤੁਸੀਂ ਖੁਦ ਨੂੰ %1 ਚੈਨਲ ਉੱਤੇ ਬਾਹਰ ਸੁੱਟਿਆ ਹੈ।"
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr ""
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr ""
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr ""
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "ਤੁਹਾਨੂੰ ਚੈਨਲ ਤੋਂ %1 ਨੇ ਠੁੱਡਾ ਮਾਰਿਆ ਹੈ।"
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr ""
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr ""
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr ""
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n ਨਾਂ\n"
+"%n ਨਾਂ"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n op)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "ਚੈਨਲ ਦਾ ਵਿਸ਼ਾ \"%1\" ਹੈ।"
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ ਲਈ \"%1\" ਵਿਸ਼ਾ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr ""
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr ""
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr ""
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr ""
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr ""
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr ""
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr ""
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr ""
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr ""
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr ""
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr ""
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr ""
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr ""
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr ""
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr ""
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr ""
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr ""
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr ""
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr ""
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr ""
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr ""
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr ""
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr ""
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr ""
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr ""
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr ""
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr ""
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr ""
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr ""
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr ""
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr ""
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr ""
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr ""
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr ""
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr ""
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr ""
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr ""
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr ""
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr ""
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr ""
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr ""
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr ""
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr ""
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr ""
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr ""
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr ""
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr ""
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr ""
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr ""
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr ""
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr ""
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr ""
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr ""
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr ""
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr ""
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ ਲਈ \"%1\" ਵਿਸ਼ਾ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ ਲਈ \"%1\" ਵਿਸ਼ਾ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "ਤੁਸੀਂ ਚੈਨਲ %1 ਛੱਡ ਦਿੱਤਾ ਹੈ।"
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 ਇੱਕ ਚੈਨਲ ਨਹੀਂ ਹੈ।"
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr ""
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr ""
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr ""
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr ""
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr ""
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr ""
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr ""
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr ""
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr ""
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr ""
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr ""
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr ""
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr ""
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr ""
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr ""
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr ""
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "ਇਹ ਬਦਲਣ ਲਈ ਤੁਹਾਨੂੰ ਓਪਰੇਟਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr ""
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr ""
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "ਗੁਪਤ-ਚੈਨਲ: %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "ਸਿਰਫ਼ ਸੱਦਾ ਚੈਨਲ: %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "ਪ੍ਰਾਈਵੇਟ ਚੈਨਲ: %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr ""
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "ਚੈਨਲ ਨੂੰ ਇੱਕ ਪਾਸਵਰਡ ਨਾਲ ਸੁਰੱਖਿਆ ਕਰੋ।"
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr ""
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "ਕੀ ਤੁਸੀਂ %1 ਛੱਡਣਾ ਚਾਹੁੰਦੇ ਹੋ?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "ਚੈਨਲ ਛੱਡੋ"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "ਛੱਡੋ"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "aalam@users.sf.net"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "ਕਤਾਰਬੱਧ"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "ਲਾਈਨਾਂ(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " ਬਾਈਟ"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "ਸਾਊਂਡ(&S):"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "ਲਾਈਨਾਂ(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " ਬਾਈਟ"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "ਆਮ ਯੂਜ਼ਰ"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "ਕਤਾਰਬੱਧ"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "ਕਤਾਰਬੱਧ"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "ਲਵੋ"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "ਬਟਨ ਨਾਂ"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "ਬਟਨ ਐਕਸ਼ਨ"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "ਬਟਨ ਐਕਸ਼ਨ:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "ਬਟਨ ਨਾਂ:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "ਉਪਲੱਬਧ ਥਾਂਵਾਂ"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "ਫਾਇਲ ਨਾਂ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "ਖੁਦ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "ਟਾਈਪ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "ਹਾਲਤ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "ਟਿਕਾਣਾ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "ਤਰੱਕੀ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "ਭਾਗੀਦਾਰ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "ਫਾਇਲ ਸਾਈਜ਼:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "ਔਸਤ ਸਪੀਡ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "ਮੁੜ-ਪ੍ਰਾਪਤ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "ਮੌਜੂਦਾ ਸਪੀਡ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "ਮੌਜੂਦਾ ਸਥਿਤੀ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "ਅਨੁਮਾਨਿਤ ਬਾਕੀ ਟਾਈਮ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "ਸ਼ੁਰੂ ਕੀਤਾ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "ਸੰਚਾਰ ਸਮਾਂ:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "ਆਟੋਮੈਟਿਕ ਮੁੜ-ਕੁਨੈਕਟ ਯੋਗ"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "ਮੁੜ-ਕੁਨੈਕਟ ਟਾਈਮ-ਆਉਟ:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "ਮੁੜ-ਕੁਨੈਕਸ਼ਨ ਦੀ ਕੋਸ਼ਿਸ:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " ਸਕਿੰਟ"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "ਬੇਅੰਤ"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "ਡੀਬੱਗ"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "ਕੁਨੈਕਟ ਕਰਨ ਸਮੇਂ ਰਾਅ ਲਾਗ ਵਿੰਡੋ ਵੇਖੋ(&l)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "ਪੈਟਰਨ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "ਟਾਈਪ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "ਪੈਟਰਨ:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "ਸੁਨੇਹਾ ਟਾਈਪ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "ਨਵਾਂ(&N)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "ਸਭ ਹਟਾਓ(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "ਨੈੱਟਵਰਕ ਨਾਂ:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "ਪਛਾਣ:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "ਕਮਾਂਡਾਂ:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਸਟਾਰਟ ਕਰਨ ਸਮੇਂ ਕੁਨੈਕਟ ਕਰੋ(&n)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "ਸਰਵਰ"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "ਸ਼ਾਮਲ(&A)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "ਸੋਧ(&E)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "ਚੈਨਲ ਆਟੋ ਜੁਆਇੰਨ ਕਰੋ"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "ਸੋਧ(&I)..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "ਏਲੀਆਸ:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "ਤਬਦੀਲੀ:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "ਏਲੀਆਸ"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "ਤਬਦੀਲ"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "ਅੱਗੇ ਖੋਜ(&x)"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "ਪਿੱਛੇ ਖੋਜ"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "ਡਬਲ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਚਲਾਉਣ ਵਾਲੀ ਕਮਾਂਡ(&C):"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr ""
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "ਯੂਜ਼ਰ ਹਾਲਤ ਰਾਹੀਂ ਕ੍ਰਮਬੱਧ(&y)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "ਵੇਰਵਾ"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "ਥੀਮ ਸੰਰਚਨਾ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "ਥੀਮ ਇੰਸਟਾਲ(&n)..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "ਥੀਮ ਹਟਾਓ(&R)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "ਆਮ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "ਦੂਰ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr ""
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "ਅਰਧ-ਓਪਰੇਟਰ ਅਧਿਕਾਰ ਵਾਲੇ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "ਓਪਰੇਟਰ ਅਧਿਕਾਰ ਵਾਲੇ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "ਐਡਮਿਨ ਅਧਿਕਾਰ ਵਾਲੇ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "ਓਨਰ ਅਧਿਕਾਰ ਵਾਲੇ ਯੂਜ਼ਰਾਂ ਲਈ ਆਈਕਾਨ"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "ਝਲਕ:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "ਟੈਬ-ਪੱਟੀ ਸੰਰਚਨਾ"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "ਖੋਜ"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "ਸਥਿਤੀ:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "ਟੈਬਾਂ ਉੱਤੇ ਬੰਦ ਕਰੋ ਬਟਨ ਵੇਖੋ(&c)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "ਫੋਕਸ"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "ਨਵੀਂ ਟੈਬ ਉੱਤੇ ਫੋਕਸ(&F)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "ਨਵੀਂ ਗੱਲਬਾਤ ਉੱਤੇ ਫੋਕਸ(&q)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "ਮੋਡ"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "ਅੱਪਡੇਟ ਇੰਟਰਵਲ(&U):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "ਨੈੱਟਵਰਕ:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "ਲਿਸਟ ਵਿੱਚ ਜੋੜਨ ਲਈ ਨਾਂ ਨੂੰ ਦਬਾਓ"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr ""
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "ਲਾਗ ਰੱਖੋ(&E)"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr ""
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "ਲਾਗ-ਫਾਇਲ ਨਾਂ ਵਿੱਚ ਹੋਸਟ ਨਾਂ ਜੋੜੋ(&A)"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "ਲਾਗਫਾਇਲ ਮਾਰਗ(&p):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "ਸਿਸਟਮ ਟਰੇ 'ਚ ਰੱਖੋ"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "ਨਵੇਂ ਸੁਨੇਹੇ ਨੋਟੀਫਿਕੇਸ਼ਨ ਲਈ ਸਿਸਟਮ ਟਰੇ ਵਰਤੋਂ(&U)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"ਓਦੋਂ ਹੀ ਸੂਚਨਾ ਦਿਓ, ਜਦੋਂ ਇੱਕ ਹਾਈਲਾਈਟ ਕੀਤਾ ਜਾਵੇ ਜਾਂ ਤੁਹਾਡਾ ਨਾਂ ਵਰਤਿਆ ਜਾਵੇ(&n)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "ਆਈਕਾਨ ਝਪਕਾਓ(&k)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "ਨਾਂ ਪੂਰਨਤਾ"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "ਪੂਰਨਤਾ ਢੰਗ(&m):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "ਸ਼ੈਲ-ਵਾਂਗ"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "ਲਾਈਨ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਅਗੇਤਰ(&x):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "ਕਿਤੇ ਵੀ(&E):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "ਅੱਖਰ ਆਕਾਰ ਸੰਵੇਦਨਸ਼ੀਲ"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "ਦੂਰ ਹੋਣ ਦੀ ਹਾਲਤ ਵਿੱਚ ਨੋਟੀਫਿਕੇਸ਼ਨ ਆਯੋਗ(&a)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "ਟੈਕਸਟ ਨਾਲ ਇੰਪੁੱਟ ਬਕਸਾ ਫੈਲੇ"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "ਕਮਾਂਡ ਅੱਖਰ(&d):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "ਕਸਟਮ ਵੈੱਬ ਬਰਾਊਜ਼ਰ ਵਰਤੋਂ(&b):"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "ਸਕਰੋਲਬਾਰ ਓਹਲੇ"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "ਸਿਸਟਮ ਟਰੇ 'ਚ ਓਹਲੇ"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "ਲੁਕਵੀਂ ਮੇਨ-ਵਿੰਡੋ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "ਈਮੋਸ਼ਨ ਯੋਗ"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "ਈਮੋਸ਼ਨ ਥੀਮ"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "ਵਿਸ਼ਾ(&c)"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "ਮਿਤੀ"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "ਮੋਡ(&d)"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "ਵਿਸ਼ਾ ਸਿਰਫ਼ ਚੈਨਲ ਓਪਰੇਟਰ ਵਲੋਂ ਹੀ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ(&T)"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "ਚੈਨਲ ਤੋਂ ਬਾਹਰੀ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ(&N)"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "ਗੁਪਤ-ਚੈਨਲ, ਚੈਨਲ ਚੈਨਲ ਲਿਸਟ ਵਿੱਚ ਨਹੀਂ ਹੈ(&S)"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "ਚੈਨਲ ਵਿੱਚ ਸ਼ਾਮਿਲ ਸਿਰਫ਼ ਸੱਦੇ ਉੱਤੇ ਹੀ ਹੋ ਸਕਦੇ ਹੋ(&i)"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "ਚੈਨਲ ਪਾਸਵਰਡ"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "ਯੂਜ਼ਰ ਸੀਮਾ(&l):"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "ਮਾਹਰ ਢੰਗ ਵੇਖੋ(&A) >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr ""
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "ਪੈਰਾਮੀਟਰ"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "ਪਾਬੰਦੀ ਲਿਸਟ(&B)"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "ਪਾਬੰਦੀ ਹਟਾਓ(&R)"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "ਪਾਬੰਦੀ ਸ਼ਾਮਿਲ(&A)"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "ਹੋਸਟ-ਮਾਸਕ"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "ਸੈੱਟ ਕੀਤਾ"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "ਸਮਾਂ ਦਿਓ"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "ਖੋਜ:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC ਸੈਟਿੰਗ(_S)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "ਡਾਊਨਲੋਡ ਫੋਲਡਰ(&f):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "ਫਾਇਲ ਨਾਂ ਲਈ ਭੇਜਣ ਵਾਲਾ ਸ਼ਾਮਿਲ(&A)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "ਭੇਜਣ ਵਾਲੇ ਲਈ ਫੋਲਡਰ ਬਣਾਓ(&e)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "ਡਾਊਨਲੋਡ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ ਮਨਜ਼ੂਰ ਕਰੋ(&y)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "ਆਟੋਮੈਟਿਕ ਡਾਊਨਲੋਡ ਮੁੜ ਕਰੋ(&t)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "ਬਫ਼ਰ ਆਕਾਰ(&z):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " ਬਾਈਟ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " ਸਕਿੰਟ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "ਆਪਣਾ IP (&w):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "ਪੋਰਟਾਂ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr ""
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "ਵੱਲ"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "ਰੰਗ ਪਾਠ ਵਰਤੋਂ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "ਰੰਗਦਾਰ LED ਵਰਤੋਂ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "ਐਪਲੀਕੇਸ਼ਨ ਈਵੈਂਟ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "ਸੁਨੇਹਾ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "ਪ੍ਰਾਈਵੇਟ ਸੁਨੇਹਾ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "ਮੌਜੂਦ ਵਰਤਿਆ ਨਾਂ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "ਚੈਨਲ ਈਵੈਂਟ"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr ""
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr ""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "ਭੇਜਣ ਵਾਲੇ ਦਾ ਨਾਂ ਗੱਲਬਾਤ ਝਲਕ ਵਿੱਚ ਗੂੜਾ ਕਰੋ(&b)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "ਗੱਲਬਾਤ ਟੈਕਸਟ:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "ਨਾਂ ਲਿਸਟ:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "ਟੈਬ ਬਾਰ:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "ਹਾਈਲਾਈਟ ਲਿਸਟ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "ਹਾਈਲਾਈਟ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "ਸਾਊਂਡ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "ਆਟੋ ਟੈਕਸਟ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "ਪੈਟਰਨ(&P):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "ਰੰਗ:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "ਸਾਊਂਡ(&S):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "ਸਾਊਂਡ ਟੈਸਟ"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "ਆਟੋ ਟੈਕਸਟ(&A):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "ਹਾਈਲਾਈਟ ਲਈ ਸਾਊਂਡ ਯੋਗ(&b)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "ਆਪਣੇ ਮੌਜੂਦਾ ਨਾਂ ਨੂੰ ਹਮੇਸ਼ਾ ਹਾਈਲਾਈਟ ਕਰੋ(&y):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr ""
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "ਨਵੀਂ ਐਂਟਰੀ ਬਣਾਓ(&E)..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "ਆਪਣੀ ਐਡਰੈੱਸ ਬੁੱਕ ਵਿੱਚ ਨਵੀਂ ਐਂਟਰੀ ਬਣਾਓ"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "ਫੋਟੋ"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "ਨਾਂ"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "ਖੋਜ(&e):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "ਜੁਆਇੰਨ/ਪਾਰਟ/ਨਾਂ ਘਟਨਾਵਾਂ ਓਹਲੇ(&J)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "ਸਭ ਹਾਲਤ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸਰਵਰ ਹਾਲਤ ਵਿੰਡੋ 'ਚ ਭੇਜੋ(&R)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "ਸਕਰੋਲ ਪਿੱਛੇ ਲਿਮਟ(&b):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "ਬਫ਼ਰ ਵਿੱਚ ਕਿੰਨੀਆਂ ਸਤਰਾਂ ਰੱਖੀਆਂ ਜਾਣ, 0=ਬੇਅੰਤ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " ਲਾਈਨਾਂ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "ਮਾਰਕਰ ਲਾਈਨਾਂ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "ਸਭ ਗੱਲਬਾਤ ਵਿੰਡੋਜ਼ ਵਿੱਚ ਲਾਈਨਾਂ ਖੁਦ ਦਿਓ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "ਆਟੋਮੈਟਿਕ ਯੂਜ਼ਰ ਜਾਣਕਾਰੀ ਖੋਜ ਯੋਗ (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "ਇੱਕ ਚੈਨਲ ਵਿੱਚ ਵੱਧ ਤੋਂ ਵੱਧ ਯੂਜ਼ਰਾਂ ਦੀ ਗਿਣਤੀ:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " ਨਾਂ"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "ਅੱਪਡੇਟ ਅੰਤਰਾਲ:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "ਆਨ ਸਕਰੀਨ ਵੇਖਾਉਣਾ (OSD) ਯੋਗ(&E)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "ਆਨ ਸਕਰੀਨ ਵੇਖੋ(O&SD)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "ਸ਼ੈਡੋ ਬਣਾਓ(&D)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD ਫੋਂਟ:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&OSD ਸੁਨੇਹੇ ਵੇਖੋ"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "ਜੇਕਰ ਮੇਰਾ ਨਾਂ ਚੈਨਲ ਸੁਨੇਹੇ ਵਿੱਚ ਹੋਵੇ(&I)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "ਕਿਸੇ ਵੀ ਚੈਨਲ ਸੁਨੇਹੇ ਉੱਤੇ(&y)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "ਕਿਊਰੀ ਐਕਟਵਿਟੀ ਉੱਤੇ(&q)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "ਜੁਆਇੰਨ/ਛੱਡਣ ਈਵੈਂਟ ਉੱਤੇ(&J)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "ਕਸਟਮ ਰੰਗ ਯੋਗ"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "ਟੈਕਸਟ ਰੰਗ(&x):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ(&B):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "ਹੋਰ ਸੈਟਿੰਗ(&t)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "ਅੰਤਰਾਲ(&D):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "ਸਕਰੀਨ(&c):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "ਵਿੰਡੋ(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "ਨਵਾਂ(&w)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "ਹਟਾਓ(&E)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "ਇਸ ਵਿੱਚ ਤਬਦੀਲ"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "ਖੋਜ"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "ਇਸ ਨਾਲ ਤਬਦੀਲ"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "ਇਸ ਵਿੱਚ ਤਬਦੀਲੀ:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "ਖੋਜ:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "ਇਸ ਨਾਲ ਤਬਦੀਲੀ:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "ਟਾਈਮ ਸਟੈਂਪ ਯੋਗ(&T)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "ਮਿਤੀ ਵੇਖੋ(&d)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "ਫਾਰਮੈਟ(&F):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "ਬੈਕਲਾਗ (backlog) ਵੇਖੋ"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "ਲਾਈਨਾਂ(&L): "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "ਲੇਆਉਟ(&L)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "ਚੈਨਲ ਵਿਸ਼ਾ ਵੇਖੋ(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "ਚੈਨਲ ਢੰਗ ਬਟਨ ਵੇਖੋ(&m)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "ਸਕਰੋਲ-ਬਾਰ ਵੇਖੋ"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "ਤੁਰੰਤ ਬਟਨ ਵੇਖੋ(&q)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "ਨਾਂ-ਸੂਚੀ ਵਿੱਚ ਵਿਅਕਤੀ ਦਾ ਅਸਲੀ ਨਾਂ ਵੇਖਾਓ।"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "ਚੈਨਲ ਆਮ-ਨਾਂ ਲਿਸਟ ਅਤੇ ਤੁਰੰਤ ਬਟਨ ਵੇਖੋ(&n)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "ਬੈਕਗਰਾਊਂਡ ਚਿੱਤਰ ਯੋਗ(&g)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "ਮਾਰਗ(&a):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "ਪਸੰਦੀਦਾ ਰੰਗ"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "ਬੈਕਗਰਾਊਂਡ(&B):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "ਸਰਵਰ ਸੁਨੇਹਾ(&S):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "ਹਾਇਪਰਲਿੰਕ(&y):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "ਚੈਨਲ ਸੁਨੇਹਾ(&m):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "ਐਕਸ਼ਨ(&n):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "ਬੈਕਲਾਗ(&k):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "ਕਮਾਂਡ ਸੁਨੇਹਾ(&d):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "ਕਿਊਰੀ ਸੁਨੇਹਾ(&Q):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "ਟਾਈਮ-ਸਟੈਂਪ(&T):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "ਬਦਲਵੀਂ ਬੈਂਕਗਰਾਊਡ(&l):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "ਰੰਗਦਾਰ ਨਾਂ"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "ਆਪਣਾ ਨਾਂ ਰੰਗ(&O):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "IRC ਸੁਨੇਹਿਆਂ ਵਿੱਚ ਰੰਗਦਾਰ ਟੈਕਸਟ ਮਨਜ਼ੂਰ(&A)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "ਝਲਕ"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "ਇਹਨਾਂ ਰੰਗਾਂ ਨਾਲ ਤੁਹਾਡਾ ਸੁਨੇਹੇ ਇੰਝ ਵੇਖਾਈ ਦੇਵੇਗਾ"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "ਚੁਣੇ ਟੈਕਸਟ ਰੰਗ ਨੂੰ ਇਨਪੁੱਟ ਸਤਰ 'ਚ ਜੋੜਿਆ ਗਿਆ ਹੈ।"
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ(&F):"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr ""
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "ਵੇਖਣ ਲਈ ਚੇਤਾਵਨੀ ਡਾਈਲਾਗ"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "ਪਾਸਵਰਡ(&P):"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "ਸਰਵਰ:"
+
+#~ msgid "Messages"
+#~ msgstr "ਸੁਨੇਹੇ"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "ਦੂਰ ਸੁਨੇਹੇ ਵੇਖੋ(&w)"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "ਗਲੋਬਲੀ ਉਪਲੱਬਧ ਸੈੱਟ ਕਰੋ(&A)"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "ਹਰੇਕ "
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1 ਲਈ ਕੁੰਜੀ ਠੀਕ ਤਰਾਂ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ।"
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "ਫਾਇਲ '%1' ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।"
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC ਗਲਤੀ"
+
+#~ msgid "Remove File"
+#~ msgstr "ਫਾਇਲ ਹਟਾਓ"
+
+#~ msgid "Transfer Details"
+#~ msgstr "ਟਰਾਂਸਫਰ ਵੇਰਵਾ"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "ਇਹ ਪੈਨਲ ਤੋਂ ਹਟਾਓ"
+
+#~ msgid "&Remove File"
+#~ msgstr "ਫਾਇਲ ਹਟਾਓ(&R)"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "ਹਟਾਉਣ ਪੁਸ਼ਟੀ"
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "%1 ਸਰਵਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਖਤਮ ਹੋਇਆ: %2 ਮੁੜ-ਕੁਨੈਕਟ ਦੀ ਟਰਾਈ ਜਾਰੀ।"
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "ਇਸ ਦੀ ਬਜਾਏ %1 ਸਰਵਰ ਨਾਲ ਕੋਸ਼ਿਸ਼ ਜਾਰੀ।"
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "ਹੋਰ ਕੁਨੈਕਸ਼ਨ ਬਣਾਉਣ ਦੀ ਟਰਾਈ ਤੋਂ ਪਹਿਲਾਂ 2 ਮਿੰਟ ਦੀ ਉਡੀਕ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "ਉਪਲੱਬਧ ਪਸੰਦ ਗਰੁੱਪ:"
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "ਗਰੁੱਪ %1 ਵਿੱਚ ਉਪਲੱਬਧ ਚੋਣਾਂ:"
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "ਟਰਾਂਸਫਰ ਵੇਰਵਾ"
+
+#~ msgid "Channel &key:"
+#~ msgstr "ਚੈਨਲ ਕੁੰਜੀ(&k):"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "ਜਦੋਂ ਦੂਰ ਜਾਵਾਂ ਤਾਂ ਯਾਦ-ਰੱਖੋ ਸਤਰ ਸ਼ਾਮਿਲ(&l)"
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "ਜਦੋਂ ਗੱਲਬਾਤ ਝਰੋਖਾ ਓਹਲੇ ਹੋ ਜਾਵੇ ਤਾਂ ਯਾਦ-ਰੱਖੋ ਰੇਖਾ ਪਾਓ(&r)"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "ਕੁਨੈਕਸ਼ਨ"
+
+#~ msgid "Application Startup"
+#~ msgstr "ਕਾਰਜ ਸ਼ੁਰੂਆਤ"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "ਸਰਵਰ ਸੂਚੀ ਵਾਰਤਾਲਾਪ ਵੇਖਾਓ(&S)"
+
+#~ msgid "&Channel"
+#~ msgstr "ਚੈਨਲ(&C)"
+
+#~ msgid "&Topic"
+#~ msgstr "ਵਿਸ਼ਾ(&T)"
+
+#~ msgid "&Save List..."
+#~ msgstr "ਸੂਚੀ ਸੰਭਾਲੋ(&S)..."
+
+#~ msgid "hh:mm"
+#~ msgstr "hh:mm"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "hh:mm:ss"
+
+#~ msgid "h:m ap"
+#~ msgstr "h:m ap"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "ਸੱਦੇ ਉੱਤੇ ਚੈਨਲ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਹੀ ਦਾਖਲ(&j)"
+
+#~ msgid "Update &interval:"
+#~ msgstr "ਅੱਪਡੇਟ ਅੰਤਰਾਲ(&i):"
diff --git a/po/pt/Makefile.am b/po/pt/Makefile.am
new file mode 100644
index 0000000..fd3494d
--- /dev/null
+++ b/po/pt/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = pt
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/pt/konversation.po b/po/pt/konversation.po
new file mode 100644
index 0000000..a86f398
--- /dev/null
+++ b/po/pt/konversation.po
@@ -0,0 +1,7627 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-01-26 19:39+0000\n"
+"Last-Translator: Pedro Morais<morais@kde.org>\n"
+"Language-Team: <pt@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POFile-IgnoreConsistency: Alt+Z\n"
+"X-POFile-IgnoreConsistency: &Open File\n"
+"X-POFile-IgnoreConsistency: &Open File\n"
+"X-POFile-SpellExtra: MOTD WHOIS conv Konversation adpcm Backspace operator\n"
+"X-POFile-SpellExtra: Tab application Glob WHO DCC RE Op OSD Admin Of dcc\n"
+"X-POFile-SpellExtra: VERSION IPv LED The nickname CTCP KRegExpEditor Day\n"
+"X-POFile-SpellExtra: mp ms Message audio rivado ópico ecreto Enter sagens\n"
+"X-POFile-SpellExtra: rotegido oderado mm ss hh ThemeConfig\n"
+"X-POFile-IgnoreConsistency: Join\n"
+"X-POFile-IgnoreConsistency: Highlight\n"
+"X-POFile-SpellExtra: ChannelOptionsUI WatchedNicknamesConfig\n"
+"X-POFile-SpellExtra: QuickButtonsConfig drag drop ConnectionBehaviorConfig\n"
+"X-POFile-SpellExtra: NicklistBehaviorConfig and ChatWindowAppearanceConfig\n"
+"X-POFile-IgnoreConsistency: Alt+X\n"
+"X-POFile-IgnoreConsistency: Alt+C\n"
+"X-POFile-IgnoreConsistency: Alt+N\n"
+"X-POFile-IgnoreConsistency: Alt+Q\n"
+"X-POFile-SpellExtra: LEDs LogConfig freenode Konsole DCCSettings\n"
+"X-POFile-SpellExtra: TabBarConfig Form QuickButtonsConfigUI\n"
+"X-POFile-SpellExtra: AutoreplaceConfigUI GeneralBehaviorConfig\n"
+"X-POFile-IgnoreConsistency: Alt+V\n"
+"X-POFile-SpellExtra: FontAppearanceConfig RegEx ap\n"
+"X-POFile-IgnoreConsistency: Query\n"
+"X-POFile-SpellExtra: DccTransferDetailedInfoPanelUI RECV SEND Halfops\n"
+"X-POFile-IgnoreConsistency: Alias\n"
+"X-POFile-SpellExtra: Freenode nickserv ACCEPT seg delkey IDENT KILL CHAT\n"
+"X-POFile-SpellExtra: org BAN OPEN UNBAN Kontact whois Relay AMSG QUOTE\n"
+"X-POFile-SpellExtra: away ops KAddressBook NickServ RAW SAY KNetwork\n"
+"X-POFile-SpellExtra: HalfOp NAMES msg CLOSE kmail DragDrop kdepim Ident\n"
+"X-POFile-SpellExtra: Chat KICKBAN EXEC desconexões UNIGNORE Layer NOTICE\n"
+"X-POFile-SpellExtra: Patch HOST setkey ONOTICE reop Firefox OAMSG PREFS\n"
+"X-POFile-SpellExtra: sysinfo konvirocks DOMAIN ALL ident JOIN Secure Latin\n"
+"X-POFile-SpellExtra: LIST kaddressbook TOPIC PART irchelp Kadddressbook\n"
+"X-POFile-SpellExtra: IDENTIFY KICK MeioOp USERDOMAIN USERHOST\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Configuração do Canal de %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Esconder os Modos Avançados <"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Mo&strar os Modos Avançados >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Novo"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "desconhecido"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Informação disponível sobre o ficheiro %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informação do Ficheiro"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Não existem informações detalhadas para este ficheiro."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Enviar"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Receber"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Em espera"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "A preparar"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "À espera"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "A ligar"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "A Receber"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "A Enviar"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Concluído"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Falhou"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Interrompido"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/seg"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Quem é"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Versão"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Dar Op"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Tirar Op"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Dar HalfOp"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Tirar HalfOp"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Dar Voz"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Retirar Voz"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Modos"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Expulsar"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Expulsar e Banir"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Banir a Alcunha"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Banir *!*@*.máquina"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Banir *!*@domínio"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Banir *!utilizador@*.máquina"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Banir *!utilizador@domínio"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Expulsar e Banir *!*@*.máquina"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Expulsar e Banir *!*@domínio"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Expulsar e Banir *!utilizador@*.máquina"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Expulsar e Banir *!utilizador@domínio"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Expulsar / Banir"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorar"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Não Ignorar"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Abrir a Pes&quisa"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Abrir &Conversa DCC"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Enviar um &Ficheiro..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Enviar um E-mail..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Associações ao Livro de Endereços"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Adicionar às Alcunhas Vigiadas"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Isto mostra todas as pessoas no canal. É mostrada a alcunha de cada "
+"pessoa."
+"<br>Normalmente é mostrado um ícone que mostra o estado de cada pessoa, mas não "
+"parece ter um tema de ícones instalado. Veja as opções do Konversation - <i>"
+"Configurar o Konversation</i> no menu <i>Configuração</i>. Veja a página de <i>"
+"Temas</i> em <i>Aparência</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Isto mostra todas as pessoas no canal. É mostrada a alcunha de cada pessoa, "
+"assim como uma imagem que mostra o estado dele."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Esta pessoa tem privilégios de administrador.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Esta pessoa é o dono de um canal.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Esta pessoa é um operador de um canal.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Esta pessoa é um semi-operador de um canal.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Esta pessoa tem voz, como tal poderá falar num canal moderado.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Esta pessoa não tem quaisquer privilégios especiais.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Isto indica que a pessoa está ausente de momento.</td></tr></table>"
+"<p>O significado de administrador, dono e semi-operador varia entre os "
+"diferentes servidores de IRC."
+"<p>Se passar o rato por cima de uma dada alcunha, aparece o seu estado actual, "
+"assim como quaisquer informações no livro de endereços sobre esta pessoa. Veja "
+"o Manual do Konversation para mais informações.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Editar o Contacto..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Escolher/Modificar as Associações..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Escolher o Contacto..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Modificar a Associação..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Criar um Novo Contacto..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Remover a Associação"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Canal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Pesquisa"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Aviso"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Excepção"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Páginas"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Hoje"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Ontem"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identificado)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-mail"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Máscara de máquina:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Mensagem de Ausência:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(desconhecido)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Ligado Desde:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Carregue para executar o Editor de Expressões Regulares (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "O Editor de Expressões Regulares (KRegExpEditor) não está instalado"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Enviado"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Recebido"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Ambos"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Juntar ao Canal em %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Ligação Rápida"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servidor:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Indique o servidor da rede aqui."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Porto:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "O porto onde que o servidor IRC está a utilizar."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Alcu&nha:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "A alcunha que deseja utilizar."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "Senh&a:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Se o seu servidor de IRC necessita de uma senha, digite-a aqui (a maior parte "
+"dos servidores não precisam de senha)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Utilizar SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "L&igar"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Ligar ao servidor"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Não foi possível abrir um 'socket' de atendimento: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "A oferecer ligação de Conversa DCC a %1 no porto %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Conversa DCC com %1 no porto %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "A estabelecer a ligação de Conversa DCC a %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Conversa DCC com %1 em %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Ligação de Conversa DCC estabelecida a %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Ligação quebrada, código de erro %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Foi recebido um pedido CTCP-%1 desconhecido de %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Não foi possível aceitar o cliente."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Predefinido ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Lista de Servidores"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Carregue aqui para se ligar à rede e canal de IRC seleccionados."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Isto mostra uma lista com as redes de IRC configuradas. Uma rede de IRC é uma "
+"colecção de servidores cooperantes. Só é necessário ligar-se a um dos "
+"servidores da rede, para se ligar a toda a rede de IRC. Logo que esteja ligado, "
+"o Konversation juntar-se-á automaticamente aos canais apresentados. Quando o "
+"Konversation é iniciado pela primeira vez, estarão já introduzidas a rede "
+"Freenode e o canal <i>#kde</i> para si. Carregue numa rede para a seleccionar."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Rede"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identidade"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Canais"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Nova..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Carregue aqui para definir uma nova rede, incluindo o servidor a que deseja "
+"ligar, bem como os canais aos quais se juntar, logo que esteja ligado."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Editar..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Mostrar no arranque da aplicação"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nova Rede"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Editar a Rede"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Não pode remover o %1.\n"
+"\n"
+"A rede %2 necessita de pelo menos um servidor."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Não pode remover os servidores seleccionados.\n"
+"\n"
+"A rede %1 necessita de pelo menos um servidor."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Deseja mesmo apagar os elementos seleccionados?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Deseja mesmo remover o '%1'?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Mostrar os últimos:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Use este campo para indicar o tamanho máximo do ficheiro de registo. Esta opção "
+"não fará efeito até que reinicie o Konversation. Cada ficheiro de registo "
+"poderá ter uma configuração separada."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Limpar o Registo"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"As mensagens no ficheiro de registo são mostradas aqui. As mensagens mais "
+"antigas encontram-se no topo e as mais recentes em baixo."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Deseja mesmo eliminar permanentemente toda a informação de registo deste "
+"ficheiro?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Nota: Ao gravar o ficheiro de registo você irá gravar todos os dados no "
+"ficheiro, não só a parte que você consegue ver nesta janela."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Gravar o Registo"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Escolha a Pasta de Destino"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Informação"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "A oferecer ligação de Conversa DCC a %1 no porto %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Tentativas de novas ligações:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"Já está ligado a %1. Deseja desligar-se de '%2' e ligar-se a '%3' em "
+"alternativa?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Já ligado a %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Ligação"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Já está ligado a %1. Deseja desligar-se de '%2' e ligar-se a '%3' em "
+"alternativa?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Editar o Servidor"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Por favor preencha o seu <b>ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Por favor preencha o seu <b>Nome real</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Por favor indique pelo menos uma <b>Alcunha</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr ""
+"<qt>A sua identidade \"%1\" não está configurada correctamente:"
+"<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Configuração da Identidade"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Editar a Identidade..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identidades"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identidade:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplicada"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Mudar o Nome"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Geral"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "Nome ve&rdadeiro:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Indique aqui o seu nome verdadeiro. O IRC não o pretende manter escondido dos "
+"seus amigos e inimigos. Tenha isto em mente se tentar comportar-se "
+"indevidamente. Um \"nome verdadeiro\" falsificado poderá ser uma boa forma de "
+"disfarçar o seu sexo dos cromos existentes por aí, mas o PC que você usa poderá "
+"sempre ser localizado, como tal nunca estará verdadeiramente anónimo."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Alcunha"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Esta é a sua lista de alcunhas. Uma alcunha é o nome pelo qual os outros "
+"utilizadores o irão conhecer. Poderá usar qualquer nome que desejar. O primeiro "
+"carácter deverá ser uma letra.\n"
+"\n"
+"Dado que as alcunhas deverão ser únicas em toda a rede de IRC, o seu nome "
+"desejado poderá ser rejeitado pelo servidor, se alguém já estiver a usar essa "
+"alcunha. Indique alcunhas alternativas para si. Se a sua primeira escolha for "
+"rejeitada pelo servidor, o Konversation tentará as alcunhas alternativas."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Adicionar..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Editar..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Identificar Automaticamente"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&viço:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"O nome do serviço pode ser <b><i>nickserv</i></b> ou um nome dependente da rede "
+"como <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Senha:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Ausente"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Marcar a última posição nas janelas de conversação ao ausentar-se"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Se assinalar esta opção, sempre que efectuar um comando <b>/away</b>"
+", irá aparecer uma linha horizontal no canal, a marcar o ponto em que você se "
+"ausentou. Os outros utilizadores de IRC não irão ver esta linha horizontal."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Alcunha de ausência:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Forneça uma alcunha que indique que você está ausente. Sempre que efectuar um "
+"comando <b>/away mensagem</b> em qualquer canal a que esteja ligado com esta "
+"identidade, o Konversation irá mudar automaticamente a sua alcunha para a "
+"alcunha de ausência. Os outros utilizadores poderão perceber que você está "
+"ausente do seu computador. Sempre que executar um comando <b>/away</b> "
+"em qualquer canal onde esteja ausente, o Konversation irá mudar automaticamente "
+"a sua alcunha de volta para a original. Se não quiser mudar automaticamente a "
+"sua alcunha ao passar para ausente, deixe em branco."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " linhas"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "Na actividade de pes&quisa"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Continuar au&tomaticamente as transferências"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Mensagem de Ausência:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Se você assinalar esta opção, o Konversation irá mudar enviar automaticamente a "
+"mensagem de ausência para todos os canais a que se tenha ligado com esta "
+"identidade. O <b>%s</b> é substituído pela <b>mensagem</b>"
+". Sempre que executar um comando <b>/away</b>, a mensagem de regresso será "
+"apresentada em todos os canais a que se ligou com esta identidade."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "&Mensagem de ausência:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Mensagem de re&gresso:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avançado"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Pré-comando:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Aqui, você poderá indicar um comando a executar antes do início da ligação ao "
+"servidor"
+"<br>Se você tiver vários servidores nesta identidade, o comando será executado "
+"para cada um deles"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent.:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Quando você se ligar, vários servidores tentarão pesquisar no seu computador "
+"uma resposta de IDENT. Se o seu computador não estiver a correr um servidor de "
+"IDENT, esta resposta é enviada pelo Konversation. Não são permitidos espaços."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Codificação:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Esta opção afecta a forma como os caracteres que você escreve são codificados "
+"para enviar para o servidor. Também afecta a forma como as mensagens são "
+"apresentadas. Quando o utilizador abre o Konversation pela primeira vez, ele "
+"obtém esta opção a partir do sistema operativo. Se você estiver com problemas "
+"ao ver as mensagens dos outros utilizadores correctamente, tente mudar esta "
+"configuração."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Razão da &partida:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Sempre que abandonar um canal, esta mensagem é enviada para ele."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Razão da &partida:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Sempre que abandonar um canal, esta mensagem é enviada para ele."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Razão da e&xpulsão:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Sempre que você for expulso de um canal (normalmente por um operador de IRC), "
+"esta mensagem é enviada para o dito canal."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Mudar informação de identidade"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Esquecer todas as alterações feitas"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Deve adicionar pelo menos uma alcunha à identidade."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Adicionar a Alcunha"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Alcunha:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Editar a Alcunha"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Adicionar uma Identidade"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Nome da identidade:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Você precisa de dar um nome à identidade."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Mudar o Nome da Identidade"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Esta identidade está a ser utilizada, se a remover as configurações de rede que "
+"a usam voltam a utilizar a identidade predefinida. Deve ser apagada de qualquer "
+"forma?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr ""
+"Deseja mesmo eliminar permanentemente toda a informação para esta identidade?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Remover a Identidade"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplicar a Identidade"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Utilizadores Normais"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Voz (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Halfops (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operadores (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administradores do Canal (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Donos do Canal (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Inserir Caracter"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Inserir um caracter"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Editor de Favoritos do Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Sem porto livre"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Não foi possível abrir um 'socket'"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Procurar o Texto..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Copiar o URL para a Área de Transferência"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Adicionar aos Favoritos"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Gravar a Ligação Como..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Abrir uma pesquisa com %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Juntar ao canal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Notificar"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Entrar"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Abandonar"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Abrir a Pesquisa"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Entrar"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Obter a lista de &utilizadores"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Obter o &tópico"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Nada encontrado para \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Gravar a Ligação Como"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Lista de &Servidores..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Gerir as redes e os servidores"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Liga&ção Rápida..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Escreva o endereço do novo servidor de IRC onde ligar..."
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Ligar de novo"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Ligar de novo ao servidor actual."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Desligar"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Desligar do servidor actual."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identidades..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Gerir a sua configuração de alcunhas, ausência e outras identidades"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Alcunhas &Vigiadas Ligadas"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "Estado do &DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Abrir &o Registo"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Abre o histórico conhecido deste canal numa página nova."
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Configuração do Canal..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Usar a janela de configuração do canal nesta página"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Lista de Canais"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Mostra uma lista com todos os canais conhecidos neste servidor"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Extractor de &URLs"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr ""
+"Mostra um histórico de todos os URLs que foram mencionados em qualquer canal"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Nova &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Abre um terminal numa página nova"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Página Segui&nte"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Página Anterior"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Fe&char a Página"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Página Activa Seguinte"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Mover a Página para Cima"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Mover a Página para Baixo"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Mover a Página para a Direita"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Mover a Página para a Esquerda"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Juntar ao Canal"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Activar as Notificações"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Juntar ao Canal"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Escolher a Codificação"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Ir para a Página %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Limpar as Linhas &Marcadoras"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Limpar as linhas marcadoras na página actual"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Limpar a &Janela"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Limpa o conteúdo da janela actual"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Limpar Tod&as as Janelas"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Limpa o conteúdo de todas as janelas"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Entrar no Canal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "Cor de &IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Muda a cor da mensagem de IRC actual."
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "Linha &Marcadora"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Adicionar uma linha horizontal que apenas você pode ver."
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Carácter Especial..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Insere qualquer caracter na mensagem actual de IRC. "
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Fechar Todas as Pesquisas &Abertas"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Esconder a Lista de Alcunhas"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>Tem a certeza que deseja sair do <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Confirmar a Saída"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Tem a certeza que deseja sair do <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<qt>Fechar a janela principal mantém o Konversation a correr na bandeja do "
+"sistema. Utilize <b>Sair<b> do menu <b>Konversation</b> "
+"para terminar a aplicação.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Acoplagem na Bandeja do Sistema"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Isto vai esconder completamente a barra de menu. Pode mostrá-la novamente "
+"usando %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Comutar as Notificações"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Comutar a Ausência Global"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Inserir uma Cor de &IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Inserir um &Carácter Especial..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Inserir uma Linha &Marcadora"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Lista de &Canais"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Pôr como &Ausente Globalmente"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Bruto"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Utilização: %1JOIN <canal> [senha]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Utilização: %1KICK <alcunha> [razão]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART sem parâmetros apenas funciona de dentro de um canal ou procura."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART sem nome de canal apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC sem parâmetros apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC sem canal apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"O %1NAMES sem alvo podê-lo-á desligar do servidor. Indique '*' se quiser de "
+"facto isto."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Utilização: %1NOTICE <destinatário> <mensagem>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "A enviar o aviso \"%2\" a %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Utilização: %1ME texto"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "A enviar um pedido de CTCP-%1 a %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "O ficheiro \"%1\" não existe."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Utilização: %1DCC [SEND alcunha ficheiro]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Utilização: %1DCC [CHAT alcunha]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr ""
+"O comando %1DCC %2 é desconhecido. Os comandos possíveis são SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Utilização: %1INVITE <alcunha> [canal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "O %1INVITE sem nome de canal apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "O %1 não é um canal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Utilização: %1EXEC <'script'> [lista de parâmetros]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "O nome do 'script' não pode conter \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Utilização: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Lista actual de notificações está vazia."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Lista de notificações actual: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Indique o nome de utilizador e senha para obter privilégios de operador de IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Senha de Operador de IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "O %1BAN sem nome de canal apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "O %1KICKBAN, sem nome de canal, apenas funciona dentro de um canal."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Utilização: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canal] "
+"<utilizador|máscara>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Utilização: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [canal] "
+"<utilizador|máscara> [razão]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "O %1UNBAN sem nome de canal apenas funciona de dentro de um canal."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Utilização: %1UNBAN [canal] padrão"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Foi adicionado o %1 à sua lista de ignorados."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+"Utilização: %1IGNORE [ -ALL ] <utilizador 1> <utilizador 2> ... <utilizador n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr ""
+"Utilização: %1UNIGNORE <utilizador 1> <utilizador 2> ... <utilizador n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Foi removido o %1 da sua lista de ignorados."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Não existe o item ignorado: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Não existem as alcunhas: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Utilização: %1QUOTE lista de comandos"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Utilização: %1SAY texto"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Utilização"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Utilização: %1AME texto"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Utilização: %1AMSG texto"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Utilização: %1OAMSG texto"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "A enviar o aviso \"%1\" a %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Utilização: %1ONOTICE texto"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "A codificação actual é: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Mudou-se para a codificação %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "A %1 não é uma codificação válida."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Utilização: %1setkey <alcunha> ou <canal> <chave> Muda a chave de encriptação "
+"da alcunha ou do canal"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "A tecla de %1 foi agora removida."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Utilização: %1delkey <alcunha> ou <canal> Remove a chave de encriptação da "
+"alcunha ou do canal"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "A tecla de %1 foi agora removida."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "A tecla de %1 foi agora removida."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Utilização: %1DNS <alcunha>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Resolveu o %1 como: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Não é possível resolver o %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "A resolução inversa necessita do KDE 3.5.1 ou superior."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Utilização: %1KILL <alcunha> [comentário]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>A linha de entrada é onde você escreve as mensagens a enviar para o canal, "
+"pesquisa ou servidor. Uma mensagem enviada para um canal é vista por toda a "
+"gente no canal, enquanto uma mensagem numa pesquisa é enviada apenas para a "
+"pessoa que está consigo nessa conversa privada."
+"<p>Poderá enviar também comandos especiais:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>acção</i></th>"
+"<td>aparece como uma acção no canal ou pesquisa. Por exemplo: <em>"
+"/me está a cantar uma canção</em> irá aparecer no canal como 'Zé está a cantar "
+"uma canção'.</td></tr>"
+"<tr>"
+"<th>/whois <i>alcunha</i></th>"
+"<td>mostra informações sobre esta pessoa, incluindo em que canais ela se "
+"encontra.</td></tr></table>"
+"<p>Para mais comandos, veja o Manual do Konversation."
+"<p>Uma mensagem poderá ter no máximo 512 caracteres e não poderá conter várias "
+"linhas.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Está a tentar colar uma grande quantidade de texto na conversa (%1 bytes ou "
+"%2 linhas). Isto pode causar a quebra de ligação ou desconexões por demasiados "
+"dados enviados. Quer mesmo continuar?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Aviso de Colar Grande"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Um cliente de IRC fácil de utilizar"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "O servidor ao qual ligar"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Porto a usar"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Canal ao qual juntar-se após a ligação"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Alcunha a usar"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Senha da ligação"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Usar o SSL na ligação"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008 pela equipa do Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"O Konversation é um cliente para o protocolo Internet Relay Chat (IRC).\n"
+"Conheça amigos na Net, faça novos conhecimentos e perca-se a si próprio\n"
+"a falar sobre o seu assunto favorito."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Autoria Original, Fundação do Projecto"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Manutenção"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Co-manutenção, Gestor de Versões, Interacção com o Utilizador, Tratamento do "
+"Protocolo"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, Tratamento das Codificações, Posicionamento do OSD"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Tratamento do protocolo, linha de entrada"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish, Suporte de SSL, Mudanças para o KNetwork, Alcunhas Coloridas, Temas "
+"de Ícones"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Reorganização, integração Kadddressbook/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Alojamento da página Web"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Manutenção da página Web"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Extensão de vários modo, colocação do item Fechar, funcionalidade No Ecrã"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Documentação, Melhorias às alcunhas vigiadas, Extensões de navegadores web "
+"personalizados"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Configuração de cores, janela de realce"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Interface DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Codificações para além do Latin1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Vista da parte Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Ligação rápida, Conversão do novo OSD, outras funcionalidades e correcções"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Bastantes correcções e limpezas de código"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Melhorias no 'Drag&Drop'"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Parte artística"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Barra de procura à Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Modos em bruto, agrupar em páginas por servidor, lista de expulsões"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Alteração para a bandeja do sistema"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Correcções de erros"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Actualização dos modos dos utilizadores extendidos"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Fechar a página visível com um atalho"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Mudar de página com a roda do rato"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "'Patch' de modo de donos do canal"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Opção para activar a filtragem de cores IRC"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Correcções de erros, trabalho da OSD, limpeza de tópicos"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Programa 'sysinfo'"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"Foi recebido um pedido CTCP-PING de %1 para o canal %2, a enviar a resposta."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Foi recebido um pedido de CTCP-%1 de %2, a enviar resposta."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Recebido pedido de Versão de %1 para o canal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Recebido pedido de Versão de %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Foi recebido um pedido DCC SEND inválido de %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Foi recebido um pedido DCC ACCEPT inválido de %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Foi recebido um pedido DCC RESUME inválido de %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Foi recebido um pedido DCC CHAT inválido de %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Comando DCC desconhecido %1 recebido de %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Foi recebido um pedido CTCP-%1 desconhecido de %2 para o Canal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Foi recebido um pedido CTCP-%1 desconhecido de %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 para %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Foi recebida uma resposta de CTCP-PING de %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Foi recebida uma resposta de CTCP-%1 de %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Convidar"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 convidou-o para o canal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Bem-vindo"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Servidor %1 (Versão %2), Modos de utilizador: %3, Modos de canal: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Suporte"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Os seus modos pessoais são:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Modos do canal: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "protecção de tópico"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "sem mensagens do exterior"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "secreto"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "por convite apenas"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privado"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderado"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "protegido por senha"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anónimo"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "reop de servidor"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "cores não permitidas"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"limitado a %n utilizador\n"
+"limitado a %n utilizadores"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Modo"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Lista de Canais para %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Criado"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Este canal foi criado em %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Quem é"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "O %1 está agora ligado como %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Nomes"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Fim da lista de NOMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TÓPICO"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "O canal %1 não tem tópico definido."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Tópico"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "O tópico do canal \"%1\" é: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "O tópico foi mudado por %1 em %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "O tópico de %1 foi mudado por %2 em %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "O %1 está a usar de momento a máquina %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Não existe esse nome ou canal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Não existe a alcunha: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Não existe esse canal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Alcunha"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "A alcunha já está em utilização; tente outra alcunha."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Alcunha já em utilização. A tentar %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Alcunha inválida. A mudar a alcunha para %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Você não está em %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Mensagem do dia:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Fim da mensagem do dia"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Você é agora um operador de IRC neste servidor."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Utilizadores"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Utilizadores actualmente na rede: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Utilizadores actualmente em %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Ausente"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 está ausente: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Convidou %1 para o canal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 é %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Resolveu o %1 (%2) como o endereço: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Não é possível resolver o endereço do %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 é um utilizador identificado."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Quem"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 é %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Ausente)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Fim da lista /WHO para %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 é utilizador nos canais: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 tem voz nos canais: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 é sub-operador nos canais: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 é operador nos canais: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 é o dono nos canais: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 é o administrador nos canais: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 está ligado via %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "O %1 está disponível para ajudar."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 é um Operador do IRC."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 dia\n"
+"%n dias"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"Uma hora\n"
+"%n horas"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minuto\n"
+"%n minutos"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 segundo\n"
+"%n segundos"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 está inactivo à %2, %3, %4 e %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 está inactivo à %2, %3 e %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 está inactivo à %2 e %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 está inactivo à 1 segundo.\n"
+"%1 está inactivo à %n segundos."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "O %1 está ligado desde %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Fim da lista WHOIS."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Máquina do utilizador"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 está %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Operador do IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (ausente)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Lista de canais:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n utilizador): %2\n"
+"%1 (%n utilizadores): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Fim da lista de canais."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Lista de Expulsões: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 definido por %2 em %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Fim da lista de expulsões."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "O %1 está indisponível de momento."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Comando desconhecido."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Não registado."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Este comando necessita de mais parâmetros."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Você mudou os modos pessoais: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "mudou os seus modos pessoais:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " muda o modo: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Identidade por Omissão"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Editar as Alcunhas Vigiadas"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Nome da rede:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Escolha a rede de servidores a que se liga aqui."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Alcunha:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>A alcunha a vigiar quando ligado a um servidor na rede.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Mudar informação de notificação"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "A ligação está segura com o SSL de %1 bits."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"A funcionalidade de ligação a servidores utilizando comunicações cifradas por "
+"SSL não está disponível porque o suporte OpenSSL não foi activado no momento da "
+"compilação. Deve obter uma nova versão do KDE com suporte SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"O certificado SSL devolvido pelo servidor não foi reconhecido. Talvez este "
+"servidor não suporte SSL no porto indicado? Se o servidor suporta também "
+"comunicações normais, não-SSL, a versão SSL está num porto diferente."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"O endereço IP da máquina %1 não corresponde ao indicado no certificado."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autenticação do Servidor"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detalhes"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "O certificado do servidor (%1) não passou o teste de autenticidade."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Quer aceitar este certificado sempre, sem que seja notificado?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Sempre"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Só nas Sessões A&ctuais"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Realce] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Procura] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 ligou-se a %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 saiu de %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 saiu de %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 mudou a alcunha para %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 quer enviar-lhe um ficheiro"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 começou uma conversa (procura) consigo."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 está ligado (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 desligou-se (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Você foi expulso por %1 de %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 começou uma conversa dcc consigo"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Realce] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Não foi possível ligar a %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Você ligou-se a %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Frase não encontrada"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "A procura deu a volta"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Interface de Rede"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Resposta do Servidor IRC"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Indicar Manualmente"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Escola de Cores do IRC"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Nenhuma"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Servidor:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"O nome ou número IP do servidor. O irchelp.org mantém uma lista dos servidores."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Indique o número de porto necessário para ligar ao servidor. Na maioria dos "
+"servidores, este deverá ser o <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Sen&ha:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Ligação s&egura (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Assinale se quiser usar o protocolo SSL (Secure Socket Layer) para comunicar "
+"com o servidor. Isto garante a privacidade das suas comunicações entre o seu "
+"computador e o servidor de IRC. Este servidor deverá suportar o protocolo SSL "
+"para isto funcionar. Na maioria dos casos, se o servidor não suportar o SSL, a "
+"ligação irá falhar."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "O endereço do servidor é obrigatório."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "O administrador restringiu o direito de enviar ficheiros"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "O URL \"%1\" não existe."
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Não foi possível obter \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Indique o Nome do Ficheiro"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>O ficheiro que está enviar para <i>%1</i> não tem um nome de ficheiro."
+"<br>Por favor indique um nome de ficheiro a ser apresentado ao destinatário, ou "
+"cancele a transferência DCC</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Não foi dado nome de ficheiro"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"Não foi possível enviar um pedido de DCC SEND ao parceiro pelo servidor de IRC."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "À espera da aceitação do utilizador remoto"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Não foi possível aceitar a ligação. (Erro no 'Socket')"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Não foi possível abrir o ficheiro: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Erro no 'socket': %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Tempo-limite expirado"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Falha na ligação: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Utilizador remoto desligou"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr ""
+"A operação decorreu com sucesso. Nunca deverá aparecer numa janela de erro."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Não foi possível ler do ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Não foi possível escrever para o ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Ocorreu um erro fatal não recuperável."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Não foi possível aceder ao ficheiro \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "A operação foi inesperadamente abortada."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "A operação expirou."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Ocorreu um erro não especificado ao fechar."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Erro desconhecido. Código %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Envio DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Recepção DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (DCC Inverso)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Servidor desconhecido"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 em %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (porto %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (porto %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Sim, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 s"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Pronto."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Isto mostra o número de utilizadores no canal e o número destes que são "
+"operadores (ops)."
+"<p>Um operador do canal é um utilizador que tem privilégios especiais como a "
+"capacidade de expulsar e banir utilizadores, mudar os modos do canal e tornar "
+"os outros utilizadores operadores</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Atraso: Desconhecido"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Toda a comunicação com o servidor é cifrada. Isto torna mais difícil alguém "
+"escutar as suas comunicações."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>A barra de estado mostra várias mensagens, incluindo todos os problemas de "
+"ligação ao servidor. Do lado direito é apresentada a demora até ao servidor. A "
+"demora é o tempo que leva às suas mensagens a atingir o servidor, assim como as "
+"respostas do mesmo de volta para si.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Atraso: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Atraso: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Nenhuma resposta do servidor %1 à mais de %2, %3, %4 e %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Nenhuma resposta do servidor %1 à mais de %2, %3 e %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Nenhuma resposta do servidor %1 à mais de %2 e %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Nenhuma resposta do servidor %1 à mais de 1 segundo.\n"
+"Nenhuma resposta do servidor %1 à mais de %n segundos."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "A procurar pelo servidor %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Servidor %1 não encontrado. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Servidor encontrado, a ligar..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Ligado; a autenticar-se..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Ligação ao Servidor %1 falhou: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Não foi possível ligar a %1:%2 utilizando encriptação SSL. Talvez o servidor "
+"não suporte SSL, ou talvez tenha escolhido o porto errado? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Erro de Ligação SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Foi desligado do servidor."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Não foram aceites quaisquer alcunhas da identidade \"%1\" pela ligação \"%2\".\n"
+"Indique por favor um nome novo ou carregue em Cancelar para desligar:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Erro da alcunha"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Ocorreu um erro ao ler dados do servidor: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Seleccione os Ficheiros a Enviar para %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 ofereceu-se para lhe enviar o \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "tamanho desconhecido"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "A pedir para %1 aceitar o envio de \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Foi recebida uma mensagem de aceitação de envio passivo inválida do \"%1\" de "
+"%2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "A continuar a recepção de \"%1\" do %2, a começar em %3% de %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"Foi recebida uma mensagem de aceitação de continuação inválida do \"%1\" de %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "A continuar o envio de \"%1\" do %2, a começar em %3% de %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Foi recebido um pedido inválido de continuação do \"%1\" de %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "A recepção do \"%1\" de %2 terminou."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "A recepção de \"%1\" de %2 falhou. Razão: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "O envio do \"%1\" para %2 terminou."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "O envio de \"%1\" para %2 falhou. Razão: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "A enviar o \"%1\" a %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "A obter o \"%1\" (%2) de %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"Você foi convidado pelo %1 para se juntar ao canal %2. Deseja aceitar o "
+"convite?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Convite"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Erro: Não foi possível encontrar o 'script' \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr ""
+"Erro: não foi possível executa o 'script' \"%1\". Verifique as permissões do "
+"ficheiro."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Ausente por agora."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Você está marcado agora como estando ausente."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Você já não está mais marcado como estando ausente."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Você não está marcado como estando ausente."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Alcunhas Vigiadas Ligadas"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Rede/Alcunha/Canal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Dados Adicionais"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Estas são todas as alcunhas na lista de Vigia de Alcunhas, listadas na rede "
+"de servidores a que estão ligadas. A lista também inclui as alcunhas no "
+"KAddressBook associados à rede de servidores.</p>"
+"<p>A coluna <b>Informação Adicional</b> mostra a informação conhecida de cada "
+"alcunha.</p>"
+"<p>Os canais a que a alcunha se juntou estão listado por baixo de cada "
+"alcunha.</p>"
+"<p>As alcunhas que aparecem em <b>Desligado</b> não estão ligadas a qualquer "
+"dos servidores da rede.</p>"
+"<p>Carregue com o botão direito do rato numa alcunha para efectuar outras "
+"operações.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Editar a Lista de Vigia..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Carregue para editar a lista de alcunhas que aparecem no ecrã."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Livro de endereços:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Quando selecciona uma alcunha da lista acima estes botões são utilizados para "
+"associar a alcunha com uma entrada no KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Editar o C&ontacto..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Carregue para criar, ver ou editar a entrada no KAddressBook associada com a "
+"alcunha selecciona em cima."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Modifi&car a Associação..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Carregue para associar a alcunha seleccionada em cima com uma entrada no "
+"KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Remover a Associação"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Carregue para remover a associação entre a alcunha seleccionada em cima e a "
+"entrada no KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " está ligado via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " desde %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Desligado"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voz"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " MeioOp"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operador"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Dono"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Criar um Novo C&ontacto..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "Es&colher a Associação..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Juntar ao Canal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Seleccionar o Ficheiro de Som"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Ficheiro de registo começou\n"
+"*** em %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Juntar-se automaticamente ao canal ao ser convidado"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Aviso de que gravar ficheiros de registo grava todo o ficheiro"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Perguntar antes de apagar o conteúdo do ficheiro de registo"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Perguntar ao fechar as pesquisas depois de ignorar a alcunha"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Perguntar antes de se ligar a outro servidor na rede"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Perguntar antes de se ligar a outro servidor na rede"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Fechar a página do servidor"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Fechar a página de canais"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Fechar a página de pesquisa"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"A lista de canais só pode ser aberta de páginas que conhecem o servidor"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Avisar ao esconder o menu da janela principal"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Avisar quando houver tráfego elevado na lista de canais"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Avisar ao colar pedaços grandes de texto"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Avisar ao sair do Konversation"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Lista de Canais"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Configuração do Filtro"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Mínimo de utilizadores:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Máximo de utilizadores:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Você poderá limitar a lista de canais para apenas os que tenham um número "
+"mínimo de utilizadores. Se escolher 0, irá desactivar este critério."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Você poderá limitar a lista de canais para apenas os que tenham um número "
+"máximo de utilizadores. Se escolher 0, irá desactivar este critério."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Padrão de filtragem:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Alvo do filtro:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Indique aqui o texto de filtragem."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Expressão regular"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Aplicar o Filtro"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Carregue aqui para obter a lista de canais do servidor e aplicar o filtro."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"A lista filtrada de canais é mostrada aqui. Repare que, se não usar expressões "
+"regulares, o Konversation lista todos os canais cujo nome contenha o texto de "
+"filtragem que introduzir aqui. O nome do canal não tem de começar pelo texto "
+"que você introduzir.\n"
+"\n"
+"Seleccione um canal a que se deseja ligar, carregando para tal nele. Carregue "
+"com o botão direito no canal para obter uma lista de todos os endereços Web "
+"mencionados no tópico do canal."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Nome do Canal"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Tópico do Canal"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Actualizar a Lista"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Gravar a Lista..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Juntar ao Canal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Carregue aqui para se juntar ao canal. É criada uma página para o canal."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Gravar Lista de Canais"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Lista de Canais do Konversation: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Canais: %1 (%2 visíveis)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Utilizadores não únicos: %1 (%2 visíveis)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Abrir o URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Nenhum URL encontrado>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Lista de Canais para %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Ligado"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de mensagens "
+"instantâneas, mas não indicou o contacto para onde enviar a mensagem. Isto é "
+"provavelmente um erro na outra aplicação."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de mensagens "
+"instantâneas, mas o Konversation não conseguiu encontrar o contacto indicado no "
+"livro de endereços do KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de mensagens "
+"instantâneas, mas o utilizador indicado '%1' não está ligado."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de um ficheiro "
+"para o contacto, mas não indicou nenhum contacto para onde enviar o ficheiro. "
+"Isto é provavelmente um erro na outra aplicação."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de um ficheiro "
+"para um contacto, mas este não conseguiu encontrar o contacto indicado no livro "
+"de endereços do KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para o envio de um ficheiro "
+"para um contacto, mas o utilizador indicado '%1' não está ligado de momento."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Outra aplicação do KDE tentou usar o Konversation para adicionar um contacto. O "
+"Konversation suporta isto."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Não foi possível executar o programa de livro de endereços (kaddressbook). "
+"Provavelmente não está instalado. Por favor instale os pacotes 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"O contacto que seleccionou não tem um endereço de e-mail associado com ele."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Não Foi Possível Enviar E-mail"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Não foi possível executar o programa de e-mail. Provavelmente não está "
+"instalado. Para instalar o programa de e-mail do KDE (kmail) por favor instale "
+"os pacotes 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Nenhum dos contactos que seleccionou estão associados com contactos no livro de "
+"endereços. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr ""
+"O contacto que seleccionou não está associados com um contacto no livro de "
+"endereços. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Alguns dos contactos (%1) que seleccionou não estão associados com contactos no "
+"livro de endereços. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Um dos contactos (%1) que seleccionou não está associado com um contacto no "
+"livro de endereços. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Pode carregar com o botão direito num contacto e escolher editar a Associação "
+"com o Livro de Endereço para os ligar a um contacto no seu livro de endereços."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Nenhum dos contactos que seleccionou tem um endereço de e-mail associado com "
+"ele."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Alguns dos contactos (%1) que seleccionou não têm um endereço de e-mail "
+"associado a eles."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Um dos contactos (%1) que seleccionou não tem um endereço de e-mail associado a "
+"ele."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Pode carregar com o botão direito num contacto e escolher editar o contacto do "
+"livro de endereços, adicionando-lhe um e-mail."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Alguns dos contactos (%1) que seleccionou não estão associados com contactos no "
+"livro de endereços, e alguns dos contactos (%2) não têm um endereço de e-mail "
+"associado a eles. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Pode carregar com o botão direito num contacto e escolher editar a Associação "
+"com o Livro de Endereço para os ligar a um contacto no seu livro de endereços, "
+"e escolher editar o contacto do livro de endereços, adicionando-lhe um e-mail."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Deseja enviar de qualquer modo um e-mail para as alcunhas que têm um endereço "
+"de e-mail?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Enviar um E-mail"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Ligar a Alcunha de IRC a um Contacto de Livro de Endereços"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Escolha a pessoa que '%1' é."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Actualmente '%1' está associado a um contacto."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Actualmente '%1' está associado ao contacto '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Atenção:</b> O '%1' está actualmente listado como pertencendo a vários "
+"contactos. Por favor seleccione o contacto correcto.</p></qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Novo Item do Livro de Endereços"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Nome do novo item:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Extractor de URLs"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Lista de URLs mencionadas em qualquer das janelas do Konversation durante esta "
+"sessão."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Abrir &o URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Seleccione uma <b>URL</b> em cima, e carregue neste botão para lançar a "
+"aplicação associada com o tipo MIME da URL.</p>"
+"<p>Na <b>Configuração</b>, em <b>Comportamento</b> | <b>Geral</b>"
+", pode indicar um navegador web personalizado para as URLs."
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Copiar o URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Seleccione uma <b>URL</b> em cima, e carregue neste botão para copiar a URL "
+"para a área de transferência."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Remover o URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Seleccione uma <b>URL</b> em cima, e carregue neste botão para apagar a URL da "
+"lista."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Gra&var a Lista..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Carregue para gravar toda a lista para um ficheiro."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Limpar a Lista"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Carregue para apagar toda a lista."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Gravar a Lista de URLs"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Editar Colagem Multi-Linha"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Adicionar Indicadores de &Citação"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "Ca&nal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "O nome do canal é obrigatório."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Registo Bruto"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Procurar o texto na página actual"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Lista de Canais para %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Abrir &o Ficheiro de Registo de %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "&Configuração do Canal para %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Por omissão ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Apenas pode procurar em campos de texto."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Procurar Informação Textual"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Ficheiro do registo do %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Estado do DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Ao usar esta função poderá originar bastante tráfego de rede. Se a sua ligação "
+"não for suficientemente rápida, é possível que o seu cliente seja desligado "
+"pelo servidor."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Aviso da Lista de Canal"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"A lista de canais só pode ser aberta das janelas de procura, canal ou estado, "
+"de forma a saber a que servidor a lista pertence."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Indique o nome da rede aqui. Poderá criar tantos itens no ecrã da Lista de "
+"Servidores, com a mesma rede que desejar."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Escolha uma identidade existente ou carregue no botão Editar para adicionar uma "
+"nova identidade ou editar uma existente. A identidade representá-lo-á e irá "
+"determinar a sua alcunha, quando se ligar à rede."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opcional. Este comando será enviado para o servidor, após a ligação. Exemplo: "
+"<b>/msg NickServ IDENTIFY <i>konvirocks</i></b>. Este é um exemplo para a rede "
+"Freenode, a qual obriga a que os utilizadores registem a sua alcunha com uma "
+"senha e se autentiquem após a ligação. O <i>konvirocks<i> "
+"é a senha da alcunha dada na identidade. Poderá indicar mais que um comando, "
+"separando-os por pontos-e-vírgulas (;)."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Assinale esta opção, se quiser que o Konversation se ligue automaticamente a "
+"esta rede, sempre que abrir o Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Esta é uma lista dos Servidores de IRC na rede. Ao ligar-se à rede, o "
+"Konversation tentar-se-á ligar ao servidor do topo em primeiro lugar. Se isto "
+"falhar, irá tentar o segundo servidor. No caso de falha, tentará o terceiro, e "
+"assim por diante. Deverá existir pelo menos um servidor. Carregue num servidor "
+"para o seleccionar."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opcional. Esta é uma lista dos canais a que se ligará automaticamente, logo que "
+"o Konversation se tenha ligado a um servidor. Poderá deixar isto em branco se "
+"não quiser ligar-se automaticamente a nenhuns canais."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Mudar informação da rede"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Adicionar um Servidor"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Editar o Servidor"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Adicionar Canal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Editar o Canal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "O nome do rede é obrigatório."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Deve adicionar pelo menos um servidor à rede."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Temas do Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Seleccione o Pacote de Tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Não Foi Possível Transferir o Tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "O arquivo do tema é inválido."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Não Foi Possível Instalar o Tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Deseja mesmo remover %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Remover o Tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - Cliente de IRC"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Escolha o Destinatário"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Seleccionar o utilizador e fechar a janela"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Fecha a janela sem alterações"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "O servidor %1 não foi encontrado."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "O administrador restringiu o direito de receber ficheiros"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Negociação não suportada (tamanho de ficheiro=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Não foi possível criar pasta</b><br>Pasta %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Não foi possível criar uma instância KIO"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>O ficheiro está a ser usado por outra transferência.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Existe um ficheiro parcial.</b>"
+"<br>%1"
+"<br>Tamanho do ficheiro parcial: %2 bytes"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>O ficheiro já existe.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Não foi possível abrir o ficheiro.<br>Erro: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Não foi possível enviar uma confirmação inversa do DCC SEND ao parceiro pelo "
+"servidor de IRC."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "À espera da ligação"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "À espera da aceitação do computador remoto"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Não foi possível enviar um pedido de continuação do DCC RECV ao parceiro pelo "
+"servidor de IRC."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Resposta inesperada da máquina remota"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Erro de transferência"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Erro do KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Alguns detalhes da pessoa com quem está a falar são mostrados nesta barra. "
+"O nome completo e a máscara de servidor são mostradas, juntamente com qualquer "
+"imagem ou logótipo que esta pessoa tiver associada no Livro de Endereços do "
+"KDE."
+"<p>Veja no <i>Manual do Konversation</i> informações em associar a alcunha com "
+"o contacto no Livro de Endereços, e para uma explicação do que é a máscara do "
+"servidor.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(ausente)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Deseja mesmo ignorar %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Deseja fechar esta pesquisa após ignorar este 'nickname'?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Fechar Esta Pesquisa"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Manter Aberto"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Deseja mesmo parar de ignorar %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Identidade Predefinida ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Deseja fechar a sua pesquisa com o %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Fechar a Pesquisa"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "A falar para si mesmo"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 deixou este servidor."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 deixou este servidor (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Antevisão OSD - arraste para posicionar"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operador"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administração"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Dono"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Meio-operador"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Tem voz"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interface"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Comportamento"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Notificações"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Janela de Conversação"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Temas da Lista de Alcunhas"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Cores"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Botões Rápidos"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Ligação"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Lista de Alcunhas"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Comandos Alternativos"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Substituição Automática"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Registo"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Realces"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Alcunhas Vigiadas"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Visualização no Ecrã"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Janelas de Aviso"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Pergunta da Recepção DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "Continua&r"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "Nome do Ficheiro O&riginal"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Sugerir um &Novo Nome"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "S&obrepor"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Mudar o Nom&e"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Procurar para a Frente"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Distinguir Capitalização"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Apenas Palavras Inteiras"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "A Partir do Cursor"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "Fe&char a Página"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Deseja mesmo desligar-se de '%1'?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Desligar do Servidor"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Desligar"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Iniciado em"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Estado"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Parceiro"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Evolução"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Posição"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Restantes"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Velocidade"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Endereço do Remetente"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Aceitar"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Interromper"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Abrir o Ficheiro"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Iniciar a recepção"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Cancelar a(s) transferência(s)"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Executa o ficheiro"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Ver os detalhes da transferência DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Seleccionar Todos os Itens"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "S&eleccionar Todos os Itens Completos"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Aceitar"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "I&nterromper"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Reenviar"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Limpar"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Abrir o Ficheir&o"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informação do Ficheiro"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Editar a Configuração do Canal"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Todos os canais no IRC têm um tópico associado a eles. Esta é apenas uma "
+"mensagem que todos podem ver."
+"<p>Se for um operator, ou se o modo de canal <em>'T'</em> "
+"não estiver activo, então pode alterar o tópico carregando no botão Editar "
+"Propriedades do Canal à esquerda do tópico. Pode também ver aqui os tópicos "
+"anteriores.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo. "
+"<p>O modo de <b>T</b>ópico significa que só o operador do canal poderá alterar "
+"o tópico deste.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que conseguirá "
+"alterá-lo."
+"<p>O Sem Me<b>N</b>sagens do exterior significa que os utilizadores que não "
+"estejam no canal não conseguem enviar mensagens para toda a gente no canal ver. "
+"Quase todos os canais têm isto activo para evitar mensagens incómodas.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo."
+"<p>Um canal <b>S</b>ecreto não irá aparecer na lista de canais, nem sequer os "
+"utilizadores serão capazes de ver que você está no canal com o comando <em>"
+"WHOIS</em> ou algo do género. Só as pessoas que estão no mesmo canal é que irão "
+"saber que está neste canal, se este modo estiver activo.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo."
+"<p>Um canal apenas por conv<b>I</b>te significa que as pessoas só se poderão "
+"ligar ao canal se forem convidados. Para convidar alguém, um operador do canal "
+"necessita de enviar o comando <em>/invite utilizador</em> no canal.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo."
+"<p>Um canal <b>P</b>rivado é mostrado numa listagem com todos os canais, mas o "
+"tópico não é apresentado. O <em>WHOIS</em> de um utilizador poderá ou não "
+"mostrá-lo como estando num canal privado, dependendo do servidor de IRC.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo."
+"<p>Um canal <b>M</b>oderado é um onde só os operadores, semi-operadores e os "
+"que tenham voz poderão falar.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que o poderá alterar."
+"<p>Um canal <b>P</b>rotegido necessita que os utilizadores indiquem uma senha "
+"para se ligarem.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que o poderá alterar."
+"<p>Um canal com <b>L</b>imite de utilizadores significa que só esse número de "
+"utilizadores poderá estar no canal a uma dada altura. Alguns canais têm um "
+"sistema que se aloja no canal e ajusta isto automaticamente, dependendo da "
+"ocupação do canal.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Número máximo de utilizadores permitidos no canal"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Este é o limite de utilizadores do canal - o número máximo de utilizadores "
+"que poderá estar no canal ao mesmo tempo. Se for um operador pode configurar "
+"isto. Se o fizer o canal será colocado automaticamente no modo <T>"
+"ópico (o botão à esquerda).</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Isto mostra a sua alcunha ou nome de utilizador actual, assim como todas as "
+"alternativas que tenha configurado. Se seleccionar ou escrever uma alcunha "
+"diferente, então será enviado um pedido ao servidor de IRC para mudar a sua "
+"alcunha. Se o servidor o permitir, será seleccionada a nova alcunha. Se "
+"escrever uma alcunha nova, precisa de carregar em 'Enter' no fim."
+"<p>Poderá adicionar ou alterar as alcunhas alternativas na opção <em>"
+"Identidades</em> do menu <em>Ficheiro</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Deseja mesmo ignorar os utilizadores seleccionados?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Deseja mesmo parar de ignorar os utilizadores seleccionados?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Completação"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Completações possíveis: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Senha do Canal"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Limite de Alcunhas"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Indique o limite de alcunhas:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Agora você é conhecido como '%1'."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "'%1' é agora conhecido como '%2'."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Juntou-se ao canal %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 juntou-se a este canal (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Você deixou este servidor."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Você deixou este servidor (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Você deixou o canal %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Você deixou o canal %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 deixou este servidor (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 deixou este canal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 deixou este canal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Você expulsou-se a si mesmo do canal %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Você expulsou-se a si mesmo do canal %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Você foi expulso do canal %1 por %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Você foi expulso do canal %1 por %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Você expulsou %1 do canal."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Você expulsou %1 do canal (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 foi expulso do canal por %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 foi expulso do canal por %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n alcunha\n"
+"%n alcunhas"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operador)\n"
+" (%n operadores)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "O tópico do canal é \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Você mudou o tópico do canal para \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 mudou o tópico do canal para \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Você deu privilégios de dono de canal a si mesmo."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Você deu privilégios de dono de canal a %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 deu-lhe privilégios de dono de canal."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 deu privilégios de dono de canal a %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Você tira os privilégios de dono do canal de si próprio."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Você tira os privilégios de dono do canal a %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 tira-lhe os privilégios de dono do canal."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 tira os privilégios de dono do canal a %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Você deu privilégios de dono de canal a si mesmo."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Você deu privilégios de dono de canal a %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 deu-lhe privilégios de dono de canal."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 deu privilégios de dono de canal a %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Você tira os privilégios de dono do canal de si próprio."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Você tira os privilégios de dono do canal a %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 tira-lhe os privilégios de dono do canal."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 tira os privilégios de dono do canal a %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Você deu privilégios de operador de canal a si mesmo."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Você deu privilégios de operador de canal a %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 deu-lhe privilégios de operador de canal."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 deu privilégios de operador de canal a %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Você tira privilégios de operador do canal a si próprio."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Você tira os privilégios de operador do canal a %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 tira-lhe os privilégios de operador do canal."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 tira os privilégios de operador do canal a %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Você deu privilégios de sub-operador de canal a si mesmo."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Você deu privilégios de sub-operador de canal a '%1'."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "O '%1' deu-lhe privilégios de operador de canal."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "O '%1' deu privilégios de operador de canal a '%2'."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Você obtém os privilégios de sub-operador do canal de si próprio."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Você obtém os privilégios de sub-operador do canal do '%1'."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "O '%1' obtém os privilégios de sub-operador do canal de si."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "O '%1' obtém os privilégios de sub-operador do canal do '%2'."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Você dá a si próprio a permissão para falar."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Você dá ao '%1' a permissão para falar."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "O '%1' dá a si a permissão para falar."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "O '%1' dá ao '%2' a permissão para falar."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Você obtém a permissão para falar de si próprio."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Você obtém a permissão para falar do '%1'."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "O '%1' obtém a permissão para falar de si."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "O '%1' obtém a permissão para falar do '%2'."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Você muda o modo do canal para 'cores não permitidas'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "O '%1' muda o modo do canal para 'cores não permitidas'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Você muda o modo do canal para 'permitir os códigos de cores'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "O '%1' muda o modo do canal para 'permitir os códigos de cores'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Você muda o modo do canal para 'convidar apenas'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "O '%1' muda o modo do canal para 'convidar apenas'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Você remove o modo de 'convidar apenas' do canal."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "O '%1' remove o modo de 'convidar apenas' do canal."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Você muda o modo do canal para 'moderado'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "O '%1' muda o modo do canal para 'moderado'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Você muda o modo do canal para 'não-moderado'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "O '%1' muda o modo do canal para 'não-moderado'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Você muda o modo do canal para 'nenhumas mensagens do exterior'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "O '%1' muda o modo do canal para 'nenhumas mensagens do exterior'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Você muda o modo do canal para 'permitir as mensagens do exterior'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "O '%1' muda o modo do canal para 'permitir as mensagens do exterior'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Você muda o modo de canal para 'privado'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "O '%1' muda o modo de canal para 'privado'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Você muda o modo de canal para 'público'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "O '%1' muda o modo de canal para 'público'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Você muda o modo de canal para 'secreto'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "O '%1' muda o modo de canal para 'secreto'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Você muda o modo de canal para 'visível'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "O '%1' muda o modo de canal para 'visível'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Você muda para a 'protecção do tópico'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "O '%1' muda para a 'protecção do tópico'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Você desliga a 'protecção do tópico'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "O '%1' desliga a 'protecção do tópico'."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Você mudou o tópico do canal para \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 mudou o tópico do canal para \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Você retirou o limite do canal."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 retirou o limite do canal."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Você define o limite do canal para %1 utilizadores."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "O '%1' define o limite do canal para %2 utilizadores."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Você retirou o limite do canal."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 retirou o limite do canal."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Você marcou para banir o %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 baniu %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Você remove a expulsão do '%1'."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "O '%1' remove a expulsão do '%2'."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Você define uma excepção de explosão em '%1'."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "O '%1' define uma excepção de explosão em '%2'."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Você remove a excepção de expulsão no '%1'."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "O '%1' remove a excepção de expulsão no '%2'."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Você define a máscara de convite '%1'."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "O '%1' define a máscara de convite '%2'."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Você remove a máscara de convite '%1'."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "O '%1' remove a máscara de convite '%2'."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Você muda o modo do canal para +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 muda o modo do canal para +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Você muda o modo do canal para -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 muda o modo do canal para -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Tem que ser o operador para modificar isto."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "O tópico pode ser alterado apenas pelo operador do canal. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Proibir as mensagens para o canal dos clientes exteriores. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Canal secreto. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Canal por convite apenas. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Canal privado. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Canal moderado. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Proteger canal com uma senha."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Definir o limite de utilizadores do canal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Deseja mesmo sair do %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Sair do Canal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Sair"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Pedro Morais,José Nuno Pires"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "morais@kde.org,jncp@netcabo.pt"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Em espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Linhas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Som:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Linhas: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " bytes"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Utilizadores Normais"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Em espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Em espera"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Receber"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Nome do Botão"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Acção do Botão"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Acção do botão:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Nome do botão:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Substituições Permitidas"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Alcunha actual\n"
+"%c: Canal actual\n"
+"%K: Senha do servidor\n"
+"%u: Lista dos utilizadores seleccionados\n"
+"%s<termo>%: termo usado para separar as alcunhas no %u\n"
+"%n: Enviar o comando directamente para o servidor em vez de ser para a sua "
+"linha de edição"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Nome do ficheiro:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Próprio:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Tipo:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Estado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Localização:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Evolução:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Parceiro:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Abrir o Ficheiro"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Tamanho do Ficheiro:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Velocidade Média:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Continuado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Velocidade Actual:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Posição Actual:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Tempo Restante Estimado:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Oferecido a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Terminado a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Iniciado a:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Tempo de Transferência:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Activar a Ligação Automática"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Tempo-limite para nova ligação:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Tentativas de novas ligações:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " segundos"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Sem Limite"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Depuração"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Mostrar a janela de registos em bruto no início da &ligação"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Padrão"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tipo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Padrão:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Mensagens"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Novo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Remover &Tudo"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Nome da rede:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identidade:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Comandos:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Ligar &no arranque da aplicação"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servidores"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Adicionar..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "E&ditar..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Juntar Automaticamente a Canais"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Ed&itar..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Nome alternativo:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Substituição:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Nome Alternativo"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Substituição"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Procurar o Segui&nte"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Procurar o Anterior"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Comandos a executar ao carregar duas vezes:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Ordenar sem d&istinguir capitalização"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Ordenar por &actividade"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Ordenar pelo e&stado do utilizador"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Explicação"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Ordene de novo as alcunhas com 'drag and drop')"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "WatchedNicknames_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstalar Tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Remover o Tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ícone para utilizadores normais\""
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ícone para utilizadores ausentes"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ícone para utilizadores com voz"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ícone para utilizadores com privilégios de meio operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ícone para utilizadores com privilégios de operador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ícone para utilizadores com privilégios de administrador"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ícone para utilizadores com privilégios de dono"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Antevisão:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Aparência"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Colocação:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Mostrar os botões para fe&char nas páginas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Mostrar um botão para fechar a página à di&reita da barra de páginas"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Limitar o tamanho da&s legendas das páginas para caber tudo no ecrã"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Primeiro Plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Páginas novas em primeiro plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Pes&quisas novas em primeiro plano"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Modo"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Comandos a e&xecutar ao fazer duplo-click na alcunha:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Quando carrega duas vezes numa alcunha na janela <b>Alcunhas Ligadas</b>"
+", este comando é colocado na <b>Linha de Entrada</b> na janela do servidor.</p>"
+"<p>Os seguintes símbolos podem ser utilizados no comando:</p>"
+"<ul>\n"
+"<li>%u: A alcunha carregada.</li>\n"
+"<li>%K: Senha do servidor.</li>\n"
+"<li>%n: Enviar comando directamente para o servidor em vez da linha de "
+"entrada.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Quando carrega duas vezes numa alcunha na janela <b>Alcunhas Ligadas</b>"
+", este comando é colocado na <b>Linha de Entrada</b> na janela do servidor.</p>"
+"\n"
+"<p>Os seguintes símbolos podem ser utilizados no comando:</p>"
+"<ul>\n"
+"<li>%u: A alcunha carregada.</li>\n"
+"<li>%K: Senha do servidor.</li>\n"
+"<li>%n: Enviar comando directamente para o servidor em vez da linha de "
+"entrada.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Intervalo de act&ualização:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"O Konversation verifica o estado das alcunhas listadas em baixo neste "
+"intervalo."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Mostrar &as alcunhas vigiadas ligadas no arranque da aplicação"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Quando activado, a janela de <b>Alcunhas Ligadas</b> "
+"será aberta automaticamente ao iniciar o Konversation.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Usar o vigilante de al&cunhas"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Quando a vigia de alcunhas está ligada, você será avisado quando as alcunhas na "
+"lista <b>Redes/Alcunhas Vigiadas</b> se ligam ou desligam.</p>\n"
+"<p>Pode também abrir a janela <b>Alcunhas Ligadas</b> "
+"para ver o estado de todas as alcunhas vigiadas.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Rede:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"A rede do servidor de IRC (como o 'freenode') onde o utilizador a vigiar está "
+"ligado."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "A alcunha (nome de utilizador) da pessoa seleccionada a vigiar"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Redes/Alcunhas Vigiadas"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Quando a vigia de alcunhas está ligada, você será avisado quando as alcunhas na "
+"lista <b>Redes/Alcunhas Vigiadas</b> se ligam ou desligam.</p>\n"
+"<p>Pode também abrir a janela <b>Alcunhas Ligadas</b> "
+"para ver o estado de todas as alcunhas vigiadas.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Carregue para adicionar uma alcunha à lista."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Carregue para remover a alcunha seleccionada da lista."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Activar o R&egisto"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Usar os nomes dos registos em minúscu&las"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Adicionar o nome da máquina ao nome do ficheiro"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Localização do registo:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Activar a Bandeja do Sistema"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Usar a bandeja do sistema para a notificação de novas mensagens"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Só &notificar quando um realce for despoletado ou quando for usada a sua "
+"alcunha"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Pis&car o ícone"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Completação de Alcunhas"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Modo de completação:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Percorrer a Lista de Alcunhas"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Tipo Linha de Comandos"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Tipo Linha de Comandos com Campo de Completação"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Sufi&xo no início da linha:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "N&outro lado:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Distinguir capitalização"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Desactivar as notificações quando &ausente"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Utilizar resposta de &versão personalizada:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Aqui você poderá indicar uma resposta personalizada aos pedidos de <b>"
+"CTCP <i>VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "O campo de texto expande com o texto"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Caracter &de comando:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Usar o navegador We&b personalizado:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Limitar o tamanho das legendas das páginas para caber tudo no ecrã"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Esconder a barra de posicionamento"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Active se quiser verificar ortograficamente todas as linhas introduzidas no "
+"IRC, à medida que escreve"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Se activar a opção, o campo de texto irá crescer na vertical quando for "
+"preenchido."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Escondido na bandeja do sistema"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Iniciar com a janela escondida"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Mo&strar os nomes verdadeiros ao lado das alcunhas"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Mostrar a página de alcunhas vigiadas no arranque da aplicação"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Activar os 'emoticons'"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Tema de 'emoticons'"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Tópi&co"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Data"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Mo&dos"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "O &tópico apenas pode ser alterado pelos operadores do canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Sem me&nsagens do exterior do canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Canal &secreto, o canal não aparece na lista de canais"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Apenas conv&idados podem juntar-se ao canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Controlam o <em>modo</em> do canal. Só um operador é que poderá alterá-lo."
+"<p>Um canal apenas por conv<b>I</b>te significa que as pessoas só se poderão "
+"ligar ao canal se forem convidados. Para convidar alguém, um operador do canal "
+"necessita de enviar o comando <em>/invite utilizador</em> no canal.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "Canal &moderado, apenas pessoas com voz podem escrever no canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Senha do Canal"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Limite de utilizadores:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Mostrar os Modos &Avançados >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parâmetro"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Lista de E&xpulsões"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Remover a Expulsão"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Adicionar uma Expulsão"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Máscara de Máquina"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Definido Por"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Tempo Definido"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Procurar:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Settings"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Pasta de trans&ferências:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Adicionar o remetente ao nome do ficheiro"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Criar uma pasta para o r&emetente"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr ""
+"Converter os espaços nos nomes dos ficheiros para sublinhados antes de enviar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Aceitar automat&icamente os pedidos de transferência"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Continuar au&tomaticamente as transferências"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Usar um envio por DCC rápido (Poderá &não funcionar em todos os clientes)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Tamanho do 'b&uffer':"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Tempo-l&imite do envio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Voltar à interface IP&v4 no envio DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Se esta opção estiver activa as transferências DCC das ligações IPv6 são feitas "
+"utilizando a interface IPv4 configurada aqui"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bytes"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " s"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Activar o envio passivo de DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Método para obter o próprio IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Próprio IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Portos"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Utilizar os p&ortos indicados para uma conversa DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "para"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Activar os &portos indicados para o servidor de transferência DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Usar texto colorido"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Usar LEDs coloridos"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Evento da aplicação"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Os eventos das aplicações ocorrem nas páginas do Konsole, na página de Estado "
+"do DCC e nas outras páginas de aplicações não usadas directamente para "
+"conversar."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Mensagem"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Mensagem privada"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Alcunha actual usada"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Evento do canal"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Os eventos do canal são as mudanças do modo ou os utilizadores a entrar/sair "
+"num canal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Dar precedência às cores de realce da janela de conversação"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Se seleccionar isto, as cores que escolheu na página de preferências do Realce "
+"irão substituir as cores da \"Alcunha actual usada\" e do \"Realce\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "&Usar um tipo de letra monoespaçado para as mensagens MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr ""
+"Mostra a MOTD (Message Of The Day - Mensagem do Dia) com texto monoespaçado"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Colocar as alcunhas remetentes a &negrito na janela de conversação"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Texto de conversação:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Lista de alcunhas:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Barra de páginas:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Lista de Realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Som"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Auto Texto"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Padrão:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Cor:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Som:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Testar o som"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Texto &automático:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "A&ctivar sons para os realces"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Realçar se&mpre a própria alcunha actual:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Realçar sempre as próprias &linhas:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Criar um Novo It&em..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Cria um novo registo no seu livro de endereços"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Fotografia"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Nome"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Seleccione o contacto com o qual deseja contactar através do Mensageiro "
+"Instantâneo"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "P&rocurar:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Apitar a campa&inha do sistema ao receber um BEL de ASCII"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr ""
+"Toca a campainha do sistema quando você receber um carácter de controlo ASCII "
+"BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Esconder os eventos de Li&gação/Abandono/'Nick'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Desactivar a e&xpansão de variáveis (p.ex., %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Não expandir as variáveis ao enviar o texto para o servidor. Uma variável "
+"começa por '%'. P.ex., o %B irá expandir para os caracteres que são necessários "
+"para colocar um texto a negrito."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr ""
+"&Redireccionar as mensagens de estado para a janela de estado do servidor"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Limite de hi&stórico:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Quantas linhas a manter no histórico, 0 = ilimitado"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Utilizar modos em bruto para mudanças de mudo"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Mantém o texto do modo do canal como uma combinação de caracteres, em vez de os "
+"traduzir para palavras legíveis. P.ex., o '*** Modos do canal: sem mensagens do "
+"exterior' irá ficar '*** Modos do canal: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " linhas"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Linhas Marcadoras"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr ""
+"Mostrar as linhas inseridas manualmente em todas as janelas de conversação"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+"Marcar a última posição numa janela de conversação quando estiver escondida"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Introduz uma linha de recordação, na janela de conversação, quando mudar para "
+"outra janela de conversação ou minimizar a aplicação."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Activar a Pesquisa Automática da Informação do Utilizador (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Número máximo de utilizadores num canal:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " alcunhas"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Intervalo de actualização:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "A&ctivar o OSD"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Vi&sualização no Ecrã"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Desenhar sombras"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Tipo de letra do OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "M&ostrar uma Mensagem no Ecrã"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Se o própr&io nome aparecer na mensagem do canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Em qualquer me&nsagem do canal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Na actividade de pes&quisa"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Nos eventos de Li&gação/Abandono"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Activar as Cores Personalizadas"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Cor do te&xto:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Cor de &fundo:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Ou&tra Configuração"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Duração:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "E&crã:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Janela"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "No&vo"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "R&emover"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Substituir Em"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Procurar"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Substituir Por"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Substituir em:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Procurar:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Substituir por:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Activar os &Tempos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Mostrar as &datas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Formato:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Mostrar o Registo Anterior"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Linhas: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Disposição"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Mo&strar o tópico do canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Mostrar os botões do &modo de canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Mostrar a barra de posicionamento"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Mostrar um &campo para alterar a própria alcunha"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Mostrar os &botões rápidos"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Mo&strar os nomes verdadeiros ao lado das alcunhas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Mostrar a lista de alcu&nhas e os botões rápidos do canal"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Mostrar as más&caras de nomes na lista de alcunhas"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Activar uma Ima&gem de Fundo"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Loc&alização:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Cores Personalizadas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Usar cores personalizadas no campo de texto, lista de alcunhas e lista de "
+"páginas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Fundo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Mensagem do &servidor:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hiperligação:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "&Mensagem do canal:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Acção:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Re&gisto de segundo plano:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Mensagem &do comando:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Mensagem de pes&quisa:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Tempo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "Fundo a&lternativo:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Alcunhas Coloridas"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "C&or da própria alcunha:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Permitir Texto Colorido n&as Mensagens de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ao activar esta opção, os código de cor adicionados a mensagem de IRC serão "
+"mostradas na sua janela de conversa como texto colorido. Pode adicionar códigos "
+"de cores à suas mensagens escolhendo Inserir -> Cor de IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Antevisão"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Isto é como a mensagem vai parecer com estas cores"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Isto é uma antevisão de como os seus leitores podem ver a sua mensagem se "
+"seleccionar estas cores."
+"<br>\n"
+"<b>Nota: Nem todos os clientes suportam isto, e alguns utilizadores podem ter "
+"escolhido ignorar as suas modificações de cores.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "A cor de texto escolhida é adicionada à linha de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Aqui escolhe a cor desejada para o texto da próxima mensagem enviada. Se "
+"escolher uma cor e carregar em OK, a cor escolhida é adiciona à linha de "
+"entrada. Qualquer texto após isto é escrito na cor escolhida, até voltar a "
+"modificar a cor."
+"<br>\n"
+"<b>Nota: Nem todos os utilizadores activam a opção que lhes permite ver "
+"isto.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Cor &principal:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "A cor de fundo de texto escolhida é adicionada à linha de entrada."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Aqui escolhe a cor desejada para o fundo do texto da próxima mensagem "
+"enviada.\n"
+"Se escolher uma cor e carregar em OK, a cor escolhida é adiciona à linha de "
+"entrada.\n"
+"Qualquer texto após isto é escrito na cor escolhida, até voltar a modificar a "
+"cor."
+"<br>\n"
+"Se escolher o valor predefinido \"<i>Nenhum</i>\" não modifica o fundo da sua "
+"mensagem, de forma a que os seus leitores vem a sua mensagem com a cor de fundo "
+"de texto normal."
+"<br>\n"
+"<b>Nota: Nem todos os clientes suportam isto, e nem todos os utilizadores "
+"activam a opção que lhes permite ver isto.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Janelas de Aviso a Mostrar"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Senha:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Servidor:"
+
+#~ msgid "Messages"
+#~ msgstr "Mensagens"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Mostrar as mensa&gens de ausência"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Pôr como Disponível Glob&almente"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "A cada "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Avisar ao apagar ficheiro recebido por DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "A tecla de %1 foi definida com sucesso."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Não foi possível remover o ficheiro '%1'."
+
+#~ msgid "DCC Error"
+#~ msgstr "Erro de DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Remover o Ficheiro"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detalhes da Transferência"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Remover deste painel"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Remove o(s) ficheiro(s) recebido(s)"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Remover o Ficheiro"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Deseja mesmo remover o ficheiro seleccionado?\n"
+#~ "Deseja mesmo remover os %n ficheiros seleccionados?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Confirmação de Remoção"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Mostra o nome verdadeiro de uma pessoa ao lado da sua alcunha na lista de alcunhas."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Ligação ao Servidor %1 perdida: %2. A tentar voltar a ligar."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "A tentar em vez desse o servidor %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "À espera durante 2 minutos antes de uma nova tentativa de ligação..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Grupos de preferências disponíveis: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Opções disponíveis no grupo %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Utilização: %1PREFS grupo opção valor ou %2PREFS LIST para listar os grupos ou %3PREFS grupo LIST para listar as opções no grupo. Coloque os parâmetros entre aspas se contiverem espaços."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Detalhes da Transferência"
+
+#~ msgid "Channel &key:"
+#~ msgstr "&Chave do canal:"
diff --git a/po/ru/Makefile.am b/po/ru/Makefile.am
new file mode 100644
index 0000000..1c418b6
--- /dev/null
+++ b/po/ru/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = ru
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/ru/konversation.po b/po/ru/konversation.po
new file mode 100644
index 0000000..131295a
--- /dev/null
+++ b/po/ru/konversation.po
@@ -0,0 +1,7676 @@
+# translation of konversation.po to Russian
+# translation of konversation.po into Russian
+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+#
+# Stanislav Karchebny <berkus@users.sourceforge.net>, 2003.
+# Nick Shaforostoff <shafff@ukr.net>, 2004, 2005, 2006.
+# Gregory Mokhin <mok@kde.ru>, 2004, 2005.
+# Иван Бобров <ibobrik@gmail.com>, 2006.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2006-12-14 11:12+0300\n"
+"Last-Translator: Andrey Cherepanov <sibskull@mail.ru>\n"
+"Language-Team: Russian <kde-russian@lists.kde.ru>\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=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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Параметры канала для %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Скрыть расширенные режимы <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Показать расширенные режимы >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Добавить"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "неизвестный"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Доступные сведения для %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Сведения о файле"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Сведения отсутствуют."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Отправка"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Получение"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "В очереди"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Подготовка"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr ""
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Идёт подключение"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Получаю"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Посылаю"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Завершено"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Неудача"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Отменено"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/c"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Whois"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Версия клиента"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Дать статус оператора"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Забрать статус оператора"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Дать статус полуоператора"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Забрать статус полуоператора"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Дать право голоса"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Забрать право голоса"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Режимы"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Выкинуть"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Выкинуть и забанить"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Забанить по имени"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Бан *!*@*.узел"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Бан *!*@домен"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Бан *!пользователь@*.узел"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Бан *!пользователь@домен"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Выкинуть и бан *!*@*.узел"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Выкинуть и бан *!*@домен"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Выкинуть и бан *!пользователь@*.узел"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Выкинуть и бан *!пользователь@домен"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Выкинуть/Забанить"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Игнорировать"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Отменить игнорирование"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Открыть окно &привата"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Открыть DCC-&разговор"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Передать &файл..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Отправить e-mail..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Ассоциирование с Адресной книгой"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Наблюдать за пользователем"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Показывает всех участников канала."
+"<br>Также, рядом с именем пользователя может выводиться значок, говорящий о его "
+"статусе, но для этого нужно установить тему значков. Для этого перейдите в "
+"настройки Konversation, на вкладку <i>Темы</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Показывает всех участников канала, а также их статус."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Участник имеет права администратора.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Участник является владельцем канала.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Участник является оператором канала.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Участник является полуоператором канала.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Участник имеет право голоса и, следовательно, может говорить в модерируемом "
+"канале.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Обычный участник.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Участник отсутствует.</td></tr></table>"
+"<p>Права, предоставляемые статусом администратора, владельца и полуоператора, в "
+"действительности зависят от irc-сервера."
+"<p>Если вы задержите курсор на одном из ников, отобразится его статус и "
+"имеющиеся о нём сведения из адресной книги. Для подробностей, см. "
+"руководство.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Изменить контакт..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Изменить ассоциации..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Выбрать контакт..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Изменить ассоциацию..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Создать контакт..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Удалить ассоциацию"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Канал"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Приват"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Сообщение"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Исключение"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Вкладки"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Сегодня"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Вчера"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (идентифицирован)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-mail"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Маска хоста:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Сообщение об уходе:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(неизвестный)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "В сети с:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Нажмите для запуска редактора регулярных выражений (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+#, fuzzy
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Нажмите для запуска редактора регулярных выражений (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Исходящее"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Входящее"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Все"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Зайти на канал %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Быстрое подключение"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Сервер:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Введите имя узла сети здесь."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "По&рт:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Порт, используемый IRC-сервером."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Ник:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Псевдоним, под которым вы хотите вести разговор."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "П&ароль:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Если ваш IRC-сервер требует пароль, введите его здесь (однако большинство служб "
+"не требуют его)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Использовать SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Под&ключиться"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Подключиться к серверу"
+
+#: src/dccchat.cpp:137
+#, fuzzy, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Не удалось открыть сокет"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Предлагается разговор DCC с %1 на порте %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "Разговор DCC с %1 на порте %2"
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Установление соединения для разговора DCC с %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "Разговор DCC с %1 на %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Установлено соединение для разговора DCC с %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Соединение закрылось, код ошибки %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Получен неизвестный запрос CTCP-%1 от %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Клиент не принят."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "По умолчанию ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Список серверов"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Нажмите здесь для соединения с сетью IRC и каналом."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Здесь показывается список настроенных IRC-сетей. IRC-сеть - это несколько "
+"сообщающихся серверов. Вам необходимо быть подключенным к одному серверу сети, "
+"чтобы быть соединённым со всей сетью. при соединении Konversation автоматически "
+"войдёт на показанные каналы. При первом старте Konversation сеть Freenode и "
+"канал <i>#kde</i> будут уже доступны для вас."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Сеть"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Профиль"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Каналы"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Добавить..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Нажмите здесь для добавления новой сети, включая серверы для соединения и "
+"Каналы для автоматического входа после подключения."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Изменить..."
+
+#: src/serverlistdialog.cpp:132
+#, fuzzy
+msgid "Show at application startup"
+msgstr "Подключиться при запуске программы"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Добавить сеть"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Изменить сеть"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Невозможно удалить %1.\n"
+"\n"
+"В сети %2 должен быть как хотя бы один сервер."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Невозможно удалить выбранные серверы.\n"
+"\n"
+"В сети %1 должен быть как хотя бы один сервер."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Удалить выбранные записи?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Удалить %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Показать последние:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Используйте для установки максимального размера файла журнала. Эти параметры не "
+"будут иметь эффекта до перезапуска Konversation. Каждый журнал может иметь свои "
+"настройки."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " кб"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Очистить журнал"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Сообщения из журнала показываются здесь. Самые старые записи вверху, а самые "
+"новые - внизу."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "Удалить всю информацию журналирования в этом файле?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Примечание: Файл журнала будет содержать все данные, а не только те, что вы "
+"видите на экране."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Сохранить журнал"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Выбрать каталог назначения"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Сведения"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Предлагается разговор DCC с %1 на порте %2..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Попыток повторного подключения:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Вы уже подключены к %1. Сменить подключение '%2' на '%3'?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Уже подключен к %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Подключение"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr "Вы уже подключены к %1. Сменить подключение '%2' на '%3'?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Изменить сервер"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Заполните поле <b>Ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Введите ваше <b>Настоящее имя</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Укажите хотя бы один <b>Ник</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Ваш профиль \"%1\" не настроен:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Параметры профиля"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Изменить профиль..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Профили"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Профиль:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Создать копию"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Переименовать"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Общие"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Настоящее имя:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Введите своё реальное имя. IRC не предполагает, что вы будете скрываться от "
+"ваших друзей или врагов. Имейте это ввиду, если собираетесь совершать "
+"злодеяния. Ложное имя может быть хорошим выходом для скрытия вашего пола от "
+"всех тупиц, но ваш компьютер может отслеживаться и вы никогда не будете "
+"действительно анонимны."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Ник"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Это список ваших ников. Ник - это имя, под которым вы будете известны. Вы "
+"можете выбрать себе любой ник. Первый символ ника должен быть буквой.\n"
+"\n"
+"Ваш ник должен быть уникальным в IRC-сети. Выбранное вами имя может быть "
+"отклонено сервером, потому что кто-то ещё его уже использует. Введите "
+"альтернативные ники, и, если основной ник будет отклонен сервером, один из них "
+"будет использоваться вместо него."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Добавить..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Изменить..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Авто профиль"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Слу&жба:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Имя службы, это может быть <b><i>nickserv</i></b>, может зависеть от сети, "
+"например <b><i>nickserv@services.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Па&роль:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Отсутствие"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr ""
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Если вы отметите этот флажок, то при переходе в режим <b>Отсутствую</b> "
+"в канале будет выведена линия запоминания, отмечающая момент вашего ухода. "
+"Другие пользователи IRC не увидят эту линию."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Ник во время отсутствия:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Введите ник, показывающий ваше отсутствие. При выполнении команды <b>"
+"/away msg</b> на любом канале с данным профилем, Konversation автоматически "
+"сменит ваш ник на ник во время отсутствия. Таким образом другие пользователи "
+"смогут видеть, что вы не за компьютером. При выполнении <b>/away</b> "
+"на канале, в котором у вас установлен статус Отсутствую Konversation "
+"автоматически сменит ваш ник на обычный. Если вы не хотите менять ник на время "
+"отсутствия автоматически, то оставьте это поле пустым."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " строк"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "При сообщении в &привате"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "&Автоматически продолжать загрузку по DCC"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Сообщение об уходе:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Если вы отметите этот флажок, Konversation будет автоматически отсылать "
+"сообщение об отсутствии на все каналы, на которых вы находитесь с данным "
+"профилем. <b>%s</b> будет заменён <b>msg</b>. При выполнении команды <b>"
+"/away</b> сообщение о возвращение также будет показано на каналах с данным "
+"профилем."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Соо&бщение об уходе:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Сообщение о во&звращении:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Дополнительно"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Предварительная команда:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Команда, которая будет выполнятся перед подключением к серверу"
+"<br>Если в вашем профиле задано несколько серверов, она будет выполнена для "
+"каждого из них"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "И&дентификация клиента (Ident):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"При подключении многие серверы запрашивают от вашего компьютера IDENT. если на "
+"вашем компьютере не запущен сервер IDENT, то ответ будет отправлен с помощью "
+"Konversation. Пробелы не разрешены."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Кодировка:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Эти настройки определяют кодировку, в которой будут отправляться вводимые вами "
+"данные. Это также влияет на отображаемые сообщения. При первом запуске "
+"Konversation автоматически получает эти настройки с помощью операционный "
+"системы. Если у вас проблемы с просмотром сообщений других пользователей, "
+"попробуйте сменить эти настройки."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "Причина &ухода:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Это сообщение отправляется в канал при покидании канала."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Причина &ухода:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Это сообщение отправляется в канал при покидании канала."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Причина в&ыкидывания (kick):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Это сообщение отправляется в канал если вас выкидывают с канала (обычно это "
+"делает оператор)."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Изменить профиль"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Отменить все сделанные изменения"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Нужно указать как минимум один ник для профиля."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Добавить ник"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Ник:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Изменить ник"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Добавить профиль"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Имя профиля:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Укажите имя профиля."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Переименовать профиль"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Этот профиль сейчас используется. Если его удалить, всё, что его использует, "
+"перейдёт на профиль по умолчанию. Продолжить?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Удалить всю информацию этого профиля?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Удалить профиль"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Создать копию профиля"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Обычные пользователи"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "С правом голоса (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Полуоператоры (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Операторы (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Администраторы канала (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Владельцы канала (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Вставка символа"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Вставить символ"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Редактор закладок"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Нет свободного порта"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Не удалось открыть сокет"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Найти текст..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Копировать URL в буфер обмена"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Добавить в избранное"
+
+#: src/ircview.cpp:260
+#, fuzzy
+msgid "Save Link As..."
+msgstr "Со&хранить список..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Открыть окно привата с %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Зайти на канал %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Уведомление"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Зайти"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Покинуть"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Открыть окно привата"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Зайти"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Получить &список пользователей"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Получить &тему"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Не найдено соответствий для \"%1\"."
+
+#: src/ircview.cpp:1778
+#, fuzzy
+msgid "Save Link As"
+msgstr "&Сохранить список..."
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Список &серверов..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Управление сетями с серверами"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Быстрое подключение..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Введите адрес нового IRC-сервера"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "П&ереподключиться"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Переподключиться к серверу"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Отключиться"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Отключиться от текущего сервера"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Профили..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Настроить ники, параметры режима \"Отошел\" и другие параметры профиля"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "Наблюдаемые &пользователи в сети"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&Состояние DCC"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Открыть &журнал"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Открыть известную историю для этого канала в новой вкладке "
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Параметры канала..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Открыть настройки канала для этой вкладки"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Список к&аналов"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Показать список всех известных каналов на этом сервере "
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "Охотник &за URL"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Показать список Всех URL, которые были упомянуты, в новой вкладке "
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "Открыть &окно консоли"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Открыть терминал в новой вкладке"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "Следующая &вкладка"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Предыдущая вкладка"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "З&акрыть вкладку"
+
+#: src/konversationmainwindow.cpp:188
+#, fuzzy
+msgid "Next Active Tab"
+msgstr "Следующая &вкладка"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Переместить вкладку вверх"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Переместить вкладку вниз"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Переместить вкладку вправо"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Переместить вкладку влево"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "&Зайти на канал"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Уведомления"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "&Зайти на канал"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Кодировка"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Перейти на вкладку %1"
+
+#: src/konversationmainwindow.cpp:254
+#, fuzzy
+msgid "Clear &Marker Lines"
+msgstr "О&чистить список"
+
+#: src/konversationmainwindow.cpp:255
+#, fuzzy
+msgid "Clear marker lines in the current tab"
+msgstr "Очистить содержимое текущей вкладки"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Очистить окно"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Очистить содержимое текущей вкладки"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "&Очистить все окна"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Очистить содержимое всех вкладок"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Зайти на канал..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&Цвет IRC..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Установить цвет вашего текущего сообщения в IRC"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+#, fuzzy
+msgid "&Marker Line"
+msgstr "&Линия запоминания"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Добавить горизонтальную линию, видимую только вам"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "&Вставить символ..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Вставить нестандартный символ в текущее сообщение"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Закрыть &все приваты"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Скрыть список пользователей"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>Завершить работу <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Подтверждение выхода"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Завершить работу <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Закрытие главного окна Konversation оставит его работающим в системном "
+"лотке. Для выхода из программы выберите <b>Выйти</b> из меню <b>Файл</b> "
+"или контекстного меню значка в лотке.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Встраивание в системный лоток"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Это действие полностью скроет меню. Для того чтобы снова вывести его, "
+"нажмите %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Уведомления"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Установить статус &Отсутствую глобально"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "&Цвет IRC..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "&Специальный символ..."
+
+#: src/konversationmainwindow.cpp:543
+#, fuzzy
+msgid "Insert &Marker Line"
+msgstr "&Линия запоминания"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Список &каналов"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Установить статус &Отсутствую глобально"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Без обработки"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Использование: %1JOIN <канал> [пароль]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Использование: %1KICK <ник> [причина]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK работает только на канале."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART без параметров работает только на канале или в привате."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC без параметров работает только на канале."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES без цели может отключить вас от сервера. Укажите '*', если вы "
+"действительно этого хотите."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Использование: %1NOTICE <получатель> <сообщение>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Отправка уведомления \"%2\" к %1."
+
+#: src/outputfilter.cpp:647
+#, fuzzy
+msgid "Usage: %1ME text"
+msgstr "Использование: %1AME текст"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Отправка запроса CTCP-%1 для %2"
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Файл \"%1\" не существует."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Использование: %1DCC [SEND ник файл]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Использование: %1DCC [CHAT ник]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Неопознанная команда %1DCC %2. Допустимые команды - SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Использование: %1INVITE <ник> [канал]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 не является каналом."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Использование: %1EXEC <сценарий> [список параметров]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Имя сценария не может содержать \"../\"!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Использование: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Текущий список уведомлений пуст."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Текущий список уведомлений: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr ""
+"Введите имя пользователя и пароль для получения привилегий оператора IRC:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Пароль оператора IRC"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Использование: %1BAN [-HOST | -DOMAIN] [канал] <пользователь|маска>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Использование: %1KICKBAN [-HOST | -DOMAIN] [канал] <пользователь|маска> "
+"[причина]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN без имени канала работает только на канале."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Использование: %1UNBAN [канал] шаблон"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 добавлен в список игнорирования"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Использование: %1IGNORE [-ALL] <ник-1> <ник-2> ... <ник-n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Использование: %1UNIGNORE <ник-1> <ник-2> ... <ник-n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 удалён из списка игнорирования."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Не найдено: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Не найдено: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Использование: %1QUOTE список команд"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Использование: %1SAY текст"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Использование"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Использование: %1AME текст"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Использование: %1AMSG текст"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Использование: %1OMSG текст"
+
+#: src/outputfilter.cpp:1580
+#, fuzzy
+msgid "Sending notice \"%1\" to %2."
+msgstr "Отправка запроса CTCP-%1 для %2"
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Использование: %1ONOTICE текст"
+
+#: src/outputfilter.cpp:1596
+#, fuzzy, c-format
+msgid "Current encoding is: %1"
+msgstr "Текущий список уведомлений: %1"
+
+#: src/outputfilter.cpp:1607
+#, fuzzy
+msgid "Switched to %1 encoding."
+msgstr "Кодировка"
+
+#: src/outputfilter.cpp:1611
+#, fuzzy
+msgid "%1 is not a valid encoding."
+msgstr "%1 не является каналом."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Использование: %1setkey <ник> или <канал> <ключ>. Устанавливает ключ шифрования "
+"для ника или канала."
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "Ключ для %1 удален."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Использование: %1delkey <ник> или <канал>. Удаляет ключ шифрования для ника или "
+"канала"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "Ключ для %1 удален."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "Ключ для %1 удален."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Использование: %1DNS <ник>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Определено доменное имя %1: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Не удалось определить доменное имя %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Обратный просмотр требует KDE версии 3.5.1 или выше."
+
+#: src/outputfilter.cpp:1776
+#, fuzzy
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Использование: %1KICK <ник> [причина]"
+
+#: src/ircinput.cpp:78
+#, fuzzy
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Строка ввода это поле, куда вы вводите сообщения для отправки на канал, в "
+"приват или на сервер. Сообщения, отправляемые на канал могут быть увидены "
+"каждым на канале, сообщения приватов отправляются только человеку, с которым вы "
+"в привате."
+"<p>также вы можете отправлять специальные команды:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>действие</i></th>"
+"<td>показывает действие на канале или в привате. Например: <em>/me поет песни> "
+"будет показано на канале как 'Nick поет песни'.</td></tr>"
+"<tr>"
+"<th>/whois <i>ник</i></th>"
+"<td>показывает информацию человеке, включая каналы, на которых он находится</td> "
+"</tr></table>"
+"<p>Для информации о других каналах читайте руководство Konversation."
+"<p>Сообщение может иметь не более 512 символов и не может быть "
+"многострочным</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Вы хотите вставить большой объём текста (%1 байт или %2 строк) в окно "
+"разговора. Это может вызвать отключение или бан за \"флуд\". Продолжить?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Предупреждение о вставке большого текста"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Дружественный клиент IRC"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Сервер, к которому подключаться"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Порт, к которому следует подключаться"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Канал, на который следует входить после соединения с сервером"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Ник"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Пароль для соединения"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Использовать SSL для шифрования соединения"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2006 Команда Konversation"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation - это клиент для протокола IRC (Internet Relay Chat).\n"
+"Встречайтесь с друзьями в сети, заводите новые знакомства и\n"
+"растворитесь в разговорах на любимые темы."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Первоначальный автор,Основатель проекта"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Координатор"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "Координатор, взаимодействие с пользователем, поддержка протоколов"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, улучшения работы с кодировками, позиционирование индикатора"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Поддержка протоколов, строка ввода"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Поддержка Blowfish, SSL, перенос на KNetwork, цветовое выделение пользователей, "
+"темы значков"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Реорганизация кода, интеграция с KAddressBook/Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Хостинг web-сайта"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Web-мастер"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Расширения режимов сервера, размещение кнопки закрытия вкладок, индикатор"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Документация, улучшения слежения за пользователями, нестандартный web-браузер"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Настройка цветов, диалог подсветки"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "Интерфейс DCOP"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Кодировки, отличные от Latin-1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Встраиваемая консоль"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "Быстрое соединение, новый индикатор, другое"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Многочисленные исправления и чистка кода"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Улучшения Drag'n'Drop"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Внешний вид"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Панель поиска в стиле Firefox"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw режимы, группировка вкладок, список бана"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Заплатка для использования системного лотка"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Исправления ошибок"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Заплатка для поддержки расширенных режимов пользователей"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Закрытие текущей вкладки по комбинации клавиш"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Циклическая прокрутка вкладок колесом мыши"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Поддержка режима владельца канала"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Включить цветовую фильтрацию"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Исправлений ошибок, OSD, очистка тем"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Скрипт sysinfo"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Получен запрос CTCP-PING от %1 на канале %2, отправляю ответ."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Получен запрос CTCP-%1 от %2, отправляю ответ."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Получен запрос версии от %1 на канале %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Получен запрос версии от %1."
+
+#: src/inputfilter.cpp:301
+#, fuzzy, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Получен запрос версии от %1."
+
+#: src/inputfilter.cpp:316
+#, fuzzy, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Получен запрос версии от %1."
+
+#: src/inputfilter.cpp:331
+#, fuzzy, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Получен запрос версии от %1."
+
+#: src/inputfilter.cpp:347
+#, fuzzy, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Получен запрос версии от %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Неизвестная команда DCC %1 получена от %2."
+
+#: src/inputfilter.cpp:387
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Получен неизвестный запрос CTCP-%1 от %2 на канале %3."
+
+#: src/inputfilter.cpp:392
+#, fuzzy
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Получен неизвестный запрос CTCP-%1 от %2"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 к %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Получен ответ CTCP-PING от %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+#, fuzzy
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Получен ответ CTCP-%1 от %2: %3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Приглашение"
+
+#: src/inputfilter.cpp:611
+#, fuzzy
+msgid "%1 invited you to channel %2."
+msgstr "%1 приглашает вас на канал %2"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Добро пожаловать"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Сервер %1 (версия %2), режимы пользователей: %3, режимы каналов: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Поддержка"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr ""
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Режимы канала: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "защита темы"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "без сообщений извне канала"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "секретный"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "только по приглашению"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "частный"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "модерируемый"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "защищённый паролем"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "анонимный"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "сервер возобновляет операторов"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "цвета запрещены"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"ограничено %n пользователем\n"
+"ограничено %n пользователями\n"
+"ограничено %n пользователями"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Режим"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "Список каналов для %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Создан"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Этот канал был создан %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 вошёл как %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Имена"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Конец списка имён."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "ТЕМА"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Тема на канале %1 отсутствует."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Тема"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Тема на канале %1: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Тема была задана %1 в %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Тема канала %1 была задана %2 в %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 использует хост %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Нет такого пользователя/канала."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Нет такого пользователя: %1"
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Нет такого канала."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Ник"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Ник уже занят, попробуйте другой."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Ник уже занят. Пробую %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Недопустимый ник. Будет использоваться %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Вы не вошли на %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Сообщение дня:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Конец сообщения дня."
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Вы стали оператором на данном сервере."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Пользователи"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Пользователи в сети: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Пользователи в %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Отсутствует"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 отсутствует: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Вы пригласили %1 на канал %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 - %2&#64;%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Определено %1 (%2) на адресе %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Невозможно определить адрес для %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 идентифицирован."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Who"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 %2&#64;%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (отсутствует)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Конец информации о пользователе %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 находится на каналах: %2"
+
+#: src/inputfilter.cpp:1383
+#, fuzzy
+msgid "%1 has voice on channels: %2"
+msgstr "%1 имеет право голоса на каналах: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 является полуоператором на каналах: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 является оператором на каналах: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 является владельцем каналов: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 является администратором каналов: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 на связи через %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 доступен для помощи."
+
+#: src/inputfilter.cpp:1458
+#, fuzzy
+msgid "%1 is an IRC Operator."
+msgstr " (Оператор IRC)"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"%n день\n"
+"%n дня\n"
+"%n дней"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"%n час\n"
+"%n часа\n"
+"%n часов"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"%n минута\n"
+"%n минуты\n"
+"%n минут"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"%n секунда\n"
+"%n секунды\n"
+"%n секунд"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 бездействует %2, %3, %4, и %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 бездействует %2, %3, и %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 бездействует %2 и %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 бездействует %n секунду.\n"
+"%1 бездействует %n секунды.\n"
+"%1 бездействует %n секунд."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 в сети с %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Конец информации о пользователе."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Узел пользователя"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr ""
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (Оператор IRC)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (отсутствует)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Список"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Список каналов:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n пользователь): %2\n"
+"%1 (%n пользователя): %2\n"
+"%1 (%n пользователей): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Конец списка каналов."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Список бана:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 установлен %2 на %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Конец списка бана."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 недоступен."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Неизвестная команда."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Не зарегистрирован."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Недостаточно параметров."
+
+#: src/inputfilter.cpp:1776
+#, fuzzy
+msgid "You have set personal modes: "
+msgstr "Вы устанавливаете на канале режим -%1"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr ""
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " устанавливает режим: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Профиль по умолчанию"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Изменить имя наблюдаемого пользователя"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Сеть:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Выберите сеть, к которой хотите подключиться."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Ни&к:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Имя пользователя, за которым следует наблюдать при соединении с сервером в "
+"сети.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Изменить уведомление"
+
+#: src/sslsocket.cpp:94
+#, fuzzy
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Не удалось подключиться к серверу %1: %2."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Использование зашифрованного подключения к серверам по SSL недоступно, потому "
+"что Konversation не был собран с поддержкой SSL. Установите версию KDE с "
+"поддержкой SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL сертификат, отосланный сервером не принят. Возможно сервер не поддерживает "
+"SSL на данном порту? Если сервер поддерживает подключение без SSL, то SSL "
+"находится на другом порту."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "IP-адрес узла %1 не совпадает с указанным в сертификате."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Авторизация на сервере"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Подробности"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Сертификат сервера (%1) не прошёл тест аутентичности."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "Принимать этот сертификат в дальнейшем без подтверждения?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Всегда"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Только на время этого сеанса"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Подсветка] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+#, fuzzy
+msgid "[Query] <%1> %2"
+msgstr "(Приват) <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 заходит на %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 покидает %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 вышел из %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 сменил ник на %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 хочет передать вам файл"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 начал диалог с вами."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 в сети (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 больше не в сети (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Вас выкинул %1 с канала %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 начал DCC-разговор с вами."
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Подсветка] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Не удалось подключиться к %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Вы вошли на %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Фраза не найдена"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Последнее совпадение"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Сетевой интерфейс"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Ответ IRC-сервера"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Указать вручную"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Выбор цвета"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Отсутствует"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Сервер:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Имя или IP-адрес сервера, список серверов можно найти на irchelp.org."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr "Введите порт сервера для подключения. Обычно это <b>6777</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Паро&ль:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "&Безопасное соединение (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Отметьте, если вы хотите использовать Secure Socket Layer (SSL) для связи с "
+"сервером. Это защитит приватность связи между вашим компьютером и IRC сервером. "
+"В большинстве случаев когда сервер не поддерживает SSL, соединение будет "
+"сброшено."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Необходим адрес сервера."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Администратор запретил передавать файлы"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Адрес \"%1\" не существует"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Не удалось получить \"%1\"."
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Введите имя файла"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Отправляемый к <i>%1</i> файл не имеет имени."
+"<br>Введите его, или отмените передачу</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Не передано имя файла"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Ожидание принятие удалённым пользователем"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Соединение не принято (ошибка сокетов)."
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Не удалось открыть файл: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Ошибка сокетов: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Время ожидания вышло"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Ошибка соединения: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Удалённый пользователь отключился"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Операция успешна. Никогда не должно появляться в сообщении об ошибке."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Не удалось произвести чтение из файла \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Не удалось произвести запись в файл \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Возникла неисправимая ошибка."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Не удалось открыть файл \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Операция была неожиданно прервана."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Операция прервана по тайм-ауту."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Неизвестная ошибка произошла при закрытии."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Неизвестная ошибка. Код %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Send"
+msgstr "DCC %1: %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+#, fuzzy
+msgid "DCC Receive"
+msgstr "Получение по DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+#, fuzzy
+msgid "Unknown server"
+msgstr "неизвестный размер"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+#, fuzzy
+msgid "%1 on %2"
+msgstr "%1 заходит на %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+#, fuzzy
+msgid ", %1 (port %2)"
+msgstr "%1 покидает %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+#, fuzzy
+msgid "%1 (port %2)"
+msgstr "%1 покидает %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr ""
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+#, fuzzy
+msgid "< 1sec"
+msgstr " c"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Консоль"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Готов."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Показывает количество пользователей на канале и количество операторов "
+"канала."
+"<p>Оператор это пользователь со специальными привилегиями, такими как "
+"возможность возможность выкидывать и банить пользователей, изменять режимы "
+"канала, делать других пользователей операторами</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Задержка: Неизвестно"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Соединение с сервером шифруется. Это усложняет подслушивание ваших разговоров."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>На строке состояния выводятся различные сообщения, включая таковые о "
+"проблемах при подключении к серверу. Справа показывается задержка коммуникации "
+"с сервером. Задержка - это время, которое сообщения от вас идут на сервер и с "
+"сервера возвращаются к вам.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Задержка: %1 мс"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Задержка: %1 с"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Сервер %1 не отвечает %2, %3, %4, и %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Сервер %1 не отвечает %2, %3, и %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Сервер %1 не отвечает %2 и %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Сервер %1 не отвечает %n секунду.\n"
+"Сервер %1 не отвечает %n секунды.\n"
+"Сервер %1 не отвечает %n секунд."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Поиск сервера %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "Сервер %1 не найден. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Сервер найден, подключаюсь..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Подключился. Вход в систему..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "Не удалось подключиться к серверу %1: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Не удалось соединиться с %1:%2 с SSL-шифрованием. Возможно сервер не "
+"поддерживает его, или вы указали неверный порт. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Ошибка соединения SSL"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Отключен от сервера."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Ни один ник из профиля \"%1\" не был принят сервером \"%2\".\n"
+"Введите другой ник или нажмите отмену для отключения:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Ошибка ника"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Ошибка при чтении данных с сервера: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Выберите файл для отправки %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 предлагает вам получить %2 (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "неизвестный размер"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Запрос к %1 для подтверждения загрузки %2 (%3)..."
+
+#: src/server.cpp:1792
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "Получен неверный запрос продолжения для \"%1\" от %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Продолжение загрузки \"%1\" от %2 начато на %3 из %4..."
+
+#: src/server.cpp:1829
+#, fuzzy
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Получен неверный запрос продолжения для \"%1\" от %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Продолжение отправки \"%1\" к %2 начато на %3 из %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Получен неверный запрос продолжения для \"%1\" от %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Загрузка файла \"%1\" от %2 завершена."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Получение файла \"%1\" от %2 завершилось ошибкой. Причина: %3"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Отправка \"%1\" к %2 завершена."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Отправка файла \"%1\" к %2 завершилась ошибкой. Причина: %3"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Отправка \"%1\" к %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Загрузка \"%1\" (%2) от %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 приглашает вас в канал %2. Вы принимаете приглашение?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Приглашение"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Ошибка: Не удалось найти сценарий \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Ошибка: Не удалось выполнить сценарий \"%1\". Проверьте права доступа."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Отошёл."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Теперь вы отмечены как отсутствующий."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Вы больше не отмечены как отсутствующий."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Вы не отмечены как отсутствующий."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Наблюдаемые доступные пользователи"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Сеть/Имя/Канал"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Дополнительные сведения"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Это все ники из вашего списка наблюдаемых, находящиеся на серверах. Этот "
+"список также включает ники в KAddressBook, ассоциированные с сетью.</p>"
+"<p>Колонка <b>Дополнительные сведения</b> показывает информацию о каждом "
+"нике.</p>"
+"<p>Каналы для ника показаны под каждым ником.</p>"
+"<p>Ники, находящиеся <b>Не в сети</b> не подключены ни к одному серверу "
+"сети.</p>"
+"<p>Правый клик мыши на нике покажет дополнительные функции.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Изменить список наблюдения..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Щёлкните чтобы изменить список пользователей, выводимый в этом окне."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Адресная книга:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Если в списке выбран ник, можно воспользоваться кнопками для ассоциирования его "
+"с записью в KAddressBook."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Изменить &контакт..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Создать, просмотреть или изменить запись KAddressBook, ассоциированную с "
+"выделенным ником."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Изменить &ассоциацию..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "Ассоциировать выделенный ник с записью KAddressBook."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Удалить ассоциацию"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "Удалить ассоциацию с записью KAddressBook."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " на связи через %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " с %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Не в сети"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Голос"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Полуоператор"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Оператор"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Владелец"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Администратор"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Создать &контакт..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Выбрать ассоциацию..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Зайти на канал"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Выберите звуковой файл"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Начало журнала\n"
+"*** врмя - %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Автоматически заходить на канал при получении приглашения"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr ""
+"Помните, что журнал сохраняется полностью и старая информация переписывается "
+"каждый раз."
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Подтверждать очистку журнала"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr ""
+"Подтверждать закрытие привата после помещения собеседника в список игнорируемых"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Подтверждать подключение к другому серверу сети"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Подтверждать подключение к другому серверу сети"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Закрыть вкладку сервера"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Закрыть вкладку канала"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Закрыть вкладку привата"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr ""
+"Список каналов может быть открыт только из вкладок, относящихся к конкретному "
+"серверу"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Предупреждение о скрытии главного меню"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Предупреждение о большом трафике при получении списка каналов"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Предупреждение о вставке большого количества текста"
+
+#: src/warnings_preferences.cpp:118
+#, fuzzy
+msgid "Warning on quitting Konversation"
+msgstr "Предупреждение о вставке большого количества текста"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Список каналов"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Настройки фильтра"
+
+#: src/channellistpanel.cpp:69
+#, fuzzy
+msgid "Minimum users:"
+msgstr "М&инимум пользователей:"
+
+#: src/channellistpanel.cpp:70
+#, fuzzy
+msgid "Maximum users:"
+msgstr "Макси&мум пользователей:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Вы можете ограничить список каналов введением минимального количества "
+"пользователей. 0 снимает ограничение."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Вы можете ограничить список каналов введением максимального количества "
+"пользователей. 0 снимает ограничение."
+
+#: src/channellistpanel.cpp:80
+#, fuzzy
+msgid "Filter pattern:"
+msgstr "Шаблон &фильтра:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Цель фильтра:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Введите строку для фильтрации здесь."
+
+#: src/channellistpanel.cpp:94
+#, fuzzy
+msgid "Regular expression"
+msgstr "Регулярное &выражение"
+
+#: src/channellistpanel.cpp:95
+#, fuzzy
+msgid "Apply Filter"
+msgstr "&Применить фильтр"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Нажмите здесь для получения списка каналов от сервера и применения фильтра."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Здесь показывается фильтрованный список каналов. Учтите, что если вы не "
+"используете регулярные выражения, Konversation покажет все каналы, содержащие в "
+"названии введенную строку фильтра. Название канала не начинается с введенной "
+"вами строки.\n"
+"\n"
+"Выберите канал для входа с помощью клика по нему. Клик правой кнопкой мыши для "
+"получения всех веб адресов, указанных в теме канала."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Имя канала"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Тема канала"
+
+#: src/channellistpanel.cpp:124
+#, fuzzy
+msgid "Refresh List"
+msgstr "Об&новить список"
+
+#: src/channellistpanel.cpp:125
+#, fuzzy
+msgid "Save List..."
+msgstr "Со&хранить список..."
+
+#: src/channellistpanel.cpp:126
+#, fuzzy
+msgid "Join Channel"
+msgstr "&Зайти на канал"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Нажмите здесь для входа на канал. Для него откроется новая вкладка."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Сохранить список каналов"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation - Список каналов: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Каналы: %1 (показано %2)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Неуникальные пользователи: %1 (показано %2)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Открыть URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<URL не найден>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Список каналов для %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "В сети"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Другое приложение KDE запросило Konversation для мгновенного обмена "
+"сообщениями, но адрес для отправки сообщения не был указан. Скорее всего, это "
+"ошибка в приложении."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Другое приложение KDE запросило Konversation для мгновенного обмена "
+"сообщениями, но указанный контакт не был найден в Адресной книге KDE."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Другое приложение KDE запросило Konversation для мгновенного обмена "
+"сообщениями, но указанный пользователь %1 сейчас не подключен к сети."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Другое приложение KDE запросило Konversation для передачи файла, но адрес для "
+"отправки сообщения не был указан. Скорее всего, это ошибка в приложении."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Другое приложение KDE запросило Konversation для передачи файла, но указанный "
+"контакт не был найден в Адресной книге KDE."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Другое приложение KDE запросило Konversation для передачи файла, но указанный "
+"пользователь %1 сейчас не подключен к сети."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Другое приложение KDE запросило Konversation для добавления контакта, но это не "
+"поддерживается."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Не удалось запустить адресную книгу (kaddressbook). Убедитесь, что пакет "
+"'kdepim' установлен."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Для выбранного контакта не указано адреса e-mail."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Не удалось отправить e-mail"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Не удалось запустить почтовый клиент. Возможно потому, что он не установлен. "
+"Для установки почтового клиента KDE (kmail) установите пакет kdepim."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "Ни один из выбранных контактов не ассоциирован с адресной книгой."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Выбранный контакт не ассоциирован с адресной книгой."
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Некоторые из выбранных контактов (%1) не ассоциированы с адресной книгой."
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr "Один из выбранных контактов (%1) не ассоциирован с адресной книгой."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Вы можете нажать правой кнопкой мыши на контакте для редактирования ассоциаций "
+"с адресной книгой для добавления контакта в адресную книгу."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr ""
+"Ни один из выбранных вами контактов не имеет ассоциированного E-mail адреса."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Некоторые из выбранных контактов (%1) не имеют ассоциированного E-mail адреса."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"Один из выбранных контактов (%1) не имеют ассоциированного E-mail адреса."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Вы можете нажать правой кнопкой мыши на контакте для редактирования контакта "
+"адресной книги и добавить E-mail."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Некоторые из выбранных контактов (%1) не ассоциированы с контактами адресной "
+"книги и некоторые из контактов (%2) не имеют ассоциированного E-mail адреса."
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Вы можете нажать правой кнопкой мыши на контакте и выбрать редактирование "
+"ассоциаций с адресной книгой для добавления контакта в адресную книгу, выбрать "
+"контакт адресной книги и добавить E-mail адрес для него."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Отправить E-mail пользователям, имеющим адрес?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Отправить E-mail"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Связать IRC-ник с записью в Адресной книге"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Выберите ассоциацию для '%1'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "'%1' имеет ассоциацию."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "'%1' ассоциирован с '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Внимание:</b> '%1' ассоциирован с несколькими записями. Выберите "
+"правильную.</p></qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Создать запись в адресной книге"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Название новой записи:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Охотник за URL"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Список всех адресов (URL), появлявшихся во всех окнах Konversation с момента "
+"его запуска."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Открыть URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"Выберите <b>URL</b> и нажмите эту кнопку чтобы открыть его."
+"<p>В настройках на вкладке <b>Поведение</b> | <b>Общие</b>"
+", можно указать нестандартный web-браузер.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Копировать URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Выберите <b>URL</b> и нажмите эту кнопку чтобы скопировать его в буфер обмена."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "У&далить URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "Выберите <b>URL</b> и нажмите эту кнопку чтобы его удалить."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "Со&хранить список..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Сохранить список в файл"
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "О&чистить список"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Очистить список"
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Сохранить список URL"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Отредактировать многострочную вставку из буфера обмена"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Добавить индикаторы &цитирования"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Канал:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Необходимо имя канала."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Необработанный лог"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Выполнить поиск по тексту в текущей вкладке"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "Список каналов для %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Открыть &журнал для %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Па&раметры канала для %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Стандартная ( %1 )"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Вы можете искать только в текстовых полях."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Найти текстовую информацию"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Журнал %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Состояние DCC"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Использование этой функции может привести к сильному сетевому трафику. Если "
+"ваше соединение недостаточно быстрое, сервер может вас отключить."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Предупреждение списка каналов"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Список каналов может быть открыть только из окна привата, канала или состояния, "
+"чтобы было ясно к какому серверу он относится."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Введите имя сети здесь. Вы можете создать так много записей в Списке серверов с "
+"одинаковой сетью, сколько вам необходимо."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Выберите существующий профиль или нажмите на кнопку Редактировать для "
+"добавления нового профиля или редактирования существующего. Профиль "
+"используется для вашей идентификации и для получения вашего ника при соединении "
+"с сетью."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Необязательно. Эта команда будет отправлена серверу после соединения. Пример: "
+"<b>/msg NickServ IDENTIFY <i>konvirocks<i></b>. Это пример для сети Freenode, "
+"где пользователям рекомендуется регистрировать ники при входе с помощью пароля. "
+"<i>konvirocks<i> - это пароль для ника из Профиля. Ввести несколько команд "
+"можно разделяя их двоеточиями."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Отметьте, если хотите, чтобы программа автоматически подключалась к этой сети "
+"при запуске."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Это список серверов IRC-сети. При подключении к сети Konversation пытается "
+"подключиться к верхнему серверу первым. Если это не удаётся, то пробуется "
+"следующий сервер сверху вниз. Должен быть указан как минимум один сервер. "
+"Нажмите на сервере, чтобы выбрать его."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Необязательно. Это список каналов, на которые необходимо автоматически заходить "
+"при подключении к серверу. Вы можете оставить пустым, если не хотите "
+"автоматически заходить ни на какие каналы."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Изменить информацию о сети"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Добавить сервер"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Изменить сервер"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Добавить канал"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Изменить канал"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Необходимо имя сети"
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Вам необходимо добавить хотя бы один сервер сети."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Темы Konversation"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Выберите тему"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Не удалось загрузить тему"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Архив с темой содержит ошибки."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Не удалось установить тему"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Удалить %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Удалить тему"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC-клиент"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Выберите получателя"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Выбрать имя и закрыть окно"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Закрыть окно без применения изменений"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Сервер %1 не найден."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Администратор запретил получать файлы"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Невозможно открыть доступ (размер равен нулю)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Не удалось создать папку.</b><br>Путь: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Не удалось создать экземпляр KIO"
+
+#: src/dcctransferrecv.cpp:353
+#, fuzzy
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Файл уже существует.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>Неполный файл уже существует.</b><br>%1<br>Размер: %2 байт<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Файл уже существует.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Не удалось открыть файл.<br>Ошибка: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:447
+#, fuzzy
+msgid "Waiting for connection"
+msgstr "Пароль для соединения"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Ожидание принятия удалённым пользователем"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Неожиданный ответ от удалённого узла"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Ошибка передачи"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "Ошибка KIO: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Некоторая информация о человеке, с которым во говорите в привате "
+"показывается на панели . Показывается полное имя и маска сети, также "
+"показывается изображение, ассоциированное с человеком в Адресной книге KDE."
+"<p>Читайте <i>Руководство Konversation</i> для получения информации о "
+"ассоциации ника с контактом в Адресной книге и объяснения что такое маски "
+"сети.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(отошел)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Игнорировать %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Закрыть приват после добавления этого пользователя в список игнорируемых?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Закрыть этот приват"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Оставить открытым"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Прекратить игнорировать %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Умолчание профиля ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Закрыть диалог с %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Закрыть диалог"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Разговаривает с вами"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 покинул(а) сервер."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 покинул(а) этот сервер (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Просмотр индикатора - перетащите его мышкой"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Оператор"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Администратор"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Владелец"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Полуоператор"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "С правом голоса"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Интерфейс"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Поведение"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Уведомления"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Окно разговора"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Темы списка пользователей"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Цвета"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Быстрые кнопки"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Подключение"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Список пользователей"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Псевдонимы команд"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Автозамена"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Журналирование"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Подсветка"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Наблюдаемые пользователи"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Индикатор"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Окна предупреждений"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Получение по DCC"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Продолжить"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "И&мя файла"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Предложить &новое имя"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "&Заменить"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "П&ереименовать"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Найти далее"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Учитывать регистр"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Только целые слова"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "От курсора"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "З&акрыть вкладку"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "Отключиться от %1?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Отключиться от сервера"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Отключиться"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Начато"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Состояние"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Партнер"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Выполнение"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Позиция"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Осталось"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Скорость"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Адрес отправителя"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Принять"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Прекратить"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Открыть файл"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Получить"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Отменить передачи"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Выполнить файл"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Информация о передаче DCC"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Выделить все"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "&Выделить завершённые передачи"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Принять"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "П&рекратить"
+
+#: src/dcctransferpanel.cpp:146
+#, fuzzy
+msgid "Resend"
+msgstr "&Продолжить"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Очистить"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "&Открыть файл"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Сведения &о файле"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Настроить параметры канала"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>У каждого канала IRC есть своя тема - сообщение, которые все могут видеть."
+"<p>Если вы имеете статус оператора, или режим канала <em>'T'</em> "
+"не был установлен, вы можете изменить тему отредактировав текст в строке с ней "
+"и нажав Enter. Просмотреть предыдущие темы можно открыв всплывающий список с "
+"текущей темой.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может это изменить."
+"<p><b>T</b>opic (тема) обозначает, что только оператор канала может сменить "
+"тему.</q>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p><b>N</b>o messages (без сообщений) извне обозначает, что пользователи не на "
+"канале не могут слать в него сообщения. Почти на всех каналах установлен этот "
+"режим для предотвращения вредных сообщений.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p><b>S</b>ecret (секретный) канал не будет показываться в списке каналов. "
+"Также пользователь не сможет видеть, что вы на канале с помощью команды <em>"
+"WHOIS</em> или другой похожей. Только пользователи, с которыми вы на канале "
+"будут знать, что вы на этом канале, если этот режим установлен.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p>Только <b>I</b>nvite (по приглашению) обозначает, что пользователи могут "
+"зайти на канал, если только получат приглашение. Для приглашения кого-либо "
+"используйте команду <em>/invite ник</em> на канале.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p><b>P</b>rivate (приватный) канал показывается в списке каналов, но тема не "
+"указывается. Команда <em>WHOIS</e> может показывать, а может и не показывать, "
+"что пользователь на приватном канале. Это зависит от сервера.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p><b>M</b>oderated (модерируемый) канал - это канал, на котором могут общаться "
+"только операторы, полуоператоры и пользователи с правом голоса.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p>A <b>P</b>rotected (защищенный) канал требует от пользователей ввести пароль "
+"для входа.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это.<p<b>"
+"L</b>imit (ограничение) обозначает, что количество пользователей на канале не "
+"может превышать указанный лимит. Некоторые каналы имеют бота, который изменяет "
+"этот параметр в зависимости от загруженности канала.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Максимальное количество пользователей на канале"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Это лимит пользователей канала - максимальное число пользователей, которые "
+"могут быть на канале одновременно. Если вы оператор, то можете установить этот "
+"параметр. Режим канала <b>T</b>opic (тема) будет автоматически установлен, "
+"если установлена эта опция.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Ваш текущий ник, а также его варианты. Если вы выберете или введёте другой "
+"ник, IRC-серверу будет отправлен запрос на его смену. При ручном вводе ника "
+"нужно нажать 'Enter'."
+"<p>Варианты вашего ника можно поменять через пункт <em>Профили</em> меню <em>"
+"Файл</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Игнорировать выделенных пользователей?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Прекратить игнорировать выделенных пользователей?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Дополнение"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Варианты: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Пароль канала"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Максимум пользователей"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Введите новый максимум пользователей:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Вы меняете имя на %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 меняет имя на %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Вы зашли на канал %1. (%2)"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 вошел на канал (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Вы покинули сервер."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Вы покинули сервер. (%1)"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Вы покинули канал %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Вы покинули канал %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 покинул(а) сервер (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 покинул(а) канал."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 покинула(а) канал (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Вы выкинули себя с канала %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Вы выкинули себя с канала %1. (%2)"
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 выкидывает вас с канала %1."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 выкидывает вас с канала %1. (%3)"
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Вы выкинули %1 с канала."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Вы выкинули %1 с канала. (%2)"
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 выкидывает %1 с канала."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 выкидывает %1 с канала. (%3)"
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n пользователь\n"
+"%n пользователя\n"
+"%n пользователей"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n оператор)\n"
+" (%n оператора)\n"
+" (%n операторов)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Тема на канале: \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Вы сменили тему на канале на \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 меняет тему на канале на \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Вы дали себе права владельца канала."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Вы дали %1 права владельца канала."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 даёт вам права владельца канала."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 даёт %2 права владельца канала."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Вы отобрали у себя права владельца канала."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Вы отобрали у %1 права владельца канала."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 отбирает у вас права владельца канала."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 отбирает у %2 права владельца канала."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Вы дали себе права администратора канала."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Вы дали %1 права администратора канала."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 даёт вам права администратора канала."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 даёт %2 права администратора канала."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Вы отобрали у себя права администратора канала."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Вы отобрали у %1 права администратора канала."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 отбирает у вас права администратора канала."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 отбирает у %2 права администратора канала."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Вы дали себе права оператора канала."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Вы дали %1 права оператора канала."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 дает вам права оператора канала."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 дает %2 права оператора канала."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Вы отобрали у себя права оператора канала."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Вы отобрали у %1 права оператора канала."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 отбирает у вас права оператора канала."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 отбирает у %2 права оператора канала."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Вы дали себе права полуоператора канала."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Вы дали %1 права полуоператора канала."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 дает вам права полуоператора канала."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 дает %2 права полуоператора канала."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Вы отобрали у себя права полуоператора канала."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Вы отобрали у %1 права полуоператора канала."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 отбирает у вас права полуоператора канала."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 отбирает у %2 права полуоператора канала."
+
+#: src/channel.cpp:1773
+#, fuzzy
+msgid "You give yourself permission to talk."
+msgstr "Вы дали себе право голоса."
+
+#: src/channel.cpp:1774
+#, fuzzy
+msgid "You give %1 permission to talk."
+msgstr "Вы дали %1 право голоса."
+
+#: src/channel.cpp:1778
+#, fuzzy
+msgid "%1 gives you permission to talk."
+msgstr "%1 дает вам право голоса."
+
+#: src/channel.cpp:1779
+#, fuzzy
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 дает %2 право голоса."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Вы отобрали у себя право голоса."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Вы отобрали у %1право голоса."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 отбирает у вас право голоса."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 отбирает у %2 право голоса."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Вы установили режим канала 'цвета запрещены'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 устанавливает режим канала 'цвета запрещены'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Вы установили режим канала 'цвета разрешены'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 устанавливает режим канала 'цвета разрешены'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Вы устанавливаете режим канала 'только по приглашению'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 устанавливает режим канала 'только по приглашению'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Вы отключаете режим канала 'только по приглашению'."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 отключает режим канала 'только по приглашению'."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Вы устанавливаете режим канала 'модерируемый'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 устанавливает режим канала 'модерируемый'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Вы устанавливаете режим канала 'не модерируемый'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 устанавливает режим канала 'не модерируемый'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Вы устанавливаете режим канала 'нет сообщений извне'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 устанавливает режим канала 'нет сообщений извне'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Вы устанавливаете режим канала 'разрешить сообщения извне'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 устанавливает режим канала 'разрешить сообщения извне'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Вы устанавливаете режим канала 'частный'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 устанавливает режим канала 'частный'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Вы устанавливаете режим канала 'общий'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 устанавливает режим канала 'общий'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Вы устанавливаете режим канала 'секретный'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 устанавливает режим канала 'секретный'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Вы устанавливаете режим канала 'видимый'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 устанавливает режим канала 'видимый'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Вы включили защиту темы."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 включает защиту темы."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Вы выключили защиту темы."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 выключает защиту темы."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Вы сменили тему на канале на \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 меняет тему на канале на \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Вы убрали лимит пользователей."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 убирает лимит пользователей."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Вы установили лимит в %1 пользователей."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 устанавливает лимит в %2 пользователей."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Вы убрали лимит пользователей."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 убирает лимит пользователей."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Вы забанили %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 банит %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Вы отменили бан %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 отменяет бан %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Вы поставили исключение бана на %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 ставит исключение бана на %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Вы убрали исключение бана на %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 убирает исключение бана на %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Вы поставили маску приглашения %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 ставит маску приглашения %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Вы убрали маску приглашения %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 убирает маску приглашения %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Вы устанавливаете на канале режим +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 устанавливает на канале режим +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Вы устанавливаете на канале режим -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 устанавливает на канале режим -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Для выполнения действия требуются права оператора."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Тема может быть изменена только операторами канала. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Нет сообщений в канал от пользователей извне. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Секретный канал. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Канал только по приглашениям. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Частный канал. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Модерируемый канал. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Защитить канал паролем."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Установить лимит пользователей на канале."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Покинуть %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Покинуть канал"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Покинуть"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Станислав Карчебный,Николай Шафоростов,Грегорий Мохин,Иван Бобров "
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr ""
+"berkus@users.sourceforge.net,shafff@ukr.net,mok@kde.ru,ibobrik@gmail.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "В очереди"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Линий: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " байт"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Звук:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Линий: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " байт"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Обычные пользователи"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "В очереди"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "В очереди"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Получатель:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Имя кнопки"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Действие кнопки"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Действие кнопки:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Имя кнопки:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Доступные символы подстановки"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: Текущий канал\n"
+"%K: Пароль сервера\n"
+"%u: Список выбранных пользователей\n"
+"%s<term>%: term (символ) для разделения пользователей внутри %u\n"
+"%n: Отправить команду непосредственно на сервер вместо строки ввода"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, fuzzy, no-c-format
+msgid "Filename:"
+msgstr "Файл:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Сам:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, fuzzy, no-c-format
+msgid "Type:"
+msgstr "Тип"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Состояние:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, fuzzy, no-c-format
+msgid "Location:"
+msgstr "&Действие:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Выполнение:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, fuzzy, no-c-format
+msgid "Partner:"
+msgstr "Партнер"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Открыть файл"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, fuzzy, no-c-format
+msgid "File Size:"
+msgstr "Файл:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, fuzzy, no-c-format
+msgid "Resumed:"
+msgstr "&Продолжить"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, fuzzy, no-c-format
+msgid "Current Speed:"
+msgstr "Использован текущий ник"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, fuzzy, no-c-format
+msgid "Current Position:"
+msgstr "Позиция:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr ""
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, fuzzy, no-c-format
+msgid "Started at:"
+msgstr "Начато"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, fuzzy, no-c-format
+msgid "Transferring Time:"
+msgstr "Ошибка передачи"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Автоматическое переподключение"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Тайм-аут повторного подключения:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Попыток повторного подключения:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " секунд"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Без ограничений"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Отладка"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Показывать окно &журнала при соединении"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Шаблон"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Тип"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Шаблон:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Типы сообщений"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Добавить"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Удалить все"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, fuzzy, no-c-format
+msgid "Network name:"
+msgstr "&Сеть:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Профиль:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Команды:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, fuzzy, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Подключиться при запуске программы"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Серверы"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, fuzzy, no-c-format
+msgid "&Add..."
+msgstr "Добавить..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, fuzzy, no-c-format
+msgid "E&dit..."
+msgstr "Изменить..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Зайти на каналы автоматически"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, fuzzy, no-c-format
+msgid "Ed&it..."
+msgstr "Изменить..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Псевдоним:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Замена:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Псевдоним"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Замена"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Н&айти далее"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Найти предыдущее"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "Команды для выполнения при &двойном щелчке:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Не учитывать рег&истр"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, fuzzy, no-c-format
+msgid "Sort by &activity"
+msgstr "При сообщении в &привате"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Упорядочить по &статусу"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Объяснение"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(изменить порядок пользователей с помощью drag'n'drop)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Настройка темы"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&Установить тему..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Удалить тему"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Значок обычных пользователей"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Значок отсутствующих пользователей"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Значок пользователей с голосом"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, fuzzy, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Значок полуоператоров"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, fuzzy, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Значок операторов"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Значок администраторов"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Значок владельцев"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Просмотр:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "Настройка вкладок"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Вид"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Замена:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Отображать кнопки &закрытия вкладок"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Отображать кнопку &закрытия на правой стороне вкладок"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Ограничить размер вкладок для помещения на экране"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Фокус"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "П&ереводить фокус на новые вкладки"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Переводить фокус на новые приват&ы"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Режим"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Команды для &выполнения при двойном щелчке на нике:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>По двойному щелчку на имени пользователя в окне <b>Пользователи в сети</b>\n"
+"эта команда будет помещена на <b>строку ввода</b> окна сервера.</p>\n"
+"<p>Доступны следующие переменные:</p>"
+"<ul>\n"
+"<li>%u: имя пользователя.</li>\n"
+"<li>%K: пароль сервера.</li>\n"
+"<li>%n: отправить команду прямо на сервер вместо строки ввода.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>По двойному щелчку на имени пользователя в окне <b>Пользователи в сети</b>\n"
+" эта команда будет помещена на <b>строку ввода</b> окна сервера.</p>\n"
+"<p>Доступны следующие переменные:</p>"
+"<ul>\n"
+"<li>%u: имя пользователя.</li>\n"
+"<li>%K: пароль сервера.</li>\n"
+"<li>%n: отправить команду прямо на сервер вместо строки ввода.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, fuzzy, no-c-format
+msgid "&Update interval:"
+msgstr "Интервал опроса:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Статус пользователей со следующими именами будет проверяться с заданным "
+"интервалом."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, fuzzy, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Показывать наблюдаемых &пользователей при запуске"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Открывать окно <b>Пользователей в сети</b> при каждом запуске "
+"программы.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, fuzzy, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "&Наблюдение за пользователями"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Наблюдение за пользователями включает уведомления, выводящиеся когда они "
+"появляются или выходят из сети.</p>\n"
+"<p>Вы также можете открыть окно <b>Пользователи в сети</b> "
+"для просмотра статуса наблюдаемых ников.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Сеть:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "Сеть IRC (например 'Freenode') для слежения за пользователем."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Ник пользователя для слежения"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Наблюдаемые пользователи/сети"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, fuzzy, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>Наблюдение за пользователями включает уведомления, выводящиеся когда они "
+"появляются или выходят из сети.</p>\n"
+"<p>Вы также можете открыть окно <b>Пользователи в сети</b> "
+"для просмотра статуса наблюдаемых ников.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Добавить пользователя в список."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Удалить пользователя из списка."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Вести журнал"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Имя журнала в &нижнем регистре"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "Добавить &узел к именам файлов журнала"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "&Путь к файлу журнала:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Системный лоток"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "&Использовать системный лоток для уведомлений"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, fuzzy, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Уведомлять только когда кто-то упоминает ваш ник или слово для подсветки"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Автозавершение имён"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "&Режим дополнения:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Циклический"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Как в оболочке"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Как в оболочке со списком вариантов"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "В на&чале строки:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "Ве&зде:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Учитывать регистр"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Отключить уведомления на время &отсутствия"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Ответ на запрос &версии:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Здесь вы можете настроить ответ на запрос версии клиента <b>CTCP <i>"
+"VERSION</i></b>.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Расширять поле ввода"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Командный символ:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Использовать другой web-&браузер:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr ""
+"Ограничить размер заголовков вкладок для того чтобы они помещались в экране"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "Включите, если хотите проверять орфографию вводимого текста"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Если включено, то поле ввода будет расширяться вертикально, если вводимый текст "
+"не помещается на одной строке."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Свернуть программу в системный лоток"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr ""
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Показывать &настоящие имена рядом с никами"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Показывать вкладку наблюдаемых пользователей при запуске"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Смайлики"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Тема смайликов"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Тем&а"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Дата"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Режим&ы"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "&Тема может быть изменена только операторами канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Без сообщений извне канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Секретный канал, отсутствующий в списке каналов"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Для захода на канал требуется &приглашение"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Контролирует <em>режим</em> канала. Только оператор может сменить это."
+"<p>Только <b>I</b>nvite (по приглашению) обозначает, что пользователи могут "
+"зайти на канал, если только получат приглашение. Для приглашения кого-либо "
+"используйте команду <em>/invite ник</em> на канале.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr ""
+"&Модерируемый канал, в который могут писать только участники с правом голоса"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Пароль канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Максимум пользователей:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "&Расширенные режимы >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Параметр"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Список забаненных"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Отменить бан"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Добавить бан"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Маска хоста:"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Установлен"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Установка времени"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, fuzzy, no-c-format
+msgid "Search:"
+msgstr "&Искать:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "Настройки DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Каталог &DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Добавить &отправителя к имени файла"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Создать &папку для отправителя"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Заменять пробелы на подчёркивания перед отправкой"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "&Автоматически принимать загрузку по DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "&Автоматически продолжать загрузку по DCC"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr ""
+"Использовать быструю отправку DCC (может не поддерживаться другим клиентом)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Размер б&уфера:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "В&ремя ожидания передачи DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Перейти на IPv&4 для отправки DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Если отмечено, то передачи DCC для IPv6 будут производиться через IPv4 "
+"интерфейс, указанный здесь."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " байт"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " c"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Укажите порты для &передачи DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Способ определения своего IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Свой IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Порты"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Укажите порты для &разговоров через DCC:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "до"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, fuzzy, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Укажите порты для &передачи DCC:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Использовать цветной текст"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Использовать цветные светоиды"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Событие программы"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"События программы возникают во вкладках консоли, вкладке DCC и других вкладках "
+"программы, не используемых для разговора."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Сообщение"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, fuzzy, no-c-format
+msgid "Private message"
+msgstr "Сообщение &сервера:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Использован текущий ник"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Событие канала"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"События канала - это смены режимов,вход/выход с канала других пользователей."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Использовать цвета из настроек Подсветки"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Если отмечено, цвета, выбранные в настройках Подсветки, будут использоваться "
+"вместо цветов для \"Использован ваш ник\" и \"Подсветка\""
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Использовать моноширинный шрифт для сообщений MOTD"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Отображать сообщение дня (MOTD) моноширинным шрифтом"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Показывать ники отправителей в разговоре &жирным шрифтом"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Текст разговора:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Список пользователей:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Вкладки:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, fuzzy, no-c-format
+msgid "Highlight List"
+msgstr "Список &подсвечивания"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Регулярное выражение"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Подсвечивать"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Звук"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Автотекст"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Шаблон:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, fuzzy, no-c-format
+msgid "Color:"
+msgstr "Цвета"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Звук:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr ""
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "&Автотекст:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, fuzzy, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Включить звуки для подсвеченных элементов списка"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Всегда подсвечивать &собственный ник:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Всегда подсвечивать &свои строчки:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "&Создать новый контакт..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Создать новую запись в адресной книге"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Фотография"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Имя"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Выберите контакт, с которым вы хотите общаться через IM"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Искать:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "&Системный сигнал при получении ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Воспроизводить системный сигнал при получении символа ASCII BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Скрыть события в&хода/выхода/смены имени"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "&Выключить подстановку %C,%B,%G и т.д."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Не подставлять значения переменных при отправке текста на сервер. Переменные "
+"начинаются с '%', например, %B заменяется символами, выделяющими текст жирным."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr ""
+"Перенаправлять &все сообщения о смене статуса в окно соединения с сервером"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Предел отката:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Сколько строк хранить в буферах; 0=все"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "&Использовать необработанный вид режимов"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Оставлять строку режимов канала как комбинацию символов, вместо перевода в "
+"понятный человеку вид. Например, '*** Режимы канала: без сообщений извне' будет "
+"выглядеть как '*** Режимы канала: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " строк"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, fuzzy, no-c-format
+msgid "Marker Lines"
+msgstr "Список серверов"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, fuzzy, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Показывать линию &запоминания во всех каналах/приватах"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Вставлять линию запоминания в окно разговора когда вы переключаетесь на другое "
+"окно разговора или закрываете окно."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Включить автоматический поиск информации о пользователе (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Максимальное количество пользователей на канале:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " ников"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Интервал опроса:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Использовать индикатор"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Индикатор"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Рисовать тени"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Шрифт текста индикатора:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Выводить &индикатор"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Если своё &имя появляется в сообщении на канале"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "При любом сообщении на &канале"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "При сообщении в &привате"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "При событиях в&хода/выхода"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Включить собственные цвета"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "&Цвет текста:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Фон:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Другие параметры"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Длительность:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Экран:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " мс"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Окно"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, fuzzy, no-c-format
+msgid "Ne&w"
+msgstr "Добавить"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, fuzzy, no-c-format
+msgid "R&emove"
+msgstr "Удалено"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Замена"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Найти"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Заменить на"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Замена:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Найти:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Заменить на:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "&Время сообщений"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Отображать &даты"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Формат:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "&Фоновый журнал"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Линий: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Расположение"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Показывать тему канала"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Кнопки ре&жимов канала"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr ""
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Показывать &поле для смены имени"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "&Быстрые кнопки"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Показывать &настоящие имена рядом с никами"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Кнопки ре&жимов канала и быстрые кнопки"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Показывать маски &узлов в списке пользователей"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "&Фоновое изображение"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "&Путь:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Собственные цвета"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"&Использовать собственные цвета для поля ввода, списка пользователей и списка "
+"вкладок"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Фон:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Сообщение &сервера:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Гиперссылки:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Сообщение в &канале:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Действие:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Фоновый журнал:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Текст к&оманды:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Сообщение &привата:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Время сообщения:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "&Альтернативный фон:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Цветные ники"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Цвет своего ника:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Разрешить цветной текст в сообщениях"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Если включено, то цветовые коды IRC сообщений будут показаны как цветной текст. "
+"Вы можете добавить цвет в ваши сообщения с помощью Вставка->Цвет IRC"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Просмотр"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Как будет выглядеть ваше сообщение с этими цветами"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Это просмотр, как ваши читатели увидят ваше сообщение, если вы выберите эти "
+"цвета."
+"<br>\n"
+"<b>Примечание: не все клиенты это поддерживают и некоторые пользователи могут "
+"игнорировать цвета в сообщениях.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Выбранный цвет текста добавлен в строку ввода."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Здесь вы можете выбрать какой цвет будет иметь текст в отправляемом "
+"сообщении. Если вы выберите цвет и нажмете Ok, то выбранный цвет будет "
+"добавлен в строку ввода. Любой текст, написанный после, будет окрашен в этот "
+"цвет, пока вы снова не смените цвет."
+"<br>\n"
+"<b>Примечание: Не все пользователи включают цвета в сообщениях.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Цвет &текста:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Выбранный цвет фона добавлен в строку ввода"
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Здесь вы можете выбрать какой цвет будет иметь текст в отправляемом "
+"сообщении.\n"
+"Если вы выберите цвет и нажмете Ok, то выбранный цвет будет добавлен в строку "
+"ввода.\n"
+"Любой текст, написанный после, будет окрашен в этот цвет, пока вы снова не "
+"смените цвет."
+"<br>\n"
+"Выбор стандартного \"<i>Отсутствует</i>\" не сменит цвет фона вашего сообщения, "
+"но ваши читатели увидят ваше сообщение с обычным фоном."
+"<br>\n"
+"<b>Примечание: Не все клиенты поддерживают это и у других пользователей цвета "
+"могут быть отключены.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Выберите предупреждения для их включения"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "П&ароль:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Сервер:"
+
+#~ msgid "Messages"
+#~ msgstr "Сообщения"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Показывать сообщения об у&ходе"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Установить статус &В сети глобально"
+
+#~ msgid " s"
+#~ msgstr " с"
+
+#~ msgid "Every "
+#~ msgstr "Каждые "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Предупреждение об удалении файла, принятого по DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Ключ для %1 успешно установлен."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Не удалось удалить файл \"%1\"."
+
+#~ msgid "DCC Error"
+#~ msgstr "Ошибка DCC"
+
+#~ msgid "Remove File"
+#~ msgstr "Удалить файл"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Подробности"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Удалить с панели"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Удалить загруженные файлы из списка"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Удалить файл"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Удалить %n файл?\n"
+#~ "Удалить %n файла?\n"
+#~ "Удалить %n файлов?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Подтверждение удаления"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Показывать в списке настоящее имя пользователя после его ника."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Соединение с сервером %1 утеряно. %2. Попытка повторного подключения..."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Смена сервера на %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Выжидание 2 минуты перед следующей попыткой подключения..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Доступные группы предпочтения: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Доступные в группе %1 параметры:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Использование: %1PREFS <группа> <опция> <значение> или %2PREFS LIST для списка групп или %3PREFS группа LIST для списка опций группы. Экранируйте параметры, если они содержат пробелы."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Подробности"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Ключ &канала:"
+
+#~ msgid "Insert remember &line when going away"
+#~ msgstr "&Вставить линию запоминания при переходе в режим \"Отсутствую\""
+
+#~ msgid "Insert a &remember line when chat window is hidden"
+#~ msgstr "&Вставлять линию запоминания при скрытии окна разговора"
+
+#, fuzzy
+#~ msgid "&Connection"
+#~ msgstr "Подключение"
+
+#~ msgid "Application Startup"
+#~ msgstr "Запуск программы"
+
+#~ msgid "&Show server list dialog"
+#~ msgstr "Показывать &список серверов"
+
+#~ msgid "%1 has identified for this nick."
+#~ msgstr "%1 идентифицирован для данного ника."
+
+#~ msgid "&Channel"
+#~ msgstr "&Канал"
+
+#~ msgid "&Topic"
+#~ msgstr "&Тема"
+
+#~ msgid "&Save List..."
+#~ msgstr "&Сохранить список..."
+
+#~ msgid "hh:mm"
+#~ msgstr "чч:мм"
+
+#~ msgid "hh:mm:ss"
+#~ msgstr "чч:мм:сс"
+
+#~ msgid "Automatically &join channel on invite"
+#~ msgstr "Автоматически заходить на канал при получении приглашения"
+
+#~ msgid "Offering"
+#~ msgstr "Предлагаю"
+
+#~ msgid "There is no vacant port for DCC Chat."
+#~ msgstr "Нет свободных портов для разговора DCC."
+
+#~ msgid "Update &interval:"
+#~ msgstr "&Интервал обновления:"
+
+#~ msgid ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "When the nickname watcher is turned on, you will be notified when the nicknames appearing in the <b>Watched Networks/Nicknames</b> list come online or go offline.</p>\n"
+#~ "<p>You can also open the <b>Nicks Online</b> window to see the status of all the watched nicknames.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+#~ msgstr ""
+#~ "<qt>\n"
+#~ "<p>\n"
+#~ "Наблюдение за пользователями включает уведомления, выводящиеся когда они появляются или уходят с канала.</p>\n"
+#~ "<p>Вы также можете открыть окно <b>Пользователи в сети</b> для просмотра статуса наблюдаемых ников.</p>\n"
+#~ ")\n"
+#~ "</qt>"
+
+#~ msgid "No DCC download running on port %1."
+#~ msgstr "Нет DCC входящих загрузок на порту %1."
+
+#~ msgid "No DCC upload running on port %1."
+#~ msgstr "Нет DCC исходящих загрузок на порту %1."
+
+#~ msgid "File:"
+#~ msgstr "Файл:"
+
+#~ msgid "Local Path:"
+#~ msgstr "Локальный путь:"
+
+#~ msgid "Saved to:"
+#~ msgstr "Сохранено в:"
+
+#~ msgid "Open this file"
+#~ msgstr "Открыть файл"
+
+#~ msgid "Delete this file"
+#~ msgstr "Удалить файл"
+
+#~ msgid "Sender:"
+#~ msgstr "Отправитель:"
+
+#~ msgid "Position:"
+#~ msgstr "Позиция:"
+
+#~ msgid "Accept this transfer"
+#~ msgstr "Принять передачу"
+
+#~ msgid "Abort this transfer"
+#~ msgstr "Отменить передачу"
+
+#~ msgid "Do you really want to remove the received file?"
+#~ msgstr "Удалить полученный файл?"
+
+#~ msgid "DCC Transfer &Details"
+#~ msgstr "&Подробности"
+
+#, fuzzy
+#~ msgid "Resumed Position:"
+#~ msgstr "Позиция:"
+
+#, fuzzy
+#~ msgid "Partner Address:"
+#~ msgstr "Адрес отправителя"
+
+#, fuzzy
+#~ msgid "Self Address:"
+#~ msgstr "Адрес отправителя"
+
+#~ msgid "Switch To"
+#~ msgstr "Переключиться на"
+
+#~ msgid "%1 is a network admin."
+#~ msgstr "%1 является администратором сети."
diff --git a/po/sr/Makefile.am b/po/sr/Makefile.am
new file mode 100644
index 0000000..791c3c6
--- /dev/null
+++ b/po/sr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sr/konversation.po b/po/sr/konversation.po
new file mode 100644
index 0000000..45cf9f4
--- /dev/null
+++ b/po/sr/konversation.po
@@ -0,0 +1,7503 @@
+# translation of konversation.po to Serbian
+# Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Toplica Tanaskovic <toptan@kde.org.yu>, 2003, 2004.
+# Марко Росић <roske@kde.org.yu>, 2004.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2004, 2005, 2008.
+# Slobodan Simic <simicsl@verat.net>, 2005, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-25 23:08+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\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=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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Опције канала за %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Сакриј напредне режиме <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Прикажи напредне режиме >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Нови"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "непознато"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Доступне информације за фајл %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Информације о фајлу"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Нису пронађене детаљне информације за овај фајл."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Пошаљи"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Прими"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "На реду"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Припремам"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Чекам"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Повезујем се"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Примам"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Шаљем"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Готово"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Није успело"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Прекинуто"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/сек."
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Ко-је"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Верзија"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Пинг"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Дај ОП"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Узми ОП"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Дај ПолуОП"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Узми ПолуОП"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Дај глас"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Узми глас"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Режими"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Избаци"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Избаци и забрани"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Забрани надимак"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Забрани *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Забрани *!*@domen"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Забрани *!korisnik@*.domacin"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Забрани *!korisnik@domen"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Избаци и забрани *!*@*.domacin"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Избаци и забрани *!*@domen"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Избаци и забрани *!korisnik@*.domacin"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Избаци и забрани *!korisnik@domen"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Избаци / забрани"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Игнориши"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Прекини игнорисање"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Отвори &упит"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Отвори DCC ћ&аскање"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Пошаљи &фајл..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Пошаљи &е-пошту..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Придружења адресара"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Додај у надгледане надимке"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Ово приказује све људе на каналу. Приказан је надимак за сваку особу."
+"<br>Обично је приказана икона која показује статус за сваку особу, али изгледа "
+"да вам није инсталирана ниједна тема икона. Погледајте подешавања "
+"Konversation-а — ставка <i>Подеси Konversation</i> у менију <i>Подешавања</i>"
+". Затим погледајте страну за <i>Теме</i> под <i>Изглед</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Ово приказује све људе на каналу. Приказан је надимак за сваку особу, уз "
+"слику која показује статус."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Ова особа има администраторска овлашћења.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Ова особа је власник канала.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Ова особа је оператер канала.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Ова особа је полуоператер канала.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Ова особа има глас и стога може причати на модерисаном каналу.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Ова особа нема никаква посебна овлашћења.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Ово назначава да је особа тренутно одсутна.</td></tr></table>"
+"<p>Значење администратора, власника и полуопа се разликује између различитих "
+"IRC сервера."
+"<p>Лебдењем изнад било којег надимка добијате његов тренутни статус, као и "
+"евентуалне информације које имате у адресару за ову особу. Погледајте приручник "
+"за Konversation за више информација.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Уреди контакт..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Изаберите/измените придружења..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Изаберите контакт..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Измени придружење..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Направи нови контакт..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Обриши придружење"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Канал"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Упит"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Обавештење"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Изузетак"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Језичци"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Данас"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Јуче"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (идентификован)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Е-пошта"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Маска домаћина:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Порука о одсутности:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(непознат)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "На вези од:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Кликните да покренете Уређивач регуларних израза (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Уређивач регуларних израза (KRegExpEditor) није инсталиран"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Одлазно"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Долазно"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Оба"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Придружи се каналу на %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Брзо повежи"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "Домаћин &сервера:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Унесите овде домаћин мреже."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Порт:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Порт који IRC сервер користи."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Надимак:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Надимак који желите да користите."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Лозинка:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Ако IRC сервер захтева лозинку, унесите је овде (већина сервера не захтева "
+"лозинку)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Користи SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Повежи се"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Повежи се са сервером"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Нисам могао да отворим сокет за слушање: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Нудим везу DCC ћаскања за %1 на порту %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC ћаскање са %1 на порту %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Успостављам везу DCC ћаскања са %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC ћаскање са %1 на %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Успостављена веза DCC ћаскања са %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Веза је прекинута, кôд грешке је %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Примио сам непознат CTCP-%1 захтев од %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Нисам могао да прихватим клијента."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Подразумевано ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Листа сервера"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Кликните овде да би се повезали на изабрану IRC мрежу и канал."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Овде је приказана листа подешених IRC мрежа. IRC мрежа је скуп сервера који "
+"сарађују. Довољно је да се повежете само на један сервер у мрежи да бисте били "
+"повезани са целом IRC мрежом. Када се конектујете, Konversation ће се "
+"аутоматски придружити приказаним каналима. Када се Konversation покрене по први "
+"пут, Freenode мрежа и <i>#kde</i> канал су већ унесени."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Мрежа"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Идентитет"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Канали"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Нови..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Кликните овде да бисте дефинисали нову мрежу, укључујући сервер на који се "
+"повезује и канале којима се аутоматски прикључује када је повезана."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Уреди..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Повежи по покретању програма"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Нова мрежа"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Уреди мрежу"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Не можете да обришете %1.\n"
+"\n"
+"Мрежа %2 мора имати бар један сервер."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Не можете избрисати изабране сервере.\n"
+"\n"
+"Мрежа %1 мора имати бар један сервер."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Желите ли заиста да обришете изабране уносе?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Желите ли да уклоните %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Прикажи последње:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Користите ово поље да бисте одредили највећу величину фајла дневника. Ово "
+"подешавање нема утицаја док поново не покренете Konversation. Сваки фајл "
+"дневника може имати одвојена подешавања."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Очисти дневнички фајл"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Овде се приказују поруке из фајла дневника. Најстарије поруке су на врху а "
+"најсвежије на дну."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Желите ли заиста да трајно одбаците све дневничке информације овог фајла?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Напомена: Снимањем дневничког фајл снимићете све податке у фајлу, а не само део "
+"који можете да видите у приказивачу."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Сними дневнички фајл"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Изаберите одредишну фасциклу"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Инфо"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Покушаћу да се повежем на %1 за %2 секунди."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Покушаћу да се поново повежем на %1 за %2 секунди."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Премашени покушаји поновног повезивања."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Већ сте повезани на %1. Желите ли да отворите још једну везу?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Већ сам повезан на %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Оствари везу"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Тренутно сте повезани на %1 преко „%2“ (порт %3). Желите ли да се пребаците на "
+"„%4“ (порт %5)?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Промени сервер"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Попуните свој <b>идент</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Попуните своје <b>право име</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Наведите бар један <b>надимак</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Ваш идентитет „%1“ није исправно подешен:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Подешавања идентитета"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Уреди идентитет..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Идентитети"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Идентитет:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Дупликат"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Преименуј"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Опште"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Право име:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Овде унесите ваше право име. IRC није намењен да би вас скривао од пријатеља "
+"или непријатеља. Имајте ово на уму ако желите да се понашате злонамерно. Лажно "
+"„право име“ може бити добар начин да скријете ваш пол од свих залуђеника "
+"напољу, али рачунар који користите се увек може испратити тако да никада нећете "
+"заиста бити анонимни."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Надимак"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Ово је листа ваших надимака. Надимак је име под којим ће вас знати остали "
+"корисници. Можете користити име које желите. Први знак мора бити слово.\n"
+"\n"
+"Пошто надимци морају бити јединствени на целој IRC мрежи, ваше жељено име може "
+"бити одбијено од стране сервера јер неко већ користи тај надимак. Унесите "
+"додатне надимке за себе. Ако је ваш први избор одбијен од стране сервера, "
+"Konversation ће испробати додатне надимке."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Додај..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Уреди..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Аутоматски идентификуј"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Сер&вис:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Име сервиса може бити <b><i>nickserv</i></b> или име које зависи од мреже, као "
+"<b><i>nickserv@servisi.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Лозинка:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Одсутан"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Означи последњу позицију у прозору ћаскања пре одласка"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Ако попуните ову кућицу, кадгод дате наредбу <b>/away</b>"
+", појавиће се водоравна линија на каналу означавајући место где сте отишли. "
+"Други IRC корисници не виде ову линију."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Надимак при одсутности:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Унесите надимак који показује да сте одсутни. Кадгод извршите наредбу <b>"
+"/away msg</b> у било ком каналу где сте приступили са овим идентитетом, "
+"Konversation ће аутоматски променити ваш надимак у надимак при одсутности. Тако "
+"ће други корисници знати да сте одсутни од рачунара. Кадгод извршите наредбу <b>"
+"/away</b> у било ком каналу где сте одсутни, Konversation ће аутоматски "
+"променити ваш надимак назад у оригинални. Ако не желите да се надимак мења "
+"аутоматски када сте одсутни, оставите ово празно."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Аутоматска одсутност"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Ако попуните, Konversation ће аутоматски поставити одсутност на све везе под "
+"овим идентитетом, чим се покрене чувар екрана или после доле наведеног периода "
+"мировања корисника."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Одсутност после"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " минута"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "мировања корисника"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Ау&томатски настави преузимање"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Ако попуните, Koversation ће аутоматски поништити одсутност на свим везама под "
+"овим идентитетом, чим се чувар екрана заустави или се открије активност "
+"корисника."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Поруке о одсутности"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Ако попуните ово, Konversation ће аутоматски послати поруку о одсутности на све "
+"канале којима сте придружени са овим идентитетом. <b>%s</b> се мења са <b>"
+"msg</b>. Кадгод извршите наредбу <b>/away</b>, порука о повратку ће бити "
+"приказана у свим каналима где сте придружени са овим идентитетом."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Порука о одс&утности:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Порука о пов&ратку:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Напредно"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "Наредба &пред-шкољке:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Овде можете унети наредбу за извршавање пре почетка повезивања са сервером"
+"<br>Ако имате више сервера у овом идентитету, наредба ће бити извршена за сваки "
+"од њих"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "И&дент:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Када се повежете, многи сервери шаљу упит на ваш рачунар ради IDENT одговора. "
+"Ако рачунар нема покренут IDENT сервер, тај одговор шаље Konversation. Размаци "
+"нису дозвољени."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Кодирање:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Ово подешавање утиче на кодирање знакова који се шаљу на сервер. Оно такође "
+"утиче и на то како се поруке приказују. Када први пут отворите Konversation он "
+"аутоматски преузима ово подешавање од оперативног система. Ако имате проблема "
+"при приказивању порука других корисника, покушајте да промените ово подешавање."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "Разлог &напуштања:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Кадгод напустите сервер, ова порука ће бити приказана другима."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Разлог &одласка:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Кадгод напустите канал, ова порука ће бити послата на њега."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Разлог &избацивања:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Кадгод сте избачени са канала (углавном од IRC оператера), ова порука ће бити "
+"послата на канал."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Измени информације о идентитету"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Одбацује све учињене измене"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Идентитету морате додати бар један надимак."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Унесите право име."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Додај надимак"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Надимак:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Уреди надимак"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Додај идентитет"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Име идентитета:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Идентитету морате дати име."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Преименуј идентитет"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Овај идентитет је у употреби, ако га уклоните мрежна подешавања која га користе "
+"спашће на подразумевани идентитет. Да ли да се ипак обрише?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Желите ли стварно да обришете све информације овог идентитета?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Обриши идентитет"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Направи дупликат идентитета"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Нормални корисници"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Глас (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Полуопер. (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Оператори (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Администратори канала (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Власници канала (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Убаци знак"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Убаци знак"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation-ов уређивач маркера"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Нема слободних портова"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Нисам могао да отворим сокет"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Пронађи текст..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Копирај URL у клипборд"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Додај у маркере"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Сними везу као..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Отвори упит са %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Придружи се каналу %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Обавести"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Придружи се"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Напусти"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Отвори упит"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Придружи се"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Добави листу &корисника"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Добави &тему"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Нема поклапања за „%1“."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Сними везу као"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Листа &сервера..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Сређивање мреже и сервера"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Брзо се &повежи..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Упишите адресу новог IRC сервера за повезивање"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Повежи се поново"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Повезује се поново са тренутним сервером."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Прекини везу"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Прекида везу са тренутним сервером."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Идентитети..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Наместите ваш надимак, одсутност и друга подешавања идентитета"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Надгледани надимци на вези"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC &статус"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Отвори фајл &дневника"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Отвори историјат за овај канал у новом језичку"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Подешавања &канала..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Отвори прозор подешавања канала за овај језичак"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Листа канала"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Прикажи листу свих познатих канала на овом серверу"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Хватач URL-ова"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Наведи у новом језичку све URL-ове који су скоро помињани"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&Нова конзола"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Отвара терминал у новом језичку"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Следећи језичак"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Претходни језичак"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Затвори језичак"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Следећи активан језичак"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Помери језичак горе"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Помери језичак доле"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Помери језичак десно"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Помери језичак лево"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Поново се придружи каналу"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Укључи обавештења"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Придружи се при повезивању"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Постави кодирање"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Иди на језичак %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Очис&ти линију подсећања"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Чисти линије подсећања у текућем језичку"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Очисти прозор"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Чисти садржај текућег језичка"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Очисти &све прозоре"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Чисти садржај свих отворених језичака"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Глобална одсутност"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "При&дружи се каналу..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "IRC &боја..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Поставите боју своје тренутне IRC поруке"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Линија подсећања"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Додаје водоравну линију у тренутни језичак коју само ви видите"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Посебан &знак..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Убацује било који знак у вашу тренутну IRC поруку"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Затвори све &отворене упите"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Сакриј листу надимака"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>У току су DCC преноси фајлова. Заиста желите да напустите <b>"
+"Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Потврди излаз"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Заиста желите да напустите <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Затварањем главног прозора Konversation ће наставити да ради у системској "
+"касети. Употребите <b>Заврши</b> из менија <b>Konversation</b>"
+"-ада изађете из програма.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Пристајање у системску касету"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Ово ће потпуно сакрити траку менија. Можете је поново приказати куцајући "
+"%1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Ук(иск)ључи обавештења"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Мењај одсутност глобално"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Унеси IRC &боју..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Унеси посебан &знак..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Унеси &линију подсећања"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Листа &канала"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Постави &одсутност глобално"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Сирово"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Употреба: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Употреба: %1JOIN <канал> [лозинка]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Употреба: %1KICK <надимак> [разлог]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK ради само унутар канала."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART без параметара ради само унутар канала или упита."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC без параметара ради само унутар канала."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES без циља може вам прекинути везу са сервером. Наведите „*“ ако заиста "
+"желите ово."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Употреба: %1close [прозор] Затвара именовани канал или језичак упита, или "
+"тренутни језичак ако се никоји не наведе."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Употреба: %1NOTICE <прималац> <порука>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Шаљем опомену „%2“ за %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Употреба: %1ME текст"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Шаљем CTCP-%1 захтев за %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Фајл „%1“ не постоји."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Употреба: %1DCC [SEND надимак имефајла]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Употреба: %1DCC [CHAT надимак]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Непозната наредба %1DCC %2. Могуће наредбе су SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Употреба: %1INVITE <надимак> [канал]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 није канал."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Употреба: %1EXEC <скрипта> [листа параметара]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Име скрипте не сме да садржи „../“!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Употреба: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Тренутна листа обавештавања је празна."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Тренутна листа обавештавања: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Унесите корисничко име и лозинку за овлашћења IRC оператера:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Лозинка IRC оператера"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Употреба: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [канал] "
+"<корисник|маска>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Употреба: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [канал] "
+"<корисник|маска> [разлог]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN без имена канала ради само унутар канала."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Употреба: %1UNBAN [канал] шема"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Додао сам %1 на вашу листу игнорисања."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Употреба: %1IGNORE [ -ALL ] <корисник 1> <корисник 2> ... <корисник n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Употреба: %1UNIGNORE <корисник 1> <корисник 2> ... <корисник n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Уклонио сам %1 са ваше листе игнорисања."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Нема игнорисаног: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Нема игнорисаних: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Употреба: %1QUOTE листа наредбе"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Употреба: %1SAY текст"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Употреба"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Употреба: %1AME текст"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Употреба: %1AMSG текст"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Употреба: %1OMSG текст"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Шаљем опомену „%1“ за %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Употреба: %1ONOTICE текст"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Тренутно кодирање је: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Постави на %1 кодирање."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 није важеће кодирање."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Употреба: %1setkey [<надимак>|<канал>] <кључ> Поставља кључ за шифровање за "
+"надимак или канал. %2setkey <кључ> У каналу или језичку упита поставља кључ за "
+"њега."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "Кључ за %1 је сада постављен."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Употреба: %1delkey <надимак> или <канал> Брише кључ за шифровање за надимак или "
+"канал"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "Кључ за %1 је сада избрисан."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "Кључ за %1 је сада „%2“."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Кључ није постављен за %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Употреба: %1DNS <надимак>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Разрешен на: %2 %1"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Не могу да разрешим %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Обрнуто разрешавање захтева KDE верзије 3.5.1 или више"
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Употреба: %1KILL <надимак> [коментар]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>У улазној линији пишете поруке за слање на канал, упит, или сервер. Поруку "
+"послату на канал виде сви на каналу, док се порука у упиту шаље само особи у "
+"упиту са вама."
+"<p>Да би сте аутоматски довршили надимак започните куцање, притисните Tab. Ако "
+"нисте започели куцање, последњи комплетиран надимак ће се користити."
+"<p>Можете слати и специјалне наредбе:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>радња</i></th>"
+"<td>приказује се као акција у каналу или упиту. На пример: <em>"
+"/me пева песму</em> приказаће се у каналу као „<ваш надимак> пева песму“.</td> "
+"</tr>"
+"<tr>"
+"<th>/whois <i>надимак</i></th>"
+"<td>приказује информације о тој особи, укључујући на којим каналима се "
+"налазе.</td></tr></table>"
+"<p>За још наредби, погледајте приручник за Konversation."
+"<p>Порука не може садржати више линија.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Покушавате да пренесете велики део текста (%1 бајтова или %2 линија) у "
+"ћаскање. То може изазвати ресетовања везе или поплавна избацивања. Желите ли "
+"заиста да наставите?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Упозорење о великом преносу"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "IRC клијент пријатељски према кориснику"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// URL или име домаћина сервера"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Сервер за повезивање"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Порт који се користи"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Канал којем се приступа након повезивања"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Надимак који се користи"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Лозинка за везу"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Користи SSL за везу"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "© 2002-2008, тим Konversation-а"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation је клијент за протокол ћаскања путем Интернета (IRC).\n"
+"Сретните пријатеље преко мреже, стекните нова познанства и опустите се\n"
+"причајући о омиљеним темама."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Првобитни аутор, оснивач пројекта"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Одржавалац"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Одржавалац, управник издавања, кориснички интерфејс, руковање протоколом"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, руковање кодирањима, постављање OSD-а"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Руковање протоколом, улазна линија"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Подршка за SSL и Blowfish, пребацивање на KNetwork, надимци у боји, подршка за "
+"теме икона"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Рефакторисање, интеграција са Kadddressbook-ом/Kontact-ом"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Удомљавање веб сајта"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Одржавање веб сајта"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Проширење вишеструких режима, постављање контроле за затварање, OSD "
+"функционалност"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Документација, побољшања за надгледане надимке на вези, посебно проширење веб "
+"прегледача"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Подешавач боја, дијалог истицања"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP интерфејс"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Не-латинична-1 кодирања"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Приказ дела Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Брзо повезивање, пребацивање новог OSD-а, друге могућности и исправке грешака"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Доста исправки и чишћења кода"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Побољшања превлачења и &испуштања"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Графика"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Трака тражења у Firefox стилу"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Сирови режими, груписање језичака по серверу, листа забрањених"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Закрпа за системску касету"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Исправке грешака"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Закрпа за проширене корисничке режиме"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Закрпа за затварање видљивог језичка помоћу пречице"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Мењање језичака помоћу клизачког точка на мишу"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Закрпа за режим власништва канала"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Опција за укључивање филтрирања IRC боја"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Исправке грешака, OSD, чишћења тема"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo скрипта"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Контекстни мени ауто-придруживања"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Примио сам CTCP-PING захтев од %1 за канал %2, шаљем одговор."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Примио сам CTCP-%1 захтев од %2, шаљем одговор."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Примио сам захтев за верзију од %1 за канал %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Примио сам захтев за верзију од %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Примио сам лош DCC SEND захтев од %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Примио сам лош DCC ACCEPT захтев од %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Примио сам лош DCC RESUME захтев од %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Примио сам лош DCC CHAT захтев од %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Примљена је непозната DCC наредба %1 од %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Примио сам непознати CTCP-%1 захтев од %2 за канал %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Примио сам непознат CTCP-%1 захтев од %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 за %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Примио сам CTCP-PING одговор од %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Примио сам CTCP-%1 одговор од %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Позови"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 вас позва у канал %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Добродошли"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Сервер %1 (верзија %2), кориснички режими: %3, каналски режими: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Подршка"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Ваши лични режими су:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Режими канала: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "заштита теме"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "без порука споља"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "тајно"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "само на позив"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "приватно"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "модерисано"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "заштићено лозинком"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "анонимно"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "сервер реоп"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "боје нису дозвољене"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"ограничено на %n корисника\n"
+"ограничено на %n корисника\n"
+"ограничено на %n корисника"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Режим"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "URL канала: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Направљено"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Овај канал је направљен %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Ко-је"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 је пријављен као %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Имена"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Крај листе NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "ТЕМА"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Тема канала „%1“ није постављена."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Тема"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Тема канала за %1 је: „%2“"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "%1 је поставио тему у %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Тему за %1 је поставио %2 у %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 у ствари користи домаћина %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: нема таквог надимка/канала."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Нема таквог надимка: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Нема таквог канала."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Надимак"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Надимак је већ у употреби, покушајте други."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Надимак је већ у употреби. Покушавам %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Погрешан надимак. Мењам надимак у %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Ви нисте на %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Порука дана:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Крај поруке дана"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Ви сте сада IRC оператер на овом серверу."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Корисници"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Тренутни корисници на мрежи: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Тренутни корисници на %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Одсутан"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 је одсутан: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Позвали сте %1 у канал %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 је %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Разрешен %1 (%2) на адреси: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Не могу да разрешим адресу за %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 је идентификовани корисник."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Ко"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 је %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (одсутан)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Крај листе /WHO за %1."
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 је корисник на каналима: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 има глас на каналима: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 је полуоп. на каналима: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 је оператер на каналима: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 је власник каналâ: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 је администратор на каналима: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 је на вези преко %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 је доступан за помоћ."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 је IRC оператер."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"%n дан\n"
+"%n дана\n"
+"%n дана"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"%n час\n"
+"%n часа\n"
+"%n часова"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"%n минут\n"
+"%n минута\n"
+"%n минута"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"%n секунда\n"
+"%n секунде\n"
+"%n секунди"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 мирује већ %2, %3, %4 и %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 мирује већ %2, %3 и %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 мирује већ %2 и %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 мирује већ %n секунду.\n"
+"%1 мирује већ %n секунде.\n"
+"%1 мирује већ %n секунди."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 је на вези од %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Крај листе ко-је."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Корисник-домаћин"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 је %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC оператер)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (одсутан)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Листа"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Листа канала:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n корисник): %2\n"
+"%1 (%n корисника): %2\n"
+"%1 (%n корисника): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Крај листе канала."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Листа забрањених:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 поставио %2 %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Крај листе забрањених."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 је тренутно недоступан."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Непозната наредба."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Није регистрован."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Ова наредба захтева више параметара."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Поставили сте личне режиме: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "је изменио ваше личне режиме:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " поставља режим: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Подразумевани идентитет"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Уреди надгледани надимак"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Име &мреже:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Овде изаберите мрежу сервера на коју ћете се повезати."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Надимак:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Надимак на који треба пазити када се повежете на сервер у мрежи.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Измени информације обавештења"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Веза је обезбеђена са %1-битним SSL-ом."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Функционалност за повезивање на сервер користећи шифровану SSL комуникацију "
+"није доступна Konversation-у јер подршка за OpenSSL није укључена при "
+"компиловању. Мораћете да набавите нову верзију KDE-а која има SSL подршку."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL сертификат који је сервер вратио није препознат. Можда сервер не подржава "
+"SSL на датом порту? Ако сервер подржава и обичне, не-SSL комуникације, SSL ће "
+"бити на различитом порту."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"IP адреса домаћина %1 не поклапа се са оном на коју је сертификат издат."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Аутентификација сервера"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Детаљи"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Сертификат сервера (%1) није прошао пробу аутентичности."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Желите ли да прихватите овај сертификат заувек, да више не будете питани?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Заувек"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Само за текућу сесију"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Истакнуто] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Упит] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 се придружи на %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 оде са %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 напусти %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 промени надимак у %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 жели да вам пошаље фајл"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 започе разговор (упит) са вама."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 је на вези. (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 оде са везе (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 вас избаци са канала %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 започе DCC ћаскање са вама"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Истакнуто] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Неуспело повезивање на %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Придружили сте се на %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Фраза није нађена"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Умотано тражење"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+"Ово се не може опозвати, желите ли заиста да вратите подразумеване вредности?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Ресетуј вредности"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Мрежни интерфејс"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Одговор са IRC сервера"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Наведите ручно"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Бирач IRC боја"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Ниједно"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Сервер:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Име или IP број сервера. irchelp.org одржава листу сервера."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Унесите број порта који је потребан за повезивање са сервером. За већину "
+"сервера то би требало бити <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Лозинка:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "&Безбедна веза (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Означите ако желите да користите SSL сигурносни протокол за комуникацију са "
+"сервером. Ово штити приватност комуникације између вашег рачунара и IRC "
+"сервера. Сервер мора да подржава SSL протокол да би ово радило. У већини "
+"случајева, ако сервер не подржава SSL, повезивање неће успети."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Потребна је адреса сервера."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Администратор је ограничио право на слање фајлова"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL „%1“ не постоји"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Нисам могао да добавим „%1“"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Унесите име фајла"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Фајл који шаљете особи <i>%1</i> нема име."
+"<br>Унесите име фајла које ће бити представљено примаоцу, или откажите DCC "
+"пренос.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Име фајла није дато"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "Не могу да пошаљем DCC SEND захтев саговорнику преко IRC сервера."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Чекам пристанак удаљеног корисника"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Нисам могао да прихватим везу (грешка сокета)."
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Нисам могао да отворим фајл: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Грешка сокета: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Истекло"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Крах везе: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Удаљени корисник је прекинуо везу"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Операција је успела. Никад не би требало да се деси у дијалогу грешке."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Нисам могао да читам из фајла „%1“."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Нисам могао да пишем у фајл „%1“."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Дошло је до кобне, неповратне грешке."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Нисам могао да отворим фајл „%1“."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Операција је неочекивано прекинута."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Истекло је време за операцију."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Дошло је до неочекиване грешке при затварању."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Непозната грешка. Кôд %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC слање"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC примање"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Обрнути DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Непознат сервер"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 на %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (порт %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (порт %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Да, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1сек."
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Спреман."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Ово приказује број корисника на каналу, и број оних који су оператери "
+"(опови)."
+"<p>Оператор канала је корисник који има посебна овлашћења, као што су "
+"избацивање и забрана корисника, промена режима канала, постављање других "
+"корисника за оператере.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Кашњење: непознато"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Сва комуникација са сервером је шифрована. Тиме је отежано другима да "
+"прислушкују вашу комуникавију."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Статусна трака приказује разне поруке, укључујући и било какве проблеме при "
+"повезивању са сервером. Скроз десно приказан је тренутно кашњење до сервера. "
+"Кашњење је време потребно вашим порукама да стигну на сервер, и са сервера "
+"назад ка вама.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Кашњење: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Кашњење: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Од сервера %1 нема одговора дуже од %2, %3, %4 и %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Од сервера %1 нема одговора дуже од %2, %3 и %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Од сервера %1 нема одговора дуже од %2 и %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Од сервера %1 нема одговора дуже од %n секунде.\n"
+"Од сервера %1 нема одговора дуже од %n секунде.\n"
+"Од сервера %1 нема одговора дуже од %n секунди."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Тражим сервер %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Сервер %1 није пронађен: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Сервер је пронађен, повезујем се..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Повезао сам се; пријављујем се..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Изгубљена веза са сервером %1: %2"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Нисам могао да се повежем на %1:%2 користећи SSL шифровање. Можда сервер не "
+"подржава SSL, или је наведен погрешан порт? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Грешка са SSL везом"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Прекинута веза са %1."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Ни један надимак из „%1“ идентитета није прихваћен од везе „%2“.\n"
+"Унесите нови или притисните Откажи да се искључите:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Грешка надимка"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Дошло је до грешке при читању података са сервера: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Изаберите фајл(ове) за слање ка %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 нуди да вам пошаље „%2“ (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "непозната величина"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Питам %1 да прихвати слање „%2“ (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Примљена је неисправна пасивна DCC порука прихватања слања за „%1“ од %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Настављам преузимање „%1“ од %2 почевши од %3% од %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Примљена је неисправна порука прихватања настављања за „%1“ од %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Настављам слање „%1“ за %2 почевши на %3% од %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Примио сам неисправан захтев за наставак за „%1“ од %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Преузимање „%1“ од %2 је завршено."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Преузимање „%1“ од %2 није успело. Разлог: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Слање „%1“ за %2 је завршено."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Слање „%1“ за %2 није успело. Разлог: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Шаљем „%1“ за %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Преузимам „%1“ (%2) од %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 вас позва да се придружите каналу %2. Прихватате ли позивницу?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Позивница"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Грешка: Нисам могао да нађем скрипту „%1“."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Грешка: Нисам могао да извршим скрипту „%1“. Проверите дозволе фајла."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Одсутан за сада"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Сада сте означени као одсутни."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Више нисте означени као одсутни."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Нисте означени као одсутни."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Надгледани надимци на вези"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Сервер/надимак/канал"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Додатне информације"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Ово су сви надимци на вашој листи надгледања, подведени под мрежу сервера на "
+"коју су повезани. Листа укључује и надимке из KAddressBook-а придружене мрежи "
+"сервера.</p>"
+"<p>Колона <b>Додатне информације</b> приказује податке познате за сваки "
+"надимак.</p>"
+"<p>Канали на којима надимак учествује приказани су испод сваког надимка.</p>"
+"<p>Надимци под <b>Ван везе</b> нису повезани ни на један од сервера у мрежи.</p>"
+"<p>Десно кликните на надимак да бисте добили додатне функције.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Уреди листу надгледања..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Кликните да бисте уредили листу надимака наведених на овом екрану."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Адресар:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Када изаберете надимак у горњој листи, дугмад овде користите да придружите "
+"надимак уносу у KAddressBook-у."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Уреди &контакт..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Кликните да направите, прикажете, или уредите унос у KAddressBook-у придружен "
+"надимку изабраном изнад."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Измени придружење..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "Кликните да придружите надимак изабран изнад уносу у KAddressBook-у."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Обриши придружење"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Кликните да уклоните везу између надимка изабраног изнад и уноса у "
+"KAddressBook-у."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " на вези преко %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " од %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Ван везе"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Глас"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Полуоп."
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Оператер"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Власник"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Админ."
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Направи нови &контакт..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Изаберите придружење..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "При&дружи се каналу"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Изаберите звучни фајл"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Дневнички фајл започет\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Аутоматски се придружи каналу на позив"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Напомена да ће снимањем дневничког фајла бити снимљен цео фајл"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Питај пре брисања садржаја фајла дневника"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Питај о затварању упита после игнорисања надимка"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Питај пре пребацивања везе на другу мрежу или сервер"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Питај пре отварања још једне везе ка истој мрежи ли серверу"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Затвори језичак сервера"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Затвори језичак канала"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Затвори језичак упита"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Листа канала може да се отвори само из језичака свесних сервера"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Упозорење при сакривању менија главног прозора"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Упозорење о високом саобраћају са листом канала"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Упозорење при преносу великих количина текста"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Упозорење при изласку из Konversation-а"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Упозорење при изласку када има DCC преноса у току"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Листа канала"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Поставке филтера"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Најмање корисника:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Највише корисника:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Овде можете ограничити листу канала на оне канале са најмањим бројем корисника. "
+"Бирањем 0 искључујете овај критеријум."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Овде можете ограничити листу канала на оне канале са највећим бројем корисника. "
+"Бирањем 0 искључујете овај критеријум."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Шема филтера:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Циљ филтера:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Унесите овде знаковни низ филтера."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Регуларни израз"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Примени филтер"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Овде кликните да бисте преузели листу канала са сервера и применили филтер."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Овде је приказана филтрирана листа канала. Приметите да ако не користите "
+"регуларне изразе, Konversation ће излистати било који канал чије име садржи "
+"филтерски знаковни низ који сте унели. Име канала не мора почињати знаковним "
+"низом који сте унели.\n"
+"\n"
+"Изаберите канал којем желите да се придружите кликом на њега. Десним кликом на "
+"канал добијате листу свих веб страна које се помињу у теми канала."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Име канала"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Тема канала"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Освежи листу"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Сними листу..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Придружи се каналу"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Кликните овде да бисте се придружили каналу. За канал ће бити направљен нови "
+"језичак."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Сними листу канала"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation-ова листа канала: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Канали: %1 (%2 приказана)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Нејединствених корисника: %1 (%2 приказана)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Отвори URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Ниједан URL није пронађен>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Листа канала за %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "На вези"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за брзо гласништво, "
+"али није навео ниједан контакт коме треба послати поруку. То је вероватно "
+"грешка у том другом програму."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за брзо гласништво, "
+"али Konversation није могао да нађе наведени контакт у KDE-овом адресару."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за брзо гласништво, "
+"али захтевани корисник %1 није на вези."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за слање фајла "
+"контакту, али није навео ниједан контакт. То је вероватно грешка у том другом "
+"програму."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за слање фајла "
+"контакту, али Konversation није могао да нађе наведени контакт у KDE-овом "
+"адресару."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за слање фајла "
+"контакту, али захтевани корисник %1 тренутно није на вези."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Неки други KDE програм покушао је да употреби Konversation за додавање "
+"контакта. Konversation то не подржава."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Нисам могао да покренем програм адресара (kaddressbook). То је највероватније "
+"зато што и није инсталиран; инсталирајте пакет „kdepim“."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Контакт који сте изабрали нема придружену е-поштанску адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Не могу да пошаљем е-поруку"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Нисам могао да покренем ваш е-поштански програм. То је вероватно зато што и "
+"није инсталиран. Да бисте инсталирали KDE-ов е-поштански програм (KMail), "
+"инсталирајте пакет „kdepim“."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Ниједан од контаката које сте изабрали немају придружене контакте у адресару."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Контакт који сте изабрали није придружен контакту у адресару. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Неки од контаката (%1) које сте изабрали немају придружене контакте у адресару. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Један од контаката (%1) који сте изабрали нема придружен контакт у адресару."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Можете десно кликнути на контакт и изабрати да уредите придружење у адресару, "
+"да бисте га повезали са контактом у адресару."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Ниједан од контаката које сте изабрали нема придружену е-адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "Неки од контаката (%1) које сте изабрали немају придружену е-адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "Један од контаката (%1) који сте изабрали нема придружену е-адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Можете десно кликнути на контак и изабрати уређивање контакта у адресару, "
+"додавши му тако е-адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Неки од контаката (%1) које сте изабрали нису придружени контактима у адресару, "
+"а неки (%2) немају придружену е-адресу. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Можете десно кликнути на контакт и изабрати да уредите придружење у адресару да "
+"бисте га повезали са контактом у адресару, или изабрати уређивање контакта у "
+"адресару да бисте му додали е-адресу."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Желите ли да ипак пошаљете е-поруку надимцима који немају е-адресу?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Пошаљи е-поруку"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Повежи IRC надимак са контактом у адресару"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Изаберите особу која је „%1“."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Тренутно „%1“ има придружен контакт."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Тренутно „%1“ има придружен контакт „%2“."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Упозорење:</b> „%1“ се тренутно води као да припада вишеструким "
+"контактима. Изаберите исправан контакт.</p></qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Нови унос у адресару"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Именујте нови унос:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Хватач URL-ова"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Листа URL-ова поменутих у било којем од Konversation-ових прозора током ове "
+"сесије."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Отвори URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Горе изаберите <b>URL</b>, затим кликните на ово дугме да покренете програм "
+"придружен MIME типу URL-а.</p>"
+"<p>Под <b>Подешавања->Понашање->Опште</b>, можете навести посебан прегледач за "
+"веб URL-ове.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Копирај URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Горе изаберите <b>URL</b>, а затим кликните на ово дугме да га копирате у "
+"клипборд."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "О&бриши URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Горе изаберите <b>URL</b>, а затим кликните на ово дугме да га обришете са "
+"листе."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Сними листу..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Кликните да снимите целу листу у фајл."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "Очис&ти листу"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Кликните да обришете целу листу."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Сними листу URL-ова"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Уреди вишелинијски пренос"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Додаје наводе &цитата"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Канал:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Потребно је име канала."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Сирови дневник"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Тражи текст у текућем језичку"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Листа канала за %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Отвори &дневнички фајл за %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Опције &канала за %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Подразумевано (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Можете тражити само у текстуалним пољима."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Нађи текстуалне информације"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Дневнички фајл за %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC статус"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Употреба ове функције може довести до доста мрежног саобраћаја. Ако ваша веза "
+"није довољно брза, могуће је да ће сервер прекинути везу са вашим клијентом."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Упозорење о листи канала"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Листа канала може бити отворена само из упита, канала или статусног прозора да "
+"би се сазнало ком серверу та листа припада."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Овде унесите име мреже. Можете направити колико год уноса желите у екрану листе "
+"сервера са истом мрежом."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Изаберите постојећи идентитет или кликните на дугме Уреди да бисте додали нови "
+"идентитет или изменили постојећи. Идентитет вас идентификује и одрађује ваш "
+"надимак када сте повезани на мрежу."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Опционо. Ова наредба ће бити послата серверу након повезивања. Пример: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Ово је пример за freenode мрежу, "
+"која захтева да корисници региструју свој надимак са лозинком и пријавом када "
+"се повезују. <i>konvirocks<i> је лозинка за надимак наведен у идентитету. "
+"Можете навести више наредби раздвајајући их тачка-запетом."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Кликните овде ако желите да се Konversation аутоматски повеже на ову мрежу "
+"сваки пут када отворите Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Ово је листа IRC сервера на мрежи. Када се повезујете са мрежом, Konversation "
+"ће покушати да се повеже прво са сервером на врху. Ако ово не успе покушаће са "
+"другим,трећим сервером и даље. Најмање један сервер мора бити наведен. Кликните "
+"на сервер да бисте га назначили."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Опционо. Ово је листа канала којима ћете се аутоматски придружити када се "
+"Konversation повеже на сервер. Ово можете оставити празно ако не желите "
+"аутоматско придруживање било ком каналу."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Измени информације о мрежи"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Додај сервер"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Уреди сервер"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Додај канал"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Уреди канал"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Потребно је име мреже."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Морате мрежи додати бар један сервер."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Теме Konversation-а"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Изаберите пакет тема"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Нисам успео да преузмем тему"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Архива теме није исправна."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Не могу да инсталирам тему"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Желите ли да уклоните %1 ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Уклони тему"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation — IRC клијент"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Изаберите примаоца"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Изаберите надимак и затворите прозор"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Затвори прозор без измена"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Сервер %1 није пронађен."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Администратор је ограничио право за примање фајлова"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Неисправна адреса пошиљаоца (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Неподржано преговарање (величина фајла =0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Не могу да направим фасциклу.</b><br>Фасцикла: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Нисам могао да направим примерак KIO-а"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Други пренос користи овај фајл.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Постоји делимични фајл.</b>"
+"<br>%1"
+"<br>Величина делимичног фајла: %2 бајта"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Фајл већ постоји.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Нисам могао да отворим фајл.<br>Грешка: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Не могу да пошаљем обрнуто DCC SEND одобрење партнеру, преко IRC сервера."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Чекам на везу"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Чекам пристанак удаљеног домаћина"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Не могу да пошаљем DCC RECV захтев за наставак партнеру, преко IRC сервера."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Неочекивани одзив удаљеног домаћина"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Грешка у преносу"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO грешка: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>У овој траци су приказани неки детаљи о особи са којом причате у овом "
+"упиту. Приказано је пуно име и маска домаћина, заједно са (ако постоји) сликом "
+"или логоом придруженим овој особи у KDE-овом адресару."
+"<p>Погледајте <i>Приручник за Konversation</i> за информације о придруживању "
+"надимка контакту из адресара, и за објашњење шта је маска домаћина.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(одсутан)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Желите ли да занемарите %1 ?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Желите ли да затворите овај упит после игнорисања надимка?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Затвори овај упит"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Држи отворено"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Желите ли да престанете да игноришете %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Подразумевано за идентитет (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Желите ли да затворите ваш упит са %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Затвори упит"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Причате сами са собом"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 напусти овај сервер."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 напусти овај сервер (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Преглед OSD-а — превуците да промените положај"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Оператер"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Администратор"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Власник"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Полуоператер"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Има глас"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Интерфејс"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Понашање"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Обавештења"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Прозор ћаскања"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Теме за листу надимака"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Боје"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Брза дугмад"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Веза"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Листа надимака"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Алијаси наредби"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Аутоматска замена"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Бележење"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Истицање"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Надгледани надимци"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Екрански приказ"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Дијалози упозорења"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Питање за DCC примање"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Настави"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "О&ригинално име фајла"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Предложи &ново име"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Пре&бриши"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Пре&именуј"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Нађи унапред"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Разликуј мала и велика слова"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Само целе речи"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Од курсора"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Желите ли заиста да затворите „%1“?\n"
+"\n"
+"Биће затворени и сви придружени језичци."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Затвори језичак"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Желите ли да прекинете везу са „%1“?\n"
+"Биће затворени и сви придружени језичци."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Прекини везу са сервером"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Прекини везу"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Покренуто"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Статус"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Партнер"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Напредак"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Положај"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Преостало"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Брзина"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Адреса пошиљаоца"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Прихвати"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Прекини"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Отвори фајл"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Почни примање"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Прекини преносе"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Покрени фајл"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Прикажи детаље DCC преноса"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Изабери све ставке"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Изабери све &завршене ставке"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Прихвати"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Пре&кини"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Понови слање"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Очисти"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Отвори &фајл"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Информације о фајлу"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Уреди подешавања канала"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Сваки канал на IRC-у има придружену тему. То је једноставно порука коју сви "
+"могу видети."
+"<p>Ако сте оператер, или режим канала <em>Т</em> није постављен, тему можете "
+"променити кликом на дугме „Уреди тему“ лево од ње. Овде такође можете видети и "
+"историјат тема.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово мењати."
+"<p>Режим <b>т</b>еме значи да само оператер канала може променити тему "
+"канала.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала. Само оператер може ово променити."
+"<p><b>Б</b>ез порука изван значи да корисници који нису на каналу не могу да "
+"шаљу поруке видљиве свима на каналу. Ово је постављено код скоро свих канала, "
+"ради спречавања непожељних порука.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p>A Т<b>а</b>јни канал неће се приказати у листи канала, нити ће било који "
+"корисник моћи да види да сте на каналу наредбом <em>WHOIS</em> "
+"или нечим сличним. Ако је овај режим постављен, само људи који су на истом "
+"каналу знаће да сте и ви на њему.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p>Канал само на <b>п</b>озивање значи да му се корисници могу придружити само "
+"ако су позвани. Да би се неко позвао, оператер канала мора издати наредбу <em>"
+"/invite надимак</em> у оквиру канала.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p>П<b>р</b>иватни канал је приказан у листи свих канала, али тема није "
+"приказана. <em>WHOIS</e> за корисника може и не мора приказати да су на "
+"приватном каналу, у зависности од IRC сервера.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p><b>М</b>одерисани канал је онај на коме могу причати само оператери, "
+"полуоператери и корисници са гласом.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p><b>З</b>аштићени канал захтева од корисника лозинку да би се повезао.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p>Канал са <b>о</b>граничењем броја корисника не дозвољава више од датог броја "
+"корисника на каналу у исто време. Неки канали имају бот који седи на каналу и "
+"мења ово аутоматски у зависности од заузећа канала.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Максимално корисника дозвољено на каналу"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Ово је ограничење корисникâ на каналу, највећи број њих који може бити на "
+"каналу у исто време. Можете поставити ово ако сте оператер. Режим канала <b>"
+"т</b>ема (дугме лево) биће аутоматски постављен ако поставите ово.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Ово приказује ваш тренутни надимак, и алтернативе ако сте их поставили. Ако "
+"изаберете или унесете други надимак, IRC серверу ће бити послат захтев за "
+"промену надимка. Ако сервер допусти, нови надимак ће бити изабран. Ако унесете "
+"нови надимак, морате притиснути Enter на крају."
+"<p>Можете додати или изменити алтернативне надимке опцијом <em>Идентитети</em> "
+"у менију <em>Фајл</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Желите ли да занемарите изабране кориснике?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Желите ли да престанете да игноришете изабране кориснике?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Довршавање"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Могућа довршавања: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Лозинка канала"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Ограничење надимка"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Унесите ново ограничење надимка:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Познати сте као %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 је познат као %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Придружили сте се каналу %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 се придружи овом каналу (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Напустили сте овај сервер."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Напустили сте овај сервер (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Напустили се канал %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Напустили сте канал %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 напусти овај сервер (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 напусти овај канал."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 напусти овај канал (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Сами сте себе избацили са канала %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Сами сте себе избацили са канала %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 вас избаци са канала %1."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 вас избаци са канала %1 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Избацили сте %1 са канала."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Избацили сте %1 са канала (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 избаци %1 са канала."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 избаци %1 са канала (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n надимак\n"
+"%n надимка\n"
+"%n надимака"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n оп)\n"
+" (%n опа)\n"
+" (%n опова)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Тема канала је „%1“."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Поставили сте тему канала на „%1“."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 постави тему канала на „%2“."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Дали сте себи овлашћења власника канала."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Дали сте особи %1 овлашћења власника канала."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 вам даде овлашћења власника канала."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 даде особи %2 овлашћења власника канала."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Одузели сте себи овлашћења власника канала."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Одузели сте особи %1 овлашћења власника канала."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 вам одузе овлашћења власника канала."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 одузе особи %2 овлашћења власника канала."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Дали сте себи овлашћења администратора канала."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Дали сте особи %1 овлашћења администратора канала."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 вам даде овлашћења администратора канала."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 даде особи %2 овлашћења администратора канала."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Одузели сте себи овлашћења администратора канала."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Одузели сте особи %1 овлашћења администратора канала."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 вам одузе овлашћења администратора канала."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 одузе особи %2 овлашћења администратора канала."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Дали сте себи овлашћења оператера канала."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Дали сте особи %1 овлашћења оператера канала."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 вам даде овлашћења оператера канала."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 даде особи %2 овлашћења оператера канала."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Одузели сте себи овлашћења оператера канала."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Одузели сте особи %1 овлашћења оператера канала."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 вам одузе овлашћења оператера канала."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 одузе особи %2 овлашћења оператера канала."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Дали сте себи овлашћења полуопа."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Дали сте особи %1 овлашћења полуопа."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 вам даде овлашћења полуопа."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 даде особи %2 овлашћења полуопа."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Одузели сте себи овлашћења полуопа."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Одузели сте особи %1 овлашћења полуопа."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 вам одузе овлашћења полуопа."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 одузе особи %2 овлашћења полуопа."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Дали сте себи дозволу да причате."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Дали сте особи %1 дозволу да прича."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 вам даде дозволу да причате."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 даде особи %2 дозволу да прича."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Одузели сте себи дозволу да причате."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Одузели сте особи %1 дозволу да прича."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 вам одузе дозволу да причате."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 одузе особи %2 дозволу да прича."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Поставили сте режим канала на „боје нису дозвољене“."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 постави режим канала на „боје нису дозвољене“."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Поставили сте режим канала на „дозволи кôдове боја“."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 постави режим канала на „дозволи кôдове боја“."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Поставили сте режим канала на „само позвани“."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 постави режим канала на „само позвани“."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Уклонили сте режим „само позвани“ са канала."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 уклони режим „само позвани“ са канала."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Поставили сте режим канала на „модерисан“."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 постави режим канала на „модерисан“."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Поставили сте режим канала на „немодерисан“."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 постави режим канала на „немодерисан“."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Поставили сте режим канала на „без порука споља“."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 постави режим канала на „без порука споља“."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Поставили сте режим канала на „дозволи поруке споља“."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 постави режим канала на „дозволи поруке споља“."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Поставили сте режим канала на „приватан“."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 постави режим канала на „приватан“."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Поставили сте режим канала на „јавни“."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 постави режим канала на „јавни“."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Поставили сте режим канала на „тајни“."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 постави режим канала на „тајни“."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Поставили сте режим канала на „видљив“."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 постави режим канала на „видљив“."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Укључили сте „заштиту теме“."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 укључи „заштиту теме“."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Искључили сте „заштиту теме“."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 искључи „заштиту теме“."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Поставили сте кључ канала на „%1“."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 постави кључ канала на „%2“."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Уклонили сте кључ канала."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 уклони кључ канала."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Поставили сте ограничење канала на %1 надимака."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 постави ограничење канала на %2 надимака."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Уклонили сте ограничење канала."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 уклони ограничење канала."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Поставили сте забрану за %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 постави забрану за %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Уклонили сте забрану за %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 уклони забрану за %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Поставили сте изузетак забране за %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 постави изузетак забране за %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Уклонили сте изузетак забране за %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 уклони изузетак забране за %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Постали сте маску позивница %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 постави маску позивница %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Уклонили сте маску позивница %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 уклони маску позивница %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Поставили сте режим канала +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 постави режим канала +%2."
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Поставили сте режим канала -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 постави режим канала -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Морате бити оператер да бисте ово изменили."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Тему може изменити само оператер канала. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Нема порука за канал од спољних клијената. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Тајни канал. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Канал само са позивом. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Приватни канал. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Модерисан канал. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Заштити канал лозинком."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Постави ограничење корисника на каналу."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Желите ли да напустите %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Напусти канал"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Напусти"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Часлав Илић,Слободан Симић"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "caslav.ilic@gmx.net,simicsl@verat.net"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Спори редослед"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "линија"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "бајтова"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Старост:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Број:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Линија:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Бајтова:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Нормални редослед"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Брзи редослед"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Сви редоследи"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Примљено:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Бајтова (сирово):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Бајтова (кодовано):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Име дугмета"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Акција дугмета"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Акција дугмета:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Име дугмета:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Доступни местодржачи"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: текући надимак\n"
+"%c: текући канал\n"
+"%K: лозинка за сервер\n"
+"%u: листа изабраних надимака\n"
+"%s<израз>%: израз којим се раздвајају надимци у %u\n"
+"%n: пошаљи наредбу директно серверу уместо мојој улазној линији"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Име фајла:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Себи:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Врста:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Статус:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Место:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Напредак:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Партнер:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Отвори фасциклу"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Величина фајла:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Просечна брзина:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Настављено:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Тренутна брзина:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Тренутна позиција:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Процењено преостало време:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Понуђено:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Завршено:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Покренуто:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Време преноса:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Укључи аутоматско поновно повезивање"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Застој пре поновног повезивања:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Покушаји поновног повезивања:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " секунди"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Неограничено"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Исправљање"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Прикажи &сиров дневнички прозор при повезивању"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Шема:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Врста"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Шема:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Врсте порука"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Ново"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Уклони &све"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Име мреже:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Идентитет:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Наредбе:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Повежи по покретању &програма"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Сервери"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Додај..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Уреди..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Аутоматски се придружи каналима"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Уре&ди..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Алијас:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Замена:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Алијас"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Замена"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Нађи с&ледеће"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Нађи претходно"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Наредба која се извршава при двоклику:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Сортирај без разликовања &малих и великих слова"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Сортирај по &активности"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Сортирај по с&татусу корисника"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Објашњење"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Преуредите сортирање надимака превлачењем и пуштањем)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Подешавање теме"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&Инсталирај тему..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Уклони тему"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Икона за нормалне кориснике"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Икона за одсутне кориснике"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Икона за кориснике са гласом"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Икона за кориснике са овлашћењима полу-оператера"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Икона за кориснике са овлашћењима оператера"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Икона за кориснике са овлашћењима администратора"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Икона за кориснике са овлашћењима власника"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Преглед:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "Подешавање језичака"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Изглед"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Размештај:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Прикажи дугме за &затварање на језичцима"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "&Прикажи дугме за затварање десно у траци језичка"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Ограничи &величину ознака језичака да сви стану на екран"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Фокус"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Фокусирај нове језичке"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Фокусирај нове &упите"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Миш"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "&Средњи клик на језичак затвара га"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "&Наредба која се извршава при двоклику на надимак:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Када двокликнете на надимак у прозору <b>Надимци на вези</b>"
+", ова наредба ставља се у <b>улазну линију</b> у прозору сервера.</p>\n"
+"<p>У наредби се могу користити следећи симболи:</p>"
+"<ul>\n"
+"<li>%u: надимак на који је двокликнуто.</li>\n"
+"<li>%K: лозинка сервера.</li>\n"
+"<li>%n: слање наредбе директно на сервер уместо у вашу улазну линију.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Када двокликнете на надимак у прозору <b>Надимци на вези</b>"
+", ова наредба ставља се у <b>улазну линију</b> у прозору сервера.</p>\n"
+"<p>У наредби се могу користити следећи симболи:</p>"
+"<ul>\n"
+"<li>%u: надимак на који је двокликнуто.</li>\n"
+"<li>%K: лозинка сервера.</li>\n"
+"<li>%n: слање наредбе директно на сервер уместо у вашу улазну линију.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Интервал &освежавања:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation ће проверити статус доле приказаних надимака после сваког овог "
+"периода."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&Прикажи по покретању језичак надгледаних надимака на вези"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Када је попуњено, прозор <b>Надимци на вези</b> биће аутоматски отворен по "
+"покретању Konversation-а.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "У&кључи надгледач надимака"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Када је надгледач надимака укључен, бићете обавештавани при доласку и одласку "
+"са везе надимака у листи <b>Надгледане мреже/надимци</b>.</p>\n"
+"<p>Можете отворити и прозор <b>Надимци на вези</b> да бисте видели статус свих "
+"надгледаних надимака.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Мрежа:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"IRC мрежа сервера (као „freenode“) на којој ће се пратити изабрани корисник."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Надимак (корисничко име) изабране особе који се надгледа."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Надгледане мреже/надимци"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Када је надгледач надимака укључен, бићете обавештавани при доласку и одласку "
+"са везе надимака у листи <b>Надгледане мреже/надимци</b>.</p>\n"
+"<p>Можете отворити и прозор <b>Надимци на вези</b> да бисте видели статус свих "
+"надгледаних надимака.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Кликните да додате надимак на листу."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Кликните да уклоните изабрани надимак са листе."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Укључи &бележење"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Користи &мала слова за имена дневничких фајлова"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Додај име домаћина именима дневничких фајлова"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Путања &дневничког фајла:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Укључи системску касету"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Ко&ристи системску касету за обавештење о новој поруци"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Само &обавести када је наглашено активирано или је ваш тренутни надимак "
+"употребљен"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Тре&пни иконом"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Сакриј прозор по покретању"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Довршавање надимака"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Режим до&вршавања:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Врти у круг листу надимака"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Налик на шкољку"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Налик на шкољку са кутијом за довршавање"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "&Суфикс на почетку линије:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Другде:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Разликује мала и велика слова"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Искључи обавештења током &одсутности"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Посебан одговор на &верзију:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Овде можете поставити посебан одговор на захтеве <b>CTCP <i>VERSION</i></b>"
+".</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Поље за унос се шири са текстом"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Знак &наредбе:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Користи посебан веб &прегледач:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Ограничи величину ознака језичка тако да сви стану на екран"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Сакриј траку клизача"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Укључите уколико желите да се свим линијама проверава правопис док куцате"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Укључивање овога ће изазвати да се поље за унос шири вертикално када се попуни."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Сакриј у системску касету"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Покрени са скривеним главним прозором"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Прикажи &права имена поред надимака"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Отвори по покретању језичак надгледаних надимака"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Укључи емотиконе"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Теме емотикона"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Тема"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Датум"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&Режими"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Тему може изменити само &оператер канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Без порука изван канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "Т&ајни канал, који се не приказује у листи канала"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Само &позванима је допуштено да се придруже каналу"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Контролише <em>режим</em> канала, стога само оператер може ово променити."
+"<p>Канал само на <b>позивање</b> значи да му се корисници могу придружити само "
+"ако су позвани. Да би се неко позвао, оператер канала мора издати наредбу <em>"
+"/invite надимак</em> у оквиру канала.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Модерисани канал, само корисници са гласом могу писати на њему"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "&Лозинка канала:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "О&граничење корисника:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Прикажи &напредне режиме >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Параметар"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Листа &блокираних"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Уклони блокирање"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Додај блокирање"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Маска домаћина"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Поставио"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Време поставио"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Тражи:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC подешавања"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Фасцикла преузимања:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Дод&ај пошиљаоца имену фајла"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&Направи фасциклу за пошиљаоца"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Претвори размаке у именима фајла у под-црте (_) пре слања"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Аутомат&ски прихвати захтев за преузимање"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Ау&томатски настави преузимање"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Укључи брзо DCC слање (можда &неће радити са свим клијентима)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Величина &бафера:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Време истицања DCC &слања:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Врати се на IPv&4 интерфејс за DCC слање:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Ако је ова опција укључена, DCC преноси за IPv6 везе обављаће се преко IPv4 "
+"интерфејса постављеног овде"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " бајтова"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " сек."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Укључи пасивно DCC слање"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Метод за добављање сопственог IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Сопствени IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Портови"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Укључи одређене п&ортове за DCC ћаскање:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "за"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Укључи наведене &портове за DCC-ов сервер преноса:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Користи обојени текст"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Користи обојене LED-ове"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Догађаји апликације"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Догађаји апликације се дешавају у Konsole језичку, DCC статусна трака и други "
+"језичци апликације се не користе директно за ћаскање."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Порука"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Лична порука"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Тренутно коришћени надимак"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Дешавања канала"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "Дешавања канала су промене режима или доласци и одласци корисника."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Дај предност бојама истицања из прозора ћаскања"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Ако изаберете ово, боје које сте изабрали на страни за подешавање истицања ће "
+"прегазити боје за „Тренутно коришћени надимак“ и „Истицање“."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Користи &фиксни фонт за MOTD поруке"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Прикажи MOTD (поруку дана) фиксним фонтом"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "По&дебљај надимке пошиљалаца у приказу ћаскања"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Текст ћаскања:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Листа надимака:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Трака језичака:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Листа истицања"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "рег. израз"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Истицања"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Звук"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Ауто. текст"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Шема:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Боја:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Звук:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Тестирај звук"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Ауто. &текст:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Укључи &звуке за истакнуте"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "У&век истакни мој текући надимак:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Увек истакни &моје линије:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Направи нови &унос..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Прави нови унос у вашем адресару"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Слика"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Име"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Изаберите контакт са којим желите да комуницирате преко Брзог гласника"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Тр&ажи:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Укључи системско &звоно при долазећем ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Оглашава системско звоно када примите ASCII контролни знак BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Са&криј догађаје придруживања/напуштања/надимака"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Искључи &проширивање променљивих (нпр. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Не прошируј променљиве при слању текста на сервер. Променљива почиње са „%“; на "
+"пример, %B ће се проширити на знакове потребне да се текст подебља."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "П&реусмери све статусне поруке у статусни прозор сервера"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Ограничење клизања уназад:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Колико линија чувати у баферима (0 за неограничено)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "Користи &сирове режиме за промене режима"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Држи знаковни низ режима канала као комбинацију знакова, уместо превођења у "
+"људски читљиве речи. Нпр. „*** Режими канала: без порука изван“ постаће „*** "
+"Режими канала: n“"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " линија"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Линије подсећања"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Прикажи ручно убачене линије у свим прозорима ћаскања"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Означава последњу позицију у прозору ћаскања пре скривања"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Убацује линију у прозор ћаскања да вас подсети када сте се пребацили у друго "
+"ћаскање или минимизирали апликацију."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Помери линију тек када треба приказати нови текст"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Укључи аутоматску потрагу информација о кориснику (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Максималан број корисника на каналу:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " надимака"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Интервал ажурирања:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Укључи екрански приказ (OSD)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "&Екрански приказ"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Цртај сенке"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Фонт за OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "При&кажи OSD поруку"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Ако се &мој надимак појави у поруци канала"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "При &било којој поруци канала"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "При активности &упита"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "При догађајима при&друживања/одлажења"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Укључи посебне боје"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Боја &текста:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Боја &позадине:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Остала подешавања"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Трајање:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Екран:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Прозор"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "Но&ви"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "У&клони"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Замени у"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Нађи"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Замени са"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Замени у:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Нађи:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Замени са:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Укључи &временске печате"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "При&кажи датуме"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Формат:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Прикажи &историјат"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Линије: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Распоред"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Прикажи &тему канала"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Прикажи дугмади &каналских режима"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Прикажи т&раку клизача"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Прикажи &кутију за промену сопственог надимка"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Прикажи &брзу дугмад"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Прикажи права имена у листи надимака"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Прикажи листу &надимака на каналу и брзе дугмиће"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Прикажи &маске домаћина у листи надимака"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Укључи &позадинску слику"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Пут&ања:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Посебне боје"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "&Користи посебне боје за поље уноса, листу надимака и листу језичака"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "По&задина:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Порука &сервера:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Хипервеза:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Порука &канала:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Акција:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Повратни &дневник:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Порука &наредбе:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Порука &упита:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Временски печат:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "А&лтернативна позадина:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Обојени надимци"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Сопствена боја"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Дозволи обојени текст у IRC порукама"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ако укључите ову опцију, кодови боја додати IRC порукама резултоваће обојеним "
+"текстом у вашем прозору за ћаскање. Кодове боја можете додавати својим порукама "
+"помоћу Убаци -> IRC боја"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Преглед"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Овако ће ваша порука изгледати са овим бојама"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Ово је преглед тога како читаоци могу видети вашу поруку ако изаберете ове "
+"боје."
+"<br>\n"
+"<b>Напомена: Ово не подржавају сви клијенти, а и неки корисници могу изабрати "
+"да игноришу промене боја.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Изабрана боја текста додаје се улазној линији."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Овде можете изабрати које боје ће бити текст који пошаљете у следећој "
+"поруци. Ако изаберете боју и кликнете на „У реду“, изабрана боја ће бити додата "
+"улазној линији. Сав текст писан после тога биће у истој боји, све док је поново "
+"не промените."
+"<br>\n"
+"<b>Напомена: Не укључују сви корисници опцију којом се ово може видети.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Боја &исцртавања:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Изабрана боја позадине текста додаје се улазној линији."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Овде бирате која ће бити боја позадине за текст који ћете послати у "
+"следећој поруци.\n"
+"Ако изаберете боју и кликнете на „У реду“, изабрана боја ће бити додата улазној "
+"линији.\n"
+"Сав текст писан после тога биће у истој боји, све док је поново не промените."
+"<br>\n"
+"Избор подразумеваног <i>Ниједна</i>“ неће променити боју позадине текста, и "
+"читаоци ће видети вашу поруку са њиховом нормалном бојом позадине."
+"<br>\n"
+"<b>Напомена: Ово не подржавају сви клијенти, а и не укључују сви корисници "
+"опцију којом се ово може видети.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Дијалози упозорења за приказивање"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Лозинка:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Сервер:"
+
+#~ msgid "Messages"
+#~ msgstr "Поруке"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Прикажи поруке о &одсутности"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Постави &доступност глобално"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Сваких "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Упозорење при брисању фајла примљеног преко DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Кључ за %1 је успешно постављен."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Не могу да уклоним фајл „%1“."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC грешка"
+
+#~ msgid "Remove File"
+#~ msgstr "Уклони фајл"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Детаљи преноса"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Уклони са овог панела"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Уклони примљене фајлове"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Уклони фајл"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Желите ли заиста да уклоните изабран %n фајл?\n"
+#~ "Желите ли заиста да уклоните изабрана %n фајла?\n"
+#~ "Желите ли заиста да уклоните изабраних %n фајлова?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Потврда брисања"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Прикажи право име особе поред њеног надимка у листи."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Веза са сервером %1 је изгубљена: %2. Покушавам да се поново повежем."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Покушавам са сервером %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Чекам два минута пре поновног покушаја повезивања..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Доступне групе подешавања: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Доступне опције у групи %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Употреба: %1PREFS <група> <опција> <вредност> или %2PREFS LIST да излистате групе или %3PREFS група LIST да излистате опције у групи. Ставите наводнике ако параметри садрже размаке."
diff --git a/po/sr@Latn/Makefile.am b/po/sr@Latn/Makefile.am
new file mode 100644
index 0000000..1347978
--- /dev/null
+++ b/po/sr@Latn/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sr@Latn
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sr@Latn/konversation.po b/po/sr@Latn/konversation.po
new file mode 100644
index 0000000..45fde88
--- /dev/null
+++ b/po/sr@Latn/konversation.po
@@ -0,0 +1,7506 @@
+# translation of konversation.po to Serbian
+# Copyright (C) 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Toplica Tanaskovic <toptan@kde.org.yu>, 2003, 2004.
+# Marko Rosić <roske@kde.org.yu>, 2004.
+# Chusslove Illich <caslav.ilic@gmx.net>, 2004, 2005, 2008.
+# Slobodan Simic <simicsl@verat.net>, 2005, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-25 23:08+0200\n"
+"Last-Translator: Chusslove Illich <caslav.ilic@gmx.net>\n"
+"Language-Team: Serbian <kde-i18n-sr@kde.org>\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=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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Opcije kanala za %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Sakrij napredne režime <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Prikaži napredne režime >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Novi"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "nepoznato"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Dostupne informacije za fajl %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Informacije o fajlu"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Nisu pronađene detaljne informacije za ovaj fajl."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Pošalji"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Primi"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Na redu"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Pripremam"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Čekam"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Povezujem se"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Primam"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Šaljem"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Gotovo"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Nije uspelo"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Prekinuto"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sek."
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Ko-je"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Verzija"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Daj OP"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Uzmi OP"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Daj PoluOP"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Uzmi PoluOP"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Daj glas"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Uzmi glas"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Režimi"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Izbaci"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Izbaci i zabrani"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Zabrani nadimak"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Zabrani *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Zabrani *!*@domen"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Zabrani *!korisnik@*.domacin"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Zabrani *!korisnik@domen"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Izbaci i zabrani *!*@*.domacin"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Izbaci i zabrani *!*@domen"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Izbaci i zabrani *!korisnik@*.domacin"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Izbaci i zabrani *!korisnik@domen"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Izbaci / zabrani"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignoriši"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Prekini ignorisanje"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Otvori &upit"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Otvori DCC ć&askanje"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Pošalji &fajl..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "Pošalji &e-poštu..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Pridruženja adresara"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Dodaj u nadgledane nadimke"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Ovo prikazuje sve ljude na kanalu. Prikazan je nadimak za svaku osobu."
+"<br>Obično je prikazana ikona koja pokazuje status za svaku osobu, ali izgleda "
+"da vam nije instalirana nijedna tema ikona. Pogledajte podešavanja "
+"Konversation-a — stavka <i>Podesi Konversation</i> u meniju <i>Podešavanja</i>"
+". Zatim pogledajte stranu za <i>Teme</i> pod <i>Izgled</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Ovo prikazuje sve ljude na kanalu. Prikazan je nadimak za svaku osobu, uz "
+"sliku koja pokazuje status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Ova osoba ima administratorska ovlašćenja.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Ova osoba je vlasnik kanala.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Ova osoba je operater kanala.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Ova osoba je poluoperater kanala.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Ova osoba ima glas i stoga može pričati na moderisanom kanalu.</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Ova osoba nema nikakva posebna ovlašćenja.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Ovo naznačava da je osoba trenutno odsutna.</td></tr></table>"
+"<p>Značenje administratora, vlasnika i poluopa se razlikuje između različitih "
+"IRC servera."
+"<p>Lebdenjem iznad bilo kojeg nadimka dobijate njegov trenutni status, kao i "
+"eventualne informacije koje imate u adresaru za ovu osobu. Pogledajte priručnik "
+"za Konversation za više informacija.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Uredi kontakt..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Izaberite/izmenite pridruženja..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Izaberite kontakt..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Izmeni pridruženje..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Napravi novi kontakt..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Obriši pridruženje"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Upit"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Obaveštenje"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Izuzetak"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Jezičci"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Danas"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Juče"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identifikovan)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-pošta"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Maska domaćina:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Poruka o odsutnosti:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(nepoznat)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Na vezi od:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Kliknite da pokrenete Uređivač regularnih izraza (KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Uređivač regularnih izraza (KRegExpEditor) nije instaliran"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Odlazno"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Dolazno"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Oba"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Pridruži se kanalu na %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Brzo poveži"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "Domaćin &servera:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Unesite ovde domaćin mreže."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Port koji IRC server koristi."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "&Nadimak:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Nadimak koji želite da koristite."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Lozinka:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Ako IRC server zahteva lozinku, unesite je ovde (većina servera ne zahteva "
+"lozinku)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&Koristi SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Poveži se"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Poveži se sa serverom"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Nisam mogao da otvorim soket za slušanje: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Nudim vezu DCC ćaskanja za %1 na portu %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC ćaskanje sa %1 na portu %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Uspostavljam vezu DCC ćaskanja sa %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC ćaskanje sa %1 na %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Uspostavljena veza DCC ćaskanja sa %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Veza je prekinuta, kôd greške je %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Primio sam nepoznat CTCP-%1 zahtev od %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Nisam mogao da prihvatim klijenta."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Podrazumevano ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Lista servera"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Kliknite ovde da bi se povezali na izabranu IRC mrežu i kanal."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Ovde je prikazana lista podešenih IRC mreža. IRC mreža je skup servera koji "
+"sarađuju. Dovoljno je da se povežete samo na jedan server u mreži da biste bili "
+"povezani sa celom IRC mrežom. Kada se konektujete, Konversation će se "
+"automatski pridružiti prikazanim kanalima. Kada se Konversation pokrene po prvi "
+"put, Freenode mreža i <i>#kde</i> kanal su već uneseni."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Mreža"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identitet"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanali"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Novi..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Kliknite ovde da biste definisali novu mrežu, uključujući server na koji se "
+"povezuje i kanale kojima se automatski priključuje kada je povezana."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Uredi..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Poveži po pokretanju programa"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nova mreža"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Uredi mrežu"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Ne možete da obrišete %1.\n"
+"\n"
+"Mreža %2 mora imati bar jedan server."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Ne možete izbrisati izabrane servere.\n"
+"\n"
+"Mreža %1 mora imati bar jedan server."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Želite li zaista da obrišete izabrane unose?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Želite li da uklonite %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Prikaži poslednje:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Koristite ovo polje da biste odredili najveću veličinu fajla dnevnika. Ovo "
+"podešavanje nema uticaja dok ponovo ne pokrenete Konversation. Svaki fajl "
+"dnevnika može imati odvojena podešavanja."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Očisti dnevnički fajl"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Ovde se prikazuju poruke iz fajla dnevnika. Najstarije poruke su na vrhu a "
+"najsvežije na dnu."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Želite li zaista da trajno odbacite sve dnevničke informacije ovog fajla?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Napomena: Snimanjem dnevničkog fajl snimićete sve podatke u fajlu, a ne samo "
+"deo koji možete da vidite u prikazivaču."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Snimi dnevnički fajl"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Izaberite odredišnu fasciklu"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Info"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Pokušaću da se povežem na %1 za %2 sekundi."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Pokušaću da se ponovo povežem na %1 za %2 sekundi."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Premašeni pokušaji ponovnog povezivanja."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Već ste povezani na %1. Želite li da otvorite još jednu vezu?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Već sam povezan na %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Ostvari vezu"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Trenutno ste povezani na %1 preko „%2“ (port %3). Želite li da se prebacite na "
+"„%4“ (port %5)?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Promeni server"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Popunite svoj <b>ident</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Popunite svoje <b>pravo ime</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Navedite bar jedan <b>nadimak</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Vaš identitet „%1“ nije ispravno podešen:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Podešavanja identiteta"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Uredi identitet..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identiteti"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identitet:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplikat"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Preimenuj"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Opšte"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Pravo ime:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Ovde unesite vaše pravo ime. IRC nije namenjen da bi vas skrivao od prijatelja "
+"ili neprijatelja. Imajte ovo na umu ako želite da se ponašate zlonamerno. Lažno "
+"„pravo ime“ može biti dobar način da skrijete vaš pol od svih zaluđenika "
+"napolju, ali računar koji koristite se uvek može ispratiti tako da nikada "
+"nećete zaista biti anonimni."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Nadimak"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Ovo je lista vaših nadimaka. Nadimak je ime pod kojim će vas znati ostali "
+"korisnici. Možete koristiti ime koje želite. Prvi znak mora biti slovo.\n"
+"\n"
+"Pošto nadimci moraju biti jedinstveni na celoj IRC mreži, vaše željeno ime može "
+"biti odbijeno od strane servera jer neko već koristi taj nadimak. Unesite "
+"dodatne nadimke za sebe. Ako je vaš prvi izbor odbijen od strane servera, "
+"Konversation će isprobati dodatne nadimke."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Dodaj..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Uredi..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Automatski identifikuj"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vis:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Ime servisa može biti <b><i>nickserv</i></b> ili ime koje zavisi od mreže, kao "
+"<b><i>nickserv@servisi.dal.net</i></b>"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Lozinka:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Odsutan"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Označi poslednju poziciju u prozoru ćaskanja pre odlaska"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Ako popunite ovu kućicu, kadgod date naredbu <b>/away</b>"
+", pojaviće se vodoravna linija na kanalu označavajući mesto gde ste otišli. "
+"Drugi IRC korisnici ne vide ovu liniju."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Nadimak pri odsutnosti:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Unesite nadimak koji pokazuje da ste odsutni. Kadgod izvršite naredbu <b>"
+"/away msg</b> u bilo kom kanalu gde ste pristupili sa ovim identitetom, "
+"Konversation će automatski promeniti vaš nadimak u nadimak pri odsutnosti. Tako "
+"će drugi korisnici znati da ste odsutni od računara. Kadgod izvršite naredbu <b>"
+"/away</b> u bilo kom kanalu gde ste odsutni, Konversation će automatski "
+"promeniti vaš nadimak nazad u originalni. Ako ne želite da se nadimak menja "
+"automatski kada ste odsutni, ostavite ovo prazno."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Automatska odsutnost"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Ako popunite, Konversation će automatski postaviti odsutnost na sve veze pod "
+"ovim identitetom, čim se pokrene čuvar ekrana ili posle dole navedenog perioda "
+"mirovanja korisnika."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Odsutnost posle"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " minuta"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "mirovanja korisnika"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Au&tomatski nastavi preuzimanje"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Ako popunite, Koversation će automatski poništiti odsutnost na svim vezama pod "
+"ovim identitetom, čim se čuvar ekrana zaustavi ili se otkrije aktivnost "
+"korisnika."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Poruke o odsutnosti"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Ako popunite ovo, Konversation će automatski poslati poruku o odsutnosti na sve "
+"kanale kojima ste pridruženi sa ovim identitetom. <b>%s</b> se menja sa <b>"
+"msg</b>. Kadgod izvršite naredbu <b>/away</b>, poruka o povratku će biti "
+"prikazana u svim kanalima gde ste pridruženi sa ovim identitetom."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Poruka o ods&utnosti:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Poruka o pov&ratku:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Napredno"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "Naredba &pred-školjke:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Ovde možete uneti naredbu za izvršavanje pre početka povezivanja sa serverom"
+"<br>Ako imate više servera u ovom identitetu, naredba će biti izvršena za svaki "
+"od njih"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dent:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Kada se povežete, mnogi serveri šalju upit na vaš računar radi IDENT odgovora. "
+"Ako računar nema pokrenut IDENT server, taj odgovor šalje Konversation. Razmaci "
+"nisu dozvoljeni."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Kodiranje:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Ovo podešavanje utiče na kodiranje znakova koji se šalju na server. Ono takođe "
+"utiče i na to kako se poruke prikazuju. Kada prvi put otvorite Konversation on "
+"automatski preuzima ovo podešavanje od operativnog sistema. Ako imate problema "
+"pri prikazivanju poruka drugih korisnika, pokušajte da promenite ovo "
+"podešavanje."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "Razlog &napuštanja:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Kadgod napustite server, ova poruka će biti prikazana drugima."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "Razlog &odlaska:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Kadgod napustite kanal, ova poruka će biti poslata na njega."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "Razlog &izbacivanja:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Kadgod ste izbačeni sa kanala (uglavnom od IRC operatera), ova poruka će biti "
+"poslata na kanal."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Izmeni informacije o identitetu"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Odbacuje sve učinjene izmene"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Identitetu morate dodati bar jedan nadimak."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Unesite pravo ime."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Dodaj nadimak"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Nadimak:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Uredi nadimak"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Dodaj identitet"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Ime identiteta:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Identitetu morate dati ime."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Preimenuj identitet"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Ovaj identitet je u upotrebi, ako ga uklonite mrežna podešavanja koja ga "
+"koriste spašće na podrazumevani identitet. Da li da se ipak obriše?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Želite li stvarno da obrišete sve informacije ovog identiteta?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Obriši identitet"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Napravi duplikat identiteta"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normalni korisnici"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Glas (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Poluoper. (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatori (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Administratori kanala (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Vlasnici kanala (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Ubaci znak"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Ubaci znak"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation-ov uređivač markera"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Nema slobodnih portova"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Nisam mogao da otvorim soket"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Pronađi tekst..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Kopiraj URL u klipbord"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Dodaj u markere"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Snimi vezu kao..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Otvori upit sa %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Pridruži se kanalu %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Obavesti"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Pridruži se"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Napusti"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Otvori upit"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Pridruži se"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Dobavi listu &korisnika"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Dobavi &temu"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Nema poklapanja za „%1“."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Snimi vezu kao"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "Lista &servera..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Sređivanje mreže i servera"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Brzo se &poveži..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Upišite adresu novog IRC servera za povezivanje"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Poveži se ponovo"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Povezuje se ponovo sa trenutnim serverom."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Prekini vezu"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Prekida vezu sa trenutnim serverom."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identiteti..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Namestite vaš nadimak, odsutnost i druga podešavanja identiteta"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Nadgledani nadimci na vezi"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC &status"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Otvori fajl &dnevnika"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Otvori istorijat za ovaj kanal u novom jezičku"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "Podešavanja &kanala..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Otvori prozor podešavanja kanala za ovaj jezičak"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "&Lista kanala"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Prikaži listu svih poznatih kanala na ovom serveru"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Hvatač URL-ova"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Navedi u novom jezičku sve URL-ove koji su skoro pominjani"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&Nova konzola"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Otvara terminal u novom jezičku"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Sledeći jezičak"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Prethodni jezičak"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Zatvori jezičak"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Sledeći aktivan jezičak"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Pomeri jezičak gore"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Pomeri jezičak dole"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Pomeri jezičak desno"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Pomeri jezičak levo"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Ponovo se pridruži kanalu"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Uključi obaveštenja"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Pridruži se pri povezivanju"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Postavi kodiranje"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Idi na jezičak %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Očis&ti liniju podsećanja"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Čisti linije podsećanja u tekućem jezičku"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Očisti prozor"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Čisti sadržaj tekućeg jezička"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Očisti &sve prozore"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Čisti sadržaj svih otvorenih jezičaka"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Globalna odsutnost"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "Pri&druži se kanalu..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "IRC &boja..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Postavite boju svoje trenutne IRC poruke"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Linija podsećanja"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Dodaje vodoravnu liniju u trenutni jezičak koju samo vi vidite"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Poseban &znak..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Ubacuje bilo koji znak u vašu trenutnu IRC poruku"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Zatvori sve &otvorene upite"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Sakrij listu nadimaka"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>U toku su DCC prenosi fajlova. Zaista želite da napustite <b>"
+"Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Potvrdi izlaz"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Zaista želite da napustite <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Zatvaranjem glavnog prozora Konversation će nastaviti da radi u sistemskoj "
+"kaseti. Upotrebite <b>Završi</b> iz menija <b>Konversation</b>"
+"-ada izađete iz programa.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Pristajanje u sistemsku kasetu"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Ovo će potpuno sakriti traku menija. Možete je ponovo prikazati kucajući "
+"%1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Uk(isk)ljuči obaveštenja"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Menjaj odsutnost globalno"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Unesi IRC &boju..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Unesi poseban &znak..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Unesi &liniju podsećanja"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "Lista &kanala"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "Postavi &odsutnost globalno"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Sirovo"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Upotreba: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Upotreba: %1JOIN <kanal> [lozinka]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Upotreba: %1KICK <nadimak> [razlog]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK radi samo unutar kanala."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART bez parametara radi samo unutar kanala ili upita."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC bez parametara radi samo unutar kanala."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES bez cilja može vam prekinuti vezu sa serverom. Navedite „*“ ako zaista "
+"želite ovo."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Upotreba: %1close [prozor] Zatvara imenovani kanal ili jezičak upita, ili "
+"trenutni jezičak ako se nikoji ne navede."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Upotreba: %1NOTICE <primalac> <poruka>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Šaljem opomenu „%2“ za %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Upotreba: %1ME tekst"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Šaljem CTCP-%1 zahtev za %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Fajl „%1“ ne postoji."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Upotreba: %1DCC [SEND nadimak imefajla]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Upotreba: %1DCC [CHAT nadimak]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Nepoznata naredba %1DCC %2. Moguće naredbe su SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Upotreba: %1INVITE <nadimak> [kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 nije kanal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Upotreba: %1EXEC <skripta> [lista parametara]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Ime skripte ne sme da sadrži „../“!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Upotreba: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Trenutna lista obaveštavanja je prazna."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Trenutna lista obaveštavanja: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Unesite korisničko ime i lozinku za ovlašćenja IRC operatera:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Lozinka IRC operatera"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Upotreba: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [kanal] "
+"<korisnik|maska>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Upotreba: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [kanal] "
+"<korisnik|maska> [razlog]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN bez imena kanala radi samo unutar kanala."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Upotreba: %1UNBAN [kanal] šema"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Dodao sam %1 na vašu listu ignorisanja."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Upotreba: %1IGNORE [ -ALL ] <korisnik 1> <korisnik 2> ... <korisnik n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Upotreba: %1UNIGNORE <korisnik 1> <korisnik 2> ... <korisnik n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Uklonio sam %1 sa vaše liste ignorisanja."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Nema ignorisanog: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Nema ignorisanih: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Upotreba: %1QUOTE lista naredbe"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Upotreba: %1SAY tekst"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Upotreba"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Upotreba: %1AME tekst"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Upotreba: %1AMSG tekst"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Upotreba: %1OMSG tekst"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Šaljem opomenu „%1“ za %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Upotreba: %1ONOTICE tekst"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Trenutno kodiranje je: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Postavi na %1 kodiranje."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 nije važeće kodiranje."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Upotreba: %1setkey [<nadimak>|<kanal>] <ključ> Postavlja ključ za šifrovanje za "
+"nadimak ili kanal. %2setkey <ključ> U kanalu ili jezičku upita postavlja ključ "
+"za njega."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "Ključ za %1 je sada postavljen."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Upotreba: %1delkey <nadimak> ili <kanal> Briše ključ za šifrovanje za nadimak "
+"ili kanal"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "Ključ za %1 je sada izbrisan."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "Ključ za %1 je sada „%2“."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Ključ nije postavljen za %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Upotreba: %1DNS <nadimak>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Razrešen na: %2 %1"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Ne mogu da razrešim %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Obrnuto razrešavanje zahteva KDE verzije 3.5.1 ili više"
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Upotreba: %1KILL <nadimak> [komentar]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>U ulaznoj liniji pišete poruke za slanje na kanal, upit, ili server. Poruku "
+"poslatu na kanal vide svi na kanalu, dok se poruka u upitu šalje samo osobi u "
+"upitu sa vama."
+"<p>Da bi ste automatski dovršili nadimak započnite kucanje, pritisnite Tab. Ako "
+"niste započeli kucanje, poslednji kompletiran nadimak će se koristiti."
+"<p>Možete slati i specijalne naredbe:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>radnja</i></th>"
+"<td>prikazuje se kao akcija u kanalu ili upitu. Na primer: <em>"
+"/me peva pesmu</em> prikazaće se u kanalu kao „<vaš nadimak> peva pesmu“.</td> "
+"</tr>"
+"<tr>"
+"<th>/whois <i>nadimak</i></th>"
+"<td>prikazuje informacije o toj osobi, uključujući na kojim kanalima se "
+"nalaze.</td></tr></table>"
+"<p>Za još naredbi, pogledajte priručnik za Konversation."
+"<p>Poruka ne može sadržati više linija.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Pokušavate da prenesete veliki deo teksta (%1 bajtova ili %2 linija) u "
+"ćaskanje. To može izazvati resetovanja veze ili poplavna izbacivanja. Želite li "
+"zaista da nastavite?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Upozorenje o velikom prenosu"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "IRC klijent prijateljski prema korisniku"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// URL ili ime domaćina servera"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server za povezivanje"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port koji se koristi"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanal kojem se pristupa nakon povezivanja"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Nadimak koji se koristi"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Lozinka za vezu"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Koristi SSL za vezu"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "© 2002-2008, tim Konversation-a"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation je klijent za protokol ćaskanja putem Interneta (IRC).\n"
+"Sretnite prijatelje preko mreže, steknite nova poznanstva i opustite se\n"
+"pričajući o omiljenim temama."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Prvobitni autor, osnivač projekta"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Održavalac"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr ""
+"Održavalac, upravnik izdavanja, korisnički interfejs, rukovanje protokolom"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, rukovanje kodiranjima, postavljanje OSD-a"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Rukovanje protokolom, ulazna linija"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Podrška za SSL i Blowfish, prebacivanje na KNetwork, nadimci u boji, podrška za "
+"teme ikona"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Refaktorisanje, integracija sa Kadddressbook-om/Kontact-om"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Udomljavanje veb sajta"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Održavanje veb sajta"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Proširenje višestrukih režima, postavljanje kontrole za zatvaranje, OSD "
+"funkcionalnost"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentacija, poboljšanja za nadgledane nadimke na vezi, posebno proširenje "
+"veb pregledača"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Podešavač boja, dijalog isticanja"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP interfejs"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Ne-latinična-1 kodiranja"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Prikaz dela Konsole"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Brzo povezivanje, prebacivanje novog OSD-a, druge mogućnosti i ispravke grešaka"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Dosta ispravki i čišćenja koda"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Poboljšanja prevlačenja i &ispuštanja"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Grafika"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Traka traženja u Firefox stilu"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Sirovi režimi, grupisanje jezičaka po serveru, lista zabranjenih"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Zakrpa za sistemsku kasetu"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Ispravke grešaka"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Zakrpa za proširene korisničke režime"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Zakrpa za zatvaranje vidljivog jezička pomoću prečice"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Menjanje jezičaka pomoću klizačkog točka na mišu"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Zakrpa za režim vlasništva kanala"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Opcija za uključivanje filtriranja IRC boja"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Ispravke grešaka, OSD, čišćenja tema"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo skripta"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Kontekstni meni auto-pridruživanja"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Primio sam CTCP-PING zahtev od %1 za kanal %2, šaljem odgovor."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Primio sam CTCP-%1 zahtev od %2, šaljem odgovor."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Primio sam zahtev za verziju od %1 za kanal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Primio sam zahtev za verziju od %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Primio sam loš DCC SEND zahtev od %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Primio sam loš DCC ACCEPT zahtev od %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Primio sam loš DCC RESUME zahtev od %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Primio sam loš DCC CHAT zahtev od %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Primljena je nepoznata DCC naredba %1 od %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Primio sam nepoznati CTCP-%1 zahtev od %2 za kanal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Primio sam nepoznat CTCP-%1 zahtev od %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 za %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Primio sam CTCP-PING odgovor od %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Primio sam CTCP-%1 odgovor od %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Pozovi"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 vas pozva u kanal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Dobrodošli"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (verzija %2), korisnički režimi: %3, kanalski režimi: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Podrška"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Vaši lični režimi su:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Režimi kanala: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "zaštita teme"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "bez poruka spolja"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "tajno"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "samo na poziv"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privatno"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "moderisano"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "zaštićeno lozinkom"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonimno"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server reop"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "boje nisu dozvoljene"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"ograničeno na %n korisnika\n"
+"ograničeno na %n korisnika\n"
+"ograničeno na %n korisnika"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Režim"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "URL kanala: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Napravljeno"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Ovaj kanal je napravljen %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Ko-je"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 je prijavljen kao %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Imena"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Kraj liste NAMES."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "TEMA"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Tema kanala „%1“ nije postavljena."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Tema"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Tema kanala za %1 je: „%2“"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "%1 je postavio temu u %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Temu za %1 je postavio %2 u %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 u stvari koristi domaćina %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: nema takvog nadimka/kanala."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Nema takvog nadimka: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Nema takvog kanala."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Nadimak"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Nadimak je već u upotrebi, pokušajte drugi."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Nadimak je već u upotrebi. Pokušavam %1."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Pogrešan nadimak. Menjam nadimak u %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Vi niste na %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Poruka dana:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Kraj poruke dana"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Vi ste sada IRC operater na ovom serveru."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Korisnici"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Trenutni korisnici na mreži: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Trenutni korisnici na %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Odsutan"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 je odsutan: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Pozvali ste %1 u kanal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 je %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Razrešen %1 (%2) na adresi: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Ne mogu da razrešim adresu za %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 je identifikovani korisnik."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Ko"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 je %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (odsutan)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Kraj liste /WHO za %1."
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 je korisnik na kanalima: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 ima glas na kanalima: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 je poluop. na kanalima: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 je operater na kanalima: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 je vlasnik kanalâ: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 je administrator na kanalima: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 je na vezi preko %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 je dostupan za pomoć."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 je IRC operater."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"%n dan\n"
+"%n dana\n"
+"%n dana"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"%n čas\n"
+"%n časa\n"
+"%n časova"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"%n minut\n"
+"%n minuta\n"
+"%n minuta"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"%n sekunda\n"
+"%n sekunde\n"
+"%n sekundi"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 miruje već %2, %3, %4 i %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 miruje već %2, %3 i %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 miruje već %2 i %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 miruje već %n sekundu.\n"
+"%1 miruje već %n sekunde.\n"
+"%1 miruje već %n sekundi."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 je na vezi od %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Kraj liste ko-je."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Korisnik-domaćin"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 je %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC operater)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (odsutan)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Lista kanala:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n korisnik): %2\n"
+"%1 (%n korisnika): %2\n"
+"%1 (%n korisnika): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Kraj liste kanala."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Lista zabranjenih:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 postavio %2 %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Kraj liste zabranjenih."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 je trenutno nedostupan."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Nepoznata naredba."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Nije registrovan."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Ova naredba zahteva više parametara."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Postavili ste lične režime: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "je izmenio vaše lične režime:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " postavlja režim: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Podrazumevani identitet"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Uredi nadgledani nadimak"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "Ime &mreže:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Ovde izaberite mrežu servera na koju ćete se povezati."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Nadimak:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Nadimak na koji treba paziti kada se povežete na server u mreži.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Izmeni informacije obaveštenja"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Veza je obezbeđena sa %1-bitnim SSL-om."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Funkcionalnost za povezivanje na server koristeći šifrovanu SSL komunikaciju "
+"nije dostupna Konversation-u jer podrška za OpenSSL nije uključena pri "
+"kompilovanju. Moraćete da nabavite novu verziju KDE-a koja ima SSL podršku."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL sertifikat koji je server vratio nije prepoznat. Možda server ne podržava "
+"SSL na datom portu? Ako server podržava i obične, ne-SSL komunikacije, SSL će "
+"biti na različitom portu."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr ""
+"IP adresa domaćina %1 ne poklapa se sa onom na koju je sertifikat izdat."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Autentifikacija servera"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detalji"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Sertifikat servera (%1) nije prošao probu autentičnosti."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Želite li da prihvatite ovaj sertifikat zauvek, da više ne budete pitani?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Zauvek"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Samo za tekuću sesiju"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Istaknuto] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Upit] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 se pridruži na %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 ode sa %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 napusti %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 promeni nadimak u %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 želi da vam pošalje fajl"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 započe razgovor (upit) sa vama."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 je na vezi. (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 ode sa veze (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 vas izbaci sa kanala %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 započe DCC ćaskanje sa vama"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Istaknuto] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Neuspelo povezivanje na %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Pridružili ste se na %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Fraza nije nađena"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Umotano traženje"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+"Ovo se ne može opozvati, želite li zaista da vratite podrazumevane vrednosti?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Resetuj vrednosti"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Mrežni interfejs"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Odgovor sa IRC servera"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Navedite ručno"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "Birač IRC boja"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Nijedno"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "Ime ili IP broj servera. irchelp.org održava listu servera."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Unesite broj porta koji je potreban za povezivanje sa serverom. Za većinu "
+"servera to bi trebalo biti <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "&Lozinka:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "&Bezbedna veza (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Označite ako želite da koristite SSL sigurnosni protokol za komunikaciju sa "
+"serverom. Ovo štiti privatnost komunikacije između vašeg računara i IRC "
+"servera. Server mora da podržava SSL protokol da bi ovo radilo. U većini "
+"slučajeva, ako server ne podržava SSL, povezivanje neće uspeti."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Potrebna je adresa servera."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Administrator je ograničio pravo na slanje fajlova"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL „%1“ ne postoji"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Nisam mogao da dobavim „%1“"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Unesite ime fajla"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Fajl koji šaljete osobi <i>%1</i> nema ime."
+"<br>Unesite ime fajla koje će biti predstavljeno primaocu, ili otkažite DCC "
+"prenos.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Ime fajla nije dato"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "Ne mogu da pošaljem DCC SEND zahtev sagovorniku preko IRC servera."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Čekam pristanak udaljenog korisnika"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Nisam mogao da prihvatim vezu (greška soketa)."
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Nisam mogao da otvorim fajl: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Greška soketa: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Isteklo"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Krah veze: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Udaljeni korisnik je prekinuo vezu"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Operacija je uspela. Nikad ne bi trebalo da se desi u dijalogu greške."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Nisam mogao da čitam iz fajla „%1“."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Nisam mogao da pišem u fajl „%1“."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Došlo je do kobne, nepovratne greške."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Nisam mogao da otvorim fajl „%1“."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Operacija je neočekivano prekinuta."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Isteklo je vreme za operaciju."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Došlo je do neočekivane greške pri zatvaranju."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Nepoznata greška. Kôd %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC slanje"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC primanje"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Obrnuti DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Nepoznat server"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 na %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Da, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1sek."
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Spreman."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Ovo prikazuje broj korisnika na kanalu, i broj onih koji su operateri "
+"(opovi)."
+"<p>Operator kanala je korisnik koji ima posebna ovlašćenja, kao što su "
+"izbacivanje i zabrana korisnika, promena režima kanala, postavljanje drugih "
+"korisnika za operatere.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Kašnjenje: nepoznato"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Sva komunikacija sa serverom je šifrovana. Time je otežano drugima da "
+"prisluškuju vašu komunikaviju."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Statusna traka prikazuje razne poruke, uključujući i bilo kakve probleme "
+"pri povezivanju sa serverom. Skroz desno prikazan je trenutno kašnjenje do "
+"servera. Kašnjenje je vreme potrebno vašim porukama da stignu na server, i sa "
+"servera nazad ka vama.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Kašnjenje: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Kašnjenje: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Od servera %1 nema odgovora duže od %2, %3, %4 i %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Od servera %1 nema odgovora duže od %2, %3 i %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Od servera %1 nema odgovora duže od %2 i %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Od servera %1 nema odgovora duže od %n sekunde.\n"
+"Od servera %1 nema odgovora duže od %n sekunde.\n"
+"Od servera %1 nema odgovora duže od %n sekundi."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Tražim server %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Server %1 nije pronađen: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Server je pronađen, povezujem se..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Povezao sam se; prijavljujem se..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Izgubljena veza sa serverom %1: %2"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Nisam mogao da se povežem na %1:%2 koristeći SSL šifrovanje. Možda server ne "
+"podržava SSL, ili je naveden pogrešan port? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "Greška sa SSL vezom"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Prekinuta veza sa %1."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Ni jedan nadimak iz „%1“ identiteta nije prihvaćen od veze „%2“.\n"
+"Unesite novi ili pritisnite Otkaži da se isključite:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Greška nadimka"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Došlo je do greške pri čitanju podataka sa servera: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Izaberite fajl(ove) za slanje ka %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 nudi da vam pošalje „%2“ (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "nepoznata veličina"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Pitam %1 da prihvati slanje „%2“ (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Primljena je neispravna pasivna DCC poruka prihvatanja slanja za „%1“ od %2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Nastavljam preuzimanje „%1“ od %2 počevši od %3% od %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Primljena je neispravna poruka prihvatanja nastavljanja za „%1“ od %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Nastavljam slanje „%1“ za %2 počevši na %3% od %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Primio sam neispravan zahtev za nastavak za „%1“ od %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Preuzimanje „%1“ od %2 je završeno."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Preuzimanje „%1“ od %2 nije uspelo. Razlog: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Slanje „%1“ za %2 je završeno."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Slanje „%1“ za %2 nije uspelo. Razlog: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Šaljem „%1“ za %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Preuzimam „%1“ (%2) od %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 vas pozva da se pridružite kanalu %2. Prihvatate li pozivnicu?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Pozivnica"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Greška: Nisam mogao da nađem skriptu „%1“."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Greška: Nisam mogao da izvršim skriptu „%1“. Proverite dozvole fajla."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Odsutan za sada"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Sada ste označeni kao odsutni."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Više niste označeni kao odsutni."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Niste označeni kao odsutni."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Nadgledani nadimci na vezi"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Server/nadimak/kanal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Dodatne informacije"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Ovo su svi nadimci na vašoj listi nadgledanja, podvedeni pod mrežu servera "
+"na koju su povezani. Lista uključuje i nadimke iz KAddressBook-a pridružene "
+"mreži servera.</p>"
+"<p>Kolona <b>Dodatne informacije</b> prikazuje podatke poznate za svaki "
+"nadimak.</p>"
+"<p>Kanali na kojima nadimak učestvuje prikazani su ispod svakog nadimka.</p>"
+"<p>Nadimci pod <b>Van veze</b> nisu povezani ni na jedan od servera u mreži.</p>"
+"<p>Desno kliknite na nadimak da biste dobili dodatne funkcije.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Uredi listu nadgledanja..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Kliknite da biste uredili listu nadimaka navedenih na ovom ekranu."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Adresar:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Kada izaberete nadimak u gornjoj listi, dugmad ovde koristite da pridružite "
+"nadimak unosu u KAddressBook-u."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Uredi &kontakt..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Kliknite da napravite, prikažete, ili uredite unos u KAddressBook-u pridružen "
+"nadimku izabranom iznad."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "&Izmeni pridruženje..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "Kliknite da pridružite nadimak izabran iznad unosu u KAddressBook-u."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Obriši pridruženje"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Kliknite da uklonite vezu između nadimka izabranog iznad i unosa u "
+"KAddressBook-u."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " na vezi preko %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " od %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Van veze"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Glas"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Poluop."
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operater"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Vlasnik"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Admin."
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Napravi novi &kontakt..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Izaberite pridruženje..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "Pri&druži se kanalu"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Izaberite zvučni fajl"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Dnevnički fajl započet\n"
+"*** %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Automatski se pridruži kanalu na poziv"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Napomena da će snimanjem dnevničkog fajla biti snimljen ceo fajl"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Pitaj pre brisanja sadržaja fajla dnevnika"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Pitaj o zatvaranju upita posle ignorisanja nadimka"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Pitaj pre prebacivanja veze na drugu mrežu ili server"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Pitaj pre otvaranja još jedne veze ka istoj mreži li serveru"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Zatvori jezičak servera"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Zatvori jezičak kanala"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Zatvori jezičak upita"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Lista kanala može da se otvori samo iz jezičaka svesnih servera"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Upozorenje pri sakrivanju menija glavnog prozora"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Upozorenje o visokom saobraćaju sa listom kanala"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Upozorenje pri prenosu velikih količina teksta"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Upozorenje pri izlasku iz Konversation-a"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Upozorenje pri izlasku kada ima DCC prenosa u toku"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Lista kanala"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Postavke filtera"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Najmanje korisnika:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Najviše korisnika:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Ovde možete ograničiti listu kanala na one kanale sa najmanjim brojem "
+"korisnika. Biranjem 0 isključujete ovaj kriterijum."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Ovde možete ograničiti listu kanala na one kanale sa najvećim brojem korisnika. "
+"Biranjem 0 isključujete ovaj kriterijum."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Šema filtera:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Cilj filtera:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Unesite ovde znakovni niz filtera."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Regularni izraz"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Primeni filter"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Ovde kliknite da biste preuzeli listu kanala sa servera i primenili filter."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Ovde je prikazana filtrirana lista kanala. Primetite da ako ne koristite "
+"regularne izraze, Konversation će izlistati bilo koji kanal čije ime sadrži "
+"filterski znakovni niz koji ste uneli. Ime kanala ne mora počinjati znakovnim "
+"nizom koji ste uneli.\n"
+"\n"
+"Izaberite kanal kojem želite da se pridružite klikom na njega. Desnim klikom na "
+"kanal dobijate listu svih veb strana koje se pominju u temi kanala."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Ime kanala"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Tema kanala"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Osveži listu"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Snimi listu..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Pridruži se kanalu"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr ""
+"Kliknite ovde da biste se pridružili kanalu. Za kanal će biti napravljen novi "
+"jezičak."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Snimi listu kanala"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation-ova lista kanala: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanali: %1 (%2 prikazana)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Nejedinstvenih korisnika: %1 (%2 prikazana)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Otvori URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Nijedan URL nije pronađen>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Lista kanala za %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Na vezi"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za brzo glasništvo, "
+"ali nije naveo nijedan kontakt kome treba poslati poruku. To je verovatno "
+"greška u tom drugom programu."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za brzo glasništvo, "
+"ali Konversation nije mogao da nađe navedeni kontakt u KDE-ovom adresaru."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za brzo glasništvo, "
+"ali zahtevani korisnik %1 nije na vezi."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za slanje fajla "
+"kontaktu, ali nije naveo nijedan kontakt. To je verovatno greška u tom drugom "
+"programu."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za slanje fajla "
+"kontaktu, ali Konversation nije mogao da nađe navedeni kontakt u KDE-ovom "
+"adresaru."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za slanje fajla "
+"kontaktu, ali zahtevani korisnik %1 trenutno nije na vezi."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Neki drugi KDE program pokušao je da upotrebi Konversation za dodavanje "
+"kontakta. Konversation to ne podržava."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Nisam mogao da pokrenem program adresara (kaddressbook). To je najverovatnije "
+"zato što i nije instaliran; instalirajte paket „kdepim“."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Kontakt koji ste izabrali nema pridruženu e-poštansku adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Ne mogu da pošaljem e-poruku"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Nisam mogao da pokrenem vaš e-poštanski program. To je verovatno zato što i "
+"nije instaliran. Da biste instalirali KDE-ov e-poštanski program (KMail), "
+"instalirajte paket „kdepim“."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Nijedan od kontakata koje ste izabrali nemaju pridružene kontakte u adresaru."
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Kontakt koji ste izabrali nije pridružen kontaktu u adresaru. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Neki od kontakata (%1) koje ste izabrali nemaju pridružene kontakte u adresaru. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Jedan od kontakata (%1) koji ste izabrali nema pridružen kontakt u adresaru."
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Možete desno kliknuti na kontakt i izabrati da uredite pridruženje u adresaru, "
+"da biste ga povezali sa kontaktom u adresaru."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Nijedan od kontakata koje ste izabrali nema pridruženu e-adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "Neki od kontakata (%1) koje ste izabrali nemaju pridruženu e-adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "Jedan od kontakata (%1) koji ste izabrali nema pridruženu e-adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Možete desno kliknuti na kontak i izabrati uređivanje kontakta u adresaru, "
+"dodavši mu tako e-adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Neki od kontakata (%1) koje ste izabrali nisu pridruženi kontaktima u adresaru, "
+"a neki (%2) nemaju pridruženu e-adresu. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Možete desno kliknuti na kontakt i izabrati da uredite pridruženje u adresaru "
+"da biste ga povezali sa kontaktom u adresaru, ili izabrati uređivanje kontakta "
+"u adresaru da biste mu dodali e-adresu."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Želite li da ipak pošaljete e-poruku nadimcima koji nemaju e-adresu?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Pošalji e-poruku"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Poveži IRC nadimak sa kontaktom u adresaru"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Izaberite osobu koja je „%1“."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Trenutno „%1“ ima pridružen kontakt."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Trenutno „%1“ ima pridružen kontakt „%2“."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Upozorenje:</b> „%1“ se trenutno vodi kao da pripada višestrukim "
+"kontaktima. Izaberite ispravan kontakt.</p></qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Novi unos u adresaru"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Imenujte novi unos:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Hvatač URL-ova"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Lista URL-ova pomenutih u bilo kojem od Konversation-ovih prozora tokom ove "
+"sesije."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "&Otvori URL"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Gore izaberite <b>URL</b>, zatim kliknite na ovo dugme da pokrenete program "
+"pridružen MIME tipu URL-a.</p>"
+"<p>Pod <b>Podešavanja->Ponašanje->Opšte</b>, možete navesti poseban pregledač "
+"za veb URL-ove.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "&Kopiraj URL"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Gore izaberite <b>URL</b>, a zatim kliknite na ovo dugme da ga kopirate u "
+"klipbord."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "O&briši URL"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Gore izaberite <b>URL</b>, a zatim kliknite na ovo dugme da ga obrišete sa "
+"liste."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "&Snimi listu..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Kliknite da snimite celu listu u fajl."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "Očis&ti listu"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Kliknite da obrišete celu listu."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Snimi listu URL-ova"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Uredi višelinijski prenos"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Dodaje navode &citata"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Kanal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Potrebno je ime kanala."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Sirovi dnevnik"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Traži tekst u tekućem jezičku"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "&Lista kanala za %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Otvori &dnevnički fajl za %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "Opcije &kanala za %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Podrazumevano (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Možete tražiti samo u tekstualnim poljima."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Nađi tekstualne informacije"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Dnevnički fajl za %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC status"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Upotreba ove funkcije može dovesti do dosta mrežnog saobraćaja. Ako vaša veza "
+"nije dovoljno brza, moguće je da će server prekinuti vezu sa vašim klijentom."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Upozorenje o listi kanala"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Lista kanala može biti otvorena samo iz upita, kanala ili statusnog prozora da "
+"bi se saznalo kom serveru ta lista pripada."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Ovde unesite ime mreže. Možete napraviti koliko god unosa želite u ekranu liste "
+"servera sa istom mrežom."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Izaberite postojeći identitet ili kliknite na dugme Uredi da biste dodali novi "
+"identitet ili izmenili postojeći. Identitet vas identifikuje i odrađuje vaš "
+"nadimak kada ste povezani na mrežu."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Opciono. Ova naredba će biti poslata serveru nakon povezivanja. Primer: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Ovo je primer za freenode mrežu, "
+"koja zahteva da korisnici registruju svoj nadimak sa lozinkom i prijavom kada "
+"se povezuju. <i>konvirocks<i> je lozinka za nadimak naveden u identitetu. "
+"Možete navesti više naredbi razdvajajući ih tačka-zapetom."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Kliknite ovde ako želite da se Konversation automatski poveže na ovu mrežu "
+"svaki put kada otvorite Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Ovo je lista IRC servera na mreži. Kada se povezujete sa mrežom, Konversation "
+"će pokušati da se poveže prvo sa serverom na vrhu. Ako ovo ne uspe pokušaće sa "
+"drugim,trećim serverom i dalje. Najmanje jedan server mora biti naveden. "
+"Kliknite na server da biste ga naznačili."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Opciono. Ovo je lista kanala kojima ćete se automatski pridružiti kada se "
+"Konversation poveže na server. Ovo možete ostaviti prazno ako ne želite "
+"automatsko pridruživanje bilo kom kanalu."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Izmeni informacije o mreži"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Dodaj server"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Uredi server"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Dodaj kanal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Uredi kanal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Potrebno je ime mreže."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Morate mreži dodati bar jedan server."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Teme Konversation-a"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Izaberite paket tema"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Nisam uspeo da preuzmem temu"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Arhiva teme nije ispravna."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Ne mogu da instaliram temu"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Želite li da uklonite %1 ?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Ukloni temu"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation — IRC klijent"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Izaberite primaoca"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Izaberite nadimak i zatvorite prozor"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Zatvori prozor bez izmena"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: Server %1 nije pronađen."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Administrator je ograničio pravo za primanje fajlova"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Neispravna adresa pošiljaoca (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Nepodržano pregovaranje (veličina fajla =0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Ne mogu da napravim fasciklu.</b><br>Fascikla: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Nisam mogao da napravim primerak KIO-a"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Drugi prenos koristi ovaj fajl.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Postoji delimični fajl.</b>"
+"<br>%1"
+"<br>Veličina delimičnog fajla: %2 bajta"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Fajl već postoji.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Nisam mogao da otvorim fajl.<br>Greška: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Ne mogu da pošaljem obrnuto DCC SEND odobrenje partneru, preko IRC servera."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Čekam na vezu"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Čekam pristanak udaljenog domaćina"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Ne mogu da pošaljem DCC RECV zahtev za nastavak partneru, preko IRC servera."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Neočekivani odziv udaljenog domaćina"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Greška u prenosu"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO greška: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>U ovoj traci su prikazani neki detalji o osobi sa kojom pričate u ovom "
+"upitu. Prikazano je puno ime i maska domaćina, zajedno sa (ako postoji) slikom "
+"ili logoom pridruženim ovoj osobi u KDE-ovom adresaru."
+"<p>Pogledajte <i>Priručnik za Konversation</i> za informacije o pridruživanju "
+"nadimka kontaktu iz adresara, i za objašnjenje šta je maska domaćina.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(odsutan)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Želite li da zanemarite %1 ?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Želite li da zatvorite ovaj upit posle ignorisanja nadimka?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Zatvori ovaj upit"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Drži otvoreno"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Želite li da prestanete da ignorišete %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Podrazumevano za identitet (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Želite li da zatvorite vaš upit sa %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Zatvori upit"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Pričate sami sa sobom"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 napusti ovaj server."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 napusti ovaj server (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Pregled OSD-a — prevucite da promenite položaj"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operater"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administrator"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Vlasnik"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Poluoperater"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Ima glas"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Interfejs"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Ponašanje"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Obaveštenja"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Prozor ćaskanja"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Teme za listu nadimaka"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Boje"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Brza dugmad"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Veza"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Lista nadimaka"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Alijasi naredbi"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Automatska zamena"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Beleženje"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Isticanje"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Nadgledani nadimci"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Ekranski prikaz"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Dijalozi upozorenja"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Pitanje za DCC primanje"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Nastavi"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "O&riginalno ime fajla"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Predloži &novo ime"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Pre&briši"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Pre&imenuj"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Nađi unapred"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Razlikuj mala i velika slova"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Samo cele reči"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Od kursora"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Želite li zaista da zatvorite „%1“?\n"
+"\n"
+"Biće zatvoreni i svi pridruženi jezičci."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Zatvori jezičak"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Želite li da prekinete vezu sa „%1“?\n"
+"Biće zatvoreni i svi pridruženi jezičci."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Prekini vezu sa serverom"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Prekini vezu"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Pokrenuto"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Status"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Partner"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Napredak"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Položaj"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Preostalo"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Brzina"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Adresa pošiljaoca"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Prihvati"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Prekini"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Otvori fajl"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Počni primanje"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Prekini prenose"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Pokreni fajl"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Prikaži detalje DCC prenosa"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "&Izaberi sve stavke"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Izaberi sve &završene stavke"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Prihvati"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Pre&kini"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Ponovi slanje"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Očisti"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Otvori &fajl"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "&Informacije o fajlu"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Uredi podešavanja kanala"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Svaki kanal na IRC-u ima pridruženu temu. To je jednostavno poruka koju svi "
+"mogu videti."
+"<p>Ako ste operater, ili režim kanala <em>T</em> nije postavljen, temu možete "
+"promeniti klikom na dugme „Uredi temu“ levo od nje. Ovde takođe možete videti i "
+"istorijat tema.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo menjati."
+"<p>Režim <b>t</b>eme znači da samo operater kanala može promeniti temu "
+"kanala.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala. Samo operater može ovo promeniti."
+"<p><b>B</b>ez poruka izvan znači da korisnici koji nisu na kanalu ne mogu da "
+"šalju poruke vidljive svima na kanalu. Ovo je postavljeno kod skoro svih "
+"kanala, radi sprečavanja nepoželjnih poruka.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p>A T<b>a</b>jni kanal neće se prikazati u listi kanala, niti će bilo koji "
+"korisnik moći da vidi da ste na kanalu naredbom <em>WHOIS</em> "
+"ili nečim sličnim. Ako je ovaj režim postavljen, samo ljudi koji su na istom "
+"kanalu znaće da ste i vi na njemu.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p>Kanal samo na <b>p</b>ozivanje znači da mu se korisnici mogu pridružiti samo "
+"ako su pozvani. Da bi se neko pozvao, operater kanala mora izdati naredbu <em>"
+"/invite nadimak</em> u okviru kanala.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p>P<b>r</b>ivatni kanal je prikazan u listi svih kanala, ali tema nije "
+"prikazana. <em>WHOIS</e> za korisnika može i ne mora prikazati da su na "
+"privatnom kanalu, u zavisnosti od IRC servera.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p><b>M</b>oderisani kanal je onaj na kome mogu pričati samo operateri, "
+"poluoperateri i korisnici sa glasom.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p><b>Z</b>aštićeni kanal zahteva od korisnika lozinku da bi se povezao.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p>Kanal sa <b>o</b>graničenjem broja korisnika ne dozvoljava više od datog "
+"broja korisnika na kanalu u isto vreme. Neki kanali imaju bot koji sedi na "
+"kanalu i menja ovo automatski u zavisnosti od zauzeća kanala.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maksimalno korisnika dozvoljeno na kanalu"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Ovo je ograničenje korisnikâ na kanalu, najveći broj njih koji može biti na "
+"kanalu u isto vreme. Možete postaviti ovo ako ste operater. Režim kanala <b>"
+"t</b>ema (dugme levo) biće automatski postavljen ako postavite ovo.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Ovo prikazuje vaš trenutni nadimak, i alternative ako ste ih postavili. Ako "
+"izaberete ili unesete drugi nadimak, IRC serveru će biti poslat zahtev za "
+"promenu nadimka. Ako server dopusti, novi nadimak će biti izabran. Ako unesete "
+"novi nadimak, morate pritisnuti Enter na kraju."
+"<p>Možete dodati ili izmeniti alternativne nadimke opcijom <em>Identiteti</em> "
+"u meniju <em>Fajl</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Želite li da zanemarite izabrane korisnike?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Želite li da prestanete da ignorišete izabrane korisnike?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Dovršavanje"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Moguća dovršavanja: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Lozinka kanala"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Ograničenje nadimka"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Unesite novo ograničenje nadimka:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Poznati ste kao %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 je poznat kao %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Pridružili ste se kanalu %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 se pridruži ovom kanalu (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Napustili ste ovaj server."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Napustili ste ovaj server (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Napustili se kanal %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Napustili ste kanal %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 napusti ovaj server (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 napusti ovaj kanal."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 napusti ovaj kanal (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Sami ste sebe izbacili sa kanala %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Sami ste sebe izbacili sa kanala %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%2 vas izbaci sa kanala %1."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%2 vas izbaci sa kanala %1 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Izbacili ste %1 sa kanala."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Izbacili ste %1 sa kanala (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%2 izbaci %1 sa kanala."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%2 izbaci %1 sa kanala (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n nadimak\n"
+"%n nadimka\n"
+"%n nadimaka"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n op)\n"
+" (%n opa)\n"
+" (%n opova)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Tema kanala je „%1“."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Postavili ste temu kanala na „%1“."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 postavi temu kanala na „%2“."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Dali ste sebi ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Dali ste osobi %1 ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 vam dade ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 dade osobi %2 ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Oduzeli ste sebi ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Oduzeli ste osobi %1 ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 vam oduze ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 oduze osobi %2 ovlašćenja vlasnika kanala."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Dali ste sebi ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Dali ste osobi %1 ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 vam dade ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 dade osobi %2 ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Oduzeli ste sebi ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Oduzeli ste osobi %1 ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 vam oduze ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 oduze osobi %2 ovlašćenja administratora kanala."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Dali ste sebi ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Dali ste osobi %1 ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 vam dade ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 dade osobi %2 ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Oduzeli ste sebi ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Oduzeli ste osobi %1 ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 vam oduze ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 oduze osobi %2 ovlašćenja operatera kanala."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Dali ste sebi ovlašćenja poluopa."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Dali ste osobi %1 ovlašćenja poluopa."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 vam dade ovlašćenja poluopa."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 dade osobi %2 ovlašćenja poluopa."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Oduzeli ste sebi ovlašćenja poluopa."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Oduzeli ste osobi %1 ovlašćenja poluopa."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 vam oduze ovlašćenja poluopa."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 oduze osobi %2 ovlašćenja poluopa."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Dali ste sebi dozvolu da pričate."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Dali ste osobi %1 dozvolu da priča."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 vam dade dozvolu da pričate."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 dade osobi %2 dozvolu da priča."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Oduzeli ste sebi dozvolu da pričate."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Oduzeli ste osobi %1 dozvolu da priča."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 vam oduze dozvolu da pričate."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 oduze osobi %2 dozvolu da priča."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Postavili ste režim kanala na „boje nisu dozvoljene“."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 postavi režim kanala na „boje nisu dozvoljene“."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Postavili ste režim kanala na „dozvoli kôdove boja“."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 postavi režim kanala na „dozvoli kôdove boja“."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Postavili ste režim kanala na „samo pozvani“."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 postavi režim kanala na „samo pozvani“."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Uklonili ste režim „samo pozvani“ sa kanala."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 ukloni režim „samo pozvani“ sa kanala."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Postavili ste režim kanala na „moderisan“."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 postavi režim kanala na „moderisan“."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Postavili ste režim kanala na „nemoderisan“."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 postavi režim kanala na „nemoderisan“."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Postavili ste režim kanala na „bez poruka spolja“."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 postavi režim kanala na „bez poruka spolja“."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Postavili ste režim kanala na „dozvoli poruke spolja“."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 postavi režim kanala na „dozvoli poruke spolja“."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Postavili ste režim kanala na „privatan“."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 postavi režim kanala na „privatan“."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Postavili ste režim kanala na „javni“."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 postavi režim kanala na „javni“."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Postavili ste režim kanala na „tajni“."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 postavi režim kanala na „tajni“."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Postavili ste režim kanala na „vidljiv“."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 postavi režim kanala na „vidljiv“."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Uključili ste „zaštitu teme“."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 uključi „zaštitu teme“."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Isključili ste „zaštitu teme“."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 isključi „zaštitu teme“."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Postavili ste ključ kanala na „%1“."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 postavi ključ kanala na „%2“."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Uklonili ste ključ kanala."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 ukloni ključ kanala."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Postavili ste ograničenje kanala na %1 nadimaka."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 postavi ograničenje kanala na %2 nadimaka."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Uklonili ste ograničenje kanala."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 ukloni ograničenje kanala."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Postavili ste zabranu za %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 postavi zabranu za %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Uklonili ste zabranu za %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 ukloni zabranu za %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Postavili ste izuzetak zabrane za %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 postavi izuzetak zabrane za %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Uklonili ste izuzetak zabrane za %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 ukloni izuzetak zabrane za %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Postali ste masku pozivnica %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 postavi masku pozivnica %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Uklonili ste masku pozivnica %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 ukloni masku pozivnica %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Postavili ste režim kanala +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 postavi režim kanala +%2."
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Postavili ste režim kanala -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 postavi režim kanala -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Morate biti operater da biste ovo izmenili."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Temu može izmeniti samo operater kanala. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Nema poruka za kanal od spoljnih klijenata. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Tajni kanal. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Kanal samo sa pozivom. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privatni kanal. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Moderisan kanal. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Zaštiti kanal lozinkom."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Postavi ograničenje korisnika na kanalu."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Želite li da napustite %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Napusti kanal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Napusti"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Časlav Ilić,Slobodan Simić"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "caslav.ilic@gmx.net,simicsl@verat.net"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Spori redosled"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "linija"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "bajtova"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Starost:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Broj:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Linija:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Bajtova:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Normalni redosled"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Brzi redosled"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Svi redosledi"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Primljeno:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Bajtova (sirovo):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Bajtova (kodovano):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Ime dugmeta"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Akcija dugmeta"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Akcija dugmeta:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Ime dugmeta:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Dostupni mestodržači"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: tekući nadimak\n"
+"%c: tekući kanal\n"
+"%K: lozinka za server\n"
+"%u: lista izabranih nadimaka\n"
+"%s<izraz>%: izraz kojim se razdvajaju nadimci u %u\n"
+"%n: pošalji naredbu direktno serveru umesto mojoj ulaznoj liniji"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Ime fajla:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Sebi:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Vrsta:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Status:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Mesto:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Napredak:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Partner:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Otvori fasciklu"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Veličina fajla:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Prosečna brzina:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Nastavljeno:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Trenutna brzina:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Trenutna pozicija:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Procenjeno preostalo vreme:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Ponuđeno:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Završeno:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Pokrenuto:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Vreme prenosa:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Uključi automatsko ponovno povezivanje"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Zastoj pre ponovnog povezivanja:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Pokušaji ponovnog povezivanja:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " sekundi"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Neograničeno"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Ispravljanje"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Prikaži &sirov dnevnički prozor pri povezivanju"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Šema:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Vrsta"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Šema:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Vrste poruka"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Novo"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Ukloni &sve"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Ime mreže:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identitet:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Naredbe:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Poveži po pokretanju &programa"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Serveri"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Dodaj..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Uredi..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Automatski se pridruži kanalima"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Ure&di..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alijas:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Zamena:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alijas"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Zamena"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Nađi s&ledeće"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Nađi prethodno"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Naredba koja se izvršava pri dvokliku:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Sortiraj bez razlikovanja &malih i velikih slova"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Sortiraj po &aktivnosti"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Sortiraj po s&tatusu korisnika"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Objašnjenje"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Preuredite sortiranje nadimaka prevlačenjem i puštanjem)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Podešavanje teme"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "&Instaliraj temu..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Ukloni temu"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ikona za normalne korisnike"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ikona za odsutne korisnike"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ikona za korisnike sa glasom"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ikona za korisnike sa ovlašćenjima polu-operatera"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ikona za korisnike sa ovlašćenjima operatera"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ikona za korisnike sa ovlašćenjima administratora"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ikona za korisnike sa ovlašćenjima vlasnika"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Pregled:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "Podešavanje jezičaka"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Izgled"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Razmeštaj:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Prikaži dugme za &zatvaranje na jezičcima"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "&Prikaži dugme za zatvaranje desno u traci jezička"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Ograniči &veličinu oznaka jezičaka da svi stanu na ekran"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "&Fokusiraj nove jezičke"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Fokusiraj nove &upite"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Miš"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "&Srednji klik na jezičak zatvara ga"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "&Naredba koja se izvršava pri dvokliku na nadimak:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Kada dvokliknete na nadimak u prozoru <b>Nadimci na vezi</b>"
+", ova naredba stavlja se u <b>ulaznu liniju</b> u prozoru servera.</p>\n"
+"<p>U naredbi se mogu koristiti sledeći simboli:</p>"
+"<ul>\n"
+"<li>%u: nadimak na koji je dvokliknuto.</li>\n"
+"<li>%K: lozinka servera.</li>\n"
+"<li>%n: slanje naredbe direktno na server umesto u vašu ulaznu liniju.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>Kada dvokliknete na nadimak u prozoru <b>Nadimci na vezi</b>"
+", ova naredba stavlja se u <b>ulaznu liniju</b> u prozoru servera.</p>\n"
+"<p>U naredbi se mogu koristiti sledeći simboli:</p>"
+"<ul>\n"
+"<li>%u: nadimak na koji je dvokliknuto.</li>\n"
+"<li>%K: lozinka servera.</li>\n"
+"<li>%n: slanje naredbe direktno na server umesto u vašu ulaznu liniju.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "Interval &osvežavanja:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation će proveriti status dole prikazanih nadimaka posle svakog ovog "
+"perioda."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "&Prikaži po pokretanju jezičak nadgledanih nadimaka na vezi"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Kada je popunjeno, prozor <b>Nadimci na vezi</b> "
+"biće automatski otvoren po pokretanju Konversation-a.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "U&ključi nadgledač nadimaka"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kada je nadgledač nadimaka uključen, bićete obaveštavani pri dolasku i odlasku "
+"sa veze nadimaka u listi <b>Nadgledane mreže/nadimci</b>.</p>\n"
+"<p>Možete otvoriti i prozor <b>Nadimci na vezi</b> da biste videli status svih "
+"nadgledanih nadimaka.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Mreža:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"IRC mreža servera (kao „freenode“) na kojoj će se pratiti izabrani korisnik."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Nadimak (korisničko ime) izabrane osobe koji se nadgleda."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Nadgledane mreže/nadimci"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Kada je nadgledač nadimaka uključen, bićete obaveštavani pri dolasku i odlasku "
+"sa veze nadimaka u listi <b>Nadgledane mreže/nadimci</b>.</p>\n"
+"<p>Možete otvoriti i prozor <b>Nadimci na vezi</b> da biste videli status svih "
+"nadgledanih nadimaka.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Kliknite da dodate nadimak na listu."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Kliknite da uklonite izabrani nadimak sa liste."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Uključi &beleženje"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Koristi &mala slova za imena dnevničkih fajlova"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Dodaj ime domaćina imenima dnevničkih fajlova"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Putanja &dnevničkog fajla:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Uključi sistemsku kasetu"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Ko&risti sistemsku kasetu za obaveštenje o novoj poruci"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Samo &obavesti kada je naglašeno aktivirano ili je vaš trenutni nadimak "
+"upotrebljen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Tre&pni ikonom"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Sakrij prozor po pokretanju"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Dovršavanje nadimaka"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Režim do&vršavanja:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Vrti u krug listu nadimaka"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Nalik na školjku"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Nalik na školjku sa kutijom za dovršavanje"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "&Sufiks na početku linije:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Drugde:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Razlikuje mala i velika slova"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Isključi obaveštenja tokom &odsutnosti"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Poseban odgovor na &verziju:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Ovde možete postaviti poseban odgovor na zahteve <b>CTCP <i>VERSION</i></b>"
+".</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Polje za unos se širi sa tekstom"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "Znak &naredbe:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Koristi poseban veb &pregledač:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Ograniči veličinu oznaka jezička tako da svi stanu na ekran"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Sakrij traku klizača"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Uključite ukoliko želite da se svim linijama proverava pravopis dok kucate"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Uključivanje ovoga će izazvati da se polje za unos širi vertikalno kada se "
+"popuni."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Sakrij u sistemsku kasetu"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Pokreni sa skrivenim glavnim prozorom"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Prikaži &prava imena pored nadimaka"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Otvori po pokretanju jezičak nadgledanih nadimaka"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Uključi emotikone"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Teme emotikona"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Tema"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Datum"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&Režimi"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Temu može izmeniti samo &operater kanala"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "&Bez poruka izvan kanala"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "T&ajni kanal, koji se ne prikazuje u listi kanala"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Samo &pozvanima je dopušteno da se pridruže kanalu"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Kontroliše <em>režim</em> kanala, stoga samo operater može ovo promeniti."
+"<p>Kanal samo na <b>pozivanje</b> znači da mu se korisnici mogu pridružiti samo "
+"ako su pozvani. Da bi se neko pozvao, operater kanala mora izdati naredbu <em>"
+"/invite nadimak</em> u okviru kanala.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Moderisani kanal, samo korisnici sa glasom mogu pisati na njemu"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "&Lozinka kanala:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "O&graničenje korisnika:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Prikaži &napredne režime >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Backspace, Tab, Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parametar"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Lista &blokiranih"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Ukloni blokiranje"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Dodaj blokiranje"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Maska domaćina"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Postavio"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Vreme postavio"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Traži:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC podešavanja"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "&Fascikla preuzimanja:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Dod&aj pošiljaoca imenu fajla"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "&Napravi fasciklu za pošiljaoca"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Pretvori razmake u imenima fajla u pod-crte (_) pre slanja"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Automat&ski prihvati zahtev za preuzimanje"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Au&tomatski nastavi preuzimanje"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Uključi brzo DCC slanje (možda &neće raditi sa svim klijentima)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "Veličina &bafera:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Vreme isticanja DCC &slanja:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Vrati se na IPv&4 interfejs za DCC slanje:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Ako je ova opcija uključena, DCC prenosi za IPv6 veze obavljaće se preko IPv4 "
+"interfejsa postavljenog ovde"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " bajtova"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sek."
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Uključi pasivno DCC slanje"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Metod za dobavljanje sopstvenog IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "&Sopstveni IP:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Portovi"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Uključi određene p&ortove za DCC ćaskanje:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "za"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Uključi navedene &portove za DCC-ov server prenosa:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Koristi obojeni tekst"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Koristi obojene LED-ove"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Događaji aplikacije"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Događaji aplikacije se dešavaju u Konsole jezičku, DCC statusna traka i drugi "
+"jezičci aplikacije se ne koriste direktno za ćaskanje."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Poruka"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Lična poruka"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Trenutno korišćeni nadimak"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Dešavanja kanala"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "Dešavanja kanala su promene režima ili dolasci i odlasci korisnika."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Daj prednost bojama isticanja iz prozora ćaskanja"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Ako izaberete ovo, boje koje ste izabrali na strani za podešavanje isticanja će "
+"pregaziti boje za „Trenutno korišćeni nadimak“ i „Isticanje“."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Koristi &fiksni font za MOTD poruke"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Prikaži MOTD (poruku dana) fiksnim fontom"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Po&debljaj nadimke pošiljalaca u prikazu ćaskanja"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Tekst ćaskanja:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Lista nadimaka:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Traka jezičaka:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Lista isticanja"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "reg. izraz"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Isticanja"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Zvuk"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Auto. tekst"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Šema:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Boja:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Zvuk:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Testiraj zvuk"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Auto. &tekst:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Uključi &zvuke za istaknute"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "U&vek istakni moj tekući nadimak:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "Uvek istakni &moje linije:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Napravi novi &unos..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Pravi novi unos u vašem adresaru"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Slika"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Ime"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Izaberite kontakt sa kojim želite da komunicirate preko Brzog glasnika"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Tr&aži:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Uključi sistemsko &zvono pri dolazećem ASCII BEL"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Oglašava sistemsko zvono kada primite ASCII kontrolni znak BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Sa&krij događaje pridruživanja/napuštanja/nadimaka"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Isključi &proširivanje promenljivih (npr. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Ne proširuj promenljive pri slanju teksta na server. Promenljiva počinje sa "
+"„%“; na primer, %B će se proširiti na znakove potrebne da se tekst podeblja."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "P&reusmeri sve statusne poruke u statusni prozor servera"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Ograničenje klizanja unazad:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Koliko linija čuvati u baferima (0 za neograničeno)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "Koristi &sirove režime za promene režima"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Drži znakovni niz režima kanala kao kombinaciju znakova, umesto prevođenja u "
+"ljudski čitljive reči. Npr. „*** Režimi kanala: bez poruka izvan“ postaće „*** "
+"Režimi kanala: n“"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " linija"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Linije podsećanja"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Prikaži ručno ubačene linije u svim prozorima ćaskanja"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Označava poslednju poziciju u prozoru ćaskanja pre skrivanja"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Ubacuje liniju u prozor ćaskanja da vas podseti kada ste se prebacili u drugo "
+"ćaskanje ili minimizirali aplikaciju."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Pomeri liniju tek kada treba prikazati novi tekst"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Uključi automatsku potragu informacija o korisniku (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Maksimalan broj korisnika na kanalu:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " nadimaka"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Interval ažuriranja:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Uključi ekranski prikaz (OSD)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "&Ekranski prikaz"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Crtaj senke"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Font za OSD:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "Pri&kaži OSD poruku"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Ako se &moj nadimak pojavi u poruci kanala"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Pri &bilo kojoj poruci kanala"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Pri aktivnosti &upita"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "Pri događajima pri&druživanja/odlaženja"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Uključi posebne boje"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Boja &teksta:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "Boja &pozadine:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Ostala podešavanja"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Trajanje:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Ekran:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Prozor"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "No&vi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "U&kloni"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Zameni u"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Nađi"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Zameni sa"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Zameni u:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Nađi:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Zameni sa:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Uključi &vremenske pečate"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "Pri&kaži datume"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Prikaži &istorijat"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Linije: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Raspored"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Prikaži &temu kanala"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Prikaži dugmadi &kanalskih režima"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Prikaži t&raku klizača"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Prikaži &kutiju za promenu sopstvenog nadimka"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Prikaži &brzu dugmad"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Prikaži prava imena u listi nadimaka"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Prikaži listu &nadimaka na kanalu i brze dugmiće"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Prikaži &maske domaćina u listi nadimaka"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Uključi &pozadinsku sliku"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Put&anja:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Posebne boje"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "&Koristi posebne boje za polje unosa, listu nadimaka i listu jezičaka"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "Po&zadina:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "Poruka &servera:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hiperveza:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Poruka &kanala:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Akcija:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "Povratni &dnevnik:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Poruka &naredbe:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Poruka &upita:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Vremenski pečat:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternativna pozadina:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Obojeni nadimci"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Sopstvena boja"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&Dozvoli obojeni tekst u IRC porukama"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Ako uključite ovu opciju, kodovi boja dodati IRC porukama rezultovaće obojenim "
+"tekstom u vašem prozoru za ćaskanje. Kodove boja možete dodavati svojim "
+"porukama pomoću Ubaci -> IRC boja"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Pregled"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Ovako će vaša poruka izgledati sa ovim bojama"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Ovo je pregled toga kako čitaoci mogu videti vašu poruku ako izaberete ove "
+"boje."
+"<br>\n"
+"<b>Napomena: Ovo ne podržavaju svi klijenti, a i neki korisnici mogu izabrati "
+"da ignorišu promene boja.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Izabrana boja teksta dodaje se ulaznoj liniji."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Ovde možete izabrati koje boje će biti tekst koji pošaljete u sledećoj "
+"poruci. Ako izaberete boju i kliknete na „U redu“, izabrana boja će biti dodata "
+"ulaznoj liniji. Sav tekst pisan posle toga biće u istoj boji, sve dok je ponovo "
+"ne promenite."
+"<br>\n"
+"<b>Napomena: Ne uključuju svi korisnici opciju kojom se ovo može videti.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "Boja &iscrtavanja:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Izabrana boja pozadine teksta dodaje se ulaznoj liniji."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Ovde birate koja će biti boja pozadine za tekst koji ćete poslati u "
+"sledećoj poruci.\n"
+"Ako izaberete boju i kliknete na „U redu“, izabrana boja će biti dodata ulaznoj "
+"liniji.\n"
+"Sav tekst pisan posle toga biće u istoj boji, sve dok je ponovo ne promenite."
+"<br>\n"
+"Izbor podrazumevanog <i>Nijedna</i>“ neće promeniti boju pozadine teksta, i "
+"čitaoci će videti vašu poruku sa njihovom normalnom bojom pozadine."
+"<br>\n"
+"<b>Napomena: Ovo ne podržavaju svi klijenti, a i ne uključuju svi korisnici "
+"opciju kojom se ovo može videti.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Dijalozi upozorenja za prikazivanje"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Lozinka:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
+
+#~ msgid "Messages"
+#~ msgstr "Poruke"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "Prikaži poruke o &odsutnosti"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Postavi &dostupnost globalno"
+
+#~ msgid " s"
+#~ msgstr " s"
+
+#~ msgid "Every "
+#~ msgstr "Svakih "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "Upozorenje pri brisanju fajla primljenog preko DCC"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "Ključ za %1 je uspešno postavljen."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "Ne mogu da uklonim fajl „%1“."
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC greška"
+
+#~ msgid "Remove File"
+#~ msgstr "Ukloni fajl"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Detalji prenosa"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Ukloni sa ovog panela"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Ukloni primljene fajlove"
+
+#~ msgid "&Remove File"
+#~ msgstr "&Ukloni fajl"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr ""
+#~ "Želite li zaista da uklonite izabran %n fajl?\n"
+#~ "Želite li zaista da uklonite izabrana %n fajla?\n"
+#~ "Želite li zaista da uklonite izabranih %n fajlova?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Potvrda brisanja"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Prikaži pravo ime osobe pored njenog nadimka u listi."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "Veza sa serverom %1 je izgubljena: %2. Pokušavam da se ponovo povežem."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "Pokušavam sa serverom %1."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Čekam dva minuta pre ponovnog pokušaja povezivanja..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Dostupne grupe podešavanja: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "Dostupne opcije u grupi %1:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Upotreba: %1PREFS <grupa> <opcija> <vrednost> ili %2PREFS LIST da izlistate grupe ili %3PREFS grupa LIST da izlistate opcije u grupi. Stavite navodnike ako parametri sadrže razmake."
diff --git a/po/sv/Makefile.am b/po/sv/Makefile.am
new file mode 100644
index 0000000..300ce12
--- /dev/null
+++ b/po/sv/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = sv
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/sv/konversation.po b/po/sv/konversation.po
new file mode 100644
index 0000000..4ff7dad
--- /dev/null
+++ b/po/sv/konversation.po
@@ -0,0 +1,7463 @@
+# translation of konversation.po to Swedish
+#
+# Karolina Lindqvist <pgd-karolinali@algonet.se>, 2003.
+# Dario Abatianni <eisfuchs@tigress.com>, 2003.
+# Stefan Asserhäll <stefan.asserhall@comhem.se>, 2004, 2005, 2006, 2007, 2008.
+# Stefan Asserhall <stefan.asserhall@comhem.se>, 2005.
+# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-19 10:00+0200\n"
+"Last-Translator: Stefan Asserhäll <stefan.asserhall@comhem.se>\n"
+"Language-Team: Swedish <sv@li.org>\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/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "Kanalalternativ för %1"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "Dölj &avancerade lägen >>"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "Visa &avancerade lägen >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Ny"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "okänd"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "Tillgänglig information om filen %1:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Filinformation"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Ingen detaljinformation om den här filen hittades."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Skicka"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Ta emot"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Köad"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Förbereder"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Väntar"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Ansluter"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Tar emot"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Skickar"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Klar"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Misslyckad"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "Avbruten"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/sekund"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Vem-är-det"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Version"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Pinga"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Ge operatörsprivilegier"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Ta operatörsprivilegier"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "Ge deloperatörsprivilegier"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "Ta deloperatörsprivilegier"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Ge röst"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Ta röst"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Lägen"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Sparka ut"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Utsparkningsbannlysning"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Bannlys smeknamn"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "Bannlys *|*@*.värddator"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "Bannlys *|*@domän"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "Bannlys *|användare@*.värddator"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "Bannlys *|användare@domän"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "Utsparka och bannlys *|*@*.värddator"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "Utsparka och bannlys *|*@domän"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "Utsparka och bannlys *|användare@*.värddator"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "Utsparka och bannlys *|användare@domän"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Utsparkning/bannlysning"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Ignorera"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Ignorera inte"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Öppna &frågekanal"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "Öppna DCC-&chatt"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Skicka &fil..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "&Skicka e-post..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Adressbokskopplingar"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "Lägg till i bevakade smeknamn"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Här visas alla personer i kanalen. Smeknamnet för varje person visas."
+"<br>Oftast syns en ikon som visar status för varje person, men det verkar inte "
+"som du har något ikontema installerat. Se Konversations inställningar: <i>"
+"Anpassa Konversation</i> i menyn <i>Inställningar</i>"
+". Visa därefter sidan för <i>Teman</i> under <i>Utseende</i>.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Det här visar alla personer i kanalen. Smeknamnet för varje person visas, "
+"och en bild som anger deras status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Den här personen har administratörsrättigheter.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Den här personen är en kanalägare.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Den här personen är kanaloperatör.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Den här personen är deloperatör för kanalen.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Den här personen har en röst, och kan därför tala i en modererad kanal.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Den här personen har inte några särskilda rättigheter.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Det här anger att den här personen för närvarande är borta.</td></tr>"
+"</table>"
+"<p>Betydelsen av administratör, ägare och deloperatör varierar mellan olika "
+"IRC-servrar."
+"<p>Att hålla musen över ett smeknamn visar nuvarande status, samt eventuell "
+"information i adressboken för personen. Se Konversations handbok för mer "
+"information.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Redigera kontakt..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "Välj eller ändra kopplingar..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Välj kontakt..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "Ändra koppling..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Skapa ny kontakt..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "Ta bort koppling"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Kanal"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Fråga"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Notis"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "Undantag"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Flikar"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Idag"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Igår"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (identifierad)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "E-post"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Värddatormask:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Frånvaromeddelande:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(okänd)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Uppkopplad sedan:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "Klicka för att köra editorn för reguljära uttryck (Kregexpeditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Editorn för reguljära uttryck (Kregexpeditor) är inte installerad"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Utgående"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Inkommande"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Båda"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "Gå med i kanal på %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Snabbanslutning"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Servervärddator:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Skriv in nätverkets värddator här."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "Porten som IRC-servern använder."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Smek&namn:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Smeknamnet du vill använda."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Lösenord:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Om IRC-servern kräver ett lösenord, skriv in det här (de flesta servrar kräver "
+"inte ett lösenord)."
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "An&vänd SSL"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "Ans&lut"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Anslut till servern"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Kunde inte öppna ett uttag för att lyssna: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "Erbjuder DCC-chattanslutning till %1 via port %2..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "DCC-chat med %1 via port %2."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "Upprättar DCC-chattanslutning till %1 (%2:%3)..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "DCC-chatt med %1 på %2:%3."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "Upprättade DCC-chattanslutning till %1."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Anslutningen nerkopplad, felkod %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "Tog emot okänd CTCP %1-begäran från %2"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "Kunde inte acceptera klienten."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Standard (%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Serverlista"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Klicka här för att ansluta till markerat IRC-nätverk och kanal."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Listan med inställda IRC-nätverk visas här. Ett IRC-nätverk är en samling av "
+"samarbetande servrar. Du behöver bara ansluta till en av servrarna i nätverket "
+"för att vara ansluten till hela IRC-nätverket. När du väl är ansluten, går "
+"Konversation automatiskt med i kanalerna som visas. När Konversation startas "
+"för första gången, är Freenode-nätverket och kanalen <i>#kde</i> "
+"redan inskrivna åt dig."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Nätverk"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Identitet"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Kanaler"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Ny..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Klicka här för att definiera ett nytt nätverk, inklusive servern att ansluta "
+"till, och kanalerna att gå med i automatiskt efter anslutning."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Redigera..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Visa vid programstart"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Nytt nätverk"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Redigera nätverk"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"Du kan inte ta bort %1.\n"
+"\n"
+"Nätverket %2 måste ha åtminstone en server."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Du kan inte ta bort markerade servrar.\n"
+"\n"
+"Nätverket %1 måste ha åtminstone en server."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Vill du verkligen ta bort de markerade posterna?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "Vill du verkligen ta bort %1?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Visa senaste:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Använd rutan för att ställa in loggfilens maximala storlek. Inställningen får "
+"ingen effekt förrän du startar om Konversation. Varje loggfil kan ha en separat "
+"inställning."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " Kibyte"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Töm loggfil"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Meddelanden från loggfilen visas här. De äldsta meddelandena är längst upp och "
+"de senaste längst ner."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "Vill du verkligen permanent ta bort all logginformation från filen?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Observera: Genom att spara loggfilen kommer du att spara all data i filen, inte "
+"bara den del som visas."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Spara loggfil"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Välj målkatalog"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Information"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "Försöker ansluta till %1 om %2 sekunder."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "Försöker återansluta till %1 om %2 sekunder."
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "Antal försök att återansluta överskridna."
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "Du är redan ansluten till %1. Vill du öppna en annan anslutning?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "Redan ansluten till %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "Skapa anslutning"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"Du är för närvarande ansluten till %1 via '%2' (port %3). Vill du byta till "
+"'%4' (port %5) istället?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "Byt server"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Fyll i din <b>identitet</b>.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Fyll i ditt <b>Riktiga namn</b>.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Tillhandahåll minst ett <b>Smeknamn</b>.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Din identitet \"%1\" är inte riktigt inställd:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Identitetsinställningar"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Redigera identitet..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Identiteter"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Identitet:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Duplicera"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Byt namn"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Allmänt"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "&Riktigt namn:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Skriv in ditt riktiga namn här. IRC är inte avsett för att hålla dig dold från "
+"dina vänner eller fiender. Kom ihåg det om du är frestad att bete dig ondsint. "
+"Ett förfalskat \"riktigt namn\" kan vara ett bra sätt att dölja ditt kön för "
+"töntar därute, men datorn du använder kan alltid spåras så du kan aldrig vara "
+"helt anonym."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Smeknamn"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Det här är din lista med smeknamn. Ett smeknamn är namnet som andra användare "
+"känner dig som. Du kan använda vilket namn du vill. Det första tecknet måste "
+"vara en bokstav.\n"
+"\n"
+"Eftersom smeknamn måste vara unika i ett helt IRC-nätverk, kan ditt önskade "
+"namn förkastas av servern eftersom någon annan redan använder det. Skriv in "
+"alternativa smeknamn för dig själv. Om ditt första val förkastas av servern, "
+"försöker Konversation med de alternativa smeknamnen."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Lägg till..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Redigera..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Automatisk identitet"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "T&jänst:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Tjänstnamnet kan vara <b><i>nickserv</i></b> eller ett nätverksberoende namn "
+"som <b><i>nickserv@services.dal.net</i></b>."
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "Lö&senord:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Borta"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Markera den sista positionen i chattfönster när du går ifrån"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Om du markerar rutan, visas en horisontell linje i kanalen så fort du utför "
+"kommandot <b>/away</b> som markerar stället där du gick ifrån. Andra "
+"IRC-användare ser inte den horisontella linjen."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Smeknamn vid frånvaro:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Skriv in ett smeknamn som anger att du är borta. Så fort du utför kommandot <b>"
+"/away meddelande</b> i någon kanal du gått med i med den här identiteten, "
+"ändrar Konversation automatiskt ditt smeknamn till smeknamnet vid frånvaro. "
+"Andra användare kan avgöra om du är borta från datorn. Så fort du utför "
+"kommandot <b>/away</b> i någon kanal där du är borta, ändrar Konversation "
+"automatiskt tillbaka ditt smeknamn till det ursprungliga. Om du inte vill ändra "
+"ditt smeknamn automatiskt när du är borta, lämna det tomt."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "Automatisk frånvaro"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+"Om du markerar rutan, kommer Konversation automatiskt markera alla anslutningar "
+"som använder identiteten som frånvarande när skärmsläckaren startar eller efter "
+"en period utan aktivitet av användaren som ställs in nedan."
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "Ange som frånvarande efter"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " minuter"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "utan aktivitet av användaren"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "Återkom automatiskt vid aktivitet"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+"Om du markerar rutan, kommer Konversation automatiskt avbryta frånvaro för "
+"anslutningar som använder identiteten när skärmsläckaren stoppar eller ny "
+"aktivitet av användaren detekteras."
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "Frånvaromeddelanden"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Om du markerar rutan, skickar Konversation automatiskt frånvaromeddelanden till "
+"alla kanaler du gått med i med den här identiteten. <b>%s</b> ersätts med <b>"
+"meddelande</b>. Så fort du utför kommandot <b>/away</b>"
+", visas återkomstmeddelandet i alla kanaler du gått med i med den här "
+"identiteten."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Frånvaro&meddelande:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "Å&terkomstmeddelande:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Avancerat"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Inledande skalkommando:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Här kan du skriva in ett kommando som ska köras innan anslutningen till servern "
+"startas."
+"<br>Om du har flera servrar i identiteten utförs kommandot för varje server."
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "I&dentifikation:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"När du ansluter frågar många servrar din dator om ett IDENT-svar. Om datorn "
+"inte kör en IDENT-server, skickas det här svaret av Konversation. Några "
+"mellanslag är inte tillåtna."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "&Kodning:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Den här inställningen påverkar hur tecken du skriver in kodas för att skickas "
+"till servern. Den påverkar också hur meddelanden visas. När du först startar "
+"Konversation, hämtas inställningen automatiskt från operativsystemet. Om du "
+"verkar ha problem med att se andra användares meddelanden riktigt, försök att "
+"ändra den här inställningen."
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "&Avslutningsorsak:"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Så fort du lämnar en server, visas det här meddelandet för andra."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Lämningsorsak:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Så fort du lämnar en kanal, skickas det här meddelandet till kanalen."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Utsparkningsorsak:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Så fort du sparkas ut från en kanal (oftast av en IRC-operatör), skickas det "
+"här meddelandet till kanalen."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Ändra identitetsinformation"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Slänger alla ändringar gjorda"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Du måste åtminstone lägga till ett smeknamn i identiteten."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "Skriv in ett riktigt namn."
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Lägg till smeknamn"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Smeknamn:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Redigera smeknamn"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Lägg till identitet"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Identitetsnamn:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Du måste ge identiteten ett namn."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Byt namn på identitet"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Den här identiteten används. Om du tar bort den kommer nätverksinställningarna "
+"som använder den återgå till förvald identitet. Ska den tas bort ändå?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Är du säker på att du vill ta bort all information för identiteten?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Ta bort identitet"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Duplicera identitet"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normala användare"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Med röst (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Deloperatörer (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatörer (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Kanaladministratörer (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Kanalägare (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Infoga tecken"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Infoga ett tecken"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Bokmärkeseditor för Konversation"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Ingen ledig port"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Kunde inte öppna ett uttag"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Sök text..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "Kopiera webbadress till klippbordet"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Lägg till bokmärke"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Spara länk som..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "Öppna frågekanal med %1"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "Gå med i kanal %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "Dagens-meddelande"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Underrättelse"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Gå med"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Del"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Öppna frågekanal"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "&Gå med"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Hämta &användarlista"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "&Hämta ämne"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "Inga träffar hittades för \"%1\"."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Spara länk som"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Serverlista..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Hantera nätverk och servrar"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "Snabb&anslutning..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Skriv in adressen för en ny IRC-server att ansluta till"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "Anslut i&gen"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Anslut till nuvarande server igen."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Koppla ner"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Koppla ner från nuvarande server."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "&Identiteter..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Hantera smeknamn, frånvaro och andra identitetsinställningar"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Bevakade uppkopplade smeknamn"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC-status"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Ö&ppna loggfil"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Öppnar känd historik för kanalen under en ny flik"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Kanalinställningar..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Öppna dialogrutan med kanalinställningar för fliken"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Kanal&lista"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Visar en lista med alla kända kanaler på servern"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Webbadressinfångning"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Listar alla webbadresser som nyligen har nämnts under en ny flik"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&Ny terminal"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Öppna en terminal under en ny flik"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Nästa flik"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Föregående flik"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "Stäng &flik"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Nästa aktiva flik"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Flytta flik uppåt"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Flytta flik neråt"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Flytta flik åt höger"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Flytta flik åt vänster"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "Gå med i kanal igen"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Aktivera underrättelser"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "Gå med vid anslutning"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Ange kodning"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "Gå till flik %1"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "Rensa &markeringslinjer"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Rensar markeringslinjer i nuvarande flik"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "&Töm fönster"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Tömmer innehållet i nuvarande flik"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Töm &alla fönster"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Tömmer innehållet i alla öppna flikar"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "Allmän frånvaro"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Gå med i kanal..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC-färg..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Ange färg för ditt nuvarande IRC-meddelande"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&Markeringslinje"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "Lägg till en horisontell linje i nuvarande flik som bara du kan se"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Special&tecken..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Infoga vilket tecken som helst i ditt nuvarande IRC-meddelande"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "Stäng &alla öppna frågekanaler"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Dölj smeknamnslista"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt>Du har aktiva DCC-filöverföringar. Är du säker på att du vill avsluta <b>"
+"Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Bekräfta avslutning"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>Är du säker på att du vill avsluta <b>Konversation</b>?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Stängs huvudfönstret fortsätter Konversation att köra i systembrickan. "
+"Använd <b>Avsluta</b> i menyn <b>Konversation</b> för att avsluta "
+"programmet.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Dockning i systembrickan"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Det här döljer menyraden helt och hållet. Du kan visa den igen genom att "
+"skriva %1.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Växla underrättelser"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Växla borta globalt"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "Infoga &IRC-färg..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Infoga special&tecken..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "Infoga &markeringslinje"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Kanallista"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "&Ange som borta globalt"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Obehandlad"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "Användning: %1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Användning: %1JOIN <kanal> [nyckel]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Användning: %1KICK <smeknamn> [skäl]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr ""
+"%1PART utan parametrar fungerar endast inifrån en kanal eller en frågekanal."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART utan kanalnamn fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC utan parametrar fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC utan kanalnamn fungerar endast inifrån en kanal."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES utan mål kan koppla ner dig från servern. Ange '*' om du verkligen "
+"vill det."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+"Användning: %1close [fönster] stänger namngiven kanal eller frågeflik, eller "
+"den nuvarande fliken om ingen anges."
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Användning: %1NOTICE <mottagare> <meddelande>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "Skickar meddelandet \"%2\" till %1."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Användning: %1ME text"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "Sänder CTCP %1-begäran till %2."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "Filen \"%1\" finns inte."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Användning: %1DCC [SEND smeknamn filnamn]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Användning: %1DCC [CHAT smeknamn]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Okänt kommando %1DCC %2. Möjliga kommandon är SEND, CHAT, CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Användning: %1INVITE <smeknamn> [kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE utan kanalnamn fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 är inte en kanal."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Användning: %1EXEC <skript> [parameterlista]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Skriptnamnet får inte innehålla \"../\"."
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Användning: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Aktuell underrättelselista är tom."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Aktuell underrättelselista: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "Skriv in användarnamn och nyckel för IRC-operatörsprivilegier:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "Nyckel för IRC-operatörsprivilegier"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN utan kanalnamn fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN utan kanalnamn fungerar endast inifrån en kanal."
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr ""
+"Användning: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [kanal] "
+"<användare|mask>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"Användning: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [kanal] "
+"<användare|mask> [orsak]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN utan kanalnamn fungerar endast inifrån kanaler."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Användning: %1UNBAN [kanal] mönster"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "Lägger till %1 i din ignorera-lista."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "Användning: %1IGNORE [ -ALL ] användarlista"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Användning: %1UNIGNORE <användare 1> <användare 2> ... <användare n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "Tog bort %1 från din ignorera-lista."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Ingen sådant ignorering: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Inga sådana ignoreringar: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Användning: %1QUOTE kommandolista"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Användning: %1SAY text"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Användning"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Användning: %1AME text"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Användning: %1AMSG text"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Användning: %1OMSG text"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "Sänder notis \"%1\" till %2."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Användning: %1ONOTICE text"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Aktuell kodning är: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Byte till kodningen %1."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 är inte en giltig kodning."
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Användning: %1setkey [<smeknamn> eller <kanal>] <nyckel> "
+"anger krypteringsnyckeln för smeknamnet eller kanalen. Använd %2setkey <nyckel> "
+"för att ange nyckeln inne i en kanal eller frågeflik."
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "Nyckeln för %1 är angiven."
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Användning: %1delkey <smeknamn> eller <kanal> Tar bort krypteringsnyckeln för "
+"smeknamnet eller kanalen"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "Nyckeln för %1 har tagits bort."
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "Nyckeln för %1 är \"%2\"."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "Någon nyckel har inte angivits för %1."
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Användning: %1DNS <smeknamn>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "Löste upp %1 till: %2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "Kunde inte lösa upp %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Omvänd upplösning kräver KDE version 3.5 eller senare."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Användning: %1KILL <smeknamn> [kommentar]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt> Inmatningsraden är stället där du skriver meddelanden som ska skickas på "
+"kanalen, via en förfrågan eller till servern. Ett meddelande som skickas på en "
+"kanal ses av alla på kanalen, medan ett meddelande i en förfrågan bara skickas "
+"till personen i förfrågan."
+"<p>För att automatiskt fylla i smeknamnet du har börjat skriva, tryck på "
+"tabulatortangenten. Om du ännu inte har skrivit någonting, används det senast "
+"riktigt ifyllda smeknamnet."
+"<p>Du kan också skicka specialkommandon: "
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>åtgärd</i></th>"
+"<td>visas som en åtgärd på kanalen eller i förfrågan. Till exempel: <em>"
+"/me sjunger en sång</em> visas på kanalen som 'Smeknamn sjunger en sång'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>smeknamn</i></th>"
+"<td>visar information om personen, inklusive vilken kanal de deltar i.</td></tr>"
+"</table>"
+"<p>Se Konversations handbok för fler kommandon."
+"<p>Ett meddelande kan inte innehålla flera rader.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Du försöker klistra in en stor mängd text i chatten (%1 byte eller %2 "
+"rader). Det kan orsaka återställning av anslutningen eller flöden med försök "
+"att avbryta. Vill du verkligen fortsätta?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Varning för stor inklistring"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "En användarvänlig IRC-klient"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// webbadress eller serverns värddatornamn"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Server att ansluta till"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Port att använda"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Kanal att gå med i efter anslutning"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Smeknamn att använda"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Lösenord för anslutning"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Använd SSL för anslutning"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "© 2002-2008 av Konversation-gruppen"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation är en klient för Internet Relay Chat (IRC)-protokollet.\n"
+"Träffa vänner på nätet, gör nya bekantskaper och fördjupa dig i\n"
+"konversation om ditt favoritämne."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Ursprunglig upphovsman, projektets grundare"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Utvecklare"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "Underhåll, utgåveansvarig, användargränssnitt, protokollhantering"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, kodningshantering, positionering av skärmmeddelanden"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protokollhantering, inmatningsrad"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish-stöd, SSL-stöd, överfört till Knetwork, färgade smeknamn, "
+"smeknamnsteman"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Omorganisation, integrering med adressbok och Kontact"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Värd för hemsida"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Underhåll av hemsida"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr ""
+"Utökning till flera lägen, placering av stängknapp, funktion för meddelanden på "
+"skärmen"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Dokumentation, förbättringar av bevakade uppkopplade smeknamn, utökning med "
+"egen webbläsare"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Färginställning, färgläggningsdialogruta"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP-gränssnitt"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Andra kodningar än Latin-1"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Terminalvisning"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Snabbanslutning, överföring av nya skärmmeddelanden, andra funktioner och "
+"felrättningar"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "En handfull rättningar och kodupprensning"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Förbättringar av drag och släpp"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Grafik"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Sökrad med Firefox-stil"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Obehandlade lägen, flikgruppering per server, bannlysningslista"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Programfix för systembrickan"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Felrättningar"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Programfix för utökade användarlägen"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Stäng synliga flikar med genvägsprogramfix"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Byt flik med musens hjul"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Programfix för läget kanalägare"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "Alternativ för att aktivera filtrering av IRC-färger"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Felrättningar, arbete på skärmvisning, rensa bort ämnen"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Systeminformationsskript"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "Sammanhangsberoende meny för gå med automatiskt"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "Tog emot CTCP-pingbegäran från %1 till kanal %2. Skickar svar."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "Tog emot CTCP-%1-begäran från %2. Skickar svar."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "Tog emot versionsbegäran från %1 till kanal %2."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "Tog emot versionsbegäran från %1."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "Tog emot ogiltig DCC-sändningsbegäran från %1."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "Tog emot ogiltig DCC-acceptansbegäran från %1."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "Tog emot ogiltig DCC-återupptagningsbegäran från %1."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "Tog emot ogiltig DCC-chattbegäran från %1."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "Okänt DCC kommando %1 mottaget från %2."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "Tog emot okänd CTCP %1-begäran från %2 till kanal %3."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "Tog emot okänd CTCP %1-begäran från %2."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr " %1 till %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "Tog emot CTCP-pingsvar från %1: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "Tog emot CTCP %1 svar från %2: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Bjud in"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 bjöd in dig till kanal %2."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Välkommen"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Server %1 (Version %2), användarläge: %3, kanalläge: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Stöd"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Dina personliga lägen är:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Kanallägen: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "ämnesskydd"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "inga meddelanden från utsidan"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "hemlig"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "endast inbjudan"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "privat"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "modererad"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "nyckelskyddad"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonym"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "server återop."
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "inga färgkoder tillåtna"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"begränsad till %n användare\n"
+"begränsad till %n användare"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Läge"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "Webbadress"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "Kanalwebbadress: %1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Skapad"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Den här kanalen skapades %1."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Vem-är-det"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 är nu inloggad som %2."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "Namn"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "Slut på namnlista."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "ÄMNE"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "Kanalen %1 har inget ämne inställt."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Ämne"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "Kanalens ämne för %1 är: \"%2\""
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Ämne sattes av %1 vid %2."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Ämnet för %1 sattes av %2 vid %3."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 använder i själva verket värddatorn %2."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Inget sådant smeknamn/kanal."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "Inget sådant smeknamn: %1."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Ingen sådan kanal."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Smeknamn"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Smeknamnet används redan. Försök med ett annat."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Smeknamn är upptaget. Provar %1"
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Felaktigt smeknamn. Ändrar smeknamn till %1."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "Du är nu inte på %1."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Dagens meddelande:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Slut på dagens meddelande"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Du är nu en IRC-operatör på den här servern."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Användare"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Nuvarande användare på nätverket: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "Nuvarande användare på %1: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Borta"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 är borta: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "Du har inbjudit %1 till kanal %2."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 är %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "Löste upp %1 (%2) till adressen: %3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "Kunde inte lösa upp adressen för %1 (%2)"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 är en identifierad användare."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Vem"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 är %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (borta)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "Slut på listan vem-är-det för %1"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 är användare på kanalerna: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 får prata på kanalerna: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 är deloperatör på kanalerna: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 är operatör på kanalerna: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 är ägare av kanalerna: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 är administratör på kanalerna: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 är uppkopplad via %2 (%3)."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 är tillgänglig för hjälp."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 är en IRC-operatör."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr ""
+"1 dag\n"
+"%n dagar"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr ""
+"1 timme\n"
+"%n timmar"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr ""
+"1 minut\n"
+"%n minuter"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr ""
+"1 sekund\n"
+"%n sekunder"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 har varit overksam i %2, %3, %4 och %5."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 har varit overksam i %2, %3 och %4."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 har varit overksam i %2 och %3."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr ""
+"%1 har varit overksam i 1 sekund.\n"
+"%1 har varit overksam i %n sekunder."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 är uppkopplad sedan %2."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "Slut på Vem-är-det-listan."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Användardator"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 är %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC-operatör)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (borta)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Lista"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Kanaler:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr ""
+"%1 (%n användare): %2\n"
+"%1 (%n användare): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Slut på kanaler."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Bannlysningslista: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 tillagd av %2 den %3"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Slut på bannlysningslista."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 är för närvarande inte tillgänglig."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Okänt kommando."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Inte registrerad."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1: Kommandot kräver fler parametrar."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Du har ställt in personliga lägen: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "har ändrat dina personliga lägen:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " ställer in läget: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Standardidentitet"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "Redigera bevakat smeknamn"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Nätverksnamn:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Välj servernätverket du vill ansluta till här."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "Sm&eknamn:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr ""
+"<qt>Smeknamnet att bevaka vid anslutning till en server i nätverket.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Ändra underrättelseinformation"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Anslutningen är skyddad av SSL med %1 bitar."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Funktionen för att ansluta till servrar med krypterad SSL-kommunikation är inte "
+"tillgänglig i Konversation, eftersom OpenSSL-stöd inte aktiverats vid "
+"kompilering. Du måste skaffa en nya version av KDE som stöder SSL."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"SSL-certifikatet som returnerades från servern kändes inte igen. Kanske stöder "
+"inte servern SSL för den angivna porten? Om servern stöder vanlig kommunikation "
+"som inte går via SSL, finns SSL på en annan port."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "Värdens %1 IP-adress matchar inte den som certifikatet utfärdades för."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Behörighetskontroll i server"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Detaljinformation"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Kontroll att serverns certifikat är äkta misslyckades (%1)."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Vill du acceptera det här certifikatet för alltid utan att bli tillfrågad?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&För alltid"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "&Bara nuvarande sessioner"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Markerad] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Fråga] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 gick med %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 lämnade %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 lämnade %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 ändrade smeknamn till %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 vill skicka en fil till dig"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 har startat en konversation med (ställt en fråga till) dig."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 är uppkopplad (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 kopplade ner (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "Du är utsparkad av %1 från %2"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 har startat en DCC-chatt med dig"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Markerad] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "Misslyckades ansluta till %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "Du har gått med i %1."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Frasen hittades inte"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Omstartad sökning"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+"Det går inte att ångra detta. Är du säker på att du vill återställa till "
+"förvalda värden?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "Återställ värden"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Nätverksgränssnitt"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "Svar från IRC-server"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Ange manuellt"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC-färgväljare"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Ingen"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Server:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Namnet eller IP-numret på servern. En lista med servrar upprätthålls av "
+"irchelp.org."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Skriv in portnumret som krävs för att ansluta till servern. För de flesta "
+"servrar ska det vara <b>6667</b>."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "L&ösenord:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "Säker ansl&utning (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Markera om du vill använda SSL-protokollet (Secure Socket Layer) för att "
+"kommunicera med servern. Det hemlighåller kommunikationen mellan din dator och "
+"IRC-servern. Servern måste stödja SSL-protokoll för att det ska fungera. I de "
+"flesta fall om servern inte stöder SSL, misslyckas anslutningen."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Serveradressen krävs."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Administratören har begränsat rättigheten att skicka filer"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "Webbadressen \"%1\" finns inte"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "Kunde inte hämta \"%1\""
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Skriv in filnamn"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt>Filen du skickar till <i>%1</i> har inget filnamn."
+"<br>Skriv in ett filnamn som visas för mottagaren, eller avbryt "
+"DCC-överföringen.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Inget filnamn angavs"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr ""
+"Kunde inte skicka begäran om DCC-sändning till motparten via IRC-servern."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Väntar på att den andra användaren ska acceptera"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Kunde inte acceptera anslutningen (uttagsfel)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "Kunde inte öppna filen: %1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Uttagsfel: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Tidsgräns överskriden"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Anslutning misslyckades: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Fjärranvändare nerkopplad"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "Åtgärden lyckades. Bör aldrig inträffa i en feldialogruta."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "Kunde inte läsa från filen \"%1\"."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "Kunde inte skriva till filen \"%1\"."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Ett allvarligt fel utan möjlighet till återhämtning inträffade."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "Kunde inte öppna filen \"%1\"."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "Åtgärden avbröts oväntat."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "Åtgärden överskred tidsgräns."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Ett ospecificerat fel uppstod vid stängning."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Okänt fel. Kod %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "Skicka med DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "Ta emot med DCC"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Omvänd DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Okänd server"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 på %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Ja, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 sek"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Terminal"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Klar."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Det här visar antal användare i kanalen, och antalet av dem som är "
+"operatörer (ops)."
+"<p>En kanaloperatör är en användare som har särskilda rättigheter, som "
+"möjligheten att sparka ut och bannlysa användare, ändra kanallägen och göra "
+"andra användare till operatörer.</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Fördröjning: Okänd"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"All kommunikation med servern är krypterad. Det gör det svårare för någon att "
+"avlyssna kommunikationen."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Statusraden visar diverse meddelanden, inklusive eventuella "
+"anslutningsproblem till servern. Längst till höger visas nuvarande fördröjning "
+"till servern. Fördröjningen är tiden det tar för meddelanden från dig att nå "
+"servern, och från servern tillbaka till dig.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Fördröjning: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Fördröjning: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "Inget svar från servern %1 under mer än %2, %3, %4 och %5."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "Inget svar från servern %1 under mer än %2, %3 och %4."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "Inget svar från servern %1 under mer än %2 och %3."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr ""
+"Inget svar från servern %1 under mer än 1 sekund.\n"
+"Inget svar från servern %1 under mer än %n sekunder."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "Söker efter server %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "Servern %1 hittades inte: %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Servern hittades, ansluter..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Ansluten. Loggar in..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "Anslutning till server %1 förlorad: %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"Kunde inte ansluta till %1:%2 med SSL-kryptering. Kanske stöder inte servern "
+"SSL, eller har du fel port? %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL-anslutningsfel"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "Nerkopplad från %1."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"Några smeknamn för identiteten \"%1\" accepterades inte av anslutningen "
+"\"%2\".\n"
+"Skriv in ett nytt, eller klicka på Avbryt för att koppla ner:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Smeknamnsfel"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Ett fel uppstod vid läsning av data från servern: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "Välj fil(er) att sända till %1"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 erbjuder sig att skicka dig \"%2\" (%3)..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "okänd storlek"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "Frågar om %1 accepterar uppladdning av \"%2\" (%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"Mottog ogiltig meddelande med acceptans av passiv DCC-sändning för \"%1\" från "
+"%2."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "Återupptar nerladdning av \"%1\" från %2 med början på %3 % av %4..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "Mottog ogiltig begäran om att återuppta \"%1\" från %2."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Återupptar uppladdning av \"%1\" till %2 med början på %3 % av %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "Mottog ogiltig begäran om att återuppta \"%1\" från %2."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "Nerladdning av \"%1\" från %2 klar."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "Nerladdning av \"%1\" från %2 misslyckades. Orsak: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "Uppladdning av \"%1\" till %2 klar."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "Uppladdning av \"%1\" till %2 misslyckades. Orsak: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "Skickar \"%1\" till %2."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "Nerladdning av \"%1\" (%2) från %3..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "Du inbjöds av %1 att gå med i kanal %2. Accepterar du inbjudningen?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Inbjudning"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Fel: Kunde inte hitta skriptet \"%1\"."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Fel: Kunde inte köra skriptet \"%1\". Kontrollera filrättigheter."
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "Borta för tillfället"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Du anges nu som borta."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Du anges inte längre som borta."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Du anges inte som borta."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "Bevakade uppkopplade smeknamn"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Nätverk/smeknamn/kanal"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Ytterligare information"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Det här är alla smeknamn i din lista med bevakade smeknamn, listade under "
+"servernätverket de är anslutna till. Listan innehåller också smeknamnen i "
+"adressboken som hör ihop med servernätverket.</p>"
+"<p>Kolumnen <b>Ytterligare information</b> visar informationen som är känd för "
+"varje smeknamn.</p>"
+"<p>Kanalerna som smeknamnet har gått med i listas under varje smeknamn.</p>"
+"<p>Smeknamn som visas under <b>Nerkopplade</b> är inte anslutna till någon av "
+"servrarna i nätverket.</p> "
+"<p>Högerklicka med musen på ett smeknamn för att utföra ytterligare "
+"funktioner.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "&Redigera bevakningslista..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Klicka för att redigera listan med smeknamn som visas på skärmen."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Adressbok:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"När du markerar ett smeknamn i listan ovan, används knapparna här för att "
+"koppla ihop smeknamnet med en post i adressboken."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "Redigera k&ontakt..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Klicka för att skapa, visa eller redigera adressboksposten som hör ihop med "
+"smeknamnet som markerats ovan."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "Ändra &koppling..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Klicka för att koppla ihop smeknamnet som markerats ovan med en post i "
+"adressboken."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "&Ta bort koppling"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Klicka för att ta bort kopplingen mellan smeknamnet som markerats ovan och "
+"posten i adressboken."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " uppkopplad via %1"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " sedan %1"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Nerkopplade"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Röst"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Deloperatör"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operatör"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Ägare"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Administratör"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "Skapa ny k&ontakt..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "&Välj koppling..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Gå med i kanal"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Välj ljudfil"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Loggfil startad\n"
+"*** den %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Gå automatiskt med i kanal vid inbjudan"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Observera att hela filen sparas när loggfiler sparas"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Fråga innan loggfilers innehåll tas bort"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Fråga om att stänga frågekanaler efter att ha ignorerat smeknamn"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Fråga innan en anslutning bytes till en annan server i nätverket"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Fråga innan en annan anslutning skapas till samma nätverk eller server"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Stäng serverflik"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Stäng kanalflik"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Stäng frågeflik"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Kanallistan kan bara öppnas i flikar som känner till servern."
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Varning då huvudmenyn döljs"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Varning vid mycket trafik för kanaler"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Varning då stora mängder text klistras in"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Varning då Konversation avslutas"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "Varna innan avslutning med aktiva DCC-filöverföringar"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Kanaler"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filtreringsinställningar"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "Minimalt antal användare:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "Maximalt antal användare:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Du kan begränsa kanallistan till de kanaler som har ett minimalt antal "
+"användare här. Att välja 0 inaktiverar kriteriet."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Du kan begränsa kanallistan till de kanaler som har ett maximalt antal "
+"användare här. Att välja 0 inaktiverar kriteriet."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Filtreringsmönster:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filtermål:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Skriv in en filtreringssträng här."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Reguljärt uttryck"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Använd filter"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Klicka här för att hämta listan över kanaler från servern och tillämpa filtret."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Den filtrerade kanallistan visas här. Observera att om du inte använder "
+"reguljära uttryck, listar Konversation alla kanaler vars namn innehåller "
+"filtersträngen som du skriver in. Kanalnamnet behöver inte börja med strängen "
+"du skrev in.\n"
+"\n"
+"Välj en kanal du vill gå med i genom att klicka på den. Högerklicka på kanalen "
+"för att få en lista med alla webbadresser som nämns i kanalens ämne."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Kanalnamn"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Kanalämne"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Uppdatera lista"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Spara lista..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Gå med i kanal"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Klicka här för att gå med i kanalen. En ny flik skapas för kanalen."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Spara kanaler"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation-kanaler: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Kanaler: %1 (%2 visas)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Inte unika användare: %1 (%2 visas)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "Öppna webbadress"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Ingen webbadress hittades>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "Kanallista för %1"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Uppkopplad"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för direktmeddelanden, men "
+"angav inte någon kontakt att skicka meddelandet till. Det är troligen ett fel i "
+"det andra programmet."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för direktmeddelanden, men "
+"Konversation kunde inte hitta den angivna kontakten i KDE:s adressbok."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för direktmeddelanden, men "
+"den begärda användaren %1 är inte uppkopplad."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för att skicka en fil till "
+"en kontakt, men angav inte någon kontakt att skicka filen till. Det är troligen "
+"ett fel i det andra programmet."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för att skicka en fil till "
+"en kontakt, men Konversation kunde inte hitta den angivna kontakten i KDE:s "
+"adressbok."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för att skicka en fil till "
+"en kontakt, men den begärda användaren %1 är för närvarande inte uppkopplad."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Ett annat KDE-program försökte använda Konversation för att lägga till en "
+"kontakt. Konversation stöder inte det."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Kunde inte starta adressboksprogrammet (kaddressbook). Det är troligen på grund "
+"av att det inte är installerat. Installera paketet 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "Kontakten du har markerat har inte en tillhörande e-postadress. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "Kan inte skicka e-post"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"Kunde inte starta ditt e-postprogram. Det är troligen på grund av att det inte "
+"är installerat. För att installera KDE:s e-postprogram (kmail), installera "
+"paketet 'kdepim'."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Ingen av kontakterna du har markerat hör ihop med adressbokskontakter. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Kontakten du har markerat hör inte ihop med en adressbokskontakt. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Vissa av kontakterna (%1) du har markerat hör inte ihop med "
+"adressbokskontakter. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"En av kontakterna (%1) du har markerat hör inte ihop med en adressbokskontakt. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Du kan högerklicka på en kontakt och välja att redigera Adressbokskopplingar "
+"för att länka dem till en kontakt i din adressbok."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Ingen av kontakterna du har markerat har en tillhörande e-postadress. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Vissa av kontakterna (%1) du har markerat har inte tillhörande e-postadresser. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr ""
+"En av kontakterna (%1) du har markerat har inte en tillhörande e-postadress. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Du kan högerklicka på en kontakt och välja att redigera adressbokens kontakt "
+"för att lägga till en e-postadress till den."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Vissa av kontakterna (%1) du har markerat hör inte ihop med kontakter i "
+"adressboken, och vissa av kontakterna (%2) har inte en tillhörande "
+"e-postadress. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Du kan högerklicka på en kontakt och välja att redigera Adressbokskopplingar "
+"för att länka dem till en kontakt i din adressbok, och välja att redigera "
+"adressbokens kontakt för att lägga till en e-postadress till den."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Vill du skicka e-post till smeknamn som har en e-postadress ändå?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "Skicka e-post"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "Länka IRC-smeknamn till adressbokskontakt"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "Välj personen som '%1' är."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "För närvarande hör '%1' till en kontakt."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "För närvarande hör '%1' till kontakten '%2'."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Varning:</b> '%1' listas för närvarande som hörande till flera "
+"kontakter. Välj den riktiga kontakten.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Ny adressbokspost"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Namnge ny post:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "Webbadressinfångning"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr ""
+"Lista med webbadresser som nämns i något av fönstren i Konversation under den "
+"här sessionen."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "Ö&ppna webbadress"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Markera en <b>webbadress</b> ovan, och klicka därefter på knappen för att "
+"starta programmet som hör ihop med webbadressens MIME-typ.</p>"
+"<p>Du kan ange en egen webbläsare för webbadresser med <b>Inställningar</b>"
+", under <b>Beteende</b> | <b>Allmänt</b>.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "K&opiera webbadress"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Markera en <b>webbadress</b> ovan, och klicka därefter på knappen för att "
+"kopiera webbadressen till klippbordet."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "&Ta bort webbadress"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Markera en <b>webbadress</b> ovan, och klicka därefter på knappen för att ta "
+"bort webbadressen från listan."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "S&para lista..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Klicka för att spara hela listan i en fil."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Rensa lista"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Klicka för att rensa hela listan."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "Spara webbadresslista"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Redigera flerraders inklistring"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "Lägg till &citatindikering"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Kanal:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Kanalnamnet krävs."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Obehandlad logg"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Sök efter text i nuvarande flik"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "Kanal&lista för %1"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "Ö&ppna loggfil för %1"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "&Kanalalternativ för %1..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Standard (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Du kan bara söka i textfält."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Sök textinformation"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "Loggfil för %1"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC Status"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Användning av den här funktionen kan orsaka mycket trafik på nätet. Om din "
+"anslutning inte är snabb nog, är det möjligt att din klient kopplas ner av "
+"servern."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Varning för kanaler"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Kanallistan kan bara öppnas från ett frågekanal-, kanal- eller statusfönster, "
+"för att ta reda på vilken server som listan hör till."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Skriv in nätverkets namn här. Du kan skapa så många poster på skärmen "
+"Serverlista med samma nätverk som du vill."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Välj en befintlig identitet eller klicka på Redigera för att lägga till en ny "
+"identitet eller redigera en befintlig. Identiteten identifierar dig och avgör "
+"ditt smeknamn när du ansluter till nätverket."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Valfritt. Det här kommandot skickas till servern efter anslutning. Exempel: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. Exemplet gäller nätverket "
+"freenode, som kräver att användare registrerar sina smeknamn med ett lösenord "
+"och loggar in vid anslutning. <i>konvirocks<i> är lösenordet för smeknamnet som "
+"anges i identiteten. Du kan skriva in mer än ett kommando genom att skilja dem "
+"åt med semikolon."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Markera det här om du vill att Konversation ska ansluta automatiskt till "
+"nätverket så fort du startar Konversation."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Det här är en lista med IRC-servrar i nätverket. Vid anslutning till nätverket, "
+"försöker Konversation först ansluta till den översta servern i listan. Om det "
+"misslyckas, görs ett försök med den andra servern. Om det misslyckas, görs ett "
+"försök med den tredje, och så vidare. Åtminstone en server måste anges. Klicka "
+"på en server för att markera den."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Valfritt. Det här är en lista med kanaler som du automatiskt går med i när "
+"Konversation har anslutit till en server. Du kan lämna den tom om du önskar att "
+"inte gå med automatiskt i några kanaler."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Ändra nätverksinformation"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Lägg till server"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Redigera servern"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Lägg till kanal"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Redigera kanal"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Nätverksnamnet krävs."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Du måste åtminstone lägga till en server i nätverket."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation-teman"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Välj temapaket"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Misslyckades ladda ner tema"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Arkivet med teman är ogiltigt."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Kan inte installera tema"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "Vill du ta bort %1?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Ta bort tema"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC-klient"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Välj mottagare"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Välj smeknamn och stäng fönstret"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Stäng fönstret utan att göra ändringar"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "hämta smeknamn: Servern %1 hittades inte."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Administratören har begränsat rättigheten att ta emot filer"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "Ogiltig avsändaradress (%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Förhandling som inte stöds (filstorlek = 0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Kan inte skapa katalogen.</b><br>Katalog: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Kunde inte skapa en I/O-slavinstans"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Filen används av en annan överföring.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>En del av filen finns.</b><br>%1<br>Fildelens storlek: %2 byte<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Filen finns redan.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Kunde inte öppna filen.<br>Fel: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr ""
+"Kunde inte skicka omvänd DCC-sändningsbekräftelse motparten via IRC-servern."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Väntar på anslutning"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Väntar på att den andra användaren ska acceptera"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr ""
+"Kunde inte skicka begäran om återupptagning av DCC-mottagning till motparten "
+"via IRC-servern."
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Oväntat svar från fjärrvärddator"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Överföringsfel"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "I/O-fel: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Viss information om personen du talar med i frågekanalen visas i den här "
+"raden. Fullständigt namn och värddatormask visas, tillsammans med eventuell "
+"bild eller logotyp som personen har kopplat till sig i KDE:s adressbok."
+"<p>Se <i>Handbok Konversation</i> för information om hur ett smeknamn kopplas "
+"till en kontakt i adressboken, och för en förklaring av vad en värddatormask "
+"är.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(borta)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "Vill du ignorera %1?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "Vill du stänga frågekanalen efter att ha ignorerat smeknamnet?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Stäng frågekanal"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Behåll öppen"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "Vill du sluta ignorera %1?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Standardidentitet (%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "Vill du stänga frågekanalen med %1?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Stäng frågekanal"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Talar för dig själv"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 har lämnat den här servern."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 har lämnat den här servern (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Förhandsgranskning av skärmmeddelande. Dra för att byta plats."
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operatör"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Administratör"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Ägare"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Deloperatör"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Har röst"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Gränssnitt"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Beteende"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Underrättelser"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Chattfönster"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Teman för smeknamnslista"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Färger"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Snabbknappar"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Anslutning"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Smeknamnslista"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Kommandoalias"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Ersätt automatiskt"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Loggning"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Färgläggning"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "Redigera bevakat smeknamn"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Meddelanden på skärmen"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Varningsdialogrutor"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC mottagningsfråga"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "Åte&ruppta"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "U&rsprungligt filnamn"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Föreslaget &nytt filnamn"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Skriv &över"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "&Byt namn"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "Sök nästa"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Skiftlägeskänslig"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Bara hela ord"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "Från markör"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vill du verkligen stänga '%1'?\n"
+"\n"
+" Alla tillhörande flikar kommer också att stängas."
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "Stäng flik"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"Vill du koppla ner från '%1'?\n"
+"\n"
+" Alla tillhörande flikar kommer också att stängas."
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Koppla ner från servern"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Koppla ner"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Påbörjad den"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Status"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Motpart"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Förlopp"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Position"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Återstår"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Hastighet"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Avsändaradress"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Acceptera"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "Avbryt"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Öppna fil"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Börja ta emot"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Avbryt överföringen eller överföringarna"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Kör filen"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Visa detaljinformation för DCC-överföring"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Markera &alla poster"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Mark&era alla klara poster"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "&Acceptera"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "Av&bryt"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Skicka igen"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Rensa"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "Ö&ppna fil"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Fil&information"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Redigera kanalinställningar"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Varje kanal på IRC har ett tillhörande ämne. Det är helt enkelt ett "
+"meddelande som alla kan se."
+"<p>Om du är en operatör, eller kanalläget <em>'T'</em> "
+"inte har aktiverats, kan du ändra ämne genom att klicka på knappen Redigera "
+"kanalegenskaper till vänster om ämnet. Där kan du också titta på historiken "
+"över ämnen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>Ämnesläget <b>T</b> betyder att bara kanaloperatören kan ändra kanalens "
+"ämne.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>Inga meddelanden <b>N</b> utifrån betyder att användare som inte finns i "
+"kanalen kan skicka meddelanden som alla i kanalen kan se. Nästan alla kanaler "
+"har det här aktiverat för att förhindra okynnesmeddelanden.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En hemlig kanal <b>S</b> visas inte i kanallistan, och inga användare kan se "
+"att du finns i kanalen med kommandot <em>WHOIS</em> eller liknande. Bara "
+"personer som finns i samma kanal vet om att du finns i kanalen om läget är "
+"inställt.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En kanal för endast inbjudna <b>I</b> betyder att personer bara kan gå med i "
+"kanalen om de är inbjudna. För att bjuda in någon, måste en kanaloperatör ge "
+"kommandot <em>/invite smeknamn</em> inne i kanalen.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En privat kanal <b>P</b> visas i listan över alla kanaler, men ämnet visas "
+"inte. En användares <em>WHOIS</em> kanske visar att de är i en privat kanal "
+"eller inte, beroende på IRC-servern.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En modererad kanal <b>M</b> är en där bara operatörer, deloperatörer och de "
+"med röst kan tala.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En skyddad kanal <b>P</b> kräver att användaren anger ett lösenord för att "
+"gå med.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En kanal som har en användargräns <b>L</b>, betyder att bara så många "
+"användare kan finnas i kanalen samtidigt. Vissa kanaler har automatik som "
+"befinner sig i kanalen och ändrar gränsen beroende på hur upptagen kanalen "
+"är.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Maximalt antal användare som tillåts i kanalen"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>Det här är kanalens användargräns: Det maximala antalet användare som kan "
+"finnas i kanalen samtidigt. Om du är operatör, kan du ställa in det. Kanalläget "
+"Ämne (knappen till vänster) markeras automatiskt om du ändrar detta.</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Det här visar ditt nuvarande smeknamn, och eventuella alternativ som du har "
+"ställt in. Om du väljer eller skriver in ett annat smeknamn, skickas en begäran "
+"till IRC-servern att ändra ditt smeknamn. Om servern tillåter det, väljes det "
+"nya smeknamnet. Om du skriver in ett nytt smeknamn måste du trycka på "
+"returtangenten i slutet."
+"<p>Du kan lägga till eller ändra alternativa smeknamn under alternativet <em>"
+"Identiteter</em> i menyn <em>Arkiv</em>.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Vill du verkligen ignorera de markerade användarna?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "Vill du verkligen sluta ignorera de markerade användarna?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Komplettering"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Möjliga kompletteringar: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Kanalnyckel:"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Smeknamnsgräns"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Skriv in ny smeknamnsgräns:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Du är nu känd som %1."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 is har nu smeknamnet %2."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "Du har gått med i kanalen %1 (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 har gått med i kanalen (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Du har lämnat den här servern."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Du har lämnat den här servern (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "Du har lämnat kanalen %1."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Du har lämnat kanalen %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 har lämnat den här servern (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 har lämnat den här kanalen."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 har lämnat den här kanalen (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Du har sparkat ut dig själv från kanalen %1."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Du har sparkat ut dig själv från kanalen %1 (%2)."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "Du har blivit utsparkad från kanal %1 av %2."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "Du har blivit utsparkad från kanal %1 av %2 (%3)."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "Du har sparkat ut %1 från kanalen."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "Du har sparkat ut %1 från kanalen (%2)."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 har blivit utsparkad från kanalen av %2."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 har blivit utsparkad från kanalen av %2 (%3)."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr ""
+"%n smeknamn\n"
+"%n smeknamn"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr ""
+" (%n operatör)\n"
+" (%n operatörer)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Kanalens ämne är \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Du har satt kanalens ämne till \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 sätter kanalens ämne till \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Du ger ägarprivilegier för kanalen till dig själv."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "Du ger ägarprivilegier för kanalen till %1."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 ger dig ägarprivilegier för kanalen."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 ger ägarprivilegier för kanalen till %2."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Du tar bort ägarprivilegier för kanalen från dig själv."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "Du tar bort ägarprivilegier för kanalen från %1."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 tar bort ägarprivilegier för kanalen från dig."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 tar bort ägarprivilegier för kanalen från %2."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Du ger kanaladministratörsprivilegier för kanalen till dig själv."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "Du ger kanaladministratörsprivilegier för kanalen till %1."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 ger dig kanaladministratörsprivilegier för kanalen."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 ger kanaladministratörsprivilegier för kanalen till %2."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Du tar bort kanaladministratörsprivilegier för kanalen från dig själv."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "Du tar bort kanaladministratörsprivilegier för kanalen från %1."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 tar bort kanaladministratörsprivilegier för kanalen från dig."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 tar bort kanaladministratörsprivilegier för kanalen från %2."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Du ger operatörsprivilegier för kanalen till dig själv."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "Du ger operatörsprivilegier för kanalen till %1."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 ger dig operatörsprivilegier för kanalen till dig."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 ger operatörsprivilegier för kanalen till %2."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Du tar operatörsprivilegier för kanalen från dig själv."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "Du tar operatörsprivilegier för kanalen från %1."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 tar bort operatörsprivilegier för kanalen från dig."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 tar bort operatörsprivilegier för kanalen från %2."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Du ger deloperatörsprivilegier för kanalen till dig själv."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "Du ger deloperatörsprivilegier för kanalen till %1."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 ger dig deloperatörsprivilegier för kanalen till dig."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 ger deloperatörsprivilegier för kanalen till %2."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Du tar deloperatörsprivilegier för kanalen från dig själv."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "Du tar deloperatörsprivilegier för kanalen från %1."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 tar bort deloperatörsprivilegier för kanalen från dig."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 tar bort deloperatörsprivilegier för kanalen från %2."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Du ger dig själv tillåtelse att tala."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "Du ger %1 tillåtelse att tala."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 ger dig tillåtelse att tala."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 ger %2 tillåtelse att tala."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Du ger tillåtelse att tala till dig själv."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "Du ger dig tillåtelse att tala från %1."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 tar ifrån dig tillåtelse att tala."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 tar ifrån %2 tillåtelse att tala."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Du sätter kanalläget till 'inga färger tillåtna'."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 sätter kanalläget till 'inga färger tillåtna'."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Du sätter kanalläget till 'tillåt färgkoder'."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 sätter kanalläget till 'tillåt färgkoder'."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Du sätter kanalläget till 'endast inbjudna'."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 sätter kanalläget till 'endast inbjudna'."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "Du tar bort 'endast inbjudna'-läget från kanalen."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 tar bort 'endast inbjudna'-läget från kanalen."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Du sätter kanalläget till 'modererad'."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 sätter kanalläget till 'modererad'."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Du sätter kanalläget till 'omodererad'."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 sätter kanalläget till 'omodererad'."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Du sätter kanalläget till 'inga meddelanden från utsidan'."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 sätter kanalläget till 'inga meddelanden från utsidan'."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Du sätter kanalläget till 'tillåt meddelanden från utsidan'."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 sätter kanalläget till 'tillåt meddelanden från utsidan'."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Du sätter kanalläget till 'privat'."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 sätter kanalläget till 'privat'."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Du sätter kanalläget till 'öppen'."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 sätter kanalläget till 'öppen'."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Du sätter kanalläget till 'hemlig'."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 sätter kanalläget till 'hemlig'."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Du sätter kanalläget till 'synlig'."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 sätter kanalläget till 'synlig'."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "Du slår på 'ämnesskydd'."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 slår på 'ämnesskydd'."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "Du slår av 'ämnesskydd'."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 slår av 'ämnesskydd'."
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "Du ställer in kanalens nyckel till '%1'."
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 ställer in kanalens nyckel till '%2'."
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "Du tar bort kanalens nyckel."
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 tar bort kanalens nyckel."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Du sätter kanalbegränsning till %1 smeknamn."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 sätter kanalbegränsning till %2 smeknamn."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Du tar bort kanalbegränsningen."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 tar bort kanalbegränsningen."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "Du bannlyser %1."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 bannlyser %2."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "Du tar bort bannlysningen av %1."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 tar bort bannlysningen av %2."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "Du sätter ett bannlysningsundantag på %1."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 sätter ett bannlysningsundantag på %2."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "Du tar bort bannlysningsundantaget från %1."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 tar bort bannlysningsundantaget från %2."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "Du sätter inbjudnings-mask %1."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 sätter inbjudnings-mask %2."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "Du tar bort inbjudnings-masken %1."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 tar bort inbjudningsmasken %2."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Du sätter kanalläget till +%1"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 sätter kanalläget till +%2"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Du sätter kanalläget till -%1"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 sätter kanalläget till -%2"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Du måste vara operatör för att ändra detta."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Ämne kan endast ändras av kanaloperatören. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Inga meddelanden till kanalen för utomstående klienter. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Hemlig kanal. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Endast inbjudna-kanal. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Privat kanal. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Modererad kanal. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Skydda kanalen med en nyckel."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Sätt begränsning av antalet användare, för kanal."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "Vill du lämna %1?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Lämna kanal"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Lämna"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Karolina Lindqvist"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "pgd-karolinali@algonet.se"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "Långsam kö"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "Rader"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "Byte"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "Ålder:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "Antal:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "Rader:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "Byte:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "Normal kö"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "Snabb kö"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "Alla köer"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "Mottaget:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "Byte (obehandlade):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "Byte (kodade):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Knappnamn"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Knapphändelse"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Knapphändelse:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Knappnamn:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Tillgängliga platsmarkörer:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o: Nuvarande smeknamn\n"
+"%c: Nuvarande kanal\n"
+"%K: Serverlösenord\n"
+"%u: Lista med utvalda smeknamn\n"
+"%s<ord>%: ord som används för att separera smeknamn i %u\n"
+"%n: Skicka kommandon direkt till servern istället för till din inmatningsrad"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Filnamn:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Mig själv:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Typ:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Status:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Plats:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "Förlopp:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Motpart:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "Öppna katalog"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Filstorlek:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Medelhastighet:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Återupptagen:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Nuvarande hastighet:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Nuvarande position:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Uppskattad återstående tid:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Erbjuden:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Avslutad:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Påbörjad:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Överföringstid:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Aktivera automatisk återuppkoppling"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "Fördröjning innan återanslutning:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Återanslutningsförsök:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " sekunder"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Obegränsad"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Felsökning"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "Visa fönster med obehandlad &logg vid anslutning"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Mönster"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Typ"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Mönster:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Meddelandetyper"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Ny"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "Ta bort &alla"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Nätverksnamn:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Identitet:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Kommandon:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "A&nslut vid programstart"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Servrar"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Lägg till..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Redigera..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Gå med automatiskt i kanaler"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Re&digera..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Alias:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Ersättning:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Alias"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Ersättning"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Sök &igen"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Sök föregående"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Kommandon att köra vid dubbelklick:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "Sortera skift&lägesokänsligt"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Sortera enligt &aktivitet"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "So&rtera enligt användarstatus"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Förklaring"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Ordna om smeknamnens sortering med drag och släpp)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Temainställning"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "I&nstallera tema..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "&Ta bort tema"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Ikon för normala användare"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Ikon för frånvarande användare"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Ikon för användare med röst"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Ikon för användare med rättigheter som deloperatör"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Ikon för användare med rättigheter som operatör"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Ikon för användare med rättigheter som administratör"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Ikon för användare med rättigheter som ägare"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Förhandsgranskning:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "Flikradsinställning"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Utseende"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Placering:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Visa &stängknappar på flikar"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Visa en stängningsknapp till &höger i flikraden"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Begränsa fliktext&storlek så att alla får plats på skärmen"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Ge nya flikar &fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Ge nya frå&gor fokus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "Mus"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "&Mittenklicka på en flik för att stänga den"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "Kommando att &köra när smeknamn dubbelklickas:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>När du dubbelklickar på ett smeknamn i fönstret <b>Uppkopplade smeknamn</b> "
+"läggs det här kommandot till på <b>inmatningsraden</b> i serverfönstret.</p>\n"
+"<p>Följande symboler kan användas i kommandot:</p>"
+"<ul>\n"
+"<li>%u: Det dubbelklickade smeknamnet.</li>\n"
+"<li>%K: Serverns lösenord.</li>\n"
+"<li>%n: Skicka kommandot direkt till servern istället för att lägga till det i "
+"din inmatningsrad.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>När du dubbelklickar på ett smeknamn i fönstret <b>Uppkopplade smeknamn</b> "
+"läggs det här kommandot till på <b>inmatningsraden</b> i serverfönstret.</p>\n"
+"<p>Följande symboler kan användas i kommandot:</p>"
+"<ul>\n"
+"<li>%u: Det dubbelklickade smeknamnet.</li>\n"
+"<li>%K: Serverns lösenord.</li>\n"
+"<li>%n: Skicka kommandot direkt till servern istället för att lägga till det i "
+"din inmatningsrad.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "&Uppdateringsintervall:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation kontrollerar status för smeknamnen som listas nedan med detta "
+"intervall."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Visa flik med bev&akade uppkopplade smeknamn vid start"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>Om markerad, visas fönstret <b>Bevakade smeknamn</b> "
+"automatiskt när Konversation startas.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Använd sme&knamnsbevakning"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"När smeknamnsbevakning är aktiverad, blir du underrättad när smeknamnen som "
+"finns i listan <b>Bevakade nätverk eller smeknamn</b> kopplas upp eller ner.</p>"
+"\n"
+"<p>Du kan också öppna fönstret <b>Uppkopplade smeknamn</b> "
+"för att se status för alla bevakade smeknamn.</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Nätverk:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr ""
+"IRC-servernätverket (som 'freenode') som användaren vald att bevaka är på."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "Smeknamn (användarnamn) för den valda personen att bevaka"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "Bevakade nätverk eller smeknamn"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"När smeknamnsbevakning är aktiverad, blir du underrättad när smeknamnen som "
+"finns i listan <b>Bevakade nätverk eller smeknamn</b> kopplas upp eller ner.</p>"
+"\n"
+"<p>Du kan också öppna fönstret <b>Uppkopplade smeknamn</b> "
+"för att se status för alla bevakade smeknamn.</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Klicka för att lägga till ett smeknamn till listan."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Klicka för att ta bort markerat smeknamn från listan."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "Aktivera loggning"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Aktivera små &bokstäver i loggfilnamn"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "Lägg till &värddatornamn till loggfilnamn"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Loggfil&sökväg:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Aktivera systembrickan"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "An&vänd systembrickan för underrättelse om nytt meddelande"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Underrätta bara när en markering träffas på eller ditt &nuvarande smeknamn "
+"används"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Blin&ka ikonen"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "Dölj fönster vid start"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Komplettering av smeknamn"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Ko&mpletteringsläge:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Gå runt i smeknamnslistan"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Som skalet"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Som skalet med kompletteringsruta"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Suffi&x i början av raden:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "A&lla andra ställen:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Skiftlägeskänslig"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "Inaktivera underrättelser vid &frånvaro"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Använd eget &versionssvar:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Här kan du ställa in ett eget svar på begäran om <b>CTCP <i>VERSION</i></b>"
+".</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Indatarutan expanderar med texten"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Kommandotecken:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Använd egen webb&läsare:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Begränsa fliktextstorlek så att alla får plats på skärmen"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Dölj rullningslist"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr ""
+"Aktivera om du vill att alla IRC-inmatningsrader ska kontrollera stavning medan "
+"du skriver"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr ""
+"Att aktivera det här gör att indatarutan växer vertikalt när den fylls."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Dold i systembrickan"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Starta med dolt huvudfönster"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "Visa r&iktiga namn intill smeknamn"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Visa flik med bevakade smeknamn vid programstart"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Aktivera smilisar"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Smilistema"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "Ä&mne"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Datum"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "Lä&gen"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Ämne kan &endast ändras av kanaloperatörer"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "I&nga meddelanden utanför kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Hemlig kanal. Kanalen anges inte i kanallistan"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Bara &inbjudna har rättighet att gå med i kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>De här knapparna styr kanalens <em>läge</em>. Bara en operatör kan ändra "
+"dem."
+"<p>En kanal för endast inbjudna <b>I</b> betyder att personer bara kan gå med i "
+"kanalen om de är inbjudna. För att bjuda in någon, måste en kanaloperatör ge "
+"kommandot <em>/invite smeknamn</em> inne i kanalen.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Modererad kanal. Bara personer med röst kan skriva i kanalen"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "Kanal&lösenord:"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "Användar&gräns:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "Visa &avancerade lägen >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, backsteg, tabulator, backsteg"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parameter"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "&Bannlysningslista"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "&Ta bort bannlysning"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Lägg till bannlysning"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Värddatormask"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Tillagd av"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Tid tillagd"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Sök:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC-inställningar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Ladda ner &katalog:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "Lägg till &avsändare till filnamn"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Skapa katalog &för avsändare"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Omvandla mellanslag i filnamn till understreck innan den skickas"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Acceptera a&utomatiskt begäran om nerladdning"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Å&teruppta nerladdning automatiskt"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Aktivera s&nabb DCC-sändning (fungerar kanske inte med alla klienter)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "B&ufferstorlek:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "T&idsgräns vid DCC-sändning:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Återgå till IPv&4-gränssnitt för DCC-sändning:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Om det här alternativet är aktiverat, utförs DCC-överföringar med "
+"IPv6-anslutningar med IPv4-gränssnittet som anges här"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " byte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " sek"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Aktivera passiv DCC-sändning"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "&Metod för att få egen IP-adress:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "E&gen IP-adress:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Portar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "Aktivera specifika p&ortar för DCC-chatt:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "till"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "Aktivera specifika &portar för DCC-överföringsservern:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Använd färgad text"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Använd färgade lysdioder"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Programhändelse"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Programhändelser inträffar i terminalflikar, DCC-statusfliken och andra "
+"programflikar som inte direkt används för chatt."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Meddelande"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Privat meddelande"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Aktuellt använt smeknamn"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Kanalhändelse"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr ""
+"Kanalhändelser är ändringar av läge eller användare som lämnar eller går med i "
+"en kanal."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Ge chattfönstrets färgläggning företräde"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Om du markerar det här, överskrider färgerna du väljer på inställningssidan "
+"Färgläggningar färgerna för \"Aktuellt använt smeknamn\" och \"Färgläggning\"."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Aktivera te&ckensnitt med fast breddsteg för dagens meddelande"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Använd teckensnitt med fast breddsteg för MOTD (Dagens meddelande)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Visa avsändarens smeknamn med &fetstil i chattfönstret"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Chattext:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Smeknamnslista:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Flikrad:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Markera lista"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "Reguljärt uttryck"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Färgläggningar"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Ljud"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Automatisk text"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Mönster:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Färg:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Ljud:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Testa ljud"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Automatisk &text:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "Aktivera &ljud för markeringar"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Färglägg alltid n&uvarande smeknamn:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "&Färglägg alltid egna rader:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "Skapa ny &post..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Skapa en ny post i adressboken"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Foto"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "Namn"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "Välj kontakten du vill kommunicera med via direktmeddelanden"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "Sö&k:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "Aktivera &signal vid inkommande ASCII BEL-tecken"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "Aktiverar systemljud när du tar emot styrtecknet ASCII BEL (0x07)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Dölj &händelserna gå med, lämna eller smeknamn"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Inaktivera variabele&xpansion (t.ex. %C, %B, %G...)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Expandera inte variabler när text skickas till servern. En variabel börjar med "
+"'%'. Till exempel expanderas %B till tecknen som behövs för att visa texten med "
+"fetstil."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "&Skicka alla statusmeddelanden vidare till serverns statusfönster"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "&Historikgräns:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Hur många rader som behålls i buffrar. 0 = obegränsad"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "Använd &obehandlade lägen vid ändringar av lägen"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Behåll kanallägessträngen som en teckenkombination istället för att översätta "
+"dem till mänskligt läsbar form. T.ex. '*** Kanallägen: inga meddelanden "
+"utifrån' blir '*** Kanallägen: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " rader"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "Markeringslinjer"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Visa manuellt infogade linjer i alla chattfönster"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Markera den sista positionen i ett chattfönster när det döljs"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Infogar en komihåg-linje i chattfönster när du byter till ett annat "
+"chattfönster eller minimerar programmet."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "Flytta bara linjen när ny text just ska visas"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Aktivera automatisk uppslagning av användarinformation (/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Maximalt antal användare i en kanal:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " smeknamn"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Uppdateringsintervall:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "Akti&vera meddelanden på skärmen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Meddelanden &på skärmen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "&Rita skuggor"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "Teckensnitt för skärmmeddelanden:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&Visa meddelanden på skärmen"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "Om eget smeknamn finns &i kanalmeddelande"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Vid godtyckligt &kanalmeddelande"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "Vid aktivitet i &frågekanal"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "För händelserna &gå med eller lämna"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Använd egna färger"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "Te&xtfärg:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Bakgrundsfärg:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "Ö&vriga inställningar"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Tid:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Skärm:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Fönster"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "N&y"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Ta bort"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "Ersätt i"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Sök"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "Ersätt med"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "Ersätt i:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Sök:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "Ersätt med:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "Aktivera &tidsstämplar"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "Visa &datum"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Format:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "Visa &historik"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Rader: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Layout"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "&Visa kanalämne"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Visa &kanallägesknappar"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Visa &rullningslist"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Visa r&uta för att ändra eget smeknamn"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Visa sna&bbknappar"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "Visa riktiga namn i smeknamnslistan"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "Visa kanalsmek&namnslista och snabbknappar"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Visa värddatormask i sme&knamnslista"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "Aktivera bak&grundsbild"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Sök&väg:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Egna färger"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "An&vänd egna färger för indatarutor, smeknamnslista och fliklista"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Bakgrund:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Servermeddelande:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Hyperlänk:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Kanal&meddelande:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "&Åtgärd:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Historik:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "K&ommandomeddelande:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "&Frågemeddelande:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Tidsstämpel:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "A&lternativ bakgrund:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Färgade smeknamn"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Egen smeknamnsfärg:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "Tillåt &färgad text i IRC-meddelanden"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Genom att aktivera det här alternativet, visas färgkoder som har lagts till i "
+"IRC-meddelanden som färgad text i ditt chattfönster. Du kan lägga till "
+"färgkoder i dina meddelanden genom att välja Infoga -> IRC-färg."
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Förhandsgranskning"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Så här ser ditt meddelande ut med färgerna"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Det här är en förhandsgranskning av hur läsarna kan se ditt meddelande om "
+"du väljer färgerna."
+"<br>\n"
+"<b>Observera: Alla klienter stöder inte detta, och vissa användare kan ha valt "
+"att ignorera dina färgändringar.</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Den valda textfärgen läggs till på inmatningsraden."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>Här väljer du vilken färg du vill att texten i nästa meddelande du skickar "
+"ska ha. Om du väljer en färg och klickar på Ok, läggs den valda färgen till på "
+"inmatningsraden. All text som skrivs därefter kommer att ha den valda färgen, "
+"ända till du ändrar färg igen."
+"<br>\n"
+"<b>Observera: Alla användare aktiverar inte alternativet för att se detta.</b>"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Förgrundsfärg:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Den valda bakgrundsfärgen för text läggs till på inmatningsraden."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>Här väljer du vilken färg du vill att textens bakgrund ska ha i nästa "
+"meddelande du skickar.\n"
+"Om du väljer en färg och klickar på Ok, läggs den valda färgen till på "
+"inmatningsraden.\n"
+"All text som skrivs därefter kommer att ha den valda färgen, ända till du "
+"ändrar färg igen."
+"<br>\n"
+"Genom att välja det förvalda värdet \"<i>Ingen</i>\" ändras inte meddelandets "
+"bakgrundsfärg, så att läsarna ser meddelandet med sin normala färg för "
+"textbakgrunden."
+"<br>\n"
+"<b>Observera: Alla klienter stöder inte detta, och alla användare aktiverar "
+"inte alternativet för att se detta.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Varningsdialogrutor att visa"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Lösenord:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Server:"
diff --git a/po/tr/Makefile.am b/po/tr/Makefile.am
new file mode 100644
index 0000000..a9550cb
--- /dev/null
+++ b/po/tr/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = tr
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/tr/konversation.po b/po/tr/konversation.po
new file mode 100644
index 0000000..c808a96
--- /dev/null
+++ b/po/tr/konversation.po
@@ -0,0 +1,7522 @@
+# translation of konversation.po to
+# Engin ÇAĞATAY <engincagatay@yahoo.com>, 2004.
+# Adem Alp YILDIZ <ademalp@linux-sevenler.org>, 2004.
+# Engin Çağatay <engincagatay@yahoo.com>, 2004.
+# Ozan Eren BILGEN <oebilgen@uekae.tubitak.gov.tr>, 2005.
+# S.Çağlar Onur <caglar@uludag.org.tr>, 2005.
+# Ismail Donmez <ismail@uludag.org.tr>, 2006.
+# Server Acim <sacim@kde.org.tr>, 2006.
+# Türker SEZER <turkersezer@tsdesign.info>, 2007.
+# Serdar Soytetir <tulliana@gmail.com>, 2007.
+# Akın Ömeroğlu <akin@omeroglu.net>, 2007.
+# Translation of konversation.po to Turkish
+# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2007-11-07 13:48+0200\n"
+"Last-Translator: Serdar Soytetir <tulliana@gmail.com>\n"
+"Language-Team: <tr@li.org>\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=1; plural=0;\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "%1 için Oda Ayarları"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "&Gelişmiş Kipi Sakla <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "&Gelişmiş Kipi Göster >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "Yeni"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "bilinmeyen"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "%1 dosyası için bilgiler:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "Dosya Bilgisi"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "Bu dosya için detaylı bilgi bulunamadı."
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "Gönder"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "Al"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "Sırada"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "Hazırlanıyor"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "Bekleniyor"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "Bağlanıyor"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "Alınıyor"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "Gönderiliyor"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "Tamamlandı"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "Başarısız oldu"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "İptal edildi"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/saniye"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "&Kim"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "&Sürüm"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "Op Ver"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "Op Al"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "HalfOp Ver"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "HalfOp Al"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "Voice (Ses) Ver"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "Voice (Ses) Al"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "Kipler"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "Tekmele"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "Tekmele ve yasakla"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "Takma Adı Yasakla"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "*!*@*.sunucuyu yasakla"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "*!*@domain'i yasakla"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "*!kullanıcı@*.sunucuyu yasakla"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "*!kullanıcı@domain'i yasakla"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "*!*@*.sunucuyu tekmele ve yasakla"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "*!*@domain'i tekmele ve yasakla"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "*!kullanıcı@*.sunucuyu tekmele ve yasakla"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "*!kullanıcı@domain'i tekmele ve yasakla"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "Tekmele / Yasakla"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "Yoksay"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "Yoksayma"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "Sohbet &Aç"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "&Güvenli DCC Sohbeti Aç"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "Dosya &Gönder..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "E-po&sta Gönder..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "Adres Defteri İlişkilendirmeleri"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "İzlenen Takma Adlara Ekle"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>Odadaki tüm insanları gösterir. Her kişinin takma adı görüntülenmiştir."
+"<br> Genelde her kişi için durumunu belirten bir simge görüntülenir, ancak "
+"simge teması yüklememişsiniz. <i>Ayarlar</i> menüsünün altında, Konversation "
+"yapılandırması - <i>Konversation'ı Yapılandır</i> bölümüne bakınız. Sonra <i>"
+"Görünüm</i> altındaki <i>Temalar</i> sayfasına göz atınız.</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>Bu, odadaki herkesi gösterir. Herbir kişinin takma adı, durumlarını "
+"belirten bir resimle gösterilir."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>Bu kişi yönetici ayrıcalıklarına sahiptir.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>Bu kişi bir oda sahibidir.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>Bu kişi oda operatörüdür.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>Bu kişi bir oda yarı-operatörüdür.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>Bu kişi ses imkanına sahip, bu yüzden seçimli bir odada konuşabilir.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>Bu kişinin hiçbir özel ayrıcalığı yok.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>Bu şu anki kullanıcının uzakta olduğunu gösterir.</td></tr></table>"
+"<p>Yönetici, oda sahibi ve yarı-operatörün anlamı IRC sunucusuna göre "
+"değişebilir."
+"<p>Herhangi bir takma adın üzerine gelince kullanıcının şu anki durumuyla "
+"birlikte adres defterindeki bilgilerini de görebilirsiniz. Daha fazla bilgi "
+"için Konversation El Kitabı'na başvurabilirsiniz.</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "Kişiyi Düzenle..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "İlişkilendirmeleri Seç/Değiştir..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "Kişi Seçin..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "İlişkilendirme Değiştir..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "Yeni Kişi Oluştur..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "İlişkilendirme Sil"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "Oda"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "Sohbet"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "Duyuru"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "Dosya aktarımı"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "İstisna"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "Sekmeler"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "Bugün"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "Dün"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (tanımlı)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "Eposta"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "Sunucu maskesi:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "Uzakta Mesajı:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(bilinmeyen)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "Bağlandığı Zaman:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr ""
+"Düzenli İfade Düzenleyicisini (KRegExpEditor) çalıştırmak için tıklayın"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "Düzenli İfade Düzenleyicisi (KRegExpEditor) kurulu değil"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "Giden"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "Gelen"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "Her ikisi de"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "%1 Odasına Katıl"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "Çabuk Bağlan"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "&Sunucu bilgisayar:"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "Sunucunun adresini buraya girin."
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "&Port:"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "IRC sunucusunun kullandığı port."
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "Takma A&d:"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "Kullanmak istediğiniz takma ad."
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "&Şifre:"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr ""
+"Eğer IRC sunucusu parola istiyorsa, buraya girin (çoğu sunucu parola istemez.)"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "&SSL Kullan"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "&Bağlan"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "Sunucuya bağlan"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "Dinlemek için bir soket açılamadı: %1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "%1 kullanıcısına %2 portu üzerinden DCC sohbet öneriliyor..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "%1 ile %2 portu üzerinden DCC sohbet."
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "%1 (%2:%3) konumu ile DCC sohbet kuruluyor..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "%1 ile %2:%3.üzerinden DCC sohbet."
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "%1 konumu ile DCC sohbet bağlantısı kuruldu."
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "Bağlantı koptu, hata kodu %1."
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "%2 kullanıcısından bilinmeyen CTCP-%1 talebi alındı"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "İstemci kabul edilemedi."
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "Öntanımlı ( %1 )"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "Sunucu Listesi"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "Seçili IRC ağı ve odasına bağlanmak için buraya tıklayın."
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"Burası ayarlı IRC ağlarının listesini gösterir. IRC ağı birbiri ile beraber "
+"çalışan sunuculardan oluşur. Bu sunuculardan sadece bir tanesine bağlanmak tüm "
+"IRC ağına bağlı olmak için yeterlidir. Bağlantı sağlanınca Konversation "
+"otomatik olarak gösterilen odalara bağlanır. Konversation ilk defa "
+"çalıştırıldığında, Freenode ağı ve <i>#kde</i> odası otomatik olarak seçilmiş "
+"olur."
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "Ağ"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "Kimlik"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "Odalar"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "&Yeni..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr ""
+"Yeni bir ağ tanımlamak, bağlanılacak sunucuyu ve bağlanıldığında kendiliğinden "
+"girilecek odayı belirlemek için buraya tıklayın."
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "&Düzenle..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "Uygulama başlatılırken göster"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "Yeni Ağ"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "Ağ Düzenle"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"%1'i silemezsiniz.\n"
+"\n"
+"%2 ağı en azından bir sunucuya sahip olmalıdır."
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"Seçili sunucuları silemezsiniz\n"
+"\n"
+"%1 ağı en azından bir sunucuya sahip olmalıdır."
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "Seçili girişleri silmek istediğinizden emin misiniz?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "%1'i gerçekten silmek istiyor musunuz?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "Gösterilecek Boyut:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"Bu seçenek ile günlük dosyasının en büyük boyutu ayarlanabilir. Bu ayar "
+"Konversation yeniden başlatılana kadar geçerli olmaz. Her günlük dosyasının "
+"ayrı seçeneği olabilir."
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "Günlük dosyasını temizle"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr ""
+"Günlük dosyasındaki mesajlar burada gösterilir. En eski mesajlar en üsteyken en "
+"güncel mesajlar aşağıdadır."
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr ""
+"Bu dosyadaki tüm günlük bilgisini kalıcı olarak silmek istediğinize emin "
+"misiniz?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr ""
+"Not: Bu günlük dosyasını kaydederek, sadece göstericide gördüğünüz bölümü "
+"değil, dosyadaki tüm veriyi kaydetmiş olacaksınız."
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "Günlük Dosyası Kaydet"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "Hedef Dizin Seç"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "Bilgi"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "%1 kullanıcısına %2 portu üzerinden DCC sohbet öneriliyor..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "Yeniden bağlanma denemeleri:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr ""
+"%1 konumuna zaten bağlısınız. '%2' konumu ile bağlantıyı keserek '%3' konumuna "
+"bağlanmak istediğinize emin misiniz?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "%1 konumuna zaten bağlısınız"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "Bağlantı"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr ""
+"%1 konumuna zaten bağlısınız. '%2' konumu ile bağlantıyı keserek '%3' konumuna "
+"bağlanmak istediğinize emin misiniz?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "Sunucuyu Düzenle"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "Lütfen <b>kimliğinizi</b> doldurunuz.<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "Lütfen <b>Gerçek adınızı</b> yazınız.<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "Lütfen en az bir <b>Takma ad</b> girin.<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>Kimliğiniz \"%1\" doğru yapılandırılmamış:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "Kimlik Ayarları"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "Kimliği Düzenle..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "Kimlikler"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "&Kimlik:"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "Çoğalt"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "Yeniden İsimlendir"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "Genel"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "G&erçek isim:"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"Gerçek isminizi buraya yazın. IRC insanlarının sizi gerçek kimliğiniz ile "
+"tanımalarını isteyecebileceğiniz bir yer değildir. Bu yüzden gerçek olmayan bir "
+"isim de kullanabilirsiniz. Fakat tabii ki kullandığınız bilgisayar her zaman "
+"bulunabilir ve asla gerçek anlamda anonim olamazsınız."
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "Takma Ad"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"Burası sizin takma isimler listenizdir. İlk karakteri harf olmak şartı ile "
+"istediğiniz takma adı kendiniz için seçebilirsiniz.\n"
+"\n"
+"IRC ağında, herhangi takma isim sadece bir kişi tarafından kullanılıyor olmalı "
+"kuralından dolayı seçtiğiniz takma isim sunucu tarafından red edilebilir. Bu "
+"duruma karşılık alternatif takma isimlerde ekleyebilirsiniz. Eğer sunucu ilk "
+"tercihinizi red ederse, Konversation sıra ile diğer takma isim "
+"alternatiflerinizi deneyecektir."
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "Ekle..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "Düzenle..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "Kendiliğinden Tanımla"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "Ser&vis:"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"Hizmet adı <b><i>nickserv</i></b> olabileceği gibi <b><i>"
+"nickserv@services.dal.net</i></b> gibi ağ bağlantılı bir ad da olabilir"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "&Şifre:"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "Uzakta"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "Uzakta durumuna geçerken son konumu işaretle"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"Eğer bu seçeneği işaretlerseniz, her <b>Uzakta</b> durumuna geçtiğinizde, yatay "
+"bir çizgi sohbet penceresinde belirecek ve sizin kaldığınız yeri gösterecektir. "
+"Diğer IRC kullanıcıları bu çizgiyi görmez."
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "Uzakta takma adı:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"Uzakta olduğunuzu belirten bir takma isim girin. Herhangi bir odada <b>"
+"/away mesaj</b> komutunu verdiğinizde, Konversation takma isminizi bu isim ile "
+"değiştirerek sizi uzakta konumuna alacaktır. Uzakta iken <b>/away</b> "
+"komutunu verdiğinizde ise Konversation eski takma isminize geri dönecektir. "
+"Eğer takma isminizin kendiliğinden değişmesini istemiyorsanız boş "
+"bırakabilirsiniz."
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " satır"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "&Sohbet etkinliğinde"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "Dosya indirmeyi otom&atik olarak devam ettir"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "Uzakta Mesajı:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"Eğer bu seçeneği işaretlerseniz, Konversation sohbet ettiğiniz tüm odalara "
+"uzakta mesajı gönderecektir. <b>%s</b> <b>mesaj</b> ile değiştirilecektir. "
+"Uzakta iken <b>/away</b>komutu verdiğinizde bu kimlikle girilmiş tüm odalarda "
+"geri dönme mesajı görüntülenir."
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "Uzakta &mesajı:"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "&Geri dönme mesajı:"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "Gelişmiş"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "&Kabuk-öncesi komutu:"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr ""
+"Sunucuya bağlantı kurulmadan önce çalıştırılmasını istediğiniz komutları buraya "
+"yazın"
+"<br>Eğer birden çok sunucuya aynı anda bağlantı açılıyorsa komutlar her sunucu "
+"için tekrar tekrar çalıştırılır"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "T&anım:"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"Bağlandığınızda birçok sunucu bilgisayarınızı IDENT çağrısı ile sorgular. Eğer "
+"bilgisayarınızda IDENT sunucu çalışmıyorsa, bu çağrı Konversation tarafından "
+"yollanır. Cevap boşluk karakteri içermemelidir."
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "K&odlama:"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"Bu ayar yazdığınız karakterlerin sunucuya gönderilirken hangi kodlamanın "
+"kullanılıcağını etkiler. Konversation ilk defa başlatıldığında işletim "
+"sisteminden kullanılan yerel ayarlar alınır. Eğer yazılan mesajları düzgün "
+"görmekte problem yaşıyorsanız bu ayarı değiştirmeyi deneyin."
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "&Ayrılma nedeni:"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "Odadan her ayrılışınızda bu mesaj odaya gönderilir."
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "&Ayrılma nedeni:"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "Odadan her ayrılışınızda bu mesaj odaya gönderilir."
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "&Tekmeleme nedeni:"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr ""
+"Odadan her tekmelendiğinizde (genellikle IRC operatörü tarafından), bu mesaj "
+"odaya gönderilir."
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "Kimlik bilgisini değiştir"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "Yapılan tüm değişiklikleri siler"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "Kimliğe en az bir takma isim eklemelisiniz."
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "Takma Ad Ekle"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "Takma Ad:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "Takma Adı Düzenle"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "Kimlik Ekle"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "Kimlik adı:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "Kimliğe bir isim vermelisiniz."
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "Kimliği Yeniden İsimlendir"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr ""
+"Bu kimlik kullanımda, eğer kaldırırsanız, onu kullanan ağ yapılandırması "
+"öntanımlı kimliğe düşecektir. Yine de kaldırmak istiyor musunuz?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "Bu kimlikle ilgili tüm bilgileri silmek istediğinizden emin misiniz?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "Kimliği Sil"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "Kimliği Çoğalt"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "Normal Kullanıcılar"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "Ses (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "Yarı oplar (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "Operatörler (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "Oda Yöneticileri (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "Oda Sahipleri (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "Karakter Gir"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "Bir karakter gir"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation Yerimi Editörü"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "Boş port yok"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "Bir soket açılamadı"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "Metin Bul..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "URL'yi Panoya Kopyala"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "Yer İmleri'ne Ekle"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "Bağlantıyı Farklı Kaydet..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "%1 ile sohbet aç"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "%1 odasına gir"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "Günün Mesajı"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "Haber Ver"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "Katıl"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "Ayrıl"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "Sohbet Aç"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "Kanala &katıl"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "Kanalın kullanıcı &listesini göster"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "Kanal konusunu &göster"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "\"%1\" ile eşleşen bir şey bulunamadı."
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "Bağlantıyı Farklı Kaydet"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "&Sunucu Listesi..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "Ağları ve sunucuları yönet"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "&Çabuk Bağlan..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "Bağlanılacak yeni IRC sunucusunun adresini yazın"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "&Yeniden Bağlan"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "Şu an ki sunucuya yeniden bağlan."
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "&Bağlantıyı kes"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "Şu an ki sunucuyla bağlantıyı kes."
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "K&imlikler..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "Takma ad, uzakta mesajı ve diğer kimlik ayarlarını yönet"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "&Bağlı olan İzlenen Takma Adlar"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "&DCC Durumu"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "Günlük D&osyası Aç"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "Bu kanal için bilinen geçmişi yeni bir sekmede aç"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "&Oda Ayarları..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "Bu sekme için oda ayarları penceresini aç"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "Yasaklılar &Listesi"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "Bu ağ için bilinen tüm kanalların listesini göster"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "&Adres Yakalayıcısı"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "Görülen tüm internet adreslerini yeni bir sekmede göster"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "&Yeni Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "Yeni bir sekmede konsole aç"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "&Sonraki Sekme"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "&Önceki Sekme"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "&Sekmeyi Kapat"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "Sonraki Etkin Sekme"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "Sekmeyi Yukarı Taşı"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "Sekmeyi Aşağı Taşı"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "Sekmeyi Sağa Taşı"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "Sekmeyi Sola Taşı"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "Odaya Katıl"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "Bildirileri Etkinleştir"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "Odaya Katıl"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "Kodlamayı Ayarla"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "%1 Sekmesine Git"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "&İşaretleme SatırlarınıTemizle"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "Geçerli sekmedeki işaretleme satırlarını temizler"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "Pencereyi &Temizle"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "Mevcut sekmenin içeriğini temizler"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "Tüm Pencereleri &Temizle"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "Tüm sekmelerin içeriğini temizle"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "&Odaya Katıl..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC Rengi..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "Şu anki IRC iletinizin rengini seçin"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "&İşaretleme Satırı"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr ""
+"Şu andaki pencereye sadece kendinizin görebileceği yatay bir çizgi ekler"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "Özel &Karakter..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "Şu anki IRC iletinize herhangi bir karakter ekler"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "&Tüm Açık Sohbetleri Kapat"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "Takma İsim Listesini Sakla"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr ""
+"<qt><b>Konversation</b> programından çıkmak istediğinize emin misiniz?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "Onayla"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr ""
+"<qt><b>Konversation</b> programından çıkmak istediğinize emin misiniz?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>Ana pencereyi kapattığınızda, Konversation sistem çubuğunda çalışmaya devam "
+"eder. Uygulamadan çıkmak için <b>Konversation</b> menüsündeki <b>Çıkış</b>"
+"'ı kullanın.</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "Sistem Çubuğuna Küçültülüyor"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr ""
+"<qt>Bu, menü çubuğunu tamamen gizleyecek. %1 yazarak geri getirebilirsiniz.</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "Uyarıları Düzenle"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "Genel Olarak Uzakta Yapılandır"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "&IRC Rengi Ekle..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "Özel &Karakter Ekle..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "İşaretle&me Satırı Ekle"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "&Oda Listesi"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "&Genel Olarak Uzakta Yapılandır"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Ham"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "Kullanım: %1JOIN <oda> [parola]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "Kullanım: %1KICK <takmaad> [neden]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr " %1PART parametreler olmadan sadece oda ya da sohbet içinde çalışır."
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "%1PART oda adı olmadan sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC parametreler olmadan sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC oda adı olmadan sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr ""
+"%1NAMES sunucu bağlantınızın kesilmesine neden olabilir. Gerçekten bunu "
+"istiyorsanız lütfen '*' ile belirtiniz."
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "Kullanım: %1NOTICE <alıcı> <mesaj>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "\"%2\" mesajı %1 konumuna gönderiliyor."
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "Kullanım: %1ME metin"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "%2 kullanıcısına CTCP-%1 talebi gönderiliyor."
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "\"%1\" dosyası bulunamıyor."
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "Kullanım:%1DCC [SEND takmaad dosyaadı]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "Kullanım: %1DCC [CHAT takmaad]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "Bilinmeyen komut %1DCC%2. Kullanılabilir komutlar SEND, CHAT,CLOSE."
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "Kullanım:%1INVITE <takmaad> [kanal]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "Hata: oda adı olmadığında, %1INVITE sadece oda içerisinde çalışır."
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 bir oda değil."
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "Kullanım: %1EXEC <betik> [parametre listesi]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "Betik adı \"../\" içeremez!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "Kullanım: %1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "Mevcut uyarı listesi boş."
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "Mevcut uyarı listesi: %1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "IRC operatör ayrıcalıkları için kullanıcı adı ve parola girin:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC Operatörü Şifresi"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "Oda adı olmadığında, %1BAN sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "Oda adı olmadığında, %1KICKBAN sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:1229
+#, fuzzy
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "Kullanım: %1BAN [-AĞ | -ALANADI] [oda] <kullanıcı|maske>"
+
+#: src/outputfilter.cpp:1231
+#, fuzzy
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr "Kullanım: %1KICKBAN [-AĞ | -ALANADI] [oda] <kullanıcı|maske>"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "Oda adı olmadığında, %1UNBAN sadece oda içinde çalışır."
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "Kullanım: %1UNBAN [oda] desen"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "%1 yoksayma listenize eklendi."
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr ""
+"Kullanım: %1IGNORE [ -ALL ] <kullanıcı 1> <kullanıcı 2> ... <kullanıcı n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "Kullanım:%1UNIGNORE <kullanıcı 1> <kullanıcı 2> ... <kullanıcı n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "%1 yoksayma listenizden çıkarıldı."
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "Yoksayma listenizde böyle bir takma ad yok: %1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "Yoksayma listenizde böyle bir takma ad yok: %1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "Kullanım: %1QUOTE komut listesi"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "Kullanım: %1SAY metin"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "Kullanım"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "Kullanım: %1AME metin"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "Kullanım: %1AMSG metin"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "Kullanım: %1OMSG metin"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "\"%2\" mesajı %1 konumuna gönderiliyor."
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "Kullanım: %1ONOTICE metin"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "Şimdiki kodlama: %1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "Kodlama %1 olarak değiştirildi."
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 geçerli bir kodlama değil."
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"Kullanım: %1setkey <takma ad> veya <oda> <anahtar> Takma ad veya oda için "
+"şifreleme anahtarını ayarlar"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1 için anahtar silindi."
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr ""
+"Kullanım: %1delkey <takma ad> or <oda> Takma ad veya oda için tanımlanmış "
+"şifreleme anahtarını siler"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1 için anahtar silindi."
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 için anahtar silindi."
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "Kullanım: %1DNS <takmaad>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "%1 adresi %2 olarak çözüldü"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "%1 adresi çözülemedi"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "Ters-çözüm KDE 3.5.1 veya yukarısını gerektirir."
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "Kullanım: %1KILL <takmaad> [yorum]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>Girdi satırı odaya, sohbete ya da sunucuya göndermek üzere mesajlarınızı "
+"yazdığınız yerdir. Odaya gönderilen bir mesaj odadaki herkes tarafından "
+"görülürken, sohbete gönderilen bir mesaj sadece sohbet ettiğiniz kişi "
+"tarafından görülür. "
+"<p>Ayrıca şu özel komutları gönderebilirsiniz: "
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>eylem</i></th>"
+"<td>Bir eylemi odada veya sohbette gösterir. Örneğin: <em>"
+"/me şarkı söylüyor</em> odada 'Takma isim şarkı söylüyor' olarak "
+"görüntülenecektir.</td></tr>"
+"<tr>"
+"<th>/whois <i>takma isim</i></th>"
+"<td>bu kişi hakkında, hangi odalarda olduğu dahil, bilgi verir.</td></tr>"
+"</table>"
+"<p>Daha fazla komut için Konversation El Kitabı'na bakınız."
+"<p>Bir ileti birden çok satır içeremez.</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr ""
+"<qt>Sohbete büyük bir metin (%1 byte ya da %2 satır) yapıştırmak istiyorsunuz. "
+"Bu bağlantının yeniden başlamasına ya da sunucudan atılmanıza neden olabilir. "
+"Gerçekten devam etmek istiyor musunuz?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "Büyük Yapıştırma Uyarısı"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "Kullanıcı dostu bir IRC istemcisi"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "Bağlanılacak sunucu"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "Kullanılacak port"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "Bağlantıdan sonra girilecek oda"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "Kullanılacak takma ad"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "Bağlantı için parola"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "Bağlantı için SSL kullan"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+#, fuzzy
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C)2002-2007 Konversation Takımı"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation Internet Relay Chat (IRC) - İnternet Gerçek-Zamanlı Sohbet "
+"protokolü için bir istemcidir.\n"
+"İnternette arkadaşlarınızla buluşabilir, yeni arkadaşlar edinebilir ve "
+"ilgilendiğiniz konu hakkında konuşurken kendinizi kaybedebilirsiniz."
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "Asıl Yazar, Proje Kurucusu"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "Geliştirici"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "Geliştirici, Sürüm Yöneticisi, Kullanıcı arayüzü, Protokol işleme"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC, Kodlama işleme, OSD yerleştirmesi"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "Protokol işleme, Giriş satırı"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr ""
+"Blowfish Desteği,SSL Desteği, KNetwork Uyarlaması, Renklendirilmiş Takma "
+"İsimler, Simge Teması Desteği"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "Düzenleme, KDE adres defteri/Kontact birleştirmesi"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "Web sayfası barındırma"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "Web sayfası bakımı"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "Çoklu kip eklentisi, Pencereyi kapat yerleştirmesi, OSD işlevleri"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr ""
+"Belgelendirme, Takip edilen takma isimler için çevrimiçi iyileştirmeleri, Özel "
+"web tarayıcısı eklentisi"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "Renk ayarlayıcısı, Belirginleştirme iletişim kutusu"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP arayüzü"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "Latin1 olmayan Kodlamalar"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole parçası görünümü"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr ""
+"Hızlı bağlanma, Uyarlanan yeni OSD, diğer özellikler ve hata ayıklamaları"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "Avuç dolusu düzeltme ve kod temizleme"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "Sürükle&Bırak iyileştirmeleri"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "Görsel çalışma"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox tipi arama çubuğu"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Ham kip, sunucuya göre sekme sınıflandırması, Yasakla listesi"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "Sistem çubuğu yaması"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Hata düzeltmeleri"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "Gelişmiş kullanıcı kipleri yaması"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "Görünen sekmeyi kısayolla kapatma yaması"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "Sekmeler arası fare tekerleğiyle geçiş"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "Oda sahipliği kipi yaması"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "IRC renk filtrelemesini açma seçeneği"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "OSD iyileştirmesi, düzeltmeler"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "Sysinfo betiği"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr ""
+"%1 kullanıcısından %2 odasına CTCP-PING talebi alındı, cevap gönderiliyor."
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "%2 kullanıcısından CTCP-%1 talebi alındı, cevap gönderiliyor."
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "%1 kullanıcısından %2 odasına sürüm talebi alındı."
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "%1 kullanıcısından sürüm talebi alındı."
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "%1 kullanıcısından geçersiz DCC SEND talebi alındı."
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "%1 kullanıcısından geçersiz DCC ACCEPT talebi alındı."
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "%1 kullanıcısından geçersiz DCC RESUME talebi alındı."
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "%1 kullanıcısından geçersiz DCC CHAT talebi alındı."
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "%2 kullanıcısından bilinmeyen dosya aktarım komutu alındı %1."
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "%2 kullanıcısından %3 odasında bilinmeyen CTCP-%1 talebi alındı."
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "%2 kullanıcısından bilinmeyen CTCP-%1 talebi alındı."
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 -> %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "%1 kullanıcısından CTCP-PING cevabı alındı: %2 %3."
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "%2 kullanıcısından CTCP-%1 cevabı alındı: %3."
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "Davet Et"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 sizi %2 odasına davet etti."
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "Hoş Geldiniz"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "Sunucu %1 (Sürüm %2), Kullanıcı kipleri: %3, Oda kipleri: %4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "Destek"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "Kişisel kipleriniz:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "Oda kipleri: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "konu koruması"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "dışarıdan mesaj yok"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "gizli"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "sadece davet et"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "özel"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "yöneticili"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "parola korumalı"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "anonim"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "sunucu yeniden-op"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "hiçbir renge izin yok"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr "%n kullanıcıyla sınırlı"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "Kip"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1 için Oda Listesi"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "Yaratıldı"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "Bu oda %1 tarihinde yaratıldı."
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Kim"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 , %2 olarak girdi."
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "İsimler"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "İSİMLER listesinin sonu."
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "KONU"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "%1 odası için konu belirtilmemiş."
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "Konu"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "%1 kanalı için konu : %2"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "Konu %1 tarafından %2 tarihinde ayarlandı."
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "Konu %1 tarafından %2 tarihinde %3 üzerinde ayarlandı."
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 gerçekte %2 adresini kullanıyor."
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1: Böyle bir takma ad/oda yok."
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "%1: Böyle bir takma ad yok."
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1: Böyle bir oda yok."
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "Takma Ad"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "Belirtilen takma ad zaten kullanımda, başka bir tane deneyin."
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "Belirtilen takma ad zaten kullanımda. %1 deneniyor."
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "Hatalı takma ad. Takma ad %1 ile değiştiriliyor."
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "%1'de değilsiniz."
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "Günün mesajı:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "Günün mesajının sonu"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "Şu anda bu sunucuda bir IRC yöneticisisiniz."
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "Kullanıcılar"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "Ağdaki kullanıcılar: %1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "%1 üzerindeki kullanıcılar: %2."
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "Uzakta"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 uzakta: %2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "%1 kullanıcısını %2 odasına davet ettiniz."
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1, %2@%3 olarak tanımlı (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "%1 (%2) adresi %3 olarak çözüldü"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "%1 (%2) için adres çözümlenemedi"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 tanımlı bir kullanıcıdır."
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "Kim"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1, %2@%3 olarak tanımlı (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (Uzakta)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1 için /WHO listesinin sonu"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "%1 şu oda(lar)da bir kullanıcıdır: %2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 şu odalarda konuşma iznine sahip: %2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 şu odalarda yarı-op'a sahip: %2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 şu odalarda bir operatördür: %2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 şu odaların sahibidir: %2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 şu odalarda yöneticidir: %2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1, %2 (%3) yoluyla bağlı."
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "Yardım için %1 mevcut."
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 bir IRC operatörüdür."
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr "%n gün"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr "%n saat"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr "%n dakika"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr "%n saniye"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 %2, %3, %4, ve %5'dir suskun."
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 %2, %3 ve %4'dir suskun."
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 %2 ve %3'dir suskun."
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr "%1 kullanıcısı %n saniyeden beri işlem yapmıyor."
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1, %2 zamanından beri bağlı."
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS listesinin sonu."
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "Kullanıcı makinesi"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 %3%4."
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC Operatörü)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (uzakta)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "Liste"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "Oda listesi:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr "%1 (%n kullanıcı): %2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "Oda listesinin sonu."
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "Yasaklananlar Listesi: %1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1, %2 tarafından %3 tarihinde yasaklandı"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "Yasaklananlar Listesinin Sonu."
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 şu anda müsait değil."
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1: Bilinmeyen komut."
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "Kayıtlı değil."
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1 : Bu komuta parametre vermeniz gerekli."
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "Ayarladığınız kişisel kipler: "
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "kişisel kiplerinizi değiştirdi:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " kipi ayarlar: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "Öntanımlı kimlik"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "İzlenen Takma Adı Düzenle"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "&Ağ adı:"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "Bağlanacağınız sunucu ağını burada seçin."
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "&Takma Ad:"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>Ağdaki bir sunucuya bağlandığında izlenecek takma ad.</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "Bildiri bilgisini değiştir"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "Bağlantı %1 bit SSL ile güvenli şekilde kuruldu."
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"OpenSSL desteği derleme zamanında Konversation'a kazandırılmadığı için, "
+"sunuculara şifreli SSL bağlantısı kurma yeteneği bulunmamaktadır. KDE'nin SSL "
+"destekli yeni bir sürümünü kullanmanız gerekmektedir."
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"Sunucudan gelen SSL sertifikası tanınamamıştır. Belki de sunucu verilen "
+"porttan SSL desteği vermiyor olabilir. Eğer bu sunucu normal, SSL-dışı "
+"bağlantıyı da destekliyorsa, SSL bağlantısı farklı bir porttan olacaktır."
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "%1 bilgisayarının IP adresi sertifikada geçene uymuyor."
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "Sunucu Doğrulama"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "Ayrıntılar"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "Sunucu (%1) sertifikası onay testinden geçemedi."
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr ""
+"Bu sertifikayı, bir daha uyarılmadan, her zaman kabul etmek istiyor musunuz?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "&Her zaman"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "Sadece Mev&cut Oturumlar"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[Belirginleştir] (%1) <%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[Sohbet] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 %2 odasına katıldı"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 %2 odasından ayrıldı"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 çıktı (%2)"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 takma adını %2 olarak değiştirdi"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 size dosya göndermek istiyor"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1, sizinle bir konuşma (sohbet) başlattı."
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 bağlı (%2)."
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 kullanıcısının bağlantısı kapandı (%2)."
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "%1 sizi %2 odasından tekmeledi"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1, sizinle bir dcc sohbeti başlattı"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[Belirginleştir] (%1) *** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "%1 sunucusuna bağlanılamadı"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "%1 kanalına girdiniz."
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "Metin bulunamadı"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "Sarmal arama"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "Ağ Arayüzü"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "IRC Sunucusundan Yanıt"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "Elle Belirt"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC Renk Seçicisi"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "Hiçbiri"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "&Sunucu:"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr ""
+"Sunucunun ismi ya da IP numarası. irchelp.org adresinde sunucu listesi "
+"bulunabilir."
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr ""
+"Sunucuya bağlanmak için gerekli port numarasını girin. Çoğu sunucu için, bu <b>"
+"6667</b> dir."
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "Şif&re:"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "G&üvenli bağlantı (SSL)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"Eğer sunucu ile SSL bağlantısı kurmak istiyorsanız işaretleyin. Bu özellik "
+"sizinle IRC sunucusu arasındaki bağlantının güvenli olmasını sağlar. Bu "
+"özelliğin çalışması için karşıdaki sunucunun SSL protokolünü desteklemesi "
+"gerekmektedir. Eğer karşıdaki sunucu SSL desteklemiyorsa büyük ihtimal bağlantı "
+"gerçekleşmeyecektir."
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "Sunucu adresi gerekli."
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "Yönetici dosya gönderme hakkınızı sınırlandırmış"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "\"%1\" bağlantısı bulunamıyor"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "\"%1\" konumuna ulaşılamadı"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "Dosya adı girin"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr ""
+"<qt><i>%1</i> kullanıcısına göndereceğiniz dosyanın dosya adı yok."
+"<br> Lütfen alıcıya görüntülenecek bir dosya adı belirtiniz veya dcc iletimini "
+"kesin.</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "Bir dosya adı verilmedi"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "IRC sunucusu üzerinden arkadaşınıza DCC SEND isteği gönderilemedi."
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "Uzak kullanıcının onayı bekleniyor"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "Bağlantı kabul edilemedi. (Soket Hatası)"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "\"%1\" dosyası açılamadı"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Soket hatası: %1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "Zaman aşımına uğradı"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "Bağlanma hatası: %1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "Uzak kullanıcının bağlantısı kapandı"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "İşlem başarıyla sonuçlandı."
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "\"%1\" dosyasından okunamadı."
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "\"%1\" dosyasına yazılamadı."
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "Düzeltilemeyen ölümcül bir hata oluştu."
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "\"%1\" dosyası açılamadı."
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "İşlem beklenmedik şekilde iptal edildi."
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "İşlem zaman aşımına uğradı."
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "Kapanırken belirtilmeyen bir hata oluştu."
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "Bilinmeyen hata. Kod %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC Gönderim"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC Alım"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (Ters DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "Bilinmeyen sunucu"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%2 üzerinde %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ", %1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (port %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "Evet, %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1sn"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "Hazır."
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>Bu, odadaki kullanıcı sayısını ve operatör (op) sayısını gösterir."
+"<p>Bir oda operatörünün kullanıcıları odadan atmak ve yasaklamak, oda kiplerini "
+"değiştirmek, diğer kullanıcıları operatör yapmak gibi özel ayrıcalıkları "
+"vardır</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "Gecikme: Bilinmiyor"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr ""
+"Sunucuyla olan tüm iletişim şifrelenir. Böylece birisinin konuşmalarınızı "
+"izlemesi zorlaştırılır."
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>Durum çubuğu sunucuya bağlanırken oluşan hatalar dahil değişik mesajları "
+"gösterir. En sağda sunucunun mevcut gecikmesi gösterilir. Gecikme, "
+"mesajlarınızın sunucuya giderken ve sunucudan size mesaj gelirken geçen "
+"süredir.</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "Gecikme: %1 ms"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "Gecikme: %1 s"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "%1 sunucusundan %2, %3, %4, ve %5'dir cevap alınamıyor."
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "%1 sunucusundan %2, %3 ve %4'dir cevap alınamıyor."
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "%1 sunucusundan %2, %3'dir cevap alınamıyor."
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr "%1 sunucusundan %n saniyedir cevap alınamıyor."
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "%1:%2 sunucusu aranıyor..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "%1 sunucusu bulunamadı. %2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "Sunucu bulundu, bağlanılıyor..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "Bağlandı; giriş yapılıyor..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "%1 sunucusuna bağlantı başarısız oldu. %2."
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr ""
+"SSL şifrelemesi kullanarak %1:%2 noktasına bağlanılamadı. Ya sunucu SSL desteği "
+"vermiyor, ya da yanlış port seçtiniz. %3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL Bağlantı Hatası"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "Sunucuya olan bağlantı kesildi."
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"\"%1\" kimliğindeki takma adlardan hiç biri \"%2\" tarafından kabul edilmedi. "
+"Lütfen yeni bir takma ad girin ya da bağlantıyı kesmek için Vazgeç'e basın:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "Takma ad hatası"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "Sunucudan veri okurken hata oluştu: %1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "%1 kullanıcısına Göndermek için Dosya(lar) Seç"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 size %2 (%3) dosyasını göndermek istiyor..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "bilinmeyen boyut"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr ""
+"%1 kullanıcısından %2 (%3) dosyasının yüklenmesini kabul etmesi için onay "
+"isteniyor..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr ""
+"%2 konumundan, \"%1\" dosyası için geçersiz DCC send kabul isteği alındı."
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr ""
+"%2 kullanıcısından \"%1\" dosyasının alınmasına devam ediliyor. İşleme %3% of "
+"%4 kalanından başlanıyor."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr ""
+"%2 konumundan, \"%1\" dosyası için geçersiz bir devam etme isteği alındı."
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "Yükleme devam ediyor \"%1\" to %2 başlanılan nokta: %3% Tamamı: %4..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr ""
+"%2 konumundan, \"%1\" dosyası için geçersiz bir devam etme isteği alındı."
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "%2 konumundan \"%1\" dosyası indirimi tamamlandı."
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "%2 konumundan\"%1\" dosyasının indirilmesi başarısız oldu. Neden: %3."
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "%2 konumuna \"%1\" dosyası gönderimi tamamlandı."
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "%2 konumuna \"%1\" dosyasının gönderimi başarısız oldu. Neden: %3."
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "\"%1\" dosyası %2 konumuna gönderiliyor..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "\"%1\" (%2) dosyası %3 konumundan indiriliyor..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr ""
+"%1 tarafından %2 odasına katılmak için davet edildiniz. Daveti kabul ediyor "
+"musunuz?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "Davet"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "Hata: \"%1\" betiği bulunamadı."
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "Hata: \"%1\" betiği çalıştırılamadı. Dosya izinlerini kontrol edin."
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "Şimdilik uzaklara gitti."
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "Şu anda 'uzakta' olarak işaretlisiniz."
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "Artık 'uzakta' olarak işaretli değilsiniz."
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "Şu anda 'uzakta' olarak işaretli değilsiniz."
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "İzlenen Takma Adlar"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "Sunucu/Takma Ad/Oda"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "Ek Bilgi"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>Bunlar takma ad İzleme listenizde bağlı oldukları sunucu ağının altında "
+"sıralanan takma adlardır. Bu liste ayrıca sunucu ağıyla ilişkilendirilmiş KDE "
+"adres defteri takma isimlerini de içerir.</p> "
+"<p><b>Ek bilgi</b> sütunu her bir takma ad için bilgi vermektedir.</p> "
+"<p>Takma adın katıldığı odalar her takma adın altında dizilidir.</p> "
+"<p><b>Çevrimdışı</b> altında sıralanan takma adlar ağdaki hiçbir sunucuya bağlı "
+"değildir.</p> "
+"<p>Ek yetenekleri devreye sokmak için takma ada fareyle sağ tıklayın.</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "İzl&eme Listesini Düzenle..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "Bu ekranda görünen takma adların listesini düzenlemek için tıklayın."
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "Adres defteri:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr ""
+"Yukarıdaki listeden bir takma ad seçtiğinizde, buradaki düğmeler, takma adı KDE "
+"adres defterindeki bir girdiyle ilişkilendirmek için kullanılır."
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "&Kişi Düzenle..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr ""
+"Yukarıda seçilen takma adla ilişkilendirilen KDE adres defteri girdisi "
+"yaratmak, ya da girdiyi görüntülemek ve düzenlemek için tıklayın."
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "İlişkilendirme &Değiştir..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr ""
+"Yukarıda seçilen takma ad KDE adres defterindeki bir girdi ile ilişkilendirmek "
+"için tıkayın."
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "İlişkilendirme &Sil"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr ""
+"Yukarıda seçilen takma ad ile KDE adres defterindeki girdi arasındaki "
+"ilişkilendirmeyi kaldırmak için tıkayın."
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " %1 yoluyla çevrimiçi"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " %1 tarihinden beri"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "Bağlı Değil"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " Voice (ses)"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " Yarı-Op"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " Operatör"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " Sahip"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " Yönetici"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "&Yeni Kişi Oluştur..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "İlişkilendirme &Seç..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "&Odaya Katıl"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "Ses Dosyası Seçin"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** Günlük dosyası\n"
+"*** %1 zamanında başladı\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "Davet geldiğinde, odaya otomatik olarak katıl"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "Günlükleri kaydetmenin tüm dosyayı kaydedeceğini unutmayın"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "Günlük dosyası içeriğini silmeden önce sor"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "Takma adı yoksaydıktan sonra sohbetleri kapatırken sor"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "Ağdaki farklı bir sunucuya bağlanmadan önce sor"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "Ağdaki farklı bir sunucuya bağlanmadan önce sor"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "Sunucu sekmesini kapat"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "Kanal sekmesini kapat"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "Sohbet sekmesini kapat"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "Oda listesi sadece sunucu-alakalı sekmelerden açılabilir"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "Ana pencere menüsü gizlendiğinde uyar"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "Oda listesiyle yüksek trafik olduğunda uyar"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "Büyük miktarda metin yapıştırıldığında uyar"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "Konversation 'dan çıkarken uyar"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "Oda Listesi"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "Filtre Ayarları"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "En az kullanıcı:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "En fazla kullanıcı:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanal listesi alırken, listeyi en az bu sayıda kullanıcı içeren odalardan "
+"oluşturmak için kullanılır.. 0 seçmek bu kriteri devre dışı bırakır."
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr ""
+"Kanal listesi alırken, listeyi en çok bu sayıda kullanıcı içeren odalardan "
+"oluşturmak için kullanılır.. 0 seçmek bu kriteri devre dışı bırakır."
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "Filtre tipi:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "Filtre hedefi:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "Filtre kriterini buraya girin."
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "Düzenli ifade"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "Filtre Uygula"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr ""
+"Sunucudan odaların listesini almak ve bunlara filtre uygulamak için buraya "
+"tıklayın."
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"Filtrelenmiş oda listesi gösteriliyor. Eğer düzenli ifade kullanmadıysanız "
+"Konversation sadece içinde yazdıklarınız geçen odaları listeler. Odanın ismi "
+"yazdığınız filitre ile başlamak zorunda değildir.\n"
+"\n"
+"Katılmak istediğiniz odanın ismine tıklayın. Odaya sağ tıklayarak kanalın "
+"başlığındaki tüm web adreslerinin listesini alabilirsiniz."
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "Oda Adı"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "Oda Konusu"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "Listeyi Tazele"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "Listeyi Kaydet..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "Odaya Katıl"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "Odaya katılmak için tıklayın. Oda için yeni bir sekme yaratılacak."
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "Oda Listesini Kaydet"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation Oda Listesi: %1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "Odalar: %1 (%2 gösteriliyor)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "Tekil olmayan kullanıcılar: %1 (%2 gösterildi)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "URL Aç"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<Hiç URL bulunamadı>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 için Oda Listesi"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "Bağlı"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı anında mesajlaşmak için kullanmaya "
+"çalıştı, fakat mesaj gönderecek bir kişi belirtmedi. Bu, muhtemelen diğer "
+"uygulamadaki bir hata."
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı anında mesajlaşmak için kullanmaya "
+"çalıştı, fakat Konversation belirtilen kişiyi KDE adress defterinde bulamadı."
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı anında mesajlaşmak için kullanmaya "
+"çalıştı, fakat talep edilen %1 kullanıcısı bağlı değil."
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı bir kişiye dosya göndermek için "
+"kullanmaya çalıştı, fakat mesaj gönderecek bir kişi belirtmedi. Bu, muhtemelen "
+"diğer uygulamadaki bir hata."
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı bir kişiye dosya göndermek için "
+"kullanmaya çalıştı, fakat Konversation belirtilen kişiyi KDE adres defterinde "
+"bulamadı."
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı bir kişiye dosya göndermek için "
+"kullanmaya çalıştı, fakat talep edilen %1 kullanıcısı şu anda bağlı değil."
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr ""
+"Diğer bir KDE uygulaması Konversation'ı bir kişi eklemek için kulanmaya "
+"çalıştı. Konversation bunu desteklemiyor."
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr ""
+"Adres defteri uygulamanız (kadressbook) başlatılamadı. Bunun nedeni kurulu "
+"olmaması olabilir. Lütfen 'kdepim' paketlerini kurun."
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr ""
+"Seçtiğiniz kişi ile ilişkilendirilmiş bir e-posta adresi bulunmamaktadır. "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "E-posta Gönderilemiyor"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr ""
+"E-posta uygulamanız çalıştırılamadı. Bunun nedeni bir posta uygulamasının "
+"kurulmamış olması olabilir . KDE e-posta uygulamasını (kmail) kurmak için, "
+"lütfen 'kdepim' paketlerini kurun."
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr ""
+"Seçtiğiniz bağlantıların hiçbiri bir adres defteri bağlantısıyla "
+"ilişkilendirilmemiş. "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "Seçtiğiniz kişi bir adres defteri bağlantısıyla ilişkilendirilmemiş. "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr ""
+"Seçtiğiniz bazı bağlantılar (%1) bir adres defteri bağlantısıyla "
+"ilişkilendirilmemiş. "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr ""
+"Seçtiğiniz bağlantıların biri (%1) bir adres defteri bağlantısıyla "
+"ilişkilendirilmemiş. "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr ""
+"Bir bağlantıyı sağ tıklayıp Adres Defteri İlişkilendirmesi'ni seçerek onu adres "
+"defterindeki bir bağlantıya bağlayabilirsiniz."
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "Seçtiğiniz bağlantıların hiçbiri bir e-posta adresine sahip değil. "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr ""
+"Seçtiğiniz bağlantıların bazıları (%1) bir e-posta adresine sahip değil. "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "Seçtiğiniz bağlantıların biri (%1) e-posta adresine sahip değil. "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr ""
+"Bir bağlantıya, ona sağ tıklayıp adres defteri bağlantısını düzenlemeyi "
+"seçerek, e-posta ekleyebilirsiniz."
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr ""
+"Seçtiğiniz bağlantıların bazıları (%1) bir adres defteri bağlantısıyla "
+"ilişkilendirilmemiş, bazılarıysa e-posta adresine sahip (%2) değil. "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr ""
+"Bir bağlantıyı sağ tıklayıp Adres Defteri İlişkilendirmesi'ni seçerek onu adres "
+"defterindeki bir bağlantıya bağlayabilir, ve bu adres defteri bağlantısını "
+"düzenleyerek bir e-posta ekleyebilirsiniz."
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"Yine de e-postası olan takma adlara bir e-posta göndermek istiyor musunuz?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "E-posta gönder"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "IRC Takma Adını Adres Defteri Kişisine Bağla"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "'%1' olan kişiyi seçiniz."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "Şu an '%1' bir kişi ile ilişkilendirilmiş."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "Şu an '%1', '%2' ile ilişkilendirilmiş."
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr ""
+"<qt><b>Uyarı:</b> '%1' şu an birden çok bağlantıyla ilişkilendirilmiş "
+"görünüyor. Lütfen doğru bağlantıyı seçiniz.</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "Yeni Adres Defteri Girdisi"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "Yeni girdiye isim verin:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL Yakalayıcısı"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "Bu oturumdaki Konversation pencerelerinde geçen URL'lerin listelesi."
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "URL'yi &Aç"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>Yukarıda bir <b>URL</b> seçiniz ve bu düğmeye basarak bu URL'yle "
+"ilişkilendirilen uygulamayı çalıştırabilirsiniz.</p> "
+"<p><b>Yapılandırma</b>, <b>Davranış</b> | <b>Genel</b> "
+"altında, web URL'leri için özel bir tarayıcı tanımlayabilirsiniz.</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "URL'yi &kopyala"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr ""
+"Panoya URL kopyalamak için, bir <b>URL</b>'yi seçin ve bu düğmeye tıklayın."
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "URL'yi &Sil"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr ""
+"Listeden URL silmek için, bir <b>URL</b>'yi seçin ve bu düğmeye tıklayın."
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "L&isteyi Kaydet..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "Tüm listeyi bir dosyaya kaydetmek için tıklayın."
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "&Listeyi Temizle"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "Tüm listeyi silmek için tıklayın."
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "URL listesini kaydet"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "Çoklu Satır Yapıştırmasını Düzenle"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "&Alıntı Belirteçleri Ekle"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "&Oda:"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "Kanal adı gereklidir."
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "Ham Günlük"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "Şu anki sekmede metin ara"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "%1 için &Oda Listesi"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "%1 &için Günlük Dosyasını Aç"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "%1 için &Oda Ayarları..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "Öntanımlı (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "Sadece metin alanlarında arama yapabilirsiniz."
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "Metin Bilgisi Bul"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 için günlük dosyası"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "Dosya Aktarım Durumu"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr ""
+"Uyarı: Bu fonksiyonu kullanmak ağ trafiğini çok yoğunlaştırabilir. Bağlantınız "
+"yeterince hızlı değilse, sunucu ile bağlantınız kopabilir."
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "Oda Listesi Uyarısı"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr ""
+"Oda listesi bir sohbet, oda ya da durum penceresi içerisinden, bu listenin "
+"hangi sunucuya ait olduğunu anlamak için açılabilir."
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr ""
+"Ağ ismini buraya girin. Sunucu listesi ekranında aynı ağa dahil istediğiniz "
+"kadar girdi oluşturabilirsiniz."
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr ""
+"Mevcut kimliklerden birini seçin veya Düzenle düğmesi yardımı ile yeni kimlik "
+"oluşturun ya da mevcut kimliklerden birini düzenleyin. Kimlikler ağa "
+"bağlandığınızda takma adınızı belirlemek için kullanılır."
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"Zorunlu değil. Bağlantı sağlandıktan sonra bu komut sunucuya gönderilecektir. "
+"Örneğin: <b>/msg NickServ IDENTIFY <i>konvirocks</i></b>."
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr ""
+"Konversation her başlatıldığında kendiliğinden bu ağa bağlanmasını istiyorsanız "
+"bu seçeneği işaretleyin."
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"Ağdaki IRC sunucularının listesi. Bir ağa bağlanılacağı zaman Konversation ilk "
+"olarak en üstteki sunucuyu dener, eğer başarısız olursa, ikinciyi, üçüncüyü ve "
+"diğerlerini sıra ile dener. En az bir sunucu belirtilmelidir. Sunucuya "
+"tıklayarak seçili hale getirin."
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr ""
+"Zorunlu değil. Konversation sunucuya bağlanınca kendiliğinden girilecek olan "
+"odaları listeler. Eğer hiçbir odaya otomatik giriş yapmak istemiyorsanız burayı "
+"boş bırakabilirsiniz."
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "Ağ bilgisini değiştir"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "Sunucu Ekle"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "Sunucuyu Düzenle"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "Oda Ekle"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "Odayı Düzenle"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "Ağ adı gereklidir."
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "Ağa en az bir sunucu eklemelisiniz."
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Temaları"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "Tema Paketini Seç"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "Tema İndirmesi Başarısız"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "Geçersiz tema arşivi."
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "Tema Kurulamadı"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "'%1' silinecek. Emin misiniz?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "Temayı Kaldır"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC İstemcisi"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "Alıcıyı Seç"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "Takma ad seç ve pencereyi kapat"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "Pencereyi değişiklik yapmadan kapat"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: %1 sunucusu bulunamadı."
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "Yönetici dosya alma hakkınızı sınırlandırmış"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "Desteklenmeyen görüşme (dosya boyu=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>Dizin oluşturulamıyor.</b><br>Dizin: %1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "Bir KIO örneği oluşturulamadı"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>Bu dosya başka bir transfer tarafından kullanılıyor.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr ""
+"<b>Yarım bir dosya var.</b> "
+"<br>%1 "
+"<br>Yarım dosyanın boyu: %2 bayt"
+"<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>Bu dosya zaten var.</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>Dosya açılamadı.<br>Hata: %1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr "Ters DCC isteği irc sunucu üstünden yollanamıyor."
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "Bağlantı için bekleniyor"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "Uzak bilgisayardan onay bekleniyor"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr "DCC alımı devam isteği sunucu üzerinden yollanamıyor"
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "Uzak bilgisayardan beklenmeyen bir yanıt alındı"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "Transfer hatası"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO hatası: %1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>Konuştuğunuz kişiyle ilgili kimi detaylar bu çubukta belirtilenmiştir. Tam "
+"adı ve makine adı, KDE Adres Defterinde bu kişiyle ilişkilendirilmiş herhangi "
+"bir resim veya logo görüntülenmiştir. "
+"<p>Bir takma adı Adres Defteri bağlantısına bağlamak veya makine adının ne "
+"olduğunu öğrenmek için <i>Konversation El Kitabı</i>'na danışabilirsiniz.</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(uzakta)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "%1 görmezden gelmek istediğinize emin misiniz?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr ""
+"Takma adı yoksaydıktan sonra bu sohbeti kapatmak istediğinize emin misiniz?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "Bu Sohbeti Kapat"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "Açık Tut"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr ""
+"%1 takma adını yoksayma listesinden çıkarmak istediğinize emin misiniz?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "Öntanımlı Kimlik ( %1 )"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "%1 ile konuşma pencerenizi kapatmak istediğinizden emin misiniz?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "Sohbeti Kapat"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "Kendi kendine konuşuyor"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 bu sunucuyu terk etti."
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 bu sunucuyu terk etti (%2)."
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "Ekran Önizleme - yeniden konumlandırmak için fareyle sürükleyin"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "Operatör"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "Yönetici"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "Sahip"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "Yarı-operatör"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "Voice (ses)"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "Arayüz"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "Davranış"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "Bildiriler"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "Konuşma Penceresi"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "Takma ad listesi teması"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "Renkler"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "Hızlı Düğmeler"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "Bağlantı"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "Takma Ad listesi"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "Komut Kısaltmaları"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "Otomatik Değiştirme"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "Günlük tutma"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "Belirginleştirme"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "İzlenen Takma Adlar"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "Ekran Üstü Görüntü"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "Uyarı Pencereleri"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "Dosya Alma Sorusu"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "&Devam Et"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "&Asıl Dosya Adı"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "Ye&ni İsim Öner"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "Ü&zerine Yaz"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "Y&eniden İsimlendir"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "İleride Bul"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "Büyük harf küçük harf duyarlı"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "Sadece Tüm Kelimeler"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "İmleçten itibaren"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "&Sekmeyi Kapat"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "'%1' konumundan ayrılmak istediğinizden emin misiniz?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "Sunucu Bağlantısını Sonlandır"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "Bağlantıyı kes"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "Başlangıç"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "Durum"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "Gönderilen"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "Süreç"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "Konum"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "Kalan"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "Hız"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "Gönderici Adresi"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "Kabul et"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "İptal et"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "Dosya Aç"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "Alma başlatılıyor"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "Transfer(ler)i iptal et"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "Dosyayı çalıştır"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "Dosya aktarım bilgisine bak"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "Tüm Öğeleri &Seç"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "Tamamlanmış Tüm Öğeleri S&eç"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "K&abul et"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "&Çık"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "Yeniden Gönder"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "&Temizle"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "D&osya Aç"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "Dosya B&ilgisi"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "Kanal Ayarlarını Düzenle"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>Her IRC odası bir konuya sahiptir. Bu basitçe herkesin görebileceği bir "
+"iletidir. "
+"<p>Eğer operatörseniz, veya <em>'T'</em> oda kipi yapılandırılmamışsa, konuyu "
+"Oda Özelliklerini düzenle düğmesine basarak değiştirebilirsiniz. Burda ayrıca "
+"eski konuları da görebilirsiniz.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>T</b> kipi, bu odanın konusunu sadece oda operatörü değiştirebilir "
+"demektir.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>'N'</b> kipi, oda dışındaki kullanıcıların odadaki herkesin görebileceği "
+"iletiler atamaması demektir. Hemen hemen tüm odalar sıkıcı iletilerle "
+"karşılaşmamak için bu özelliği etkinleştirirler.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir. "
+"<p><b>'S'</b> kipi seçili odalar oda listesinde görülemeyeceği gibi, <em>"
+"WHOIS</em> veya benzeri bir komutla o odada olup olmadığınız da denetlenemez. "
+"Bu kip seçiliyse sadece Sizinle aynı odadakiler sizi görebilirler.</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>'I'</b> kipi, kullanıcıların ilgili odaya sadece davet neticesinde "
+"girebileceklerini gösterir. Birini davet etmek için oda operatörü <em>"
+"/intive takma_isim</em> komutunu odadan vermelidir.</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>'P'</b> kipi seçili oda, odalar listesinde görülür ancak konusu "
+"belirtilmez. IRC sunucusunun yapılandırılmasına göre, böyle özel odadaki bir "
+"kullanıcının <em>WHOIS</em> bilgisi gösterilebilir ve gösterilemeyebilir.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>S</b>eçimli oda sadece operatörlerin, yarı operatörlerin ve "
+"konuşabilenlerin olduğu odadır.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>K</b>orumalı oda, kullanıcıların katılmak için parola belirtmesi gereken "
+"odadır.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>K</b>ullanıcı sınırlı oda, o odada aynı anda en çok belirtilen sayıda "
+"kullanıcının olabileceğini gösterir. Bazı odalar, bunu odanın yoğunluğuna göre "
+"otomatik değiştirebilme özelliğine sahiptir.</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "Odada olabilecek en çok kullanıcı sayısı"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt> Bu oda kullanıcı sınırıdır - odada aynı anda bulunabilecek en fazla "
+"kullanıcı sayısı. Bir operatörseniz, bunu yapılandırabilirsiniz. Oda kipi <b>"
+"K</b>onusu (soldaki düğme) bunu yapılandırısanız kendiliğinden yapılanır</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>Bu şu anki takma adınızı ve yapılandırmanız gereken herhangi diğer seçimlik "
+"adları gösterir. Eğer başka bir takma adı yazarsanız, bu IRC sunucusuna takma "
+"isim değiştirme desteği olarak gidecektir. Eğer sunucu izin verirse, yeni takma "
+"ad seçilecektir. Eğer yeni bir takma ad seçerseniz, sonunda 'Enter' düğmesine "
+"basmanız gerekecek. "
+"<p><em>Dosya</em> mönüsündeki <em>Kimlikler</em> bölümünden alternatif takma "
+"isimleri değiştirebilirsiniz.</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "Seçili kullanıcıları görmezden gelmek istediğinize emin misiniz?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr ""
+"Seçili kullanıcıları yoksayma listesinden çıkarmak istediğinize emin misiniz?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "Tamamlama"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "Mümkün tamamlamalar: %1."
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "Oda Şifresi"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "Takma ad limiti"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "Yeni takma ad limitini girin:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "Şimdi %1 olarak biliniyorsunuz."
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1, şimdi %2 olarak biliniyor."
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "%1 odasına katıldınız (%2)."
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 bu kanala katıldı (%2)."
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "Bu sunucuyu terk ettiniz."
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "Bu sunucuyu terk etmiş durumdasınız (%1)."
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "%1 odasını terk ettiniz."
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "Kanalı terk ettiniz %1 (%2)."
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 sunucuyu terk etti (%2)."
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 odayı terk etti."
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 bu kanalı terk etti (%2)."
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "Kendinizi %1 odasından tekmelediniz."
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "Kendinizi %1 odasından %2 nedeniyle tekmelediniz."
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "%1 odasından %2 tarafından tekmelendiniz."
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "%1 odasından %2 tarafından %3 nedeniyle tekmelendiniz."
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "%1 kullanıcısını odadan tekmelediniz."
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "%1 kullanıcısını %2 nedeniyle odadan tekmelediniz."
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1, %2 tarafından odadan tekmelendi."
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1, %2 tarafından %3 nedeniyle odadan tekmelendi."
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr "%n takma ad"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr " (%n op)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "Oda konusu: \"%1\"."
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "Oda konusunu değiştirdiniz: \"%1\"."
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 kullanıcısı, oda konusunu değiştirdi: \"%2\"."
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "Kendinize oda sahipliği ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "%1 kullanıcısına oda sahipliği ayrıcalıkları verdiğiniz."
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1, size oda sahipliği ayrıcalıkları verdi."
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1, %2 kullanıcısına oda sahipliği ayrıcalıkları verdi."
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "Kendinizden oda sahipliği ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "%1 kullanıcısından oda sahipliği ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1, sizden oda sahipliği ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1, %2 kullanıcısından oda sahipliği ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "Kendinize oda sahipliği ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "%1 kullanıcısına oda sahipliği ayrıcalıkları verdiğiniz."
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1, size oda sahipliği ayrıcalıkları verdi."
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1, %2 kullanıcısına oda sahipliği ayrıcalıkları verdi."
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "Kendinizden oda sahipliği ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "%1 kullanıcısından oda sahipliği ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1, sizden oda sahipliği ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1, %2 kullanıcısından oda sahipliği ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "Kendinize oda operatörü ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "%1 kullanıcısına oda operatörü ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1, size oda operatörü ayrıcalıkları verdi."
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1, %2 kullanıcısına oda operatörü ayrıcalıkları verdi."
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "Kendinizden oda operatörü ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "%1 kullanıcısından oda operatörü ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1, sizden oda operatörü ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1, %2 kullanıcısından oda operatörü ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "Kendinize yarı-op ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "%1 kullanıcısına yarı-op ayrıcalıkları verdiniz."
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1, size yarı-op ayrıcalıkları verdi."
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1, %2 kullanıcısına yarı-op ayrıcalıklarını verdi."
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "Kendinizden yarı-op ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "%1 kullanıcısından yarı-op ayrıcalıklarını aldınız."
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1, sizden yarı-op ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1, %2 kullanıcısından yarı-op ayrıcalıklarını aldı."
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "Kendinize konuşma izni verdiniz."
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "%1 kullanıcısına konuşma izni verdiniz."
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1, size konuşma izni verdi."
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1, %2 kullanıcısına konuşma izni verdi."
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "Siz, kendinizden konuşma izni aldınız."
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "%1 kullanıcısından konuşma izni aldınız."
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1, sizden konuşma izni aldı."
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1, %2 kullanıcısından konuşma izni aldı."
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "Oda kipini 'renkli kodlar yasak' olarak ayarladınız."
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1, oda kipini 'renkli kodlar yasak' olarak ayarladı."
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "Oda kipini 'renkli kodlara izin ver' olarak ayarladınız."
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1, oda kipini 'renkli kodlara izin ver' olarak ayarladı."
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "Oda kipini 'sadece davet et' olarak ayarladınız."
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1, oda kipini 'sadece davet et' olarak ayarladı."
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "'Sadece davet et' kipini odadan kaldırdınız."
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1, 'sadece davet et' kipini odadan kaldırdı."
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "Oda kipini 'seçimli' olarak yapılandırdınız."
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 oda kipini 'seçimli' olarak yapılandırdı."
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "Oda kipini 'seçimsiz' olarak yapılandırdınız."
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 oda kipini 'seçimsiz' olarak yapılandırdı."
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "Oda kipini 'dışarıdan mesajlar yasak' olarak ayarladınız."
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1, oda kipini 'dışarıdan mesajlar yasak' olarak ayarladı."
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "Oda kipini 'dışarıdan mesajlara izin ver' olarak ayarladınız."
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1, oda kipini 'dışarıdan mesajlara izin ver' olarak ayarladı."
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "Oda kipini 'özel' olarak ayarladınız."
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1, oda kipini 'özel' olarak ayarladı."
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "Oda kipini 'kamu'ya ayarladınız."
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1, oda kipini 'kamu'ya ayarladı."
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "Oda kipini 'gizli' olarak ayarladınız."
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1, oda kipini 'gizli' olarak ayarladı."
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "Oda kipini 'görünür' olarak ayarladınız."
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 oda kipini 'görünür' olarak ayarladı."
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "'Konu koruması'nı açtınız."
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 'konu koruması'nı açtı."
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "'Konu koruması'nı kaldırdınız."
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1, 'konu koruması'nı kaldırdı."
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "Oda konusunu değiştirdiniz: \"%1\"."
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 kullanıcısı, oda konusunu değiştirdi: \"%2\"."
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "Oda limitini kaldırdınız."
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 oda limitini kaldırdı."
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "Oda limitini %1 takma ada ayarladınız."
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1, oda limitini %2 takma ada ayarladı."
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "Oda limitini kaldırdınız."
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 oda limitini kaldırdı."
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "%1 kullanıcısına yasak koydunuz."
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1, %2 kullanıcısına yasak koydu."
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "%1 kullanıcısına yasağı kaldırdınız."
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1, %2 kullanıcısına yasağı kaldırdı."
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "%1 üzerine yasaklama istisnası koydunuz."
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1, %2 üzerine yasaklama istisnası koydu."
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "%1 üzerindeki yasaklama istisnasını kaldırdınız."
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1, %2 üzerindeki yasaklama istisnasını kaldırdı."
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "%1 davet maskesini ayarladınız."
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 kullanıcısı %2 davet maskesini ayarladı."
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "%1 davet maskesini kaldırdınız."
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 kullanıcısı %2 davet maskesini kaldırdı."
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "Oda kipini %1 olarak ayarladınız"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 kanal kipini %2 olarak ayarladı"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "Kanal kipini -%1 olarak ayarladınız"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 kanal kipini -%2 olarak ayarladı"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "Bu değiştirmek için operatör olmalısınız."
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "Konu sadece oda operatörü tarafından değiştirilebilir. %1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "Dışardaki istemciler bu odaya mesaj atamaz. %1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "Gizli oda. %1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "Sadece davet edilenlerin girebileceği oda. %1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "Özel oda. %1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "Seçimli oda. %1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "Odayı bir parola ile koru."
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "Odaya kullanıcı limiti koy."
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "%1'den ayrılmak istediğinize emin misiniz?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "Odadan Ayrıl"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "Ayrıl"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "Engin ÇAĞATAY, Ozan Eren BİLGEN"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "engincagatay@yahoo.com, oebilgen@uekae.tubitak.gov.tr"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "Sırada"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "&Satır: "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " byte"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "&Ses:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "&Satır: "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " byte"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "Normal Kullanıcılar"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "Sırada"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "Sırada"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "Al"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "Düğme Adı"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "Düğme Görevi"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "Düğme Görevi:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "Düğme Adı:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "Kullanılabilir Yer Tutucular"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, fuzzy, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%c: O an ki oda\n"
+"%K: Sunucu parolası\n"
+"%u: Seçili takma adların listesi\n"
+"%s<terim>%: %u konumundaki takma adları ayırmada kullanılan terim\n"
+"%n: Komutu girdi satırına göndermek yerine doğrudan sunucuya gönder"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "Dosya adı:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "Kendi:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "Tip:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "Durum:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "Konum:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "İşlem:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "Arkadaş:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "Dosya Aç"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "Dosya Boyutu:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "Ortalama Hız:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "Devam Edildi:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "Şimdiki Hız:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "Şimdiki Konum:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "Tahmini Kalan Süre:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "Önerme zamanı:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "Bitme zamanı:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "Başlama zamanı:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "Aktarma Süresi:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "Kendiliğinden yeniden bağlantıyı etkinleştir"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "Yeniden bağlanma zaman aşımı:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "Yeniden bağlanma denemeleri:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " saniye"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "Sınırsız"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "Hata ayıklama"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "&Bağlandığında günlük penceresini göster"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "Kalıp"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "Tür"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "Kalıp:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "Mesaj Türleri"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "&Yeni"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "&Hepsini Kaldır"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "Ağ adı:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "Kimlik:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "Komutlar:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "Uygulama başlatılırken bağlan"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "Sunucular"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "&Ekle..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "&Düzenle..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "Odalara Otomatik Katıl"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "Dü&zenle..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "Arma:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "Komut:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "Arma"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "Komut"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "Sonrakini &Bul"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "Öncekini Bul"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "&Çift tıklamada çalıştırılacak komut:"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "&Büyük küçük harfe duyarsız sırala"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "Etkinliğinde g&öre sırala"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "Kullanıcı durumuna göre &sırala"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "Açıklama"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(Takma ad sıralamasını sürükle-bırak ile değiştir)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "Theme_Config"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "Temayı &Kur..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "Temayı Kaldı&r"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "Normal kullanıcılar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "Uzaktaki kullanıcılar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "Sesli kullanıcılar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "Yarı operatör yetkileri olanlar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "Operatör yetkileri olanlar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "Yönetici yetkileri olanlar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "Sahip yetkileri olanlar için simge"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "Önizleme:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "TabBar_Config"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "Bak"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "Konum:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "Sekmelerde &kapatma düğmesini göster"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "Sekme çubuğunun &sağ tarafında kapatma düğmesi göster"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "Hepsini ekrana sığdırmak için sekmenin &boyutunu sınırla"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "Odaklanma"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "Yeni sekmelere &odaklan"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "Yeni &sohbetlere odaklan"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "Kip"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "&Takma ada çift tıklandığında çalıştırılacak komut:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+" "
+"<p><b>Çevrimiçi Takma Adlar</b> penceresindeki bir takma ada çift "
+"tıkladığınızda, \n"
+"bu komut sunucu penceresindeki <b>Girdi Satırı</b>'na yerleştirilir:</p>"
+"<p>Komutta şu semboller kullanılabilir:</p>"
+"<ul>\n"
+"<li>%u: Çift tıklanılan takma ad.</li>\n"
+"<li>%K: Sunucu parolası.</li>\n"
+"<li>%n: Komutu girdi satırı yerine doğrudan sunucuya gönder.</li>\"\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p><b>Çevrimiçi Takma adlar</b> penceresinde bir takma ada çift "
+"tıkladığınızda,\n"
+" bu komut sunucu penceresindeki <b>Girdi Satırı</b>'na yerleştirilir:</p>\n"
+"<p>Komutta şu semboller kullanılabilir:</p>"
+"<ul>\n"
+"<li>%u: Çift tıklanılan takma ad.</li>\n"
+"<li>%K: Sunucu parolası.</li>\n"
+"<li>%n: Komutu girdi satırı yerine doğrudan sunucuya gönder.</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "&Güncelleme aralığı:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr ""
+"Konversation, aşağıda listelenen takma adların durumunu bu aralıkta kontrol "
+"edecek."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "Uygulama başlangıcında izlenen takma &adlar çevrimiçi sekmesini göster"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr ""
+"<qt>İşaretlendiğinde, <b>Çevrimiçi Takma Adlar</b> penceresi Konversation "
+"başlarken kendiliğinden açılacak.</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "Takma ad izleyicisi et&kinleştir"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Takma ad izleyicisi açık olduğu zaman, <b>İzlenen Ağlar/Takma Adlar</b> "
+"listesindeki takma adlar çevrimiçi veya çevrimdışı olduğunda "
+"bilgilendirilirsiniz.</p> \n"
+"<p>Ayrıca izlenen takma adların durumunu görmek için <b>"
+"Çevrimiçi Takma Adlar</b> penceresini de açabilirsiniz</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "Ağ:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "İzlenen kişinin arandığı ağ adresi ( örnek: freenode)."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "İzlenecek kişinin kullanıcı adı ya da takma ismi"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "İzlenen Ağlar/Takma Adlar"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"Takma ad izleyicisi açık olduğu zaman, <b>İzlenen Ağlar/Takma Adlar</b> "
+"listesindeki takma adlar çevrimiçi veya çevrimdışı olduğunda "
+"bilgilendirilirsiniz.</p>\n"
+"<p>Ayrıca izlenen takma adların durumunu görmek için <b>"
+"Çevrimiçi Takma Adlar</b> penceresini de açabilirsiniz</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "Listeye bir takma ad eklemek için tıklayın."
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "Seçilen takma adı listeden kaldırmak için tıklayın."
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "&Kayıtları Etkinleştir"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "Küçük harf günlük dosyası isimlerini &etkinleştir"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "&Makine adını kayıt dosyası adına ekle"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "Günlük &yolu:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "Sistem Çubuğunu Kullan"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "Yeni mesaj haberi için sis&tem çubuğunu kullan"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr ""
+"Sadece bir vurgu tetiklendiği&nde ya da takma adınız kullanıldığında "
+"bildirilsin"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "Si&mgeyi parlat"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "Takma Ad Tamamlaması"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "Tamamlama &kipi:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "Takma İsim Listesini Döndür"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "Kabuk Benzeri"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "Kabuk Benzeri (Tamamlama Kutulu)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "Satırın başındaki &ek:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "&Başka yer:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "Büyük küçük harf duyarlı"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "&Uzaktayken bilgilendirmeleri kapat"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "Özel sürüm ce&vabı:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr ""
+"<qt>Burada <b>CTCP <i>VERSION (SÜRÜM)</i></b> talepleri için özel cevap "
+"seçebilirsiniz.</qt>"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "Giriş satırı yazıya göre genişlesin"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "&Komut karakteri:"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "Özel &bir web tarayıcısı kullan:"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "Hepsini ekrana sığdırmak için sekmenin boyutunu sınırla"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "Kaydırma çubuğunu gizli"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "Yazarken söz dizimi doğrulaması yapılmasını istiyorsanız bunu seçin"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "Bu seçeneği seçerseniz giriş satırı dolduğunda yukarı doğru genişler."
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "Sistem çubuğuna küçült"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "Açılışta ana pencereyi gizle"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "&Takma isimlerin yanında gerçek isimleri göster"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "Uygulama başlangıcında izlenen takma adlar sekmesini göster"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "Duyguları etkinleştir"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "Duygu teması"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "&Konu"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "Tarih"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "&Kipler"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "Konu sadece oda &operatörü tarafından değiştirilebilir"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "Oda dışından ileti &yok"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "&Gizli oda, bu oda oda listesinde sıralanmayacak"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "Sadece &davet edilenler odaya katılabilir"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>Bu düğmeler odanın <em>kipini</em> denetler. Bunları sadece bir operatör "
+"değiştirebilir."
+"<p><b>D</b>avet kipi, kullanıcıların ilgili odaya sadece davet neticesinde "
+"girebileceklerini gösterir. Birini davet etmek için oda operatörü <em>"
+"/intive takma_isim</em> komutunu odadan vermelidir.</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "&Seçimli oda, sadece ses bağlantısı olan kullanıcılar odaya yazabilir"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "Oda Şifresi"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "&Kullanıcı sınırı:"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "&İleri Özellikleri Göster >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A, Geri Sil, Tab, Geri Sil"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "Parametre"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "Oda &Listesi"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "Odayı &Kaldır"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "&Oda Ekle"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "Sunucu maskesi"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "Tarafından Ayarlandı"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "Ayarlanma Zamanı"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "Ara:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC_Ayarları"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "Dosya indirme &dizini:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "&Göndericiyi dosya adına ekle"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "Gönderi&ci için dizin oluştur"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "Göndermeden önce dosya isimlerindeki boşlukları altçizgiye çevir"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "Gönderilmek istenen dosyaları &otomatik kabul et"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "Dosya indirmeyi otom&atik olarak devam ettir"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "Hızlı dosya gönderimini etkinleştir (Tüm istemcilerle &çalışmayabilir)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "&Tampon boyutu:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "Dosya gönder&im zaman aşımı:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "Dosya gönderimi için IPv&4 arabirimi kullan:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr ""
+"Bu özellik etkinleştirilirse, IPv6 bağlatıları için dosya gönderimleri "
+"belirtilen IPv4 arabirimi üzerinden yapılacaktır"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " byte"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " saniye"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "Pasif DCC gönderimini etkinleştir"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "Kendi IP numaranızı al&ma yöntemi:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "Ke&ndi IP numaranız:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "Portlar"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "&Güvenli sohbet için özel portları etkinleştir:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "kime"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "DCC aktarım sunucusu için özel &portları etkinleştir:"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "Renkli yazı kullan"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "Renkli LED kullan"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "Uygulama olayı"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr ""
+"Uygulama etkinliği Konsol sekmesinde yer alır, DCC Durumu sekmesi ve diğer "
+"uygulama sekmeleri sohbet için doğrudan kullanılmamaktadır."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "Mesaj"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "Özel mesajı"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "Şu anda kullanılan takma ad"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "Kanal olayı"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "Kullanıcıların kanala giriş çıkışı ve benzeri olaylar."
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "Konuşma penceresi belirginleştirme renklerine öncelik ver"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr ""
+"Eğer bu seçeneği seçerseniz, Işıklandırma seçeneklerinde seçtiğiniz renkler "
+"\"Şu anda kullanılan takma ad\" ve \"Işıklandırma\" renklerinin üzerine "
+"yazılacaktır."
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "Günün iletileri için sabit yazıtipi k&ullan"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "Günün iletisini sabit yazıtipinde göster"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "Sohbet görünümünde gönderen takma adlarını &kalın göster"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "Sohbet metni:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "Takma Ad listesi:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "Sekme çubuğu:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "Belirginleştirme Listesi"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "RegEx"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "Belirginleştirilenler"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "Ses"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "Otomatik Metin"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "&Model:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "Renkler:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "&Ses:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "Sesi Dene"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "Ke&ndiliğinden metin:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "&Belirginleştirilenler listesi üyeleri için sesi etkinleştir"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "Her zaman &şu anki takma adımı belirginleştir:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "&Kendi satırlarını her zaman belirginleştir:"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "&Yeni Girdi Oluştur..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "Adres defterinde yeni girdi oluştur"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "Fotoğraf"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "İsim"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr ""
+"Anında mesajlaşma istemcisi kullanarak görüşmek istediğiniz kişiyi seçin"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "&Ara:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "&Gelen ASCII BEL'de sistem zilini etkinleştir"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "ASCII BEL (0x07) denetim karakteri aldığınızda sistem zilini çalar"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "Katılma/Ayrılma/Takma İsim Değiştirme olaylarını &gizle"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "Değişken (%C, %B, %G, vb.) &genişlemesini etkinsizleştir"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr ""
+"Metni sunucuya gönderirken değişkenleri genişletme. Değişkenler '%' ile başlar; "
+"örneğin %B kalın yazmaya yarar."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "Du&rum mesajlarını sunucu durumu penceresine yönlendir"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "Geri kaydırma &sınırı:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "Tamponda kaç satırın tutulacağı, 0 = sınırsız"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "Kip değişimi için &ham kipleri kullan"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr ""
+"Kanal kipini insan tarafında okunabilir kılmak yerine, karakterler kombinasyonu "
+"olarak bırak. Örn. '*** Kanal Kipleri: dışardan mesaj alınmıyot' yerine '*** "
+"Kanal Kipi: n'"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " satır"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "İşaretleyici Satırlar"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "Elle girilen işaretleme çizgilerini tüm sohbet pencerelerinde göster"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "Sohbet penceresi gizliyken son konumu işaretle"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr ""
+"Başka bir pencereye geçtiğinizde veya uygulamayı simge durumuna küçülttüğünüzde "
+"sohbet penceresine hatırlatma çizgisi ekler."
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "Kendiliğinden Kişi Bilgisi Gözatımını (/WHO) etkinleştir"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "Odada olabilecek en çok kullanıcı sayısı:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " takma ad"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "Denetleme aralığı:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "&Ekran Üstü Görüntüyü Kullan"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "Ekran Üstü &Görüntü"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "Gölgeleri &Çiz"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD yazıtipi:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "&Ekranda Kanal Mesajlarını Göster"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "&Kendi takma adım oda mesajında görünürse"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "Herhangi bir oda &iletisinde"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "&Sohbet etkinliğinde"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "&Katılma/Ayrılma olaylarında"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "Özel Renkleri Etkinleştir"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "&Metin rengi:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "&Arkaplan rengi:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "&Diğer Ayarlar"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "&Süre:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "&Ekran:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " ms"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "&Pencere"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "&Yeni"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "&Sil"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "İleti Yönü"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "Bul"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "İle Değiştir"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "İleti Yönü:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "Bul:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "İle Değiştir:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "&Zaman Damgalarını Etkinleştir"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "Tarih&leri göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "&Biçim:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "Geçmişi Göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "&Satır: "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "&Görünüm"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "Oda konusunu gö&ster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "Oda &kipi düğmelerini göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "Kaydırma çubuğunu göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "Kendi takma adınızı değiştirmeniz için &kutu göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "Hızlı &düğmeleri göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "&Takma isimlerin yanında gerçek isimleri göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "&Oda kullanıcı listesini ve hızlı tuşları göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "Takma isim listesinde &makine adlarını göster"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "A&rkaplan Resmini Etkinleştir"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "Y&ol:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "Özel Renkler"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr ""
+"Yazı kutusu, takma ad listesi ve sekme listesi için özelleştirilmiş renkleri "
+"&kullan"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "&Arkaplan:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "&Sunucu mesajı:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "&Bağlantı:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "Oda &mesajı:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "E&ylem:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "&Geçmiş:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "Komu&t mesajı:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "Soh&bet iletisi:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "&Zaman damgası:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "&Alternatif arkaplan:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "Renkli Takma Adlar"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "&Kendi takma adınızın rengi:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "&IRC Mesajlarında Renkli Metinlere İzin Ver"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"Bu özelliği etkinleştirseniz, IRC iletilerinize eklenen renk kodları sohbet "
+"pencerenizde renkli metin olarak yansıyacaktır. Ekle -> "
+"IRC Rengi'ni seçerek iletilerinize renk kodları ekleyebilirsiniz"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "Önizleme"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "Mesajınız, seçtiğiniz renklerle böyle görünecektir"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>Bu renkleri seçerseniz okuyucularınızın nasıl göreceğini belirten önizleme."
+"<br>\n"
+"<b>Not: Bazı istemciler bunu desteklemedikleri gibi bazı kullanıcılar Sizin "
+"renk değişiklerinizi göz ardı edebilir</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "Seçin metin rengi girdi satırına eklendi."
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt> Burada bir sonraki göndermek istediğiniz metin iletisinin rengini "
+"seçebilirsiniz. Eğer bir rengi seçer ve Tamam'ı tıklarsanız, bu renk girdi "
+"satırına eklenecektir. Tekrar değiştirene kadar, yazdıklarınız bu renkte "
+"görüntülenecektir."
+"<br>\n"
+"<b>Not: Tüm kullanıcılar bunu görme özelliği açmamış olabilirler.</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "&Önplan rengi:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "Seçilen metin-arkaplanı rengi, girdi satırına eklendi."
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt> Burada bir sonraki göndermek istediğiniz metin iletisinin fon rengini "
+"seçebilirsiniz.\n"
+"Eğer bir rengi seçer ve Tamam'ı tıklarsanız, bu renk girdi satırına "
+"eklenecektir.\n"
+"Tekrar değiştirene kadar, yazdıklarınız bu renkte görüntülenecektir."
+"<br>\n"
+"Öntanımlı <i>Hiçbiri</i>'ni seçerseniz iletinizin fon rengi değişmeyecek, "
+"okuyucularınız kendi normal metin fonu renginde göreceklerdir."
+"<br>\n"
+"<b>Not: Tüm istemciler bunu desteklemediği gibi tüm kullanıcılar bunu görme "
+"özelliği açmamış olabilirler.</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "Gösterilecek Uyarı Pencerelerini Seçin"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "&Parola:"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "Sunucu:"
+
+#~ msgid "Messages"
+#~ msgstr "Mesajlar"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "&Uzakta mesajları göster"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "Her Yerde &Erişilebilir Olarak Ayarla"
+
+#~ msgid " s"
+#~ msgstr " saniye"
+
+#~ msgid "Every "
+#~ msgstr "Her "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "DCC ile alınmış dosyayı silerken uyar"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1 için anahtar başarıyla ayarlandı."
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "'%1' dosyası silinemedi."
+
+#~ msgid "DCC Error"
+#~ msgstr "Dosya İletim Hatası"
+
+#~ msgid "Remove File"
+#~ msgstr "Dosyayı Kaldır"
+
+#~ msgid "Transfer Details"
+#~ msgstr "Dosya Aktarım Ayrıntısı"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "Bu panelden kaldır"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "Alınan dosyaları sil"
+
+#~ msgid "&Remove File"
+#~ msgstr "Dosyayı Kaldı&r"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr "Seçili %n dosyayı silmek istediğinizden emin misiniz?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "Silme Onayı"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "Takma isim listesindeki kişilerin gerçek isimlerini takma isimlerinin yanında göster."
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "%1 Sunucusuna bağlantı koptu. %2. Yeniden bağlanılmaya çalışılıyor."
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "%1 sunucusu deneniyor."
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "Tekrar denemeden önce 2 dakika bekleniyor..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "Mevcut tercih grupları: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "%1 grubu için mevcut seçenekler:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "Kullanım: %1PREFS <grup> <seçenek> <değer> veya grupları listelemek için %2PREFS LIST veya grup özelliklerini listelemek için %3PREFS grup LIST. Boşluk içeren parametreleri tırnak içinde yazınız."
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "Dosya Aktarım Ayrıntısı"
+
+#~ msgid "Channel &key:"
+#~ msgstr "Oda &anahtarı:"
diff --git a/po/zh_CN/Makefile.am b/po/zh_CN/Makefile.am
new file mode 100644
index 0000000..b5f72f3
--- /dev/null
+++ b/po/zh_CN/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = zh_CN
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/zh_CN/konversation.po b/po/zh_CN/konversation.po
new file mode 100644
index 0000000..3aeefa3
--- /dev/null
+++ b/po/zh_CN/konversation.po
@@ -0,0 +1,7256 @@
+# Chinese (China) translation for konversation
+# Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006
+# This file is distributed under the same license as the konversation package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-02-03 11:17+0800\n"
+"Last-Translator: Lie_Ex <lilith.ex@gmail.com>\n"
+"Language-Team: zh_CN <kde-china@kde.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "%1 的频道设置"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "隐藏高级模式(&H) <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "显示高级模式(&S) >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "新建"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "未知"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "文件 %1 可用信息:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "文件信息"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "未找到此文件的详细信息。"
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "发送"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "接收"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "已排队"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "正准备"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "等待中"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "正连接"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "接收中"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "发送中"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "完成"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "已失败"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "已放弃"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/秒"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "Whois(&W)"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "版本(&V)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "Ping(&P)"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "给予操作权限"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "撤除操作权限"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "给予助理权限"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "撤除助理权限"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "给予发言权限"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "撤除发言权限"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "模式"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "踢出"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "踢出并封禁"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "封禁此昵称"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "封禁 *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "封禁 *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "封禁 *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "封禁 *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "踢出并封禁 *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "踢出并封禁 *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "踢出并封禁 *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "踢出并封禁 *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "踢出/封禁"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "忽略"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "取消忽略"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "打开对话(&Q)"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "打开 DCC 对话(&C)"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "发送文件(&F)..."
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "发送邮件(&S)..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "地址簿关联"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "添加到监视昵称列表"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>这里显示了当前频道里的所有人员,每个人的昵称都会被列出。"
+"<br>通常每个显示中的图标代表了各人的状态,但您似乎还未安装任何图标主题。请查看 Konversation 里的相应设置,它在<i>设置</i>菜单项的<i>"
+"配置 Konversation</i>里面,然后查阅<i>外观</i>中的<i>主题</i>配置页。</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>这里显示了当前频道里的所有人员,每个人的昵称都会被列出,辅以表示他们各自状态的图标。"
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>表示此人拥有管理员权限。</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>表示此人是频道的所有者。</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>表示此人是频道的操作员。</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>表示此人是频道的操作助理。</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>表示此人拥有发言权限,可以在相应的频道里发言。</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>表示此人没有任何特别权限。</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>这意味着此人当前处于离开状态。</td></tr></table>"
+"<p>管理员、频道所有者、助理在不同 IRC 服务器上的含义可能会各不一样。"
+"<p>将鼠标悬停在昵称上将会显示相应人员的当前状态以及任何关联到地址簿里的信息,查看 Konversation 手册可以获得更多相关说明。</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "编辑联系人..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "选择/更改关联..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "选择联系人..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "更改关联..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "创建新联系人..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "删除关联"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "频道"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "对话"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "通知"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "异常"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "标签"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "今天"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "昨天"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (已认证)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "电子邮件"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "主机掩码:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "离开消息:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(未知)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "在线时间:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "点击此处运行正则表达式编辑器(KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "未安装正则表达式编辑器(KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "发送"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "接收"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "二者兼有"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "加入频道的时间为 %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "快速连接"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "服务器主机(&S):"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "在此输入网络上的主机。"
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "端口(&P):"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "IRC 服务器所使用的端口。"
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "昵称(&N):"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "您打算使用的昵称。"
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "密码(&A):"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr "如果 IRC 服务器要求密码认证,请在此输入(大多数的服务器不需要密码)。"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "使用 SSL(&U)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "连接(&O)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "连接到服务器"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "无法打开监听套接字:%1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "在端口 %2 提供到 %1 的 DCC 密聊连接..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "在端口 %2 上打开和 %1 的 DCC 聊天。"
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "正在建立到 %1 (%2:%3) 的 DCC 聊天连接..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "在 %2:%3 上和 %1 DCC 聊天。"
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "正在建立到 %1 的 DCC 聊天连接。"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "连接中断,错误代码 %1。"
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "从 %2 接收到未知的 CTCP-%1 请求"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "无法接收客户端。"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "默认(%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "服务器列表"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "点此连接到选择的 IRC 网络与频道。"
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"这里显示的是已配置过的 IRC 网络列表,一个 IRC 网络是一组互相协作的服务器的集合。您只需连接到完整 IRC "
+"网络中的一个或若干个服务器,连接完成后,Konversation 将自动加入指定的频道。当 Konversaion 第一次启动时,Freenode 网络和 "
+"<i>#kde</i> 频道已被自动填充到列表。"
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "网络"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "身份"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "频道"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "新建(&N)..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr "点此可设定一个新的网络,其中包括要连接到的服务器,以及连接后会自动加入的频道。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "编辑(&E)..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "程序启动时显示"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "新建网络"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "编辑网络"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"您不能删除 %1。\n"
+"\n"
+"%2 网络需要至少一个服务器。"
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"您不能删除选中的服务器。\n"
+"\n"
+"%1 网络需要至少一个服务器。"
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "您真要删除选中的条目吗?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "您真要删除 %1 吗?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "显示上一个:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"使用此设置框可设定允许的日志文件最大尺寸。这些设定的更改在重新启动 Konversation 前不会生效,每一个日志文件可以有自己独立的设定。"
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "清除日志文件"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr "日志文件中的信息会显示在这里,置于顶端的是最旧的信息,置于底端的则是最新的消息。"
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "您真要永久丢弃文件的所有日志信息吗?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr "注意:保存日志会保存文件的所有数据,不仅限于您在当前视图所见部分。"
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "保存日志文件"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "选择目标文件夹"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "信息"
+
+#: src/connectionmanager.cpp:205
+#, fuzzy
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "在端口 %2 提供到 %1 的 DCC 密聊连接..."
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr ""
+
+#: src/connectionmanager.cpp:222
+#, fuzzy
+msgid "Reconnection attempts exceeded."
+msgstr "重连尝试:"
+
+#: src/connectionmanager.cpp:439
+#, fuzzy
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "您已经连接到了 %1。您想要断开和“%2”的连接并连接到“%3”吗?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "已经连接到 %1"
+
+#: src/connectionmanager.cpp:442
+#, fuzzy
+msgid "Create connection"
+msgstr "连接"
+
+#: src/connectionmanager.cpp:455
+#, fuzzy
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr "您已经连接到了 %1。您想要断开和“%2”的连接并连接到“%3”吗?"
+
+#: src/connectionmanager.cpp:462
+#, fuzzy
+msgid "Switch Server"
+msgstr "编辑服务器"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "请填写您的<b>身份</b>。<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "请填写您的<b>真实姓名</b>。<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "请提供至少一个<b>昵称</b>。<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>您的身份“%1”设置不正确:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "身份设置"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "编辑身份..."
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "身份"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "身份(&I):"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "复制"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "重命名"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "常规"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "真实姓名(&R):"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"在此输入您的真实姓名。IRC "
+"不会刻意地维护您在朋友或仇敌前保持隐蔽,如果您有意要挑起或面对恶意的行为,请斟酌填写这个设定。如果您希望在各式各样的另类面前掩藏自己的真实,一个伪造的“真实姓名"
+"”是有效的应对手段,但他人仍然可以追踪您使用的 PC,因此您无法完全地将自己匿藏起来。"
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "昵称"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"这里是您的昵称的列表。昵称是一种能让其它用户识别您的名字,您可在此使用任何您愿意的名字,不过首字符必须是一个字母。\n"
+"\n"
+"由于昵称在通行于一个完整 IRC "
+"网络中时必须是唯一的,所以您想用的名字可能会被服务器拒绝,这是因为有人正在使用相同的昵称。输入您的可选昵称,如果首选的昵称被服务器拒绝,Konversation"
+" 可以自动尝试使用备选的昵称。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "添加..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "编辑..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "自动认证"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "服务(&V):"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"服务名可以是 <b><i>nickserv</i></b> 或类似<b><i>nickserv@services.dal.net</i></b> "
+"这样的网络依赖名。"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "密码(&S):"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "离开"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "当您离开时在聊天窗口内标记时间位置"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"如果您选中此项,每当您执行 <b>/away</b> 命令时,一条水平分隔线会自动显现在频道内,标记出您离开时的锚点。其它 IRC 用户并不会看到这条线。"
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "离开昵称:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"输入一个象征您已经离开的昵称。每当您在任何一个以当前这个身份加入的频道内执行 <b>/away</b> 命令时,Konversation "
+"会自动将您的昵称改名为离开昵称,其它用户便可由此得悉您已经离开了电脑。而每当您在一个已经处于离开状态的频道内执行 <b>/away</b> "
+"命令时,Konversation 会自动将您的昵称更改回原始形态。如果您不希望在离开时自动更改昵称,请将此项留空。"
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr ""
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr ""
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr ""
+
+#: src/identitydialog.cpp:176
+#, fuzzy
+msgid " minutes"
+msgstr " 行"
+
+#: src/identitydialog.cpp:177
+#, fuzzy
+msgid "of user inactivity"
+msgstr "当出现对话动作时显示(&Q)"
+
+#: src/identitydialog.cpp:180
+#, fuzzy
+msgid "Automatically return on activity"
+msgstr "自动续传(&T)"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr ""
+
+#: src/identitydialog.cpp:197
+#, fuzzy
+msgid "Away Messages"
+msgstr "离开消息:"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"如果您选中此项,Konversation 会在每当您切换到离开状态时自动发送一条离开消息到所有您以当前这个身份加入的频道,<b>%s</b> 会被 <b>"
+"msg</b> 所替代。而每当您再次执行 <b>/away</b> 命令时,一条返回消息也将被自动显示在所有您以当前身份加入的频道。"
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "离开消息(&M):"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "返回消息(&T):"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "高级"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "预执行命令(&P):"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr "您可以在这里输入一条在连接服务器前预先要执行的命令。<br>如果您以当前身份对应了多个服务器,则此命令会为每个服务器分别执行。"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "身份(&D):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"当您进行连接时,许多服务器会向您的电脑请求一个 IDENT 应答。如果您的电脑不是以 IDENT 服务器运行,此应答会由 Konversation "
+"代为发送。此处不允许留空。"
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "编码(&E):"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"此设定会影响您输入的内容会以哪种字符编码发送到服务器,它同时也决定消息以哪种编码被显示。每当您打开 Konversation "
+"时,它会自动根据当前系统环境取得相关设定。要是您在查看其它用户的消息文字时出现问题,可尝试更改此设定。"
+
+#: src/identitydialog.cpp:259
+#, fuzzy
+msgid "&Quit reason:"
+msgstr "离开原因(&P):"
+
+#: src/identitydialog.cpp:261
+#, fuzzy
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "当您退出频道时会被自动发送到频道内的消息。"
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "离开原因(&P):"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "当您退出频道时会被自动发送到频道内的消息。"
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "踢出原因(&K):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr "当您从一个被频道踢出时(通常是 IRC 操作员的行为),此消息会被发送到频道内。"
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "更改身份信息"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "丢弃所做的全部更改"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "您必须在身份信息内添加至少一个昵称。"
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr ""
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "添加昵称"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "昵称:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "编辑昵称"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "添加身份"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "身份名称:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "您需要给身份起个名字。"
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "重命名身份"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr "此身份正被使用中,如果您将其删除,使用它的网络将会回溯到默认身份的设定。确认无论如何都要删除吗?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "您确定要删除这个身份的所有信息吗?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "删除身份"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "复制身份"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "普通用户"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "发言者 (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "助理员 (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "操作员 (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "频道管理员 (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "频道所有者 (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "插入字符"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "插入一个字符"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation 书签编辑器"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "没有空闲端口"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "无法打开套接字"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "查找文本..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "将 URL 复制到剪贴板"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "添加到书签"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "链接另存为..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "打开一个和 %1 的对话"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "加入频道 %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "通知"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "加入"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "离开"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "打开对话"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "加入(&J)"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "获取用户列表(&U)"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "获取话题(&T)"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "没有找到“%1”的匹配项。"
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "链接另存为"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "服务器列表(&S)..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "管理网络和服务器"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "快速连接(&C)..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "输入一个要连接到的新 IRC 服务器地址"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "重新连接(&R)"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "重新连接当前服务器。"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "断开连接(&D)"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "断开和当前服务器的连接。"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "身份(&I)..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "管理您的昵称,离开消息和其它身份设定"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "监视的在线昵称(&W)"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC 状态(&D)"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "打开日志文件(&O)"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "在一个新标签中打开已有的频道历史记录"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "频道设置(&C)..."
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "打开此标签的频道设置对话框"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "频道列表(&L)"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "显示此服务器上已知的频道列表"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "URL 捕捉器(&U)"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "在一个新标签中列出最近的对话中所有提及到的 URL。"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "新建 &Konsole"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "在新标签中打开终端"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "下一个标签(&N)"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "前一个标签(&P)"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "关闭标签(&T)"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "下一个活动标签"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "上移标签"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "下移标签"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "向右移动标签"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "向左移动标签"
+
+#: src/konversationmainwindow.cpp:227
+#, fuzzy
+msgid "Rejoin Channel"
+msgstr "加入频道"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "启用通知"
+
+#: src/konversationmainwindow.cpp:233
+#, fuzzy
+msgid "Join on Connect"
+msgstr "加入频道"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "设定编码"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "到第 %1 个标签"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "清除助记行(&M)"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "清除当前标签内的助记行"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "清除窗口(&C)"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "清除当前标签里的内容"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "清除所有窗口(&A)"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "清除所有已打开标签里的内容"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr ""
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "加入频道(&J)..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "IRC 颜色(&I)..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "选择您当前 IRC 消息的颜色。"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "助记行(&M)"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "在当前标签里插入一条只有您能看见的水平线"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "特殊字符(&C)..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "在当前 IRC 消息里插入任何可能的字符"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "关闭全部打开的对话(&A)"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "隐藏昵称列表"
+
+#: src/konversationmainwindow.cpp:354
+#, fuzzy
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>您确定想要退出 <b>Konversation</b> 吗?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "确认退出"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>您确定想要退出 <b>Konversation</b> 吗?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>关闭程序的主窗口将使得 Konversation 依旧保持在系统托盘里运行。使用 <b>Konversation</b> 菜单中的<b>退出</b>"
+"选项可确保退出程序。</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "在系统托盘中显示图标"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr "<qt>这将完全隐藏程序的菜单栏。您可以输入 %1 使其重新显示。</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "切换系统通知"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "切换为全局离开"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "插入 IRC 颜色(&I)..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "插入特殊字符(&C)..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "插入助记行(&M)"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "频道列表(&C)"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "设定全局离开状态(&A)"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "Raw"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr ""
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "用法:%1JOIN <频道> [密码]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "用法:%1KICK <昵称> [原因]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK 只能在频道内起作用。"
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART 不带参数只在频道内起作用。"
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "\"%1PART 不带频道名只在频道内起作用。"
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC 不带参数只在频道内起作用。"
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC 不带频道名只在频道内起作用。"
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr "%1NAMES 不加目标会断开您与服务器的连接,如果您真的要这样做请指定“*”为目标。"
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr ""
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "用法:%1NOTICE <接收人> <消息>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "发送提示“%2”到 %1。"
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "用法:%1ME 文本"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "发送 CTCP-%1 请求到 %2"
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "文件“%1”不存在。"
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "用法:%1DCC [SEND 昵称 文件名]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "用法:%1DCC [CHAT 昵称]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "未知命令 %1DCC %2。可用的命令有 SEND、CHAT、CLOSE。"
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "用法:%1INVITE <昵称> [频道]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE 不带参数只能在频道内起作用。"
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 不是一个频道。"
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "用法:%1EXEC <脚本> [参数列表]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "脚本名不能包含“../”!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "用法:%1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "当前通知列表为空。"
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "当前通知列表:%1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "输入有 IRC 操作员权限的用户名和密码:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC 操作员密码"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN 不带频道名只能在频道内起作用。"
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "不带频道名的 %1KICKBAN 指令只能在频道内使用。"
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "用法:%1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [频道] <用户|掩码>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"用法:%1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [频道名] <用户名|主机掩码> "
+"[封禁原因]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN 不带频道名只能在频道内起作用。"
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "用法:%1UNBAN [频道] 模式"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "添加 %1 到您的忽略列表。"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "用法:%1IGNORE [ -ALL ] <用户 1> <用户 2> ... <用户 n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "用法:%1UNIGNORE [ -ALL ] <用户 1> <用户 2> ... <用户 n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "已从忽略列表中移除 %1。"
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "没有此忽略对象:%1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "没有这些忽略对象:%1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "用法:%1QUOTE 命令列表"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "用法:%1SAY 文本"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "用法"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "用法:%1AME 文本"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "用法:%1AMSG 文本"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "用法:%1OMSG 文本"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "正在发送提醒“%1”到 %2。"
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "用法:%1ONOTICE 文本"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "当前编码:%1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "切换到编码 %1。"
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 不是一个有效编码。"
+
+#: src/outputfilter.cpp:1623
+#, fuzzy, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr "用法:%1setkey <昵称> 或 <频道名> <密钥> 用于设定特定昵称或频道的加密密钥。"
+
+#: src/outputfilter.cpp:1634
+#, fuzzy
+msgid "The key for %1 has been set."
+msgstr "%1 的关键字已被删除。"
+
+#: src/outputfilter.cpp:1642
+#, fuzzy, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr "用法:%1delkey <昵称> 或 <频道名> <密钥> 用于删除特定昵称或频道的加密密钥。"
+
+#: src/outputfilter.cpp:1651
+#, fuzzy
+msgid "The key for %1 has been deleted."
+msgstr "%1 的关键字已被删除。"
+
+#: src/outputfilter.cpp:1660
+#, fuzzy
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 的关键字已被删除。"
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr ""
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr ""
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "用法:%1DNS <昵称>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "解析 %1 为:%2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "无法解析 %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "实现反向解析要求 KDE 3.5.1 或更高的版本。"
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "用法:%1KILL <昵称> [注释]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>这条输入行是供您键入要发送给频道、对话或服务器的消息的地方。发送给频道的消息可以被频道内的所有人读到,然而在对话中的消息只会被和您对话的人所读到。"
+"<p>要自动补全昵称,请按 Tab。如果您还没有开始打字,将使用最后一次补全过的昵称。"
+"<p>您也可以发送一些特殊的命令:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>动作</i></th>"
+"<td>在频道或对话中表露出某种动作。例:<em>/me 唱了首歌</em> 将会被显示为“昵称 唱了首歌”。</td></tr>"
+"<tr>"
+"<th>/whois <i>昵称</i></th>"
+"<td>显示此人的相关信息,包括他已加入的所有频道清单等。</td></tr></table>"
+"<p>查询更多的命令,请参看 Konversation 手册。"
+"<p>一条消息不能跨越多行。</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr "<qt>您正试图粘贴一大段文本(%1 字节或 %2 行)进入聊天栏,这可能引起连接重置或过量信息发送中止,您真要继续吗?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "巨量粘贴警告"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "一款用户友好 IRC 客户端"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr ""
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "要连接的服务器"
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "要使用的端口"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "连接后自动加入的频道"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "要使用的昵称"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "连接密码"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "使用 SSL 连接"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008 Konversation 开发组"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation 是一个互联网中继聊天(Internet Relay Chat,IRC)协议的客户端。\n"
+"您可以用它在网上与老朋友相会,结识新朋友,并畅谈您所感兴趣的话题。"
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "原作者、项目创始人"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "维护者"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "维护者、发布管理、用户界面、协议处理"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC、编码处理、OSD 定位"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "协议处理、输入行设计"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr "Blowfish、SSL 支持、KNetwork 移植、彩色昵称、昵称列表主题"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "代码重整、KAddressBook/Kontact 集成"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "提供了网站主机"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "网站维护"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "复合模式扩展、Close 构件布置、OSD 功能实现"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr "文档、在线昵称监视改进、Web 浏览器自定义扩展"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "配色师、高亮对话框"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP 界面"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "非拉丁编码"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole 组件视图"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "快速连接、移植到新的 OSD、其它特性与 Bug 修正"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "一堆修正与代码清理"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "拖放操作改进"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "艺术工作"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox 样式搜索栏"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "原始模式、按服务器分组标签、封禁列表"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "系统托盘补丁"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Bug 修正"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "扩展用户模式补丁"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "快速关闭可见标签功能的补丁"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "使用鼠标滚轮循环标签"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "频道所有者模式补丁"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "提供允许 IRC 颜色过滤的选项"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Bug 修正、OSD 工作、话题清理"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "系统信息脚本"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr ""
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "收到来自 %1 到频道 %2 的 CTCP-PING 请求,发送回答。"
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "收到来自 %2 的 CTCP-%1 请求,发送回答。"
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "收到来自 %1 到频道 %2 的版本请求。"
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "收到来自 %1 的版本请求。"
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "收到来自 %1 的无效 DCC SEND 请求。"
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "收到来自 %1 的无效 DCC ACCEPT 请求。"
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "收到来自 %1 的无效 DCC RESUME 请求。"
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "收到来自 %1 的无效 DCC CHAT 请求。"
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "收到来自 %2 的未知 DCC 命令 %1。"
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "收到来自 %2 到频道 %3 的未知 CTCP-%1 请求。"
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "从 %2 接收到未知的 CTCP-%1 请求。"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 到 %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "收到来自 %1 的 CTCP-PING 回应:%2 %3。"
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "收到来自 %2 的 CTCP-%1 回应:%3。"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "邀请"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 邀请您加入频道 %2。"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "欢迎"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "服务器 %1(版本 %2),用户模式:%3,频道模式:%4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "支持"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "您的个人模式:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "频道模式: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "话题保护"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "没有外部消息"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "机密"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "只接受受邀请的"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "私人"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "监管的"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "密码受保护"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "匿名"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "服务器重新开放"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "不允许颜色"
+
+#: src/inputfilter.cpp:833
+#, fuzzy, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr ""
+"_n:limited to %n user\n"
+"限制为 %n 名用户"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "模式"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, fuzzy, c-format
+msgid "Channel URL: %1"
+msgstr "%1 的频道列表"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "已建立"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "频道已建立在 %1。"
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "Whois"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 已经以 %2 登录"
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "姓名"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "姓名列表结束。"
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "话题"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "频道 %1 尚未设定话题。"
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "话题"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "频道 %1 的话题为:“%2”"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "由 %1 设定关于 %2 的话题。"
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "由 %2 为 %1 设定关于 %3 的话题。"
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 现在正使用主机 %2。"
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1:没有这样的昵称/频道。"
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "没有这样的昵称:%1。"
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1:没有这样的频道。"
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "昵称"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "昵称已经在使用,尝试另一个。"
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "昵称已经在使用,尝试 %1。"
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "有错误的昵称,改名为 %1。"
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "您不在 %1 上。"
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "当日消息:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "当日消息结束"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "您现在是此服务器的 IRC 操作员。"
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "用户"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "当前网络的用户:%1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "当前在 %1 的用户:%2。"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "离开"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 离开了:%2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "您邀请 %1 加入频道 %2。"
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 来自 %2@%3 (%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "解析 %1(%2)到地址:%3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "无法解析 %1(%2)的地址"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 是已认证用户。"
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "主机信息"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 来自 %2@%3 (%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (离开)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1 的 /WHO 列表结束。"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "用户 %1 所在频道:%2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 在频道 %2 有发言权"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 是频道 %2 的助理员"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 是频道 %2 的操作员"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 是频道 %2 的所有者"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 是频道 %2 的管理员"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 是通过 %2(%3)在线。"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 可获得帮助。"
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 是 IRC 操作员。"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr "%n 天"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr "%n 小时"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr "%n 分钟"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr "%n 秒"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 已空闲了 %2 %3 %4 %5。"
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 已空闲了 %2 %3 %4。"
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 已空闲了 %2 %3。"
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr "%1 已空闲了 %n 秒。"
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 自 %2 在线。"
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS 列表结束。"
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "用户主机"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 现为 %3%4。"
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC 操作员)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (离开)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "列表"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "频道列表:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr "%1(%n 个用户):%2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "频道列表结束。"
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "封禁列表:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 由 %2 在 %3 被加入列表"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "封禁列表结束。"
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 目前不可用。"
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1:未知命令。"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "尚未注册。"
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1:此命令要求更多参数。"
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "您设置了个人模式:"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "已经更改了您的个人模式:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " 设定模式: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "默认身份"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "编辑被监视的昵称"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "网络名称(&N):"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "在此选取您想要连接到的服务器网络。"
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "昵称(&I):"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>连接到服务器时要监视的昵称。</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "更改通知信息"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "连接采用 %1 位 SSL 安全强度。"
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Konversation 无法以加密 SSL 通讯连接到服务器,因为它在编译时没有启用 OpenSSL 支持。您需要获取一个具有 SSL 支持的 KDE "
+"新版本。"
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"无法识别服务器返回的 SSL 证书,也许这个服务器在给定的端口上不支持 SSL。如果此服务器同时也支持普通的非 SSL 通讯,也许使用 SSL "
+"的通讯端口是另外一个。"
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "主机 %1 的 IP 地址与证书所颁发的地址不符。"
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "服务器验证"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "细节"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "服务器(%1)的证书无法通过验证测试。"
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "您希望不收到提示就永远接受此证书吗?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "永远(&F)"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "仅当前会话(&C)"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[HighLight] (%1)<%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "[对话] <%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 加入了 %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 离开了 %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 退出了 %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 已将昵称改为 %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 要向您发送文件"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 已向您打开了一个对话。"
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 在线(%2)。"
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 离线(%2)。"
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "您已经被 %1 从 %2 踢出。"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 已对您开启了 DCC 密聊"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[HighLight](%1)*** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "无法连接到 %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "您已经加入了 %1。"
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "找不到词语"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "覆盖搜索"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr ""
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr ""
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "网络接口"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "来自 IRC 服务器的回应"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "手动指定"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC 颜色选择器"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "空"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "服务器(&S):"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "服务器的域名或 IP 位址,在 irchelp.org 上提供有一份服务器列表。"
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr "输入连接到服务器的端口号,对大多数服务器来说应该是 <b>6667</b>。"
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "密码(&W):"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "SSL 安全连接(&E)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"如果您要使用安全套接字层协议(SSL)与服务器通讯请选中此项,这可以防止您与服务器之间交互的隐私信息被监视,但要求对方服务器必须支持 SSL "
+"协议才能工作。在多数情况下,如果服务器不支持 SSL,使用 SSL 协议连接会导致失败发生。"
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "要求填入服务器地址。"
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "管理员已限制了文件发送"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL“%1”不存在。"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "无法写入文件“%1”。"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "输入文件名"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr "<qt>您正在发送的文件 <i>%1</i> 没有文件名,<br>请给接收方输入一个标识用的文件名,或者中止 DCC 传输。</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "没有给定文件名"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "无法通过 IRC 服务器向伙伴发送 DCC SEND 请求。"
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "正在等待远端用户接收"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "无法接收连接(Socket 错误)。"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "无法打开文件:%1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Socket 出错:%1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "超时"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "连接失败:%1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "远端用户已断开连接"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "操作成功,应该不会再出现错误对话框。"
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "无法读取文件“%1”。"
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "无法写入文件“%1”。"
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "发生致命的不可恢复错误。"
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "无法打开文件“%1”。"
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "操作意外放弃。"
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "操作超时。"
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "关闭时发生预料外错误。"
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "未知错误。代码 %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC 发送"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC 接收"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr " (反向 DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "未知的服务器"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 在 %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ",%1 (端口 %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1 (端口 %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "是的,%1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "小于1秒"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "就绪。"
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>这里显示频道内的用户以及管理员(ops)数量。"
+"<p>频道管理员是拥有特殊权限的用户,具备诸如踢出并封禁用户、改变频道模式、赋予其它用户管理权限等能力。</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "延迟:未知"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr "所有和服务器间的通讯已被加密,这可以使他人难以监听到您对话里的内容。"
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>此状态栏可显示多类消息,包括连接服务器时的错误提示,更多的则是显示到服务器的延迟。此延迟是您的消息从发出到到达服务器,以及服务器的反馈到达您的电脑的间隔"
+"时间。</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "延迟:%1 毫秒"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "延迟:%1 秒"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "服务器 %1 已有超过 %2 天、%3 小时、%4 分钟和 %5 秒没有回应。"
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "服务器 %1 已有超过 %2 小时、%3 分钟 和 %4 秒没有回应。"
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "服务器 %1 已有超过 %2 分钟和 %3 秒没有回应。"
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr "服务器 %1 已有超过 %n 秒没有回应。"
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "寻找服务器 %1:%2..."
+
+#: src/server.cpp:536
+#, fuzzy
+msgid "Server %1 not found: %2"
+msgstr "未找到服务器 %1。%2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "服务器找到,正在连接..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "连接已建立,正在登录..."
+
+#: src/server.cpp:609
+#, fuzzy
+msgid "Connection to Server %1 lost: %2."
+msgstr "连接到服务器 %1 失败:%2。"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr "无法使用 SSL 加密连接到 %1:%2,也许此服务器不支持 SSL 或是您指定了错误的端口?%3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL 连接出错"
+
+#: src/server.cpp:710
+#, fuzzy, c-format
+msgid "Disconnected from %1."
+msgstr "已断开与服务器的连接。"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr ""
+"身份“%1”所属的昵称不接受连接“%2”。\n"
+"请输入一个新的昵称或按“取消”中断连接:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "昵称错误"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "从服务器读取数据时出错:%1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "选择要发送给 %1 的文件"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 向您提供了文件“%2”(%3) 的传输..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "文件大小未知"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "正在询问 %1 是否接受“%2”(%3) 的上传..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "从 %2 接收到对文件“%1”无效的被动 DCC 接受请求。"
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "正在续传来自 %2 的文件“%1”,接续于 %4 的 %3%..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "从 %2 接收到对文件“%1”的无效续传请求。"
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "正在续传发送给 %2 的文件“%1”,现已传送了 %4 的 %3%..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "从 %2 接收到对文件“%1”的无效续传请求。"
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "从 %2 处下载文件“%1”已完成。"
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "从 %2 处下载文件“%1”失败,原因:%3。"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "将文件“%1”上传至 %2 已完成。"
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "将文件“%1”上传至 %2 失败,原因:%3。"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "正在发送“%1”到 %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "正在从 %3 处下载文件“%1”(%2)..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 邀请您加入频道 %2,您要接受邀请吗?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "邀请"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "错误:无法找到脚本“%1”。"
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "错误:无法执行脚本“%1”,请检查文件权限。"
+
+#: src/server.cpp:3153
+#, fuzzy
+msgid "Gone away for now"
+msgstr "立即离开。"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "您已经标记为离开。"
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "您不再标记为离开。"
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "您不再标记为离开。"
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "监视的在线昵称"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "服务器/昵称/频道"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "额外信息"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>这些是在您的昵称监视列表里的所有昵称,它们会陈列在您连接到的服务器下面,这个列表同时也包含了此服务器中与 KAddressBook 有关联的昵称。</p>"
+"<p><b>额外信息</b>列显示的是每个昵称的其它已知信息。</p>"
+"<p>这些昵称所加入的频道会显示在昵称的下面。</p>"
+"<p>标以<b>离线</b>状态的昵称还没有连接到当前网络中的任何一个服务器。</p>"
+"<p>鼠标右击任一昵称,可以执行其它一些附加功能。</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "编辑监视列表(&E)..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "点此编辑要出现在屏幕上的昵称。"
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "地址簿:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr "如果您选中了列表中任意一个昵称,这个按钮可用于将其与 KDE 地址簿的条目建立关联。"
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "编辑联系人(&O)..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr "点此创建、浏览或编辑您选中的昵称所关联到的 KDE 地址簿条目。"
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "更改关联(&C)..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "点此可将您选中的昵称与 KDE 地址簿建立关联。"
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "删除关联(&D)"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "点此可删除您选中的昵称与 KDE 地址簿条目间的关联。"
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " 通过 %1 在线"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " 自 %1 后在线"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "离线"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " 发言者"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " 助理员"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " 操作员"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " 所有者"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " 管理员"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "创建新联系人(&O)..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "选择关联(&C)..."
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "加入频道(&J)"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "选择声音文件"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** 日志文件开始\n"
+"*** 在 %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "接到邀请自动加入频道"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "通知保存日志文件会保存完整文件"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "删除日志文件内容前询问"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "忽略昵称后询问是否关闭查询"
+
+#: src/warnings_preferences.cpp:109
+#, fuzzy
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "连接到网络上的不同服务器前先询问"
+
+#: src/warnings_preferences.cpp:110
+#, fuzzy
+msgid "Ask before creating another connection to the same network or server"
+msgstr "连接到网络上的不同服务器前先询问"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "关闭服务器标签"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "关闭频道标签"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "关闭对话标签"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "频道列表只能从已知服务器标签打开"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "隐藏主窗口菜单时发出警告"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "频道列表流量高时发出警告"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "粘贴大量文本时发出警告"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "退出 Konversation 时警告"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr ""
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "频道列表"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "过滤器设置"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "最小用户数:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "最大用户数:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "您可以在此根据频道列表限制频道里的最小用户数量,选择 0 会禁用此判定。"
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "您可以在此根据频道列表限制频道里的最大用户数量,选择 0 会禁用此判定。"
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "过滤模式:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "过滤器目标:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "在此输入要过滤的网络主机"
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "正则表达式"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "应用过滤器"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "点此从服务器中获取频道列表并应用过滤器。"
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"这里显示的是过滤后的频道列表,请注意如果您不使用正则表达式,Konversation "
+"只会列出在名称里包含您所输入的过滤字符串的频道,这些频道的名称不一定以您输入的字符串为起始。\n"
+"\n"
+"您点击任一一个频道即可加入它,鼠标右击频道名可以获取频道话题中提及到的所有 Web 地址的列表。"
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "频道名称"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "频道话题"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "刷新列表"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "保存列表..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "加入频道"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "点此可加入一个频道,程序会为它创建一个新标签。"
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "保存频道列表"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation 频道列表:%1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "频道:%1(%2 已显示)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "非唯一用户:%1(%2 已显示)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "打开 URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<没有找到 URL>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 的频道列表"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "在线"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"现在正有另一个 KDE 程序在试图使用 Konversation 进行即时通讯,但没有指定任何要发送消息的联系人对象,这可能是另一个程序的 bug。"
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"现在正有另一个 KDE 程序在试图使用 Konversation 进行即时通讯,但 Konversation 在 KDE 地址簿中找不到指定的联系人。"
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr "现在正有另一个 KDE 程序在试图使用 Konversation 进行即时通讯,但是被请求的用户 %1 现在不在线。"
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"现在正有另一个 KDE 程序在试图使用 Konversation 给联系人发送文件,但没有指定文件要发送给的联系人对象,这可能是另一个程序的 bug。"
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"现在正有另一个 KDE 程序在试图使用 Konversation 给联系人发送文件,但 Konversation 在 KDE 地址簿中找不到指定的联系人。"
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr "现在正有另一个 KDE 程序在试图使用 Konversation 给联系人发送文件,但是被请求的用户 %1 目前不在线。"
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr "现在正有另一个 KDE 程序在试图使用 Konversation 添加联系人,Konversation 尚不支持此操作。"
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr "无法运行地址簿程序(kaddressbook),最大的可能是它还未安装。请安装“kdepim”软件包。"
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "您选中的联系人还没有与它们关联的电子邮件地址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "无法发送邮件"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr "无法运行电子邮件客户程序,很可能是一个都还没有安装。如果您要安装 KDE 的电子邮件客户程序 kmail,请安装“kdepim”软件包。"
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "在您选中的联系人中还没有人与地址簿联系人建立关联。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "您选中的联系人还没有与地址簿联系人建立关联。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr "您选中的某些联系人(%1)还未与地址簿联系人建立关联。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr "在您选中的联系人有一位(%1)还未与地址簿联系人建立关联。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr "您可以用鼠标右击任一联系人,并根据地址簿中的条目编辑地址簿关联。"
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "在您选中的联系人中还没有人拥有可供关联的电子邮件地址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "您选中的某些联系人(%1)还没有拥有可供关联的电子邮件地址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "在您选中的联系人有一位(%1)还没有拥有可供关联的电子邮件地址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr "您可以用鼠标右击任一联系人,然后编辑对应的地址簿联系人,为他们添加一个电子邮件地址。"
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr "您选中的某些联系人(%1)还未与地址簿联系人建立关联,同时还有某些联系人(%2)没有可供关联的电子邮件地址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr "您可以用鼠标右击任一联系人,并根据地址簿中的条目编辑地址簿关联,也可以在编辑地址簿联系人时为他们添加电子邮件地址。"
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"您真的要给那些还没有电子邮件地址的昵称发送邮件吗?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "发送邮件"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "将 IRC 昵称连接到地址簿联系人"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "选择昵称为“%1”的联系人。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "当前昵称为“%1”的用户已被关联到一个联系人。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "当前昵称为“%1”的用已被关联到联系人“%2”。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr "<qt><b>警告:</b>根据现在的列出的情况,用户“%1”隶属于多个联系人。请从中选择正确的联系人。</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "新建地址簿条目"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "命名新条目:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL 捕捉器"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "统一资源标识符列表会给出当前 Konversation 会话窗口中所有的 URL。"
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "打开 URL(&O)"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>在上面选择一个 <b>URL</b>,点击它即可调用关联到 URL 这个MIME 类型的程序。</p>"
+"<p>在<b>设置</b>对话框里的<b>行为</b>><b>常规</b>选项卡中,您可以自行定义一个用于打开 Web 目标的网络浏览器。</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "复制 URL(&C)"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "在上面选择一个 <b>URL</b>,点击此按钮可将其复制到剪贴板。"
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "删除 URL(&D)"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "在上面选择一个 <b>URL</b>,点击此按钮可将其从列表中删除。"
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "保存列表(&V)..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "点此将 URL 条目列表保存到文件。"
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "清除列表(&L)"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "点此擦除 URL 条目列表。"
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "保存 URL 列表"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "编辑多行粘贴"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "添加引用标识(&Q)"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "频道(&H):"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "需要一个频道名。"
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "原始日志"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "在当前标签中搜索文本"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "%1 的频道列表(&L)"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "打开 %1 的日志文件(&O)"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "%1 的频道设置(&C)..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "默认 (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "您只能在文本栏搜索。"
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "查找文本信息"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 的日志文件"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC 状态"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr "使用这项功能可能导致大量的网络流量。如果您的网络连接不够迅速,您的客户端连接有可能被服务器中断。"
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "频道列表警告"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr "频道列表只能从查询,频道或状态窗口打开,以找出列表属于哪一个服务器。"
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr "在此输入网络名,您可以使用同一个网络名在服务器列表屏幕里创建尽可能多的您所喜爱的条目。"
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr "选择一个现存的身份,或点击编辑按钮添加一个新的身份,也可以编辑已有身份。身份是您的辨认标识并且决定了您连接到网络时使用的昵称。"
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"可选设定,您指定的命令会在连接到服务器后被自动提交。例:<b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+",此范例适用于 freenode 网络,它需要用户在登录后注册自己的昵称并设定一个密码,在这里 <i>konvirocks<i> "
+"就是绑定到身份昵称的密码。您可以在这里输入一个或更多命令,用分号将它们间隔开来。"
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr "如果您想要 Konversation 每次启动时自动连接到这个网络,请选中此项。"
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"这里是网络上的 IRC 服务器列表,当您连接到网络时,Konversation "
+"会自动尝试连接到位于列表顶端的服务器,如果连接失败再尝试第二个,若再次失败则尝试第三个,以下皆然。您需要在此至少指定一个服务器,点击任一服务器可高亮显示它。"
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr "可选设定。这是当 Konversation 连接到服务器后会自动加入的频道列表,如果您不打算自动加入任何频道可将此项留空。"
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "改变网络信息"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "添加服务器"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "编辑服务器"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "添加频道"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "编辑频道"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "这里需要一个网络名。"
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "您需要在此网络中添加至少一个服务器。"
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation 主题"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "选择主题包"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "下载主题失败"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "主题包无效"
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "无法安装主题"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "您真的要删除 %1 吗?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "删除主题"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC 客户端"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "选择接收人"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "选择昵称并关闭窗口"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "不改变而关闭窗口"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname:找不到服务器 %1。"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "管理员已限制您接收文件"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr ""
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "不支持的对话(文件大小=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>无法创建文件夹。</b><br>文件夹:%1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "无法创建 KIO 实例"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>此文件正被另一个传输进程所使用。</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>部分文件已存在。</b><br>%1<br>部分文件大小:%2 字节<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>文件已存在。</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>无法打开文件。<br>错误:%1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr "无法通过 IRC 服务器向伙伴发送反向 DCC SEND 确认。"
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "正在等待连接"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "正在等待远端主机接收"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr "无法通过 IRC 服务器向伙伴发送 DCC RECV 确认请求。"
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "不可预料的远端主机应答"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "传输时出错"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO 出错:%1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>与您正在对话的用户的部分细节信息会在此栏里显示,包括他的全名与主机掩码,还有他在地址簿里关联到的图片或徽标。"
+"<p>参看 <i>Konversation 手册</i> 可以获得将昵称关联到地址簿联系人的更多相关信息,您也可以从中读到对主机掩码的解释。</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(离开)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "您想要忽略 %1 吗?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "您要忽略昵称后关闭此对话吗?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "关闭此对话"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "保持打开"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "您想要停止忽略 %1 吗?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "默认身份(%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "您想要关闭对 %1 的查询吗?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "关闭对话"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "正在和自己对话"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 已经离开了此服务器。"
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 离开了此服务器(%2)。"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD 预览 - 拖曳可重新定位"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "操作员"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "管理员"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "所有者"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "助理员"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "有发言权"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "界面"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "行为"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "通知"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "聊天窗口"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "昵称列表主题"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "颜色"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "快捷按钮"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "连接"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "昵称列表"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "命令别名"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "自动替换"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "日志"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "高亮"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "被监视的昵称"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "屏幕显示"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "警告对话"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC 接收询问"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "续传(&R)"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "原始文件名(&R)"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "建议的新文件名(&N)"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "覆盖(&O)"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "重命名(&E)"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "查找上一个"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "大小写敏感"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "完整单词匹配"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "从光标处开始"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+
+#: src/statuspanel.cpp:274
+#, fuzzy
+msgid "Close Tab"
+msgstr "关闭标签(&T)"
+
+#: src/statuspanel.cpp:280
+#, fuzzy
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr "您真要断开与“%1”的连接吗?"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "从服务器断开连接"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "断开"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "开始自"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "状态"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "伙伴"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "进度"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "位置"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "剩余"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "速度"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "发送者地址"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "接受"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "中止"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "打开文件"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "开始接收"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "中止传输"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "运行文件"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "查看 DCC 传输细节"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "选中全部项目(&S)"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "选中所有已完成的项目(&E)"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "接受(&A)"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "中止(&B)"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "重新发送"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "清除(&C)"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "打开文件(&O)"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "文件信息(&I)"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "编辑频道设定"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>在 IRC 上的每个频道都有相关的话题,这是一条每个人都能看到的简单消息。"
+"<p>如果您是一名操作员,或者 <em>“T”</em> "
+"频道模式未予设定,您就可以点击话题消息左边的编辑频道属性按钮修改话题,同时您也可以从中查看以往的话题历史。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>设定<b>T</b> 模式(Topic)意味着只有频道的操作员才可以改动频道的话题。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>此选项可用于控制频道的<em>模式</em>,只有频道的操作员才有权更改。"
+"<p><b>禁止</b>来自外部的消息意味着此频道以外的用户不能向当前频道发送公开消息,几乎所有的频道都启用此模式以避免垃圾信息的干扰。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>如果设定了<b>S</b>模式(Secret),此频道将不会在频道列表中显示,同时任何人都无法利用对他人使用<em>WHOIS</em>"
+"或其它类似命令来察觉此频道。只有和您位于同一机密频道的人才能知道您正在这个频道里。</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>设定了<b>I</b>模式(Invite "
+"only)的频道意味着他人若非被邀请否则无法进入此频道。如果需要邀请某人,频道操作员应在他所处于的频道内发送此命令 <em>/invite nick</em>"
+"。</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>设定为 <b>P</b> 模式(Private)的频道虽然会在全部频道的列表里显示,但话题将被隐藏。用户的 <em>WHOIS</e> "
+"命令能否显示出这些则取决于不同 IRC 服务器对私人频道的访问控制规划。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>在设定了 <b>M</b> 模式(Moderated)的频道里只有操作员、助理以及拥有发言权的用户才可以相互交谈。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>具有 <b>P</b> 模式(Protected)设定的频道要求用户输入正确的密码才能够加入。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>一个频道若具有 <b>L</b> 模式(Limit)设定则意味着它在同一时刻所能容纳的用户数量是有规限的,有些频道会布置 bot "
+"常驻于内并根据频道的繁忙程度自动调整其数量。</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "频道允许的最大用户数量"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>频道用户限额是同一时刻特定频道内最多可以容纳的用户数量,如果您是管理员,可以调节此数值。如果它被设定了,频道的 <b>T</b> "
+"模式(Topic)也会被自动选中。</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>这里显示的是您当前以及所有备选的昵称。如果您选择或输入了一个与现在的不同的昵称,会有一个改名请求被提交到 IRC "
+"服务器,如果服务器允许您改名,新的昵称就会被选中。当您在输入一个新的昵称时,需要在最后输入回车使其生效。"
+"<p>您可以通过<em>文件</em>菜单下的<em>身份</em>选项卡添加或修改备选昵称。</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "您想要忽略已选中的用户吗?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "您想要停止忽略已选中的用户吗?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "补齐"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "可能的补齐:%1。"
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "频道密码"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "昵称限制"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "输入新的昵称限制:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "您现在的名字是 %1。"
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 现在的名字是 %2。"
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "您已经加入了频道 %1 (%2)。"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 已经加入此频道 (%2)。"
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "您已经离开了此服务器。"
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "您已经离开了此服务器 (%1)。"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "您已经离开了频道 %1。"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "您已经离开了频道 %1 (%2)。"
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 已经离开了此服务器 (%2)。"
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 已经离开了此频道。"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 已经离开了此频道 (%2)。"
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "您已经从频道 %1 被踢出。"
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "您已经从频道 %1 被踢出 (%2)。"
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "您已经被 %2 从频道 %1 中被踢出。"
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "您已经被 %2 从频道 %1 中被踢出(%3)。"
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "您已经从频道中踢掉了 %1。"
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "您已经从频道中踢掉了 %1(%2)。"
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 已经被 %2 踢出了此频道。"
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 已经被 %2 踢出了此频道(%3)。"
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr "%n 人"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr " (%n 名操作员)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "频道话题是“%1”。"
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "您设置频道话题为“%1”。"
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 设置频道话题为“%2”。"
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "您给予自己频道所有者权限。"
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "您给予 %1 频道所有者权限。"
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 给予您频道所有者权限。"
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 给予 %2 频道所有者权限。"
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "您取消了自己的频道所有者权限。"
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "您取消了 %1 的频道所有者权限。"
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 取消了您的频道所有者权限。"
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 取消了 %2 的频道所有者权限。"
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "您给予自己频道管理员权限。"
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "您给予 %1 频道管理员权限。"
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 给予您频道管理员权限。"
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 给予 %2 频道管理员权限。"
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "您取消了自己的频道管理员权限。"
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "您取消了 %1 的频道管理员权限。"
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 取消了您的频道管理员权限。"
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 取消了 %2 的频道管理员权限。"
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "您给予自己频道操作员权限。"
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "您给予 %1 频道操作员权限。"
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 给予您频道操作员权限。"
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 给予 %2 频道操作员权限。"
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "您取消了自己的频道操作员权限。"
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "您取消了 %1 的频道操作员权限。"
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 取消了您的频道操作员权限。"
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 取消了 %2 的频道操作员权限。"
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "您给予自己频道助理员权限。"
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "您给予 %1 频道助理员权限。"
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 给予您频道助理管理员权限。"
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 给予 %2 频道助理员权限。"
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "您取消了自己的频道助理员权限。"
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "您取消了 %1 的频道助理员权限。"
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 取消了您的频道助理员权限。"
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 取消了 %2 的频道助理员权限。"
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "您给予了自己发言权限。"
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "您给予了 %1 发言权限。"
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 给予您发言权限。"
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 给予 %2 发言权限。"
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "您取消了自己的发言权限。"
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "您取消了 %1 的发言权限。"
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 取消了您的发言权限。"
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 取消了 %2 的发言权限。"
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "您设置频道模式为“不允许颜色”。"
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 设置频道模式为“不允许颜色”。"
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "您设置频道模式为“允许颜色代码”。"
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 设置频道模式为“允许颜色代码”。"
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "您设置频道模式为“只接受受邀请的”。"
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 设置频道模式为“只接受受邀请的”。"
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "您取消了频道的“只接受受邀请的“模式。"
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 取消了频道的“只接受受邀请的”模式。"
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "您设置频道模式为“监管的”。"
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 设置频道模式为“监管的”。"
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "您设置频道模式为“非监管的”。"
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 设置频道模式为“非监管的”。"
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "您设置频道模式为“无外部消息”。"
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 设置频道模式为“无外部消息”。"
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "您设置频道模式为“允许外部消息”。"
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 设置频道模式为“允许外部消息”。"
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "您设置频道模式为“私人”。"
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 设置频道模式为“私人”"
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "您设置频道模式为“公共”。"
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 设置频道模式为“公共”。"
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "您设置频道模式为“机密”。"
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 设置频道模式为“机密”。"
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "您设置频道模式为“可见”。"
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 设置频道模式为“可见”。"
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "您启用了“话题保护”。"
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 关闭了“话题保护”。"
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "您关闭了“话题保护”。"
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 关闭了“话题保护”。"
+
+#: src/channel.cpp:1906
+#, fuzzy
+msgid "You set the channel key to '%1'."
+msgstr "您设置频道话题为“%1”。"
+
+#: src/channel.cpp:1907
+#, fuzzy
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 设置频道话题为“%2”。"
+
+#: src/channel.cpp:1911
+#, fuzzy
+msgid "You remove the channel key."
+msgstr "您取消了频道限制。"
+
+#: src/channel.cpp:1912
+#, fuzzy
+msgid "%1 removes the channel key."
+msgstr "%1 取消了频道限制。"
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "您对昵称为 %1 的用户设置了频道限制。"
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 您对昵称为 %2 的用户设置了频道限制。"
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "您取消了频道限制。"
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 取消了频道限制。"
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "您对 %1 设置了封禁。"
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 对 %2 设置了封禁。"
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "您取消了对 %1 的封禁。"
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 取消了对 %2 的封禁。"
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "您对 %1 设置了封禁例外。"
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 对 %2 设置了封禁例外。"
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "您取消了对 %1 的封禁例外。"
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 取消了对 %2 的封禁例外。"
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "您设置了邀请掩码 %1。"
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 设置了邀请掩码 %2。"
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "您取消了邀请掩码 %1。"
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 取消了邀请掩码 %2。"
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "您设置了频道模式 +%1。"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 设置了频道模式 +%2。"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "您设置了频道模式 -%1。"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 设置了频道模式 -%2。"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "您必须是操作员才能更改此项。"
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "只有频道操作员可以改变话题。%1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "不接受外部客户端到频道的消息。%1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "机密频道。%1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "只接受受邀请用户的频道。%1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "私人频道。%1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "受监管频道。%1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "受密码保护频道。"
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "设置频道用户数限制。"
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "您想要离开 %1 吗?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "离开频道"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "离开"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "朱鸷勇,Lie_Ex"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "sp_xym@hotmail.com,lilith.ex@gmail.com"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, fuzzy, no-c-format
+msgid "Slow Queue"
+msgstr "已排队"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, fuzzy, no-c-format
+msgid "Lines"
+msgstr "行数(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, fuzzy, no-c-format
+msgid "Bytes"
+msgstr " 字节"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, fuzzy, no-c-format
+msgid "Count:"
+msgstr "声音(&S):"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, fuzzy, no-c-format
+msgid "Lines:"
+msgstr "行数(&L): "
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, fuzzy, no-c-format
+msgid "Bytes:"
+msgstr " 字节"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, fuzzy, no-c-format
+msgid "Normal Queue"
+msgstr "普通用户"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, fuzzy, no-c-format
+msgid "Fast Queue"
+msgstr "已排队"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, fuzzy, no-c-format
+msgid "All Queues"
+msgstr "已排队"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, fuzzy, no-c-format
+msgid "Received:"
+msgstr "接收"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr ""
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr ""
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "按钮名称"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "按钮动作"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "按钮动作:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "按钮名称"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "可用的表义符"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o:当前昵称\n"
+"%c:当前频道\n"
+"%K:服务器密码\n"
+"%u:选中昵称列表\n"
+"%s<term>%:用于在%u中分隔多个昵称的字符\n"
+"%n:不使用输入行,直接向服务器发送指令"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "文件名:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "本方:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "类型:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "状态:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "位置:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "进度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "伙伴:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, fuzzy, no-c-format
+msgid "Open Folder"
+msgstr "打开文件"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "文件大小:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "平均速率:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "续传:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "当前速度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "当前位置:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "剩余时间:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "开始提供于:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "结束于:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "开始自:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "传输时间:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "允许自动重连"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, fuzzy, no-c-format
+msgid "Reconnect delay:"
+msgstr "重连超时:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "重连尝试:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " 秒"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "无限制"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "调试"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "连接时显示原始记录窗口(&L)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "模式"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "输入"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "模式:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "消息输入"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "新建(&N)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "全部删除(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "网络名称:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "身份:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "命令:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "程序启动时连接(&N)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "服务器"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "添加(&A)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "编辑(&D)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "自动加入频道"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "编辑(&I)..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "别名:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "替换:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "别名"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "替换"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "查找下一个(&X)"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "查找上一个"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "双击时执行的命令(&C):"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "排序不区分大小写(&I)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "按活跃度排序(&A)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "按用户状态排序(&Y)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "注解"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(使用拖放对昵称重新排序)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "主题配置"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "安装主题(&N)..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "删除主题(&R)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "普通用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "离开用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "有发言权的用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "助理员用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "操作员用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "管理员用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "所有者用户图标"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "预览:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "标签栏配置"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "外观"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "位置:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "在标签上显示关闭按钮(&C)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "在标签右侧显示一个关闭按钮(&R)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "设定标签栏的大小为填充整个屏幕(&S)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "强制"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "强制使用新标签(&F)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "强制使用新的查询(&Q)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, fuzzy, no-c-format
+msgid "Mouse"
+msgstr "模式"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr ""
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "双击昵称时执行的命令(&X):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>当您在<b>在线昵称</b>窗口里双击一个昵称时,这些\n"
+"命令会被存置在服务器窗口里的<b>输入行</b>上。</p>\n"
+"<p>在命令中可以使用如下这些符号:</p>"
+"<ul>\n"
+"<li>%u:指代被双击的昵称。</li>\n"
+"<li>%K:指代服务器密码。</li>\n"
+"<li>%n:直接将命令发送到服务器而不是存置到输入行上。</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>当您在<b>在线昵称</b>窗口里双击一个昵称时,这些\n"
+"命令会被存置在服务器窗口里的<b>输入行</b>上。</p>\n"
+"<p>在命令中可以使用如下这些符号:</p>"
+"<ul>\n"
+"<li>%u:指代被双击的昵称。</li>\n"
+"<li>%K:指代服务器密码。</li>\n"
+"<li>%n:直接将命令发送到服务器而不是存置到输入行上。</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "更新间隔(&U):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "Konversation 可以每相隔一段时间检查一次以下列出的昵称的状态。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "在程序启动时显示被监视在线昵称的标签"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr "<qt>当此项被选中时,<b>在线昵称</b>窗口会在 Konversation 程序开启后自动打开。</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "启用昵称监视器(&K)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"如果昵称监视器被启用,每当那些使用在<b>被监视网络/昵称</b>列表里的昵称的人上线或离线时您将会获得通知。</p>\n"
+"<p>您也可以打开<b>在线昵称</b>窗口检阅所有被监视昵称的目前状态。</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "网络:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "被选中用户要监视的IRC 服务器网络(如“freenode”)已经上线。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "被选中用户要监视的昵称(用户名)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "被监视网络/昵称"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"如果启用了昵称监视器,当那些在<b>被监视网络/昵称</b>列表里的人上线或离线时,您将会获得通知。</p>\n"
+"<p>您也可以打开<b>在线昵称</b>窗口检阅所有被监视昵称的当前状态。</p></qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "点此添加一个昵称到列表。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "点此从列表中删除选中的昵称。"
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "启用日志(&E)"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "使用小写日志文件名(&L)"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "为文件名添加发送者(&A)"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "日志文件路径(&P):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "激活到系统托盘"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "为新消息通知使用系统托盘(&U)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "只有当高亮事件被触发或您当前的昵称被占用时才通知(&N)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "闪烁图标(&K)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr ""
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "昵称补齐"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "补齐模式(&M):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "循环昵称列表"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "仿 Shell 外观"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "带补齐方框的仿 Shell 外观"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "行首(&X):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "别处(&E):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "区分大小写"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "处于离开状态时禁用系统通知(&A)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "自定义版本回复(&V):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr "<qt>您可以在这里为 <b>CTCP<i> 版本</i></b>请求设置自定义回复。"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "输入框长度随文本自动扩展"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "命令字符(&D):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "使用自定义的浏览器(&B):"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "限定标签最大长度为填满整个屏幕"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "隐藏滚动条"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "如果您想要对每行输入都自动执行拼写检查,请选中此项。"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "启用此选项会使得在文本输入框内填写内容时,它的长度将自动垂直延伸。"
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "隐藏到系统托盘"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "启动时隐藏主窗口"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "在昵称旁显示真实姓名(&S)"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "在程序启动时自动打开昵称监视列表"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "启用表情"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "表情主题"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "话题(&C)"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "日期"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "模式(&D)"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "话题只能由频道操作员修改(&T)"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "不接受来自频道以外的消息(&N)"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "绝密频道,不会显示在频道列表中(&S)"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "只有受邀请的用户才能加入此频道(&I)"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>在这里可以调控频道<em>模式</em>,只有操作员才能对它进行更动。"
+"<p>设定了<b>I</b>模式(Invite "
+"only)的频道意味着他人若非被邀请否则无法进入此频道。如果需要邀请某人,频道操作员应在他所处于的频道内发送此命令 <em>/invite nick</em>"
+"。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "监管频道,只有具备发言权限的人才能在这里发言(&M)"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, fuzzy, no-c-format
+msgid "Channel &password:"
+msgstr "频道密码"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "用户限制(&L)"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "显示高级模式(&A) >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A、Backspace、Tab、Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "参数"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "封禁列表(&B)"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "移除出封禁列表(&R)"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "添加封禁列表(&A)"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "主机掩码"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "设定由"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "时间设定"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "搜索:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC 设定"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "下载文件夹(&F):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "为文件名添加发送者(&A)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "为发送者创建文件夹(&E)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "在传送文件前将文件名中的空格转换为下划线"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "自动接受下载(&Y)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "自动续传(&T)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "启用快速 DCC 发送(不是所有客户端都能正常工作)(&N)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "缓冲区大小(&Z):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC 发送超时(&I):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "DCC 传输时使用 IPv4 网络接口(&4):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "如果此选项被启用,为 IPv6 建立的 DCC 传输连接会改由 IPv4 界面来操作"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " 字节"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " 秒"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, fuzzy, no-c-format
+msgid "Enable passive DCC send"
+msgstr "允许被动的 DCC 发送"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "获取本机 IP 的方式(&M):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "本机 IP(&W):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "端口"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "允许指定 DCC 密聊端口(&O):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "到"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "允许指定 DCC 发送服务器的端口(&P):"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "使用多彩文本"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "使用多彩信号灯"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "应用程序事件"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr "应用程序事件会发生在 Konsole 标签里,DCC 状态标签和其它程序标签不能被直接地用于聊天。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "消息"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "私人消息"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "目前使用的昵称"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "频道事件"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "频道事件是指模式改变或用户加入/离开频道等状况。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "给予高亮色的聊天窗口较高优先级"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr "如果您选中此项,您在高亮属性页中选择的颜色会覆盖“目前使用的昵称”和“高亮”所显示的色彩。"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "允许为 MOTD 消息使用等宽字体(&X)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "以等宽字体显示 MOTD(每日新闻)消息"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "在聊天视图中加粗显示发送方昵称(&B)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "聊天文本字体:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "昵称列表字体:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "标签栏:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "高亮列表"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "匹配表达式"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "高亮"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "声音"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "自动文本"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "模式(&P):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "颜色:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "声音(&S):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "测试声音"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "自动文本颜色(&A):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "为高亮事件启用声音(&B)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "总是高亮显示当前昵称(&Y):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "总是高亮显示自己的话(&L):"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "创建新条目(&E)..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "在您的地址簿中创建一条新条目"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "照片"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "姓名"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "选项要通过即时消息与之通信的联系人"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "搜索(&E):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "收到ASCII响铃字符时发声(&Y)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "当您收到一个 ASCII BEL(0x07)控制符时发出系统响铃"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "隐藏加入/离开/昵称 事件(&J)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "禁用变量(如:%C、%B、%G...)展开(&X)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr "在将文本发送到服务器时不要展开变量,每一个变量都会以“%”符号开头。例:%B 会被展开为要加粗的文本。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "将状态信息重定向到专门的服务器状态窗口(&R)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "卷轴限制(&B):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "缓冲区内要保留的行数,0=无限制"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "为模式改动使用原始模式(&U)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr "将频道模式字串保留为一组字符的集合而不是转换成易读的句子。如:“*** 频道模式:不接受外部消息”会变成“*** 频道模式:n”。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " 行"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "助记行"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "在所有聊天窗口内显示手动插入的行"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "当您进入隐身状态时在聊天窗口内标记时间位置"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr "当您切换到其它聊天窗口或最小化程序时自动向当前聊天窗口内插入一条助记行。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr ""
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "启用自动用户信息查询(/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "频道内最大用户数量:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " 昵称"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "检查间隔:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "启用屏幕显示(&E)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "在屏幕上显示(&S)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "绘制阴影(&D)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD 字体:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "显示 OSD 消息(&O)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "当自己的昵称出现在频道消息内时显示(&I)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "当出现任何频道消息时显示(&Y)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "当出现对话动作时显示(&Q)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "当出现加入/离开事件时显示(&J)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "启用自定义颜色"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "文本颜色(&X):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "背景颜色(&B):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "其它设置(&T)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "活动持续(&D):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "屏幕(&C):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " 毫秒"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "窗口(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "新建(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "删除(&E)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "替换时机"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "查找"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "替换为"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "替换时机:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "查找:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "替换为:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "启用时间戳(&T)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, fuzzy, no-c-format
+msgid "Sho&w dates"
+msgstr "显示日期(&D)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "格式(&F):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, fuzzy, no-c-format
+msgid "Show &Backlog"
+msgstr "显示回溯日志"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "行数(&L): "
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "布局(&L)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "显示频道话题(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "显示频道模式按钮(&M)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, fuzzy, no-c-format
+msgid "Show sc&rollbar"
+msgstr "显示滚动条"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "显示可供修改自己昵称的方框(&X)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "显示快捷按钮(&Q)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, fuzzy, no-c-format
+msgid "Show real names in nickname list"
+msgstr "在昵称旁显示真实姓名(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "显示频道内的昵称列表和快捷按钮(&N)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "在昵称列表中显示每人的主机掩码(&K)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "启用背景图像(&G)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "路径(&A):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "自定义颜色"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "对文字输入框、昵称列表和标签列表使用自定义的颜色(&U)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "背景(&B):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "服务器消息(&S):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "超链接(&Y):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "频道消息(&M):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "动作(&N):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "回溯日志(&K):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "命令消息(&D):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "对话消息(&Q):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "时间戳(&T):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "可选背景(&L):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "彩色昵称"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "自己昵称的颜色(&O):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "允许在 IRC 消息里使用彩色文本(&A)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"如果启用此选项,在 IRC 消息中加入的颜色代码会在聊天窗口中显示为彩色的文本。您可以在您的消息中添加颜色代码,只需在菜单中选择“插入 -> IRC 颜色”。"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "预览"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "这里是使用了自定义颜色的消息文字样板"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>这里提供预览的是当您选择了这些颜色后,您的消息的读者会看到的文本的模样。"
+"<br>\n"
+"<b>注意:并非所有客户端都支持这种功能,而且用户还可以选择忽略您的颜色变动。</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "选中的文本颜色已被加入输入行。"
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>这里是供您调配下面要发送的消息文本的颜色的地方。如果您选择了一个颜色并点击确定,选中的颜色会被自动加到输入行,任何在这之后写入的文本都会带有相应的颜色,"
+"直到您再次更改颜色设定。"
+"<br>\n"
+"<b>注意:并非所有用户都会打开可观览彩色文本的选项。</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "前景色(&F):"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "选中的文本背景色已被加入输入行"
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>这里是供您调配下面要发送的消息文本的颜色的地方。\n"
+"如果您选择了一个颜色并点击确定,选中的颜色会被自动加到输入行。\n"
+"任何在这之后写入的文本都会带有相应的颜色,直到您再次更改颜色设定。"
+"<br>\n"
+"选择默认的“<i>无</i>”不会改变您消息的背景色,因此读者看到的您的消息文本背景色会是普通的样式。"
+"<br>\n"
+"<b>注意:并非所有客户端都支持这种功能,同时也不是所有用户都会打开可观览彩色文本的选项。</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "显示的警告对话框"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "密码(&P):"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "服务器:"
+
+#~ msgid "Messages"
+#~ msgstr "消息"
+
+#~ msgid "Show a&way messages"
+#~ msgstr "显示离开消息(&W)"
+
+#~ msgid "Set &Available Globally"
+#~ msgstr "设定全局空闲状态(&A)"
+
+#~ msgid " s"
+#~ msgstr " 秒"
+
+#~ msgid "Every "
+#~ msgstr "每 "
+
+#~ msgid "Warning on deleting file received on DCC"
+#~ msgstr "删除从 DCC 接收的文件时发出警告"
+
+#~ msgid "The key for %1 is successfully set."
+#~ msgstr "%1 的关键字已设置成功。"
+
+#~ msgid "Cannot remove file '%1'."
+#~ msgstr "无法删除文件“%1”。"
+
+#~ msgid "DCC Error"
+#~ msgstr "DCC 错误"
+
+#~ msgid "Remove File"
+#~ msgstr "删除文件"
+
+#~ msgid "Transfer Details"
+#~ msgstr "传输细节"
+
+#~ msgid "Remove from this panel"
+#~ msgstr "从面板上删除"
+
+#~ msgid "Remove the received file(s)"
+#~ msgstr "删除接收到的文件"
+
+#~ msgid "&Remove File"
+#~ msgstr "删除文件(&R)"
+
+#~ msgid ""
+#~ "_n: Do you really want to remove the selected file?\n"
+#~ "Do you really want to remove the selected %n files?"
+#~ msgstr "您真的要删除选中的 %n 个文件吗?"
+
+#~ msgid "Delete Confirmation"
+#~ msgstr "删除确认"
+
+#~ msgid "Show the real name of a person next to his/her nick in nickname list."
+#~ msgstr "在昵称旁边显示此人的真实姓名。"
+
+#~ msgid "Connection to Server %1 lost: %2. Trying to reconnect."
+#~ msgstr "连接到服务器 %1 失败:%2。正在重试。"
+
+#~ msgid "Trying server %1 instead."
+#~ msgstr "正在尝试备选服务器 %1。"
+
+#~ msgid "Waiting for 2 minutes before another reconnection attempt..."
+#~ msgstr "在重新尝试连接前等待 2 分钟..."
+
+#~ msgid "Available preferences groups: "
+#~ msgstr "可用的首选项组: "
+
+#~ msgid "Available options in group %1:"
+#~ msgstr "组 %1 的可用选项:"
+
+#~ msgid "Usage: %1PREFS <group> <option> <value> or %2PREFS LIST to list groups or %3PREFS group LIST to list options in group. Quote parameters if they contain spaces."
+#~ msgstr "用法:%1PREFS <组> <选项> <值> 或 %2PREFS LIST to 列表组 或 %3PREFS 组 LIST to 组中的列表选项。如果这之中含有空格会被引用为参数。"
+
+#, fuzzy
+#~ msgid "DccTransferDetailedInfoPanelUI"
+#~ msgstr "传输细节"
+
+#~ msgid "Channel &key:"
+#~ msgstr "频道名称(&K)"
diff --git a/po/zh_TW/Makefile.am b/po/zh_TW/Makefile.am
new file mode 100644
index 0000000..c37fe4d
--- /dev/null
+++ b/po/zh_TW/Makefile.am
@@ -0,0 +1,3 @@
+KDE_LANG = zh_TW
+SUBDIRS = $(AUTODIRS)
+POFILES = AUTO
diff --git a/po/zh_TW/konversation.po b/po/zh_TW/konversation.po
new file mode 100644
index 0000000..f6f8836
--- /dev/null
+++ b/po/zh_TW/konversation.po
@@ -0,0 +1,7164 @@
+# translation of konversation.po to Chinese Traditional
+# Traditional Chinese translation for konversation.
+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the konversation package.
+#
+# 朱鷙勇 <sp_xym@hotmail.com>, 2006.
+# Lie_Ex <lilith.ex@gmail.com>, 2006.
+# Wei-Lun Chao <chaoweilun@pcmail.com.tw>, 2006.
+# Frank Weng (a.k.a. Franklin) <franklin at goodhorse dot idv dot tw>, 2006.
+# Franklin Weng <franklin@mail.everfocus.com.tw>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: konversation\n"
+"POT-Creation-Date: 2008-07-24 08:36+0200\n"
+"PO-Revision-Date: 2008-07-14 16:21+0800\n"
+"Last-Translator: Franklin Weng <franklin@mail.everfocus.com.tw>\n"
+"Language-Team: Chinese Traditional <zh@li.org>\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: KBabel 1.11.4\n"
+
+#: src/channeloptionsdialog.cpp:38
+#, c-format
+msgid "Channel Settings for %1"
+msgstr "%1 頻道設定"
+
+#: src/channeloptionsdialog.cpp:148
+msgid "&Hide Advanced Modes <<"
+msgstr "隱藏進階模式(&H) <<"
+
+#: src/channeloptionsdialog.cpp:152
+msgid "&Show Advanced Modes >>"
+msgstr "顯示進階模式(&S) >>"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 175
+#: rc.cpp:155 src/alias_preferences.cpp:173
+#: src/autoreplace_preferences.cpp:313 src/highlight_preferences.cpp:260
+#: src/quickbuttons_preferences.cpp:212
+#: src/watchednicknames_preferences.cpp:286
+#, no-c-format
+msgid "New"
+msgstr "新增"
+
+#: src/channel.cpp:1524 src/dcctransferpanelitem.cpp:86
+msgid "unknown"
+msgstr "不明"
+
+#: src/dcctransferpanelitem.cpp:232
+msgid "Available information for file %1:"
+msgstr "檔案 %1 可用資訊:"
+
+#: src/dcctransferpanelitem.cpp:234 src/dcctransferpanelitem.cpp:240
+#: src/dcctransferpanelitem.cpp:247
+msgid "File Information"
+msgstr "檔案資訊"
+
+#: src/dcctransferpanelitem.cpp:247
+msgid "No detailed information for this file found."
+msgstr "找不到此檔案的詳細資訊。"
+
+#: src/dcctransferpanelitem.cpp:265
+msgid "Send"
+msgstr "傳送"
+
+#: src/dcctransferpanelitem.cpp:267 src/dcctransferrecv.cpp:81
+msgid "Receive"
+msgstr "接收"
+
+#: src/dcctransferpanelitem.cpp:313
+msgid "Queued"
+msgstr "已排入佇列"
+
+#: src/dcctransferpanelitem.cpp:315
+msgid "Preparing"
+msgstr "正準備"
+
+#: src/dcctransferpanelitem.cpp:317
+msgid "Awaiting"
+msgstr "等待中"
+
+#: src/dcctransferpanelitem.cpp:319 src/linkaddressbook/addressbook.cpp:108
+msgid "Connecting"
+msgstr "連線中"
+
+#: src/dcctransferpanelitem.cpp:321
+msgid "Receiving"
+msgstr "接收中"
+
+#: src/dcctransferpanelitem.cpp:323
+msgid "Sending"
+msgstr "傳送中"
+
+#: src/dcctransferpanelitem.cpp:325
+msgid "Done"
+msgstr "完成"
+
+#: src/dcctransferpanelitem.cpp:327
+msgid "Failed"
+msgstr "已失敗"
+
+#: src/dcctransferpanelitem.cpp:329
+msgid "Aborted"
+msgstr "已放棄"
+
+#: src/dcctransferpanelitem.cpp:387
+msgid "%1/sec"
+msgstr "%1/秒"
+
+#: src/ircview.cpp:1394 src/ircview.cpp:1474 src/nicklistview.cpp:46
+#: src/nicksonline.cpp:875 src/nicksonline.cpp:890 src/query.cpp:82
+msgid "&Whois"
+msgstr "名錄(&W)"
+
+#: src/ircview.cpp:1395 src/ircview.cpp:1475 src/nicklistview.cpp:47
+#: src/query.cpp:83
+msgid "&Version"
+msgstr "版本(&V)"
+
+#: src/ircview.cpp:1396 src/ircview.cpp:1476 src/nicklistview.cpp:48
+#: src/query.cpp:84
+msgid "&Ping"
+msgstr "&Ping"
+
+#: src/ircview.cpp:1400 src/nicklistview.cpp:54
+msgid "Give Op"
+msgstr "給與管理權限"
+
+#: src/ircview.cpp:1401 src/nicklistview.cpp:55
+msgid "Take Op"
+msgstr "撤除管理權限"
+
+#: src/nicklistview.cpp:56
+msgid "Give HalfOp"
+msgstr "給與助理權限"
+
+#: src/nicklistview.cpp:57
+msgid "Take HalfOp"
+msgstr "撤除助理權限"
+
+#: src/ircview.cpp:1402 src/nicklistview.cpp:58
+msgid "Give Voice"
+msgstr "給與語音權限"
+
+#: src/ircview.cpp:1403 src/nicklistview.cpp:59
+msgid "Take Voice"
+msgstr "撤除語音權限"
+
+#: src/ircview.cpp:1404 src/nicklistview.cpp:60
+msgid "Modes"
+msgstr "模式"
+
+#: src/channel.cpp:1378 src/channel.cpp:1380 src/channel.cpp:1387
+#: src/channel.cpp:1393 src/channel.cpp:1415 src/channel.cpp:1417
+#: src/channel.cpp:1424 src/channel.cpp:1430 src/ircview.cpp:1406
+#: src/nicklistview.cpp:66
+msgid "Kick"
+msgstr "踢出"
+
+#: src/ircview.cpp:1407 src/nicklistview.cpp:67
+msgid "Kickban"
+msgstr "踢出並封禁"
+
+#: src/ircview.cpp:1408 src/nicklistview.cpp:68
+msgid "Ban Nickname"
+msgstr "封禁此暱稱"
+
+#: src/ircview.cpp:1410 src/nicklistview.cpp:70
+msgid "Ban *!*@*.host"
+msgstr "封禁 *!*@*.host"
+
+#: src/ircview.cpp:1411 src/nicklistview.cpp:71
+msgid "Ban *!*@domain"
+msgstr "封禁 *!*@domain"
+
+#: src/ircview.cpp:1412 src/nicklistview.cpp:72
+msgid "Ban *!user@*.host"
+msgstr "封禁 *!user@*.host"
+
+#: src/ircview.cpp:1413 src/nicklistview.cpp:73
+msgid "Ban *!user@domain"
+msgstr "封禁 *!user@domain"
+
+#: src/ircview.cpp:1415 src/nicklistview.cpp:75
+msgid "Kickban *!*@*.host"
+msgstr "踢出並封禁 *!*@*.host"
+
+#: src/ircview.cpp:1416 src/nicklistview.cpp:76
+msgid "Kickban *!*@domain"
+msgstr "踢出並封禁 *!*@domain"
+
+#: src/ircview.cpp:1417 src/nicklistview.cpp:77
+msgid "Kickban *!user@*.host"
+msgstr "踢出並封禁 *!user@*.host"
+
+#: src/ircview.cpp:1418 src/nicklistview.cpp:78
+msgid "Kickban *!user@domain"
+msgstr "踢出並封禁 *!user@domain"
+
+#: src/ircview.cpp:1419 src/nicklistview.cpp:79
+msgid "Kick / Ban"
+msgstr "踢出/封禁"
+
+#: src/channel.cpp:623 src/ircview.cpp:1421 src/ircview.cpp:1479
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:160
+#: src/nicklistview.cpp:82 src/outputfilter.cpp:1335 src/outputfilter.cpp:1407
+#: src/query.cpp:87 src/query.cpp:389 src/server.cpp:2901
+#: src/warnings_preferences.cpp:119
+msgid "Ignore"
+msgstr "忽略"
+
+#: src/channel.cpp:641 src/ircview.cpp:1422 src/ircview.cpp:1480
+#: src/nicklistview.cpp:83 src/query.cpp:88 src/query.cpp:410
+#: src/warnings_preferences.cpp:120
+msgid "Unignore"
+msgstr "取消忽略"
+
+#: src/nicklistview.cpp:88 src/nicksonline.cpp:876 src/nicksonline.cpp:891
+msgid "Open &Query"
+msgstr "開啟對話(&Q)"
+
+#: src/nicklistview.cpp:90
+msgid "Open DCC &Chat"
+msgstr "開啟 DCC 聊天(&C)"
+
+#: src/ircview.cpp:1431 src/ircview.cpp:1485 src/nicklistview.cpp:95
+#: src/query.cpp:93
+msgid "Send &File..."
+msgstr "傳送檔案(&F)"
+
+#: src/linkaddressbook/addressbook_base.cpp:503 src/nicklistview.cpp:98
+#: src/nicksonline.cpp:883
+msgid "&Send Email..."
+msgstr "傳送郵件(&S)..."
+
+#: src/nicklistview.cpp:103
+msgid "Addressbook Associations"
+msgstr "通訊錄關聯"
+
+#: src/ircview.cpp:1435 src/ircview.cpp:1487 src/nicklistview.cpp:105
+#: src/query.cpp:95
+msgid "Add to Watched Nicks"
+msgstr "新增到監視暱稱"
+
+#: src/nicklistview.cpp:142
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown."
+"<br>Usually an icon is shown showing the status of each person, but you do not "
+"seem to have any icon theme installed. See the Konversation settings - <i>"
+"Configure Konversation</i> under the <i>Settings</i> "
+"menu. Then view the page for <i>Themes</i> under <i>Appearence</i>.</qt>"
+msgstr ""
+"<qt>這裏顯示了目前頻道裏的所有人員,每個人的暱稱都會被列出。"
+"<br>一般每個顯示中的圖示代表了各人的狀態,但您似乎還未安裝任何圖示主題。請檢視 Konversation 裏的相應設定,它在<i>設定</i>選單項的<i>"
+"配置 Konversation</i>裏面,然後查閱<i>外觀</i>中的<i>主題</i>配置頁。</qt>"
+
+#: src/nicklistview.cpp:154
+msgid ""
+"<qt>This shows all the people in the channel. The nick for each person is "
+"shown, with a picture showing their status."
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>This person has administrator privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>This person is a channel owner.</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>This person is a channel operator.</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>This person is a channel half-operator.</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>This person has voice, and can therefore talk in a moderated channel.</td>"
+"</tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>This person does not have any special privileges.</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>This indicates that this person is currently away.</td></tr></table>"
+"<p>The meaning of admin, owner and halfop varies between different IRC servers."
+"<p>Hovering over any nick shows their current status, as well as any "
+"information in the addressbook for this person. See the Konversation Handbook "
+"for more information.</qt>"
+msgstr ""
+"<qt>這裏顯示了目前頻道裏的所有人員,每個人的暱稱都會被列出,輔以表示他們各自狀態的圖示。"
+"<p>"
+"<table>"
+"<tr>"
+"<th><img src=\"admin\"></th>"
+"<td>表示此人擁有總管權限。</td></tr>"
+"<tr>"
+"<th><img src=\"owner\"></th>"
+"<td>表示此人是頻道的擁有者。</td></tr>"
+"<tr>"
+"<th><img src=\"op\"></th>"
+"<td>表示此人是頻道的管理員。</td></tr>"
+"<tr>"
+"<th><img src=\"halfop\"></th>"
+"<td>表示此人是頻道的管理助理。</td></tr>"
+"<tr>"
+"<th><img src=\"voice\"></th>"
+"<td>表示此人擁有語音權限,可以在相適的頻道裏談話。</td></tr>"
+"<tr>"
+"<th><img src=\"normal\"></th>"
+"<td>表示此人沒有任何特別權限。</td></tr>"
+"<tr>"
+"<th><img src=\"normalaway\"></th>"
+"<td>這意味著此人目前處於離開狀態。</td></tr></table>"
+"<p>管理員、頻道擁有者、助理在不同 IRC 伺服器上的含義可能會各不一樣。"
+"<p>將滑鼠懸停在暱稱上將會顯示相應人員的目前狀態以及任何關聯到通訊錄裏的資訊,檢視 Konversation 手冊可以獲得更多相關說明。</qt>"
+
+#: src/nicklistview.cpp:281
+msgid "Edit Contact..."
+msgstr "編輯連絡人..."
+
+#: src/nicklistview.cpp:286
+msgid "Choose/Change Associations..."
+msgstr "選擇/變更關聯..."
+
+#: src/nicklistview.cpp:288
+msgid "Choose Contact..."
+msgstr "選擇連絡人..."
+
+#: src/nicklistview.cpp:290
+msgid "Change Association..."
+msgstr "變更關聯..."
+
+#: src/nicklistview.cpp:293
+msgid "Create New Contact..."
+msgstr "建立新連絡人..."
+
+#: src/nicklistview.cpp:296
+msgid "Delete Association"
+msgstr "刪除關聯"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 117
+#: rc.cpp:251 src/channellistpanel.cpp:92 src/ignorelistviewitem.cpp:43
+#: src/inputfilter.cpp:1691 src/inputfilter.cpp:1695
+#, no-c-format
+msgid "Channel"
+msgstr "頻道"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 141
+#: rc.cpp:260 src/ignorelistviewitem.cpp:44
+#, no-c-format
+msgid "Query"
+msgstr "對話"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 133
+#: rc.cpp:257 src/ignorelistviewitem.cpp:45 src/inputfilter.cpp:416
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672 src/inputfilter.cpp:1111
+#: src/outputfilter.cpp:626 src/outputfilter.cpp:1578
+#, no-c-format
+msgid "Notice"
+msgstr "通知"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 109
+#: rc.cpp:248 src/dccchat.cpp:244 src/ignorelistviewitem.cpp:46
+#: src/inputfilter.cpp:202 src/inputfilter.cpp:209 src/inputfilter.cpp:225
+#: src/inputfilter.cpp:232 src/inputfilter.cpp:363 src/inputfilter.cpp:371
+#: src/inputfilter.cpp:391 src/inputfilter.cpp:443 src/inputfilter.cpp:453
+#: src/outputfilter.cpp:775
+#, no-c-format
+msgid "CTCP"
+msgstr "CTCP"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 125
+#: rc.cpp:254 src/dccchat.cpp:137 src/dccchat.cpp:147 src/dccchat.cpp:159
+#: src/dccchat.cpp:198 src/dccchat.cpp:339 src/dccchat.cpp:344
+#: src/ignorelistviewitem.cpp:47 src/inputfilter.cpp:300
+#: src/inputfilter.cpp:315 src/inputfilter.cpp:330 src/inputfilter.cpp:346
+#: src/inputfilter.cpp:354 src/konvisettingsdialog.cpp:172
+#: src/konvisettingsdialog.cpp:173 src/server.cpp:1710 src/server.cpp:1741
+#: src/server.cpp:1817 src/server.cpp:1852 src/server.cpp:1886
+#: src/server.cpp:1889 src/server.cpp:1905 src/server.cpp:1908
+#: src/server.cpp:1927 src/server.cpp:1934
+#, no-c-format
+msgid "DCC"
+msgstr "DCC"
+
+#: src/ignorelistviewitem.cpp:48
+msgid "Exception"
+msgstr "例外"
+
+#: src/konvisettingsdialog.cpp:111 src/konvisettingsdialog.cpp:112
+#: src/konvisettingsdialog.cpp:178 src/konvisettingsdialog.cpp:179
+#: src/viewtree.cpp:69
+msgid "Tabs"
+msgstr "分頁"
+
+#: src/nickinfo.cpp:103
+msgid "Today"
+msgstr "今天"
+
+#: src/nickinfo.cpp:104
+msgid "Yesterday"
+msgstr "昨天"
+
+#: src/nickinfo.cpp:356
+msgid " (identified)"
+msgstr " (已認證)"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 96
+#: rc.cpp:922 src/linkaddressbook/linkaddressbookui.cpp:82
+#: src/nickinfo.cpp:362
+#, no-c-format
+msgid "Email"
+msgstr "電子郵件"
+
+#: src/nickinfo.cpp:391
+msgid "Hostmask:"
+msgstr "主機遮罩:"
+
+#: src/nickinfo.cpp:396
+msgid "Away Message:"
+msgstr "離開訊息:"
+
+#: src/nickinfo.cpp:400
+msgid "(unknown)"
+msgstr "(不明)"
+
+#: src/nickinfo.cpp:406
+msgid "Online Since:"
+msgstr "上線時間:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 175
+#: rc.cpp:880 src/autoreplace_preferences.cpp:49
+#: src/highlight_preferences.cpp:182
+#, no-c-format
+msgid "Click to run Regular Expression Editor (KRegExpEditor)"
+msgstr "點此執行正規運算式編輯器(KRegExpEditor)"
+
+#: src/autoreplace_preferences.cpp:54 src/highlight_preferences.cpp:186
+msgid "The Regular Expression Editor (KRegExpEditor) is not installed"
+msgstr "正規表示式編輯器(KRegExpEditor)未安裝"
+
+#: src/autoreplace_preferences.cpp:58
+msgid "Outgoing"
+msgstr "外傳"
+
+#: src/autoreplace_preferences.cpp:59
+msgid "Incoming"
+msgstr "內送"
+
+#: src/autoreplace_preferences.cpp:60
+msgid "Both"
+msgstr "雙向"
+
+#: src/joinchanneldialog.cpp:29
+#, c-format
+msgid "Join Channel on %1"
+msgstr "加入頻道的時間為 %1"
+
+#: src/quickconnectdialog.cpp:28
+msgid "Quick Connect"
+msgstr "快速連線"
+
+#: src/quickconnectdialog.cpp:38
+msgid "&Server host:"
+msgstr "伺服器主機(&S):"
+
+#: src/quickconnectdialog.cpp:39
+msgid "Enter the host of the network here."
+msgstr "在此輸入網路上的主機。"
+
+#: src/quickconnectdialog.cpp:45 src/serverdialog.cpp:41
+msgid "&Port:"
+msgstr "連接埠(&P):"
+
+#: src/quickconnectdialog.cpp:46
+msgid "The port that the IRC server is using."
+msgstr "IRC 伺服器所使用的連接埠。"
+
+#: src/quickconnectdialog.cpp:52
+msgid "&Nick:"
+msgstr "暱稱(&N):"
+
+#: src/quickconnectdialog.cpp:53
+msgid "The nick you want to use."
+msgstr "您打算使用的暱稱。"
+
+#: src/quickconnectdialog.cpp:59
+msgid "P&assword:"
+msgstr "密碼(&A):"
+
+#: src/quickconnectdialog.cpp:60
+msgid ""
+"If the IRC server requires a password, enter it here (most servers do not "
+"require a password.)"
+msgstr "如果 IRC 伺服器要求密碼認證,請在此輸入(大多數的伺服器不需要密碼)。"
+
+#: src/quickconnectdialog.cpp:67
+msgid "&Use SSL"
+msgstr "使用 SSL(&U)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "C&onnect"
+msgstr "連線(&O)"
+
+#: src/quickconnectdialog.cpp:83 src/serverlistdialog.cpp:107
+msgid "Connect to the server"
+msgstr "連線到伺服器"
+
+#: src/dccchat.cpp:137
+#, c-format
+msgid "Could not open a socket for listening: %1"
+msgstr "無法開啟監聽的 socket:%1"
+
+#: src/dccchat.cpp:147
+msgid "Offering DCC Chat connection to %1 on port %2..."
+msgstr "在連接埠 %2 提供到 %1 的 DCC 密聊連線..."
+
+#: src/dccchat.cpp:148
+msgid "DCC chat with %1 on port %2."
+msgstr "在連接埠 %2 與 %1 DCC 密聊"
+
+#: src/dccchat.cpp:160
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"Establishing DCC Chat connection to %1 (%2:%3)..."
+msgstr "正在建立到 %1(%2:%3)的 DCC 密聊連線..."
+
+#: src/dccchat.cpp:162
+msgid ""
+"_: %1 = nickname, %2 = IP, %3 = port\n"
+"DCC chat with %1 on %2:%3."
+msgstr "與 %1 在 %2:%3 進行 DCC 密聊。"
+
+#: src/dccchat.cpp:198 src/dccchat.cpp:339
+#, c-format
+msgid "Established DCC Chat connection to %1."
+msgstr "與 %1 的 DCC 密聊連線已建立。"
+
+#: src/dccchat.cpp:205
+#, c-format
+msgid "Connection broken, error code %1."
+msgstr "連線中斷,錯誤程式碼 %1。"
+
+#: src/dccchat.cpp:244
+msgid "Received unknown CTCP-%1 request from %2"
+msgstr "從 %2 接收到不明的 CTCP-%1 請求"
+
+#: src/dccchat.cpp:323
+msgid "Could not accept the client."
+msgstr "無法接收客戶端。"
+
+#: src/dccchat.cpp:413
+msgid "Default ( %1 )"
+msgstr "預設(%1)"
+
+#: src/serverlistdialog.cpp:105
+msgid "Server List"
+msgstr "伺服器清單"
+
+#: src/serverlistdialog.cpp:107
+msgid "Click here to connect to the selected IRC network and channel."
+msgstr "點此連線到選擇的 IRC 網路與頻道。"
+
+#: src/serverlistdialog.cpp:112
+msgid ""
+"This shows the listof configured IRC networks. An IRC network is a collection "
+"of cooperating servers. You need only connect to one of the servers in the "
+"network to be connected to the entire IRC network. Once connected, Konversation "
+"will automatically join the channels shown. When Konversation is started for "
+"the first time, the Freenode network and the <i>#kde</i> "
+"channel are already entered for you."
+msgstr ""
+"這裏顯示的是已配置過的 IRC 網路清單,一個 IRC 網路是一組互相協作的伺服器的集合。您只需連線到完整 IRC "
+"網路中的一個或若幹個伺服器,連線完成後,Konversation 將自動加入指定的頻道。當 Konversaion 第一次啟動時,Freenode 網路和 "
+"<i>#kde</i> 頻道已被自動填充到清單。"
+
+#: src/serverlistdialog.cpp:116
+msgid "Network"
+msgstr "網路"
+
+#: src/serverlistdialog.cpp:117
+msgid "Identity"
+msgstr "身分"
+
+#: src/serverlistdialog.cpp:118
+msgid "Channels"
+msgstr "頻道"
+
+#. i18n: file ./src/alias_preferencesui.ui line 128
+#: rc.cpp:317 rc.cpp:514 src/serverlistdialog.cpp:127
+#, no-c-format
+msgid "&New..."
+msgstr "新增(&N)..."
+
+#: src/serverlistdialog.cpp:128
+msgid ""
+"Click here to define a new Network, including the server to connect to, and the "
+"Channels to automatically join once connected."
+msgstr "點此可設定一個新的網路,其中包括要連線到的伺服器,以及連線後會自動加入的頻道。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 88
+#: rc.cpp:281 src/ircinput.cpp:482 src/serverlistdialog.cpp:129
+#, no-c-format
+msgid "&Edit..."
+msgstr "編輯(&E)..."
+
+#: src/serverlistdialog.cpp:132
+msgid "Show at application startup"
+msgstr "程式啟動時顯示"
+
+#: src/serverlistdialog.cpp:213
+msgid "New Network"
+msgstr "新網路"
+
+#: src/serverlistdialog.cpp:233
+msgid "Edit Network"
+msgstr "編輯網路"
+
+#: src/serverlistdialog.cpp:290
+msgid ""
+"You cannot delete %1.\n"
+"\n"
+"The network %2 needs to have at least one server."
+msgstr ""
+"您不能刪除 %1。\n"
+"\n"
+"%2 網路需要至少一個伺服器。"
+
+#: src/serverlistdialog.cpp:295
+msgid ""
+"You cannot delete the selected servers.\n"
+"\n"
+"The network %1 needs to have at least one server."
+msgstr ""
+"您不能刪除選取的伺服器。\n"
+"\n"
+"%1 網路需要至少一個伺服器。"
+
+#: src/serverlistdialog.cpp:310
+msgid "Do you really want to delete the selected entries?"
+msgstr "您真要刪除選取的條目嗎?"
+
+#: src/serverlistdialog.cpp:312
+msgid "Do you really want to delete %1?"
+msgstr "您真要刪除 %1 嗎?"
+
+#: src/logfilereader.cpp:50
+msgid "Show last:"
+msgstr "顯示上一個:"
+
+#: src/logfilereader.cpp:52
+msgid ""
+"Use this box to set the maximum size of the log file. This setting does not "
+"take effect until you restart Konversation. Each log file may have a separate "
+"setting."
+msgstr ""
+"使用此設定框可設定允許的日誌檔案最大尺寸。這些設定的變更在重新啟動 Konversation 前不會生效,每一個日誌檔案可以有自己獨立的設定。"
+
+#: src/logfilereader.cpp:54
+msgid " KB"
+msgstr " KB"
+
+#: src/logfilereader.cpp:58 src/logfilereader.cpp:135
+msgid "Clear Logfile"
+msgstr "清除日誌檔案"
+
+#: src/logfilereader.cpp:62
+msgid ""
+"The messages in the log file are displayed here. The oldest messages are at the "
+"top and the most recent are at the bottom."
+msgstr "日誌檔案中的資訊會顯示在這裏,置於頂端的是最舊的資訊,置於底端的則是最新的訊息。"
+
+#: src/logfilereader.cpp:134
+msgid ""
+"Do you really want to permanently discard all log information of this file?"
+msgstr "您真要永久丟棄檔案的所有日誌資訊嗎?"
+
+#: src/logfilereader.cpp:147
+msgid ""
+"Note: By saving the logfile you will save all data in the file, not only the "
+"part you can see in this viewer."
+msgstr "注意:儲存日誌會儲存檔案的所有資料,不僅限於您在目前檢視所見部分。"
+
+#: src/logfilereader.cpp:148
+msgid "Save Logfile"
+msgstr "儲存日誌檔案"
+
+#: src/logfilereader.cpp:154
+msgid "Choose Destination Folder"
+msgstr "選擇目標資料夾"
+
+#: src/connectionmanager.cpp:204 src/connectionmanager.cpp:211
+#: src/outputfilter.cpp:1489 src/server.cpp:204 src/server.cpp:366
+#: src/server.cpp:415 src/server.cpp:546 src/server.cpp:556 src/server.cpp:710
+msgid "Info"
+msgstr "資訊"
+
+#: src/connectionmanager.cpp:205
+msgid "Trying to connect to %1 in %2 seconds."
+msgstr "試著在 %2 內連線到 %1。"
+
+#: src/connectionmanager.cpp:212
+msgid "Trying to reconnect to %1 in %2 seconds."
+msgstr "試著在 %2 內重新連線到 %1。"
+
+#: src/connectionmanager.cpp:222
+msgid "Reconnection attempts exceeded."
+msgstr "重新連線次數已達上限。"
+
+#: src/connectionmanager.cpp:439
+msgid ""
+"You are already connected to %1. Do you want to open another connection?"
+msgstr "您已連線到 %1。您要另外開一個連線嗎?"
+
+#: src/connectionmanager.cpp:441 src/connectionmanager.cpp:461
+#, c-format
+msgid "Already connected to %1"
+msgstr "已連線到 %1"
+
+#: src/connectionmanager.cpp:442
+msgid "Create connection"
+msgstr "建立連線"
+
+#: src/connectionmanager.cpp:455
+msgid ""
+"You are presently connected to %1 via '%2' (port %3). Do you want to switch to "
+"'%4' (port %5) instead?"
+msgstr "您目前已透過 %2(連接埠 %3)連線到 %1。您要切換到 %4(連接埠 %5)嗎?"
+
+#: src/connectionmanager.cpp:462
+msgid "Switch Server"
+msgstr "切換伺服器"
+
+#: src/connectionmanager.cpp:502
+msgid "Please fill in your <b>Ident</b>.<br>"
+msgstr "請填寫您的<b>身分</b>。<br>"
+
+#: src/connectionmanager.cpp:505
+msgid "Please fill in your <b>Real name</b>.<br>"
+msgstr "請填寫您的<b>真實姓名</b>。<br>"
+
+#: src/connectionmanager.cpp:508
+msgid "Please provide at least one <b>Nickname</b>.<br>"
+msgstr "請提供至少一個<b>暱稱</b>。<br>"
+
+#: src/connectionmanager.cpp:515
+msgid "<qt>Your identity \"%1\" is not set up correctly:<br>%2</qt>"
+msgstr "<qt>您的身分「%1」設定不正確:<br>%2</qt>"
+
+#: src/connectionmanager.cpp:517
+msgid "Identity Settings"
+msgstr "身分設定"
+
+#: src/connectionmanager.cpp:518
+msgid "Edit Identity..."
+msgstr "編輯身分"
+
+#: src/identitydialog.cpp:43
+msgid "Identities"
+msgstr "身分"
+
+#: src/identitydialog.cpp:48
+msgid "&Identity:"
+msgstr "身分(&I):"
+
+#: src/identitydialog.cpp:68
+msgid "Duplicate"
+msgstr "複製"
+
+#: src/identitydialog.cpp:73
+msgid "Rename"
+msgstr "重新命名"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 27
+#: rc.cpp:931 src/identitydialog.cpp:83 src/konvisettingsdialog.cpp:117
+#: src/konvisettingsdialog.cpp:118
+#, no-c-format
+msgid "General"
+msgstr "一般"
+
+#: src/identitydialog.cpp:86
+msgid "&Real name:"
+msgstr "真實姓名(&R):"
+
+#: src/identitydialog.cpp:88
+msgid ""
+"Enter your real name here. IRC is not intended to keep you hidden from your "
+"friends or enemies. Keep this in mind if you are tempted to behave maliciously. "
+"A fake \"real name\" can be a good way to mask your gender from all the nerds "
+"out there, but the PC you use can always be traced so you will never be truly "
+"anonymous."
+msgstr ""
+"在此輸入您的真實姓名。IRC "
+"不會刻意地維護您在朋友或仇敵前保持隱蔽,如果您有意要挑起或面對惡意的行為,請斟酌填寫這個設定。如果您希望在各式各樣的另類面前掩藏自己的真實,一個偽造的「真實姓名"
+"」是有效的應對手段,但他人仍然可以追蹤您使用的 PC,因此您無法完全地將自己匿藏起來。"
+
+#. i18n: file ./src/channeloptionsui.ui line 53
+#: rc.cpp:631 src/identitydialog.cpp:91
+#, no-c-format
+msgid "Nickname"
+msgstr "暱稱"
+
+#: src/identitydialog.cpp:96
+msgid ""
+"This is your list of nicknames. A nickname is the name that other users will "
+"know you by. You may use any name you desire. The first character must be a "
+"letter.\n"
+"\n"
+"Since nicknames must be unique across an entire IRC network, your desired name "
+"may be rejected by the server because someone else is already using that "
+"nickname. Enter alternate nicknames for yourself. If your first choice is "
+"rejected by the server, Konversation will try the alternate nicknames."
+msgstr ""
+"這裏是您的暱稱的清單。暱稱是一種能讓其他使用者識別您的名稱,您可在此使用任何您願意的名稱,不過首字元必須是一個字母。\n"
+"\n"
+"由於暱稱在通行於一個完整 IRC "
+"網路中時必須是唯一的,所以您想用的名稱可能會被伺服器拒絕,這是因為有人正在使用相同的暱稱。輸入您的可選暱稱,如果偏好的暱稱被伺服器拒絕,Konversation"
+" 可以自動嘗試使用備選的暱稱。"
+
+#. i18n: file ./src/servergroupdialogui.ui line 218
+#: rc.cpp:299 src/identitydialog.cpp:97
+#, no-c-format
+msgid "Add..."
+msgstr "加入..."
+
+#: src/identitydialog.cpp:98
+msgid "Edit..."
+msgstr "編輯..."
+
+#: src/identitydialog.cpp:127
+msgid "Auto Identify"
+msgstr "自動認證"
+
+#: src/identitydialog.cpp:131
+msgid "Ser&vice:"
+msgstr "服務(&V):"
+
+#: src/identitydialog.cpp:132
+msgid ""
+"Service name can be <b><i>nickserv</i></b> or a network dependant name like <b>"
+"<i>nickserv@services.dal.net</i></b>"
+msgstr ""
+"服務名稱可以是 <b><i>nickserv</i></b> 或類似<b><i>nickserv@services.dal.net</i></b> "
+"這樣的網路依賴名稱。"
+
+#: src/identitydialog.cpp:136
+msgid "Pa&ssword:"
+msgstr "密碼(&S):"
+
+#: src/identitydialog.cpp:155
+msgid ""
+"_: Tab name\n"
+"Away"
+msgstr "離開"
+
+#: src/identitydialog.cpp:158
+msgid "Mark the last position in chat windows when going away"
+msgstr "離開時標記聊天視窗中的最後位置"
+
+#: src/identitydialog.cpp:159
+msgid ""
+"If you check this box, whenever you perform an <b>/away</b> "
+"command, a horizontal line will appear in the channel, marking the point where "
+"you went away. Other IRC users do not see this horizontal line."
+msgstr ""
+"如果您選取此項,每當您執行 <b>/away</b> 命令時,一條水平分隔線會自動顯現在頻道內,標記出您離開時的錨點。其他 IRC 使用者並不會看到這條線。"
+
+#: src/identitydialog.cpp:161
+msgid "Away nickname:"
+msgstr "離開暱稱:"
+
+#: src/identitydialog.cpp:163
+msgid ""
+"Enter a nickname that indicates you are away. Whenever you perform an <b>"
+"/away msg</b> command in any channel joined with this Identity, Konversation "
+"will automatically change your nickname to the Away nickname. Other users will "
+"be able to tell you are away from your computer. Whenever you perform an <b>"
+"/away</b> command in any channel in which you are away, Konversation will "
+"automatically change your nickname back to the original. If you do not wish to "
+"automatically change your nickname when going away, leave blank."
+msgstr ""
+"輸入一個象徵您已經離開的暱稱。每當您在任何一個以目前這個身分加入的頻道內執行 <b>/away</b> 命令時,Konversation "
+"會自動將您的暱稱改名為離開暱稱,其他使用者便可由此得悉您已經離開了電腦。而每當您在一個已經處於離開狀態的頻道內執行 <b>/away</b> "
+"命令時,Konversation 會自動將您的暱稱變更回原始形態。如果您不希望在離開時自動變更暱稱,請將此項留空。"
+
+#: src/identitydialog.cpp:166
+msgid "Automatic Away"
+msgstr "自動離開"
+
+#: src/identitydialog.cpp:172
+msgid ""
+"If you check this box, Konversation will automatically set all connections "
+"using this Identity away when the screensaver starts or after a period of user "
+"inactivity configured below."
+msgstr "勾選此選項的話,當螢幕保護程式啟動,或使用者有一段時間沒有任何動作的話,Konversation 會自動將所有連線設定使用底下的身份。"
+
+#: src/identitydialog.cpp:174
+msgid "Set away after"
+msgstr "設定離開時間:"
+
+#: src/identitydialog.cpp:176
+msgid " minutes"
+msgstr " 分鐘"
+
+#: src/identitydialog.cpp:177
+msgid "of user inactivity"
+msgstr "使用者沒有任何動作"
+
+#: src/identitydialog.cpp:180
+msgid "Automatically return on activity"
+msgstr "活動時自動返回"
+
+#: src/identitydialog.cpp:181
+msgid ""
+"If you check this box, Konversation will automatically cancel away for all "
+"connections using this Identity when the screensaver stops or new user activity "
+"is detected."
+msgstr "如果勾選此選項的話,在螢幕保護程式停止,或使用者回復動作時,會自動對所有連線取消離開的狀態。"
+
+#: src/identitydialog.cpp:197
+msgid "Away Messages"
+msgstr "離開訊息"
+
+#: src/identitydialog.cpp:203
+#, c-format
+msgid ""
+"If you check this box, Konversation will automatically send the Away message to "
+"all channels joined with this Identity. <b>%s</b> is replaced with <b>msg</b>"
+". Whenever you perform an <b>/away</b> command, the Return message will be "
+"displayed in all channels joined with this Identity."
+msgstr ""
+"如果您選取此項,Konversation 會在每當您切換到離開狀態時自動傳送一條離開訊息到所有您以目前這個身分加入的頻道,<b>%s</b> 會被 <b>"
+"msg</b> 所替代。而每當您再次執行 <b>/away</b> 命令時,一條回傳訊息也將被自動顯示在所有您以目前身分加入的頻道。"
+
+#: src/identitydialog.cpp:205
+msgid "Away &message:"
+msgstr "離開訊息(&M):"
+
+#: src/identitydialog.cpp:209
+msgid "Re&turn message:"
+msgstr "回傳訊息(&T):"
+
+#: src/identitydialog.cpp:238
+msgid "Advanced"
+msgstr "進階"
+
+#: src/identitydialog.cpp:241
+msgid "&Pre-shell command:"
+msgstr "預執行命令(&P):"
+
+#: src/identitydialog.cpp:243
+msgid ""
+"Here you can enter a command to be executed before connection to server starts"
+"<br>If you have multiple servers in this identity this command will be executed "
+"for each server"
+msgstr "您可以在這裏輸入一條在連線伺服器前預先要執行的命令。<br>如果您以目前身分對應了多個伺服器,則此命令會為每個伺服器分別執行。"
+
+#: src/identitydialog.cpp:246
+msgid "I&dent:"
+msgstr "身分(&D):"
+
+#: src/identitydialog.cpp:248
+msgid ""
+"When you connect, many servers query your computer for an IDENT response. If "
+"you computer is not running an IDENT server, this response is sent by "
+"Konversation. No spaces are allowed."
+msgstr ""
+"當您進行連線時,許多伺服器會向您的電腦請求一個 IDENT 應答。如果您的電腦不是以 IDENT 伺服器執行,此應答會由 Konversation "
+"代為傳送。此處不允許留空。"
+
+#: src/identitydialog.cpp:252
+msgid "&Encoding:"
+msgstr "編碼(&E):"
+
+#: src/identitydialog.cpp:254
+msgid ""
+"This setting affects how characters you type are encoded for sending to the "
+"server. It also affects how messages are displayed. When you first open "
+"Konversation, it automatically retrieves this setting from the operating "
+"system. If you seem to be having trouble seeing other user's messages "
+"correctly, try changing this setting."
+msgstr ""
+"此設定會影響您輸入的內容會以哪種字元編碼傳送到伺服器,它同時也決定訊息以哪種編碼被顯示。每當您開啟 Konversation "
+"時,它會自動根據目前系統環境取得相關設定。要是您在檢視其他使用者的訊息文字時出現問題,可嘗試變更此設定。"
+
+#: src/identitydialog.cpp:259
+msgid "&Quit reason:"
+msgstr "離開原因(&Q):"
+
+#: src/identitydialog.cpp:261
+msgid "Whenever you leave a server, this message is shown to others."
+msgstr "當您離開某伺服器時會被傳送到頻道內的訊息。"
+
+#: src/identitydialog.cpp:264
+msgid "&Part reason:"
+msgstr "退出原因(&P):"
+
+#: src/identitydialog.cpp:266
+msgid "Whenever you leave a channel, this message is sent to the channel."
+msgstr "當您退出頻道時會被傳送到頻道內的訊息。"
+
+#: src/identitydialog.cpp:269
+msgid "&Kick reason:"
+msgstr "踢出原因(&K):"
+
+#: src/identitydialog.cpp:271
+msgid ""
+"Whenever you are kicked from a channel (usually by an IRC operator), this "
+"message is sent to the channel."
+msgstr "當您從一個被頻道踢出時(一般是 IRC 管理員的行為),此訊息會被傳送到頻道內。"
+
+#: src/identitydialog.cpp:312
+msgid "Change identity information"
+msgstr "變更身分資訊"
+
+#: src/editnotifydialog.cpp:89 src/identitydialog.cpp:313
+#: src/servergroupdialog.cpp:101
+msgid "Discards all changes made"
+msgstr "丟棄所有變動"
+
+#: src/identitydialog.cpp:327 src/identitydialog.cpp:489
+msgid "You must add at least one nick to the identity."
+msgstr "您必須在身分資訊內加入至少一個暱稱。"
+
+#: src/identitydialog.cpp:334 src/identitydialog.cpp:496
+msgid "Please enter a real name."
+msgstr "請輸入真實姓名。"
+
+#: src/identitydialog.cpp:380
+msgid "Add Nickname"
+msgstr "加入暱稱"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 212
+#: rc.cpp:496 src/identitydialog.cpp:380 src/identitydialog.cpp:392
+#, no-c-format
+msgid "Nickname:"
+msgstr "暱稱:"
+
+#: src/identitydialog.cpp:392
+msgid "Edit Nickname"
+msgstr "編輯暱稱"
+
+#: src/identitydialog.cpp:511
+msgid "Add Identity"
+msgstr "加入身分"
+
+#: src/identitydialog.cpp:511 src/identitydialog.cpp:536
+#: src/identitydialog.cpp:600
+msgid "Identity name:"
+msgstr "身分名稱:"
+
+#: src/identitydialog.cpp:526 src/identitydialog.cpp:545
+#: src/identitydialog.cpp:614
+msgid "You need to give the identity a name."
+msgstr "您需要給身分起個名稱。"
+
+#: src/identitydialog.cpp:536
+msgid "Rename Identity"
+msgstr "重新命名身分"
+
+#: src/identitydialog.cpp:577
+msgid ""
+"This identity is in use, if you remove it the network settings using it will "
+"fall back to the default identity. Should it be deleted anyway?"
+msgstr "此身分正被使用中,如果您將其刪除,使用它的網路將會回溯到預設身分的設定。確認無論如何都要刪除嗎?"
+
+#: src/identitydialog.cpp:582
+msgid "Are you sure you want to delete all information for this identity?"
+msgstr "您確定要刪除這個身分的所有資訊嗎?"
+
+#: src/identitydialog.cpp:585
+msgid "Delete Identity"
+msgstr "刪除身分"
+
+#: src/identitydialog.cpp:600
+msgid "Duplicate Identity"
+msgstr "複製身分"
+
+#: src/nicklistbehavior_preferences.cpp:63
+msgid "Normal Users"
+msgstr "普通使用者"
+
+#: src/nicklistbehavior_preferences.cpp:64
+msgid "Voice (+v)"
+msgstr "語音 (+v)"
+
+#: src/nicklistbehavior_preferences.cpp:65
+msgid "Halfops (+h)"
+msgstr "助理 (+h)"
+
+#: src/nicklistbehavior_preferences.cpp:66
+msgid "Operators (+o)"
+msgstr "管理員 (+o)"
+
+#: src/nicklistbehavior_preferences.cpp:67
+msgid "Channel Admins (+p)"
+msgstr "頻道總管 (+p)"
+
+#: src/nicklistbehavior_preferences.cpp:68
+msgid "Channel Owners (+q)"
+msgstr "頻道擁有者 (+q)"
+
+#: src/insertchardialog.cpp:23
+msgid "Insert Character"
+msgstr "插入字元"
+
+#: src/insertchardialog.cpp:27
+msgid "Insert a character"
+msgstr "插入一個字元"
+
+#: src/konvibookmarkhandler.cpp:68
+msgid "Konversation Bookmarks Editor"
+msgstr "Konversation 書籤編輯器"
+
+#: src/dcccommon.cpp:92
+msgid "No vacant port"
+msgstr "沒有閒置連接埠"
+
+#: src/dcccommon.cpp:104
+msgid "Could not open a socket"
+msgstr "無法開啟通訊端"
+
+#: src/konversationapplication.cpp:271 src/server.cpp:1270 src/server.cpp:2910
+#: src/server.cpp:2915
+msgid "DCOP"
+msgstr "DCOP"
+
+#: src/ircview.cpp:112 src/viewcontainer.cpp:525
+msgid "Find Text..."
+msgstr "尋找文字..."
+
+#: src/ircview.cpp:258 src/topiclabel.cpp:358
+msgid "Copy URL to Clipboard"
+msgstr "將 URL 複製到剪貼簿"
+
+#: src/ircview.cpp:259 src/topiclabel.cpp:359
+msgid "Add to Bookmarks"
+msgstr "加入到書籤"
+
+#: src/ircview.cpp:260
+msgid "Save Link As..."
+msgstr "另存連結..."
+
+#: src/ircview.cpp:270
+#, c-format
+msgid "Open a query with %1"
+msgstr "開啟一個和 %1 的對話"
+
+#: src/ircview.cpp:287 src/topiclabel.cpp:380
+#, c-format
+msgid "Join the channel %1"
+msgstr "加入頻道 %1"
+
+#: src/inputfilter.cpp:1081 src/inputfilter.cpp:1087 src/inputfilter.cpp:1093
+#: src/ircview.cpp:936
+msgid "MOTD"
+msgstr "MOTD"
+
+#: src/ircview.cpp:953 src/outputfilter.cpp:1108 src/server.cpp:2301
+#: src/server.cpp:2319
+msgid "Notify"
+msgstr "通知"
+
+#: src/channel.cpp:1268 src/channel.cpp:1285 src/ircview.cpp:973
+#: src/server.cpp:2900
+msgid "Join"
+msgstr "加入"
+
+#: src/channel.cpp:1315 src/channel.cpp:1317 src/channel.cpp:1337
+#: src/channel.cpp:1339 src/ircview.cpp:978
+msgid "Part"
+msgstr "退出"
+
+#: src/ircview.cpp:1428
+msgid "Open Query"
+msgstr "開啟對話"
+
+#: src/ircview.cpp:1496 src/topiclabel.cpp:229
+msgid "&Join"
+msgstr "加入(&J)"
+
+#: src/ircview.cpp:1497 src/topiclabel.cpp:230
+msgid "Get &user list"
+msgstr "獲取使用者清單(&U)"
+
+#: src/ircview.cpp:1498 src/topiclabel.cpp:231
+msgid "Get &topic"
+msgstr "獲取話題(&T)"
+
+#: src/ircview.cpp:1548
+msgid "No matches found for \"%1\"."
+msgstr "沒有找到「%1」的匹配項。"
+
+#: src/ircview.cpp:1778
+msgid "Save Link As"
+msgstr "另存連結"
+
+#: src/konversationmainwindow.cpp:134
+msgid "&Server List..."
+msgstr "伺服器清單(&S)..."
+
+#: src/konversationmainwindow.cpp:135
+msgid "Manage networks and servers"
+msgstr "管理網路和伺服器"
+
+#: src/konversationmainwindow.cpp:136
+msgid "Quick &Connect..."
+msgstr "快速連線(&C)..."
+
+#: src/konversationmainwindow.cpp:137
+msgid "Type in the address of a new IRC server to connect to"
+msgstr "輸入一個要連線到的新 IRC 伺服器位址"
+
+#: src/konversationmainwindow.cpp:139
+msgid "&Reconnect"
+msgstr "重新連線(&R)"
+
+#: src/konversationmainwindow.cpp:141
+msgid "Reconnect to the current server."
+msgstr "重新連線到目前的伺服器。"
+
+#: src/konversationmainwindow.cpp:143
+msgid "&Disconnect"
+msgstr "斷線(&D)"
+
+#: src/konversationmainwindow.cpp:145
+msgid "Disconnect from the current server."
+msgstr "中斷與目前伺服器的連線。"
+
+#: src/konversationmainwindow.cpp:147
+msgid "&Identities..."
+msgstr "身分(&I)..."
+
+#: src/konversationmainwindow.cpp:148
+msgid "Manage your nick, away and other identity settings"
+msgstr "管理您的暱稱,離開訊息和其他身分設定"
+
+#: src/konversationmainwindow.cpp:150
+msgid "&Watched Nicks Online"
+msgstr "監視上線的暱稱(&W)"
+
+#: src/konversationmainwindow.cpp:151
+msgid "&DCC Status"
+msgstr "DCC 狀態(&D)"
+
+#: src/konversationmainwindow.cpp:152 src/konversationmainwindow.cpp:547
+#: src/viewcontainer.cpp:560
+msgid "&Open Logfile"
+msgstr "開啟日誌檔案(&O)"
+
+#: src/konversationmainwindow.cpp:154
+msgid "Open the known history for this channel in a new tab"
+msgstr "在一個新分頁中開啟已有的頻道命令歷程記錄"
+
+#: src/konversationmainwindow.cpp:156 src/viewcontainer.cpp:581
+msgid "&Channel Settings..."
+msgstr "頻道設定(&C)"
+
+#: src/konversationmainwindow.cpp:158
+msgid "Open the channel settings dialog for this tab"
+msgstr "在此分頁開啟頻道設定對話框"
+
+#: src/konversationmainwindow.cpp:160 src/viewcontainer.cpp:551
+msgid "Channel &List"
+msgstr "頻道清單(&L)"
+
+#: src/konversationmainwindow.cpp:162
+msgid "Show a list of all the known channels on this server"
+msgstr "顯示此伺服器上已知的頻道清單"
+
+#: src/konversationmainwindow.cpp:164
+msgid "&URL Catcher"
+msgstr "URL 擷取器(&U)"
+
+#: src/konversationmainwindow.cpp:165
+msgid "List all URLs that have been mentioned recently in a new tab"
+msgstr "在一個新分頁中列出最近的對話中所有提及到的 URL。"
+
+#: src/konversationmainwindow.cpp:169
+msgid "New &Konsole"
+msgstr "新增 Konsole(&K)"
+
+#: src/konversationmainwindow.cpp:170
+msgid "Open a terminal in a new tab"
+msgstr "在新分頁中開啟終端機"
+
+#: src/konversationmainwindow.cpp:178
+msgid "&Next Tab"
+msgstr "下一個分頁(&N)"
+
+#: src/konversationmainwindow.cpp:182
+msgid "&Previous Tab"
+msgstr "前一個分頁(&P)"
+
+#: src/konversationmainwindow.cpp:186
+msgid "Close &Tab"
+msgstr "關閉分頁(&T)"
+
+#: src/konversationmainwindow.cpp:188
+msgid "Next Active Tab"
+msgstr "下一個活躍的分頁"
+
+#: src/konversationmainwindow.cpp:194 src/viewcontainer.cpp:195
+msgid "Move Tab Up"
+msgstr "分頁上移"
+
+#: src/konversationmainwindow.cpp:198 src/viewcontainer.cpp:203
+msgid "Move Tab Down"
+msgstr "分頁下移"
+
+#: src/konversationmainwindow.cpp:208 src/konversationmainwindow.cpp:217
+#: src/viewcontainer.cpp:304
+msgid "Move Tab Right"
+msgstr "分頁右移"
+
+#: src/konversationmainwindow.cpp:210 src/konversationmainwindow.cpp:215
+#: src/viewcontainer.cpp:296
+msgid "Move Tab Left"
+msgstr "分頁左移"
+
+#: src/konversationmainwindow.cpp:227
+msgid "Rejoin Channel"
+msgstr "重新加入頻道"
+
+#: src/konversationmainwindow.cpp:230 src/konversationmainwindow.cpp:553
+msgid "Enable Notifications"
+msgstr "啟用通知"
+
+#: src/konversationmainwindow.cpp:233
+msgid "Join on Connect"
+msgstr "連線時即加入"
+
+#: src/konversationmainwindow.cpp:236
+msgid "Set Encoding"
+msgstr "設定編碼"
+
+#: src/konversationmainwindow.cpp:249
+#, c-format
+msgid "Go to Tab %1"
+msgstr "到第 %1 個分頁"
+
+#: src/konversationmainwindow.cpp:254
+msgid "Clear &Marker Lines"
+msgstr "清除標記線(&M)"
+
+#: src/konversationmainwindow.cpp:255
+msgid "Clear marker lines in the current tab"
+msgstr "清除目前分頁裏的標記線"
+
+#: src/konversationmainwindow.cpp:257
+msgid "&Clear Window"
+msgstr "清除視窗(&C)"
+
+#: src/konversationmainwindow.cpp:258
+msgid "Clear the contents of the current tab"
+msgstr "清除目前分頁裏的內容"
+
+#: src/konversationmainwindow.cpp:260
+msgid "Clear &All Windows"
+msgstr "清除所有視窗(&A)"
+
+#: src/konversationmainwindow.cpp:261
+msgid "Clear the contents of all open tabs"
+msgstr "清除所有已開啟分頁裏的內容"
+
+#: src/konversationmainwindow.cpp:264
+msgid "Global Away"
+msgstr "全域離開"
+
+#: src/konversationmainwindow.cpp:268
+msgid "&Join Channel..."
+msgstr "加入頻道(&J)..."
+
+#: src/konversationmainwindow.cpp:279 src/konversationmainwindow.cpp:555
+msgid "&IRC Color..."
+msgstr "&IRC 顏色..."
+
+#: src/konversationmainwindow.cpp:280
+msgid "Set the color of your current IRC message"
+msgstr "選擇您目前 IRC 訊息的顏色。"
+
+#: src/konversationmainwindow.cpp:282 src/konversationmainwindow.cpp:557
+msgid "&Marker Line"
+msgstr "標記線(&M)"
+
+#: src/konversationmainwindow.cpp:283
+msgid "Insert a horizontal line into the current tab that only you can see"
+msgstr "在目前分頁裏插入一條只有您能看見的水平線"
+
+#: src/konversationmainwindow.cpp:285 src/konversationmainwindow.cpp:556
+msgid "Special &Character..."
+msgstr "特殊字元(&C)..."
+
+#: src/konversationmainwindow.cpp:286
+msgid "Insert any character into your current IRC message"
+msgstr "在目前 IRC 訊息裏插入任何可能的字元"
+
+#: src/konversationmainwindow.cpp:289
+msgid "Close &All Open Queries"
+msgstr "關閉全部開啟的對話(&A)"
+
+#: src/konversationmainwindow.cpp:292
+msgid "Hide Nicklist"
+msgstr "隱藏暱稱清單"
+
+#: src/konversationmainwindow.cpp:354
+msgid ""
+"<qt>You have active DCC file transfers. Are you sure you want to quit <b>"
+"Konversation</b>?</qt>"
+msgstr "<qt>您已啟動 DCC 檔案傳輸。您確定您要離開 <b>Konversation</b> 嗎?</qt>"
+
+#: src/konversationmainwindow.cpp:355 src/konversationmainwindow.cpp:364
+msgid "Confirm Quit"
+msgstr "確認離開"
+
+#: src/konversationmainwindow.cpp:363
+msgid "<qt>Are you sure you want to quit <b>Konversation</b>?</qt>"
+msgstr "<qt>您確定您要離開 <b>Konversation</b> 嗎?</qt>"
+
+#: src/konversationmainwindow.cpp:395
+msgid ""
+"<p>Closing the main window will keep Konversation running in the system tray. "
+"Use <b>Quit</b> from the <b>Konversation</b> menu to quit the application.</p>"
+msgstr ""
+"<p>關閉程式的主視窗仍會使得 Konversation 保持在系統匣內繼續執行。使用 <b>Konversation</b> 選單中的<b>離開</b>"
+"可切實地離開程式。</p>"
+
+#: src/konversationmainwindow.cpp:397
+msgid "Docking in System Tray"
+msgstr "在系統匣中顯示圖示"
+
+#: src/konversationmainwindow.cpp:490
+msgid ""
+"<qt>This will hide the menu bar completely. You can show it again by typing "
+"%1.</qt>"
+msgstr "<qt>這樣將完全隱藏功能表列。您可以輸入 %1 再將其開啟。</qt>"
+
+#: src/konversationmainwindow.cpp:539
+msgid "Toggle Notifications"
+msgstr "切換通知"
+
+#: src/konversationmainwindow.cpp:540
+msgid "Toggle Away Globally"
+msgstr "切換全域離開狀態"
+
+#: src/konversationmainwindow.cpp:541
+msgid "Insert &IRC Color..."
+msgstr "插入 IRC 顏色(&I)..."
+
+#: src/konversationmainwindow.cpp:542
+msgid "Insert Special &Character..."
+msgstr "插入特殊字元(&C)..."
+
+#: src/konversationmainwindow.cpp:543
+msgid "Insert &Marker Line"
+msgstr "插入標記線(&R)"
+
+#: src/konversationmainwindow.cpp:545
+msgid "&Channel List"
+msgstr "頻道清單(&C)"
+
+#: src/konversationmainwindow.cpp:554
+msgid "Set &Away Globally"
+msgstr "設定全域離開狀態(&A)"
+
+#: src/outputfilter.cpp:320
+msgid "Raw"
+msgstr "原始"
+
+#: src/outputfilter.cpp:337
+#, c-format
+msgid "Usage: %1queuetuner [on | off]"
+msgstr "用法:%1queuetuner [on | off]"
+
+#: src/outputfilter.cpp:383
+msgid "Usage: %1JOIN <channel> [password]"
+msgstr "用法:%1JOIN <頻道> [密碼]"
+
+#: src/outputfilter.cpp:416
+msgid "Usage: %1KICK <nick> [reason]"
+msgstr "用法:%1KICK <暱稱> [原因]"
+
+#: src/outputfilter.cpp:434
+msgid "%1KICK only works from within channels."
+msgstr "%1KICK 只能在頻道內可行。"
+
+#: src/outputfilter.cpp:454
+msgid "%1PART without parameters only works from within a channel or a query."
+msgstr "%1PART 不帶參數只在頻道內可行。"
+
+#: src/outputfilter.cpp:484
+msgid "%1PART without channel name only works from within a channel."
+msgstr "\"%1PART 不帶頻道名稱只在頻道內可行。"
+
+#: src/outputfilter.cpp:506
+msgid "%1TOPIC without parameters only works from within a channel."
+msgstr "%1TOPIC 不帶參數只在頻道內可行。"
+
+#: src/outputfilter.cpp:548
+msgid "%1TOPIC without channel name only works from within a channel."
+msgstr "%1TOPIC 不帶頻道名稱只在頻道內可行。"
+
+#: src/outputfilter.cpp:575
+msgid ""
+"%1NAMES with no target may disconnect you from the server. Specify '*' if you "
+"really want this."
+msgstr "%1NAMES 不加目標會中斷您與伺服器的連線,如果您真的要這樣做請指定「*」為目標。"
+
+#: src/outputfilter.cpp:596
+#, c-format
+msgid ""
+"Usage: %1close [window] closes the named channel or query tab, or the current "
+"tab if none specified."
+msgstr "用法:%1close [視窗] 關閉該頻道或對話分頁,若未指定則關閉目前的分頁。"
+
+#: src/outputfilter.cpp:622
+msgid "Usage: %1NOTICE <recipient> <message>"
+msgstr "用法:%1NOTICE <接收人> <訊息>"
+
+#: src/outputfilter.cpp:628
+msgid ""
+"_: %1 is the message, %2 the recipient nickname\n"
+"Sending notice \"%2\" to %1."
+msgstr "傳送通知 \"%2\" 給 %1。"
+
+#: src/outputfilter.cpp:647
+msgid "Usage: %1ME text"
+msgstr "用法:%1ME 文字"
+
+#: src/outputfilter.cpp:767 src/outputfilter.cpp:772
+msgid "Sending CTCP-%1 request to %2."
+msgstr "傳送 CTCP-%1 請求到 %2"
+
+#: src/outputfilter.cpp:877
+msgid "File \"%1\" does not exist."
+msgstr "檔案「%1」不存在。"
+
+#: src/outputfilter.cpp:882
+msgid "Usage: %1DCC [SEND nickname filename]"
+msgstr "用法:%1DCC [SEND 暱稱 檔案名稱]"
+
+#: src/outputfilter.cpp:894
+msgid "Usage: %1DCC [CHAT nickname]"
+msgstr "用法:%1DCC [CHAT 暱稱]"
+
+#: src/outputfilter.cpp:899
+msgid "Unrecognized command %1DCC %2. Possible commands are SEND, CHAT, CLOSE."
+msgstr "不明命令 %1DCC %2。可用的命令有 SEND、CHAT、CLOSE。"
+
+#: src/outputfilter.cpp:996
+msgid "Usage: %1INVITE <nick> [channel]"
+msgstr "用法: %1INVITE <暱稱> [頻道]"
+
+#: src/outputfilter.cpp:1011
+msgid "%1INVITE without channel name works only from within channels."
+msgstr "%1INVITE 不帶參數只能在頻道內可行。"
+
+#: src/outputfilter.cpp:1023
+msgid "%1 is not a channel."
+msgstr "%1 不是一個頻道。"
+
+#: src/outputfilter.cpp:1037
+#, c-format
+msgid "Usage: %1EXEC <script> [parameter list]"
+msgstr "用法:%1EXEC <命令稿> [參數清單]"
+
+#: src/outputfilter.cpp:1049
+msgid "Script name may not contain \"../\"!"
+msgstr "命令稿名稱不能包含「../」!"
+
+#: src/outputfilter.cpp:1070
+msgid "Usage: %1RAW [OPEN | CLOSE]"
+msgstr "用法:%1RAW [OPEN | CLOSE]"
+
+#: src/outputfilter.cpp:1111
+msgid "Current notify list is empty."
+msgstr "目前通知清單為空。"
+
+#: src/outputfilter.cpp:1113
+#, c-format
+msgid "Current notify list: %1"
+msgstr "目前通知清單:%1"
+
+#: src/outputfilter.cpp:1135
+msgid "Enter user name and password for IRC operator privileges:"
+msgstr "輸入有 IRC 管理員權限的使用者名稱和密碼:"
+
+#: src/outputfilter.cpp:1137
+msgid "IRC Operator Password"
+msgstr "IRC 管理員密碼"
+
+#: src/outputfilter.cpp:1194
+msgid "%1BAN without channel name works only from inside a channel."
+msgstr "%1BAN 不帶頻道名稱只能在頻道內可行。"
+
+#: src/outputfilter.cpp:1196
+msgid "%1KICKBAN without channel name works only from inside a channel."
+msgstr "%1KICKBAN 不帶頻道名稱只能在頻道內可行。"
+
+#: src/outputfilter.cpp:1229
+msgid ""
+"Usage: %1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] <user|mask>"
+msgstr "用法:%1BAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [頻道] <使用者|遮罩>"
+
+#: src/outputfilter.cpp:1231
+msgid ""
+"Usage: %1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [channel] "
+"<user|mask> [reason]"
+msgstr ""
+"用法:%1KICKBAN [-HOST | -DOMAIN | -USERHOST | -USERDOMAIN] [頻道] <使用者|遮罩> [理由]"
+
+#: src/outputfilter.cpp:1271
+msgid "%1UNBAN without channel name works only from inside a channel."
+msgstr "%1UNBAN 不帶頻道名稱只能在頻道內可行。"
+
+#: src/outputfilter.cpp:1286
+msgid "Usage: %1UNBAN [channel] pattern"
+msgstr "用法:%1UNBAN [頻道] 模式"
+
+#: src/outputfilter.cpp:1334
+msgid "Added %1 to your ignore list."
+msgstr "加入 %1 到您的忽略清單。"
+
+#: src/outputfilter.cpp:1345
+msgid "Usage: %1IGNORE [ -ALL ] <user 1> <user 2> ... <user n>"
+msgstr "用法:%1IGNORE [ -ALL ] <使用者 1> <使用者 2> ... <使用者 n>"
+
+#: src/outputfilter.cpp:1357
+msgid "Usage: %1UNIGNORE <user 1> <user 2> ... <user n>"
+msgstr "用法:%1UNIGNORE [ -ALL ] <使用者 1> <使用者 2> ... <使用者 n>"
+
+#: src/outputfilter.cpp:1407
+msgid "Removed %1 from your ignore list."
+msgstr "已從忽略清單中移除 %1。"
+
+#: src/outputfilter.cpp:1413
+#, c-format
+msgid "No such ignore: %1"
+msgstr "無此忽略物件:%1"
+
+#: src/outputfilter.cpp:1419
+#, c-format
+msgid "No such ignores: %1"
+msgstr "無此些忽略物件:%1"
+
+#: src/outputfilter.cpp:1432
+msgid "Usage: %1QUOTE command list"
+msgstr "用法:%1QUOTE 命令清單"
+
+#: src/outputfilter.cpp:1448
+msgid "Usage: %1SAY text"
+msgstr "用法:%1SAY 文字"
+
+#: src/outputfilter.cpp:1480
+msgid "Usage"
+msgstr "用法"
+
+#: src/outputfilter.cpp:1510
+msgid "Usage: %1AME text"
+msgstr "用法:%1AME 文字"
+
+#: src/outputfilter.cpp:1523
+msgid "Usage: %1AMSG text"
+msgstr "用法:%1AMSG 文字"
+
+#: src/outputfilter.cpp:1565
+msgid "Usage: %1OMSG text"
+msgstr "用法:%1OMSG 文字"
+
+#: src/outputfilter.cpp:1580
+msgid "Sending notice \"%1\" to %2."
+msgstr "傳送通知 \"%1\" 給 %2。"
+
+#: src/outputfilter.cpp:1584
+msgid "Usage: %1ONOTICE text"
+msgstr "用法:%1ONOTICE 文字"
+
+#: src/outputfilter.cpp:1596
+#, c-format
+msgid "Current encoding is: %1"
+msgstr "目前編碼為:%1"
+
+#: src/outputfilter.cpp:1607
+msgid "Switched to %1 encoding."
+msgstr "切換編碼到 %1。"
+
+#: src/outputfilter.cpp:1611
+msgid "%1 is not a valid encoding."
+msgstr "%1 不是一個合法的編碼。"
+
+#: src/outputfilter.cpp:1623
+#, c-format
+msgid ""
+"Usage: %1setkey [<nick|channel>] <key> sets the encryption key for nick or "
+"channel. %2setkey <key> when in a channel or query tab to set the key for it."
+msgstr ""
+"用法: %1setkey [<暱稱>或<頻道>] <加密金鑰> 設定暱稱或頻道的加密金鑰。在頻道或對話視窗內使用 %2setkey <加密金鑰> "
+"則是設定該頻道或對話的金鑰。"
+
+#: src/outputfilter.cpp:1634
+msgid "The key for %1 has been set."
+msgstr "%1 的金鑰已設定。"
+
+#: src/outputfilter.cpp:1642
+#, c-format
+msgid ""
+"Usage: %1delkey <nick> or <channel> deletes the encryption key for nick or "
+"channel"
+msgstr "用法: %1delkey <暱稱>或<頻道> 刪除暱稱或頻道的加密金鑰。"
+
+#: src/outputfilter.cpp:1651
+msgid "The key for %1 has been deleted."
+msgstr "%1 的金鑰已經刪除。"
+
+#: src/outputfilter.cpp:1660
+msgid "The key for %1 is \"%2\"."
+msgstr "%1 的金鑰為 %2。"
+
+#: src/outputfilter.cpp:1660
+msgid "Blowfish"
+msgstr "Blowfish"
+
+#: src/outputfilter.cpp:1662
+#, c-format
+msgid "No key has been set for %1."
+msgstr "%1 未設定任何金鑰。"
+
+#: src/outputfilter.cpp:1682
+msgid "Usage: %1DNS <nick>"
+msgstr "用法:%1DNS <暱稱>"
+
+#: src/inputfilter.cpp:1202 src/outputfilter.cpp:1704
+#: src/outputfilter.cpp:1726
+msgid "DNS"
+msgstr "DNS"
+
+#: src/outputfilter.cpp:1705 src/outputfilter.cpp:1727
+msgid "Resolved %1 to: %2"
+msgstr "解析 %1 為:%2"
+
+#: src/outputfilter.cpp:1710 src/outputfilter.cpp:1732
+#, c-format
+msgid "Unable to resolve %1"
+msgstr "無法解析 %1"
+
+#: src/outputfilter.cpp:1713
+msgid "Reverse-resolving requires KDE version 3.5.1 or higher."
+msgstr "實作反向解析要求 KDE 3.5.1 或更新的版本。"
+
+#: src/outputfilter.cpp:1776
+msgid "Usage: %1KILL <nick> [comment]"
+msgstr "用法:%1KILL <暱稱> [備註]"
+
+#: src/ircinput.cpp:78
+msgid ""
+"<qt>The input line is where you type messages to be sent the channel, query, or "
+"server. A message sent to a channel is seen by everyone on the channel, "
+"whereas a message in a query is sent only to the person in the query with you."
+"<p>To automatically complete the nickname you began typing, press Tab. If you "
+"have not begun typing, the last successfully completed nickname will be used."
+"<p>You can also send special commands:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>action</i></th>"
+"<td>shows up as an action in the channel or query. For example: <em>"
+"/me sings a song</em> will show up in the channel as 'Nick sings a song'.</td>"
+"</tr>"
+"<tr>"
+"<th>/whois <i>nickname</i></th>"
+"<td>shows information about this person, including what channels they are "
+"in.</td></tr></table>"
+"<p>For more commands, see the Konversation Handbook."
+"<p>A message cannot contain multiple lines.</qt>"
+msgstr ""
+"<qt>這條輸入列是供您輸入要傳送給頻道、對話或伺服器的訊息的地方。傳送給頻道的訊息可以被頻道內的所有人讀到,然而在對話中的訊息只會被和您對話的人所讀到。 "
+"<p>按 Tab 可以自動補完您輸入的暱稱。如果您沒有輸入任何東西就按 tab,則會使用上次使用補完的暱稱。"
+"<p>您也可以傳送一些特殊的命令:"
+"<br>"
+"<table>"
+"<tr>"
+"<th>/me <i>動作</i></th>"
+"<td>在頻道或對話中表露出某種動作。例:<em>/me 唱了首歌</em> 將會被顯示為「<您的暱稱> 唱了首歌」。</td></tr>"
+"<tr>"
+"<th>/whois <i>暱稱</i></th>"
+"<td>顯示此人的相關資訊,包括他已加入的所有頻道清單等。</td></tr></table>"
+"<p>查詢更多的命令,請參看 Konversation 手冊。"
+"<p>每條訊息不能包含多行。</qt>"
+
+#: src/ircinput.cpp:477
+msgid ""
+"<qt>You are attempting to paste a large portion of text (%1 bytes or %2 lines) "
+"into the chat. This can cause connection resets or flood kills. Do you really "
+"want to continue?</qt>"
+msgstr "<qt>您正試圖貼上一大段文字(%1 位元組或 %2 行)進入聊天欄,這可能引起連線重置或過量資訊傳送中止,您真要繼續嗎?</qt>"
+
+#: src/ircinput.cpp:480
+msgid "Large Paste Warning"
+msgstr "大量貼上警告"
+
+#. i18n() will only work as soon as a kapplication object was made.
+#: src/main.cpp:35
+msgid "A user friendly IRC client"
+msgstr "一種使用者友好 IRC 客戶端"
+
+#: src/main.cpp:39
+msgid "irc:// URL or server hostname"
+msgstr "irc:// 網址或伺服器主機名稱"
+
+#: src/main.cpp:40
+msgid "Server to connect"
+msgstr "伺服器已找到,正在連線..."
+
+#: src/main.cpp:41
+msgid "Port to use"
+msgstr "使用連接埠"
+
+#: src/main.cpp:42
+msgid "Channel to join after connection"
+msgstr "連線後自動加入的頻道"
+
+#: src/main.cpp:43
+msgid "Nickname to use"
+msgstr "要使用的暱稱"
+
+#: src/main.cpp:44
+msgid "Password for connection"
+msgstr "連線密碼"
+
+#: src/main.cpp:45
+msgid "Use SSL for connection"
+msgstr "使用 SSL 連線"
+
+#: src/main.cpp:52
+msgid "Konversation"
+msgstr "Konversation"
+
+#: src/main.cpp:56
+msgid "(C) 2002-2008 by the Konversation team"
+msgstr "(C) 2002-2008 Konversation 團隊"
+
+#: src/main.cpp:57
+msgid ""
+"Konversation is a client for the Internet Relay Chat (IRC) protocol.\n"
+"Meet friends on the net, make new acquaintances and lose yourself in\n"
+"talk about your favorite subject."
+msgstr ""
+"Konversation 是一個符合網際網路中繼聊天(Internet Relay "
+"Chat,IRC)協定的客戶端。使用它,您可以在網上與老朋友相會,結識新朋友,暢談您所感興趣的話題。"
+
+#: src/main.cpp:62
+msgid "Original Author, Project Founder"
+msgstr "原作者/專案建立人"
+
+#: src/main.cpp:63
+msgid "Maintainer"
+msgstr "維護者"
+
+#: src/main.cpp:64
+msgid "Maintainer, Release Manager, User interface, Protocol handling"
+msgstr "維護者、釋出管理者、使用者介面、協定管理"
+
+#: src/main.cpp:65
+msgid "DCC, Encoding handling, OSD positioning"
+msgstr "DCC、編碼處理、OSD 安置"
+
+#: src/main.cpp:66
+msgid "Protocol handling, Input line"
+msgstr "協定處理、輸入行"
+
+#: src/main.cpp:67
+msgid "Blowfish, SSL support, KNetwork port, Colored nicks, Nicklist themes"
+msgstr "Blowfish 支援、SSL 支援、移植到 KNetwork、彩色暱稱、暱稱清單圖示主題支援"
+
+#: src/main.cpp:68
+msgid "Refactoring, KAddressBook/Kontact integration"
+msgstr "程式碼重整、KAddressBook/Kontact 整合"
+
+#: src/main.cpp:70
+msgid "Website hosting"
+msgstr "提供網站主機"
+
+#: src/main.cpp:71
+msgid "Website maintenance"
+msgstr "網站維護"
+
+#: src/main.cpp:72
+msgid "Multiple modes extension, Close widget placement, OSD functionality"
+msgstr "複合模式擴充、關閉視窗元件布置、OSD 功能實作"
+
+#: src/main.cpp:73
+msgid ""
+"Documentation, Watched nicks online improvements, Custom web browser extension"
+msgstr "文件、上線暱稱監視加強、Web 瀏覽器自訂擴充"
+
+#: src/main.cpp:74
+msgid "Color configurator, Highlight dialog"
+msgstr "配色師、高亮度對話方塊"
+
+#: src/main.cpp:75
+msgid "DCOP interface"
+msgstr "DCOP 介面"
+
+#: src/main.cpp:76
+msgid "Non-Latin1-Encodings"
+msgstr "非拉丁編碼"
+
+#: src/main.cpp:77
+msgid "Konsole part view"
+msgstr "Konsole 元件檢視"
+
+#: src/main.cpp:78
+msgid "Quick connect, Ported new OSD, other features and bugfixes"
+msgstr "快速連線、移植到新的 OSD、其他特性與 Bug 修正"
+
+#: src/main.cpp:79
+msgid "A Handful of fixes and code cleanup"
+msgstr "一堆修正與程式碼清理"
+
+#: src/main.cpp:80
+msgid "Drag&Drop improvements"
+msgstr "拖曳操作加強(&D)"
+
+#: src/main.cpp:81
+msgid "Artwork"
+msgstr "藝術工作"
+
+#: src/main.cpp:82
+msgid "Firefox style searchbar"
+msgstr "Firefox 樣式搜尋欄"
+
+#: src/main.cpp:83
+msgid "Raw modes, Tab grouping per server, Ban list"
+msgstr "Raw 模式、按伺服器分組分頁的實作,封禁清單"
+
+#: src/main.cpp:84
+msgid "System tray patch"
+msgstr "系統匣修補"
+
+#: src/main.cpp:85 src/main.cpp:91 src/main.cpp:94
+msgid "Bug fixes"
+msgstr "Bug 修正"
+
+#: src/main.cpp:86
+msgid "Extended user modes patch"
+msgstr "擴充使用者模式修補"
+
+#: src/main.cpp:87
+msgid "Close visible tab with shortcut patch"
+msgstr "快速關閉可見分頁功能的修補"
+
+#: src/main.cpp:88
+msgid "Cycle tabs with mouse scroll wheel"
+msgstr "使用滑鼠滾輪循環分頁"
+
+#: src/main.cpp:89
+msgid "Channel ownership mode patch"
+msgstr "頻道擁有者模式修補"
+
+#: src/main.cpp:90
+msgid "Option to enable IRC color filtering"
+msgstr "提供允許 IRC 顏色過濾的選項"
+
+#: src/main.cpp:92
+msgid "Bug fixes, OSD work, clearing topics"
+msgstr "Bug 修正、OSD 工作、話題清理"
+
+#: src/main.cpp:93
+msgid "Sysinfo script"
+msgstr "系統資訊命令稿"
+
+#: src/main.cpp:95
+msgid "Auto-join context menu"
+msgstr "自動加入的內容選單"
+
+#: src/inputfilter.cpp:203
+msgid "Received CTCP-PING request from %1 to channel %2, sending answer."
+msgstr "收到來自 %1 到頻道 %2 的 CTCP-PING 請求,傳送回答。"
+
+#: src/inputfilter.cpp:210 src/inputfilter.cpp:364 src/inputfilter.cpp:372
+msgid "Received CTCP-%1 request from %2, sending answer."
+msgstr "收到來自 %2 的 CTCP-%1 請求,傳送回答。"
+
+#: src/inputfilter.cpp:226
+msgid "Received Version request from %1 to channel %2."
+msgstr "收到來自 %1 到頻道 %2 的版本請求。"
+
+#: src/inputfilter.cpp:233
+#, c-format
+msgid "Received Version request from %1."
+msgstr "收到來自 %1 的版本請求。"
+
+#: src/inputfilter.cpp:301
+#, c-format
+msgid "Received invalid DCC SEND request from %1."
+msgstr "收到來自 %1 的不合法的 DCC SEND 請求。"
+
+#: src/inputfilter.cpp:316
+#, c-format
+msgid "Received invalid DCC ACCEPT request from %1."
+msgstr "收到來自 %1 的不合法的 DCC ACCEPT 請求。"
+
+#: src/inputfilter.cpp:331
+#, c-format
+msgid "Received invalid DCC RESUME request from %1."
+msgstr "收到來自 %1 的不合法的 DCC RESUME 請求。"
+
+#: src/inputfilter.cpp:347
+#, c-format
+msgid "Received invalid DCC CHAT request from %1."
+msgstr "收到來自 %1 的不合法的 DCC CHAT 請求。"
+
+#: src/inputfilter.cpp:355
+msgid "Unknown DCC command %1 received from %2."
+msgstr "收到來自 %2 的不明 DCC 命令 %1。"
+
+#: src/inputfilter.cpp:387
+msgid "Received unknown CTCP-%1 request from %2 to Channel %3."
+msgstr "收到來自 %2 到頻道 %3 的不明 CTCP-%1 請求。"
+
+#: src/inputfilter.cpp:392
+msgid "Received unknown CTCP-%1 request from %2."
+msgstr "從 %2 接收到不明的 CTCP-%1 請求"
+
+#: src/inputfilter.cpp:417
+msgid "-%1 to %2- %3"
+msgstr "-%1 到 %2- %3"
+
+#: src/inputfilter.cpp:444
+msgid "Received CTCP-PING reply from %1: %2 %3."
+msgstr "收到來自 %1 的 CTCP-PING 回應:%2 %3"
+
+#: src/inputfilter.cpp:454
+msgid "Received CTCP-%1 reply from %2: %3."
+msgstr "收到來自 %2 的 CTCP-%1 回應:%3"
+
+#: src/inputfilter.cpp:478 src/inputfilter.cpp:672
+msgid "-%1- %2"
+msgstr "-%1- %2"
+
+#: src/inputfilter.cpp:610 src/inputfilter.cpp:1157
+msgid "Invite"
+msgstr "邀請"
+
+#: src/inputfilter.cpp:611
+msgid "%1 invited you to channel %2."
+msgstr "%1 邀請您加入頻道 %2。"
+
+#: src/inputfilter.cpp:711 src/inputfilter.cpp:716
+msgid "Welcome"
+msgstr "歡迎"
+
+#: src/inputfilter.cpp:717
+msgid "Server %1 (Version %2), User modes: %3, Channel modes: %4"
+msgstr "伺服器 %1(版本 %2),使用者模式:%3,頻道模式:%4"
+
+#: src/inputfilter.cpp:729
+msgid "Support"
+msgstr "支援"
+
+#: src/inputfilter.cpp:785
+msgid "Your personal modes are:"
+msgstr "您的個人模式為:"
+
+#: src/inputfilter.cpp:794 src/inputfilter.cpp:849
+msgid "Channel modes: "
+msgstr "頻道模式: "
+
+#: src/inputfilter.cpp:806
+msgid "topic protection"
+msgstr "話題保護"
+
+#: src/inputfilter.cpp:808
+msgid "no messages from outside"
+msgstr "沒有外部訊息"
+
+#: src/inputfilter.cpp:810
+msgid "secret"
+msgstr "機密"
+
+#: src/inputfilter.cpp:812
+msgid "invite only"
+msgstr "只接受邀請"
+
+#: src/inputfilter.cpp:814
+msgid "private"
+msgstr "私人"
+
+#: src/inputfilter.cpp:816
+msgid "moderated"
+msgstr "監管的"
+
+#: src/inputfilter.cpp:821
+msgid "password protected"
+msgstr "密碼受保護"
+
+#: src/inputfilter.cpp:824
+msgid "anonymous"
+msgstr "匿名"
+
+#: src/inputfilter.cpp:826
+msgid "server reop"
+msgstr "伺服器重新開放"
+
+#: src/inputfilter.cpp:828
+msgid "no colors allowed"
+msgstr "不允許顏色"
+
+#: src/inputfilter.cpp:833
+#, c-format
+msgid ""
+"_n: limited to %n user\n"
+"limited to %n users"
+msgstr "限制為 %n 個使用者"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 74
+#: rc.cpp:347 rc.cpp:697 src/channel.cpp:1995 src/channelnick.cpp:221
+#: src/inputfilter.cpp:844 src/inputfilter.cpp:848 src/inputfilter.cpp:1784
+#: src/inputfilter.cpp:1834
+#, no-c-format
+msgid "Mode"
+msgstr "模式"
+
+#: src/inputfilter.cpp:856 src/urlcatcher.cpp:49
+msgid "URL"
+msgstr "URL"
+
+#: src/inputfilter.cpp:857
+#, c-format
+msgid "Channel URL: %1"
+msgstr "頻道網址:%1"
+
+#: src/inputfilter.cpp:864
+msgid "Created"
+msgstr "已建立"
+
+#: src/inputfilter.cpp:865
+#, c-format
+msgid "This channel was created on %1."
+msgstr "頻道已建立在 %1。"
+
+#: src/inputfilter.cpp:881 src/inputfilter.cpp:987 src/inputfilter.cpp:1186
+#: src/inputfilter.cpp:1239 src/inputfilter.cpp:1374 src/inputfilter.cpp:1382
+#: src/inputfilter.cpp:1389 src/inputfilter.cpp:1396 src/inputfilter.cpp:1403
+#: src/inputfilter.cpp:1410 src/inputfilter.cpp:1433 src/inputfilter.cpp:1445
+#: src/inputfilter.cpp:1458 src/inputfilter.cpp:1460 src/inputfilter.cpp:1483
+#: src/inputfilter.cpp:1496 src/inputfilter.cpp:1508 src/inputfilter.cpp:1518
+#: src/inputfilter.cpp:1537 src/inputfilter.cpp:1551
+msgid "Whois"
+msgstr "名錄"
+
+#: src/inputfilter.cpp:881
+msgid "%1 is logged in as %2."
+msgstr "%1 已經以 %2 登入"
+
+#: src/inputfilter.cpp:910 src/inputfilter.cpp:924
+msgid "Names"
+msgstr "姓名"
+
+#: src/inputfilter.cpp:924
+msgid "End of NAMES list."
+msgstr "姓名清單結束。"
+
+#: src/inputfilter.cpp:931
+msgid "TOPIC"
+msgstr "話題"
+
+#: src/inputfilter.cpp:931
+msgid "The channel %1 has no topic set."
+msgstr "頻道 %1 尚未設定話題。"
+
+#. i18n: file ./src/channeloptionsui.ui line 75
+#: rc.cpp:637 src/channel.cpp:1514 src/channel.cpp:1533 src/channel.cpp:1537
+#: src/channellistpanel.cpp:93 src/inputfilter.cpp:950 src/inputfilter.cpp:964
+#: src/inputfilter.cpp:971
+#, no-c-format
+msgid "Topic"
+msgstr "話題"
+
+#: src/inputfilter.cpp:950
+msgid "The channel topic for %1 is: \"%2\""
+msgstr "頻道 %1 的話題為:「%2」"
+
+#: src/inputfilter.cpp:965
+msgid "The topic was set by %1 on %2."
+msgstr "由 %1 設定關於 %2 的話題。"
+
+#: src/inputfilter.cpp:971
+msgid "The topic for %1 was set by %2 on %3."
+msgstr "由 %2 為 %1 設定關於 %3 的話題。"
+
+#: src/inputfilter.cpp:987
+msgid "%1 is actually using the host %2."
+msgstr "%1 現在正使用主機 %2。"
+
+#: src/inputfilter.cpp:997
+msgid "%1: No such nick/channel."
+msgstr "%1:不明的暱稱/頻道。"
+
+#: src/inputfilter.cpp:1001
+#, c-format
+msgid "No such nick: %1."
+msgstr "不明的暱稱:%1。"
+
+#: src/inputfilter.cpp:1012
+msgid "%1: No such channel."
+msgstr "%1:不明的頻道。"
+
+#: src/channel.cpp:1250 src/channel.cpp:1255 src/inputfilter.cpp:1022
+#: src/inputfilter.cpp:1040 src/inputfilter.cpp:1051 src/inputfilter.cpp:1066
+#: src/urlcatcher.cpp:48
+msgid "Nick"
+msgstr "暱稱"
+
+#: src/inputfilter.cpp:1022
+msgid "Nickname already in use, try a different one."
+msgstr "暱稱已經在使用,嘗試另一個。"
+
+#: src/inputfilter.cpp:1040
+#, c-format
+msgid "Nickname already in use. Trying %1."
+msgstr "暱稱已經在使用。嘗試 %1。"
+
+#: src/inputfilter.cpp:1066
+#, c-format
+msgid "Erroneus nickname. Changing nick to %1."
+msgstr "有錯誤的暱稱,改名為 %1。"
+
+#: src/inputfilter.cpp:1074
+#, c-format
+msgid "You are not on %1."
+msgstr "您不在 %1 上。"
+
+#: src/inputfilter.cpp:1081
+msgid "Message of the day:"
+msgstr "當日訊息:"
+
+#: src/inputfilter.cpp:1093
+msgid "End of message of the day"
+msgstr "當日訊息結束"
+
+#: src/inputfilter.cpp:1111
+msgid "You are now an IRC operator on this server."
+msgstr "您現在是此伺服器的 IRC 管理員。"
+
+#: src/channellistpanel.cpp:107 src/inputfilter.cpp:1119
+#: src/inputfilter.cpp:1126 src/inputfilter.cpp:1721
+msgid "Users"
+msgstr "使用者"
+
+#: src/inputfilter.cpp:1119
+#, c-format
+msgid "Current users on the network: %1"
+msgstr "目前網路的使用者:%1"
+
+#: src/inputfilter.cpp:1126
+msgid "Current users on %1: %2."
+msgstr "目前在 %1 的使用者:%2。"
+
+#: src/inputfilter.cpp:1148 src/linkaddressbook/addressbook.cpp:110
+#: src/nicksonline.cpp:242 src/server.cpp:3183 src/server.cpp:3208
+#: src/server.cpp:3217
+msgid "Away"
+msgstr "離開"
+
+#: src/inputfilter.cpp:1148
+msgid "%1 is away: %2"
+msgstr "%1 離開了:%2"
+
+#: src/inputfilter.cpp:1158
+msgid "You invited %1 to channel %2."
+msgstr "您邀請 %1 加入頻道 %2。"
+
+#: src/inputfilter.cpp:1177 src/inputfilter.cpp:1254
+msgid "%1@%2"
+msgstr "%1@%2"
+
+#: src/inputfilter.cpp:1187
+msgid "%1 is %2@%3 (%4)"
+msgstr "%1 為 %2@%3(%4)"
+
+#: src/inputfilter.cpp:1203
+msgid "Resolved %1 (%2) to address: %3"
+msgstr "解析 %1(%2)到位址:%3"
+
+#: src/inputfilter.cpp:1212
+msgid "Unable to resolve address for %1 (%2)"
+msgstr "無法解析 %1(%2)的位址"
+
+#: src/inputfilter.cpp:1239
+msgid "%1 is an identified user."
+msgstr "%1 是已認證使用者。"
+
+#: src/inputfilter.cpp:1268 src/inputfilter.cpp:1289
+msgid "Who"
+msgstr "名錄資訊"
+
+#: src/inputfilter.cpp:1269
+msgid "%1 is %2@%3 (%4)%5"
+msgstr "%1 為 %2@%3(%4)%5"
+
+#: src/inputfilter.cpp:1273
+msgid " (Away)"
+msgstr " (離開)"
+
+#: src/inputfilter.cpp:1290
+#, c-format
+msgid "End of /WHO list for %1"
+msgstr "%1 的 /WHO 清單結束。"
+
+#: src/inputfilter.cpp:1375
+msgid "%1 is a user on channels: %2"
+msgstr "使用者 %1 所在頻道:%2"
+
+#: src/inputfilter.cpp:1383
+msgid "%1 has voice on channels: %2"
+msgstr "%1 有在頻道的語音:%2"
+
+#: src/inputfilter.cpp:1390
+msgid "%1 is a halfop on channels: %2"
+msgstr "%1 是頻道的助理員:%2"
+
+#: src/inputfilter.cpp:1397
+msgid "%1 is an operator on channels: %2"
+msgstr "%1 是頻道的管理員:%2"
+
+#: src/inputfilter.cpp:1404
+msgid "%1 is owner of channels: %2"
+msgstr "%1 是頻道的擁有者:%2"
+
+#: src/inputfilter.cpp:1411
+msgid "%1 is admin on channels: %2"
+msgstr "%1 是頻道的總管:%2"
+
+#: src/inputfilter.cpp:1434
+msgid "%1 is online via %2 (%3)."
+msgstr "%1 是透過 %2(%3)上線。"
+
+#: src/inputfilter.cpp:1446
+msgid "%1 is available for help."
+msgstr "%1 可獲得助理。"
+
+#: src/inputfilter.cpp:1458
+msgid "%1 is an IRC Operator."
+msgstr "%1 為 IRC 管理員。"
+
+#: src/inputfilter.cpp:1478 src/konversationstatusbar.cpp:178
+#, c-format
+msgid ""
+"_n: 1 day\n"
+"%n days"
+msgstr "%n 天"
+
+#: src/inputfilter.cpp:1479 src/inputfilter.cpp:1493
+#: src/konversationstatusbar.cpp:179 src/konversationstatusbar.cpp:188
+#, c-format
+msgid ""
+"_n: 1 hour\n"
+"%n hours"
+msgstr "%n 小時"
+
+#: src/inputfilter.cpp:1480 src/inputfilter.cpp:1494 src/inputfilter.cpp:1506
+#: src/konversationstatusbar.cpp:180 src/konversationstatusbar.cpp:189
+#: src/konversationstatusbar.cpp:197
+#, c-format
+msgid ""
+"_n: 1 minute\n"
+"%n minutes"
+msgstr "%n 分鐘"
+
+#: src/inputfilter.cpp:1481 src/inputfilter.cpp:1495 src/inputfilter.cpp:1507
+#: src/konversationstatusbar.cpp:181 src/konversationstatusbar.cpp:190
+#: src/konversationstatusbar.cpp:198
+#, c-format
+msgid ""
+"_n: 1 second\n"
+"%n seconds"
+msgstr "%n 秒"
+
+#: src/inputfilter.cpp:1485
+msgid ""
+"_: %1 = name of person, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"%1 has been idle for %2, %3, %4, and %5."
+msgstr "%1 已閒置了 %2、%3、%4 和 %5。"
+
+#: src/inputfilter.cpp:1498
+msgid ""
+"_: %1 = name of person, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"%1 has been idle for %2, %3, and %4."
+msgstr "%1 已閒置了 %2、%3 和 %4。"
+
+#: src/inputfilter.cpp:1510
+msgid ""
+"_: %1 = name of person, %2 = (x minutes), %3 = (x seconds)\n"
+"%1 has been idle for %2 and %3."
+msgstr "%1 已閒置了 %2 和 %3。"
+
+#: src/inputfilter.cpp:1519
+msgid ""
+"_n: %1 has been idle for 1 second.\n"
+"%1 has been idle for %n seconds."
+msgstr "%1 已閒置了 %n 秒。"
+
+#: src/inputfilter.cpp:1538
+msgid "%1 has been online since %2."
+msgstr "%1 自 %2 上線。"
+
+#: src/inputfilter.cpp:1551
+msgid "End of WHOIS list."
+msgstr "WHOIS 清單結束。"
+
+#: src/inputfilter.cpp:1588
+msgid "Userhost"
+msgstr "使用者主機"
+
+#: src/inputfilter.cpp:1589
+msgid ""
+"_: %1 = nick, %2 = shows if nick is op, %3 = hostmask, %4 = shows away\n"
+"%1%2 is %3%4."
+msgstr "%1%2 為 %3%4。"
+
+#: src/inputfilter.cpp:1591
+msgid " (IRC Operator)"
+msgstr " (IRC 管理員)"
+
+#: src/inputfilter.cpp:1593
+msgid " (away)"
+msgstr " (離開)"
+
+#: src/inputfilter.cpp:1608 src/inputfilter.cpp:1618 src/inputfilter.cpp:1632
+msgid "List"
+msgstr "清單"
+
+#: src/inputfilter.cpp:1608
+msgid "List of channels:"
+msgstr "頻道清單:"
+
+#: src/inputfilter.cpp:1617
+msgid ""
+"_n: %1 (%n user): %2\n"
+"%1 (%n users): %2"
+msgstr "%1(%n 個使用者):%2"
+
+#: src/inputfilter.cpp:1632
+msgid "End of channel list."
+msgstr "頻道清單結束。"
+
+#: src/inputfilter.cpp:1672 src/inputfilter.cpp:1682
+#, c-format
+msgid "BanList:%1"
+msgstr "封禁清單:%1"
+
+#: src/inputfilter.cpp:1672
+msgid ""
+"_: BanList message: e.g. *!*@aol.com set by MrGrim on <date>\n"
+"%1 set by %2 on %3"
+msgstr "%1 由 %2 於 %3 設定"
+
+#: src/inputfilter.cpp:1682
+msgid "End of Ban List."
+msgstr "封禁清單結束。"
+
+#: src/inputfilter.cpp:1710
+msgid "%1 is currently unavailable."
+msgstr "%1 目前無法使用。"
+
+#: src/inputfilter.cpp:1726
+msgid "%1: Unknown command."
+msgstr "%1:不明命令。"
+
+#: src/inputfilter.cpp:1732
+msgid "Not registered."
+msgstr "尚未註冊。"
+
+#: src/inputfilter.cpp:1738
+msgid "%1: This command requires more parameters."
+msgstr "%1:此命令要求更多參數。"
+
+#: src/inputfilter.cpp:1776
+msgid "You have set personal modes: "
+msgstr "您設定了個人模式:"
+
+#: src/inputfilter.cpp:1780
+msgid "has changed your personal modes:"
+msgstr "已改變了您的個人模式:"
+
+#: src/inputfilter.cpp:1794
+msgid " sets mode: "
+msgstr " 設定模式: "
+
+#: src/config/preferences.cpp:57
+msgid "Default Identity"
+msgstr "預設身分"
+
+#: src/editnotifydialog.cpp:32
+msgid "Edit Watched Nickname"
+msgstr "編輯被監視的暱稱"
+
+#: src/editnotifydialog.cpp:43
+msgid "&Network name:"
+msgstr "網路名稱(&N):"
+
+#: src/editnotifydialog.cpp:45
+msgid "Pick the server network you will connect to here."
+msgstr "在此選取您想要連線到的伺服器網路。"
+
+#: src/editnotifydialog.cpp:51
+msgid "N&ickname:"
+msgstr "暱稱(&I):"
+
+#: src/editnotifydialog.cpp:53
+msgid ""
+"<qt>The nickname to watch for when connected to a server in the network.</qt>"
+msgstr "<qt>連線到伺服器時要監視的暱稱。</qt>"
+
+#: src/editnotifydialog.cpp:88
+msgid "Change notify information"
+msgstr "變更通知資訊"
+
+#: src/sslsocket.cpp:94
+msgid "Connection is secured with %1 bit SSL."
+msgstr "連線已受到 %1 位元的 SSL 加密保護。"
+
+#: src/sslsocket.cpp:125
+msgid ""
+"The functionality to connect to servers using encrypted SSL communications is "
+"not available to Konversation because OpenSSL support was not enabled at "
+"compile time. You will need to get new version of KDE that has SSL support."
+msgstr ""
+"Konversation 無法以加密 SSL 通訊連線到伺服器,因為它在編譯時沒有啟用 OpenSSL 支援。您需要獲取一個具有 SSL 支援的 KDE "
+"新版本。"
+
+#: src/sslsocket.cpp:168
+msgid ""
+"The SSL certificate returned from the server was not recognized. Maybe this "
+"server does not support SSL on the given port? If this server supports normal, "
+"non-SSL communications as well, then SSL will be on a different port."
+msgstr ""
+"無法識別伺服器回傳的 SSL 證書,也許這個伺服器在給定的連接埠上不支援 SSL。如果此伺服器同時也支援普通的非 SSL 通訊,也許使用 SSL "
+"的通訊連接埠是另外一個。"
+
+#: src/sslsocket.cpp:227 src/sslsocket.cpp:264
+msgid ""
+"The IP address of the host %1 does not match the one the certificate was issued "
+"to."
+msgstr "主機 %1 的 IP 位址與證書所頒發的位址不符。"
+
+#: src/sslsocket.cpp:232 src/sslsocket.cpp:269 src/sslsocket.cpp:281
+#: src/sslsocket.cpp:308
+msgid "Server Authentication"
+msgstr "伺服器驗證"
+
+#: src/dcctransferpanel.cpp:119 src/sslsocket.cpp:233 src/sslsocket.cpp:270
+#: src/sslsocket.cpp:282
+msgid "Details"
+msgstr "細節"
+
+#: src/sslsocket.cpp:277
+msgid "The server (%1) certificate failed the authenticity test."
+msgstr "伺服器(%1)的證書無法透過驗證測試。"
+
+#: src/sslsocket.cpp:305
+msgid ""
+"Would you like to accept this certificate forever without being prompted?"
+msgstr "您希望不收到提示就永遠接受此證書嗎?"
+
+#: src/sslsocket.cpp:309
+msgid "&Forever"
+msgstr "永遠(&F)"
+
+#: src/sslsocket.cpp:310
+msgid "&Current Sessions Only"
+msgstr "只對目前作業階段(&C)"
+
+#: src/notificationhandler.cpp:89 src/notificationhandler.cpp:294
+msgid "[HighLight] (%1) <%2> %3"
+msgstr "[高亮度](%1)<%2> %3"
+
+#: src/notificationhandler.cpp:114
+msgid "[Query] <%1> %2"
+msgstr "【對話】<%1> %2"
+
+#: src/notificationhandler.cpp:138 src/notificationhandler.cpp:145
+msgid "%1 joined %2"
+msgstr "%1 加入了 %2"
+
+#: src/notificationhandler.cpp:157 src/notificationhandler.cpp:164
+msgid "%1 parted %2"
+msgstr "%1 退出了 %2"
+
+#: src/notificationhandler.cpp:176
+msgid "%1 quit %2"
+msgstr "%1 離開了 %2"
+
+#: src/notificationhandler.cpp:187
+msgid "%1 changed nickname to %2"
+msgstr "%1 已將暱稱改為 %2"
+
+#: src/notificationhandler.cpp:198
+msgid "%1 wants to send a file to you"
+msgstr "%1 要向您傳送檔案"
+
+#: src/notificationhandler.cpp:223
+msgid "%1 has started a conversation (query) with you."
+msgstr "%1 已向您開啟了一個對話。"
+
+#: src/notificationhandler.cpp:235 src/server.cpp:2302
+msgid "%1 is online (%2)."
+msgstr "%1 上線(%2)。"
+
+#: src/notificationhandler.cpp:247 src/server.cpp:2319
+msgid "%1 went offline (%2)."
+msgstr "%1 離線(%2)。"
+
+#: src/notificationhandler.cpp:259
+msgid "You are kicked by %1 from %2"
+msgstr "您已經被 %1 從 %2 踢出。"
+
+#: src/notificationhandler.cpp:271
+msgid "%1 started a dcc chat with you"
+msgstr "%1 已對您開啟了 DCC 密聊"
+
+#: src/notificationhandler.cpp:291
+msgid "[HighLight] (%1) *** %2"
+msgstr "[高亮度] (%1)*** %2"
+
+#: src/notificationhandler.cpp:304
+#, c-format
+msgid "Failed to connect to %1"
+msgstr "無法連線到 %1"
+
+#: src/notificationhandler.cpp:315
+#, c-format
+msgid "You have joined %1."
+msgstr "您已經加入了 %1。"
+
+#: src/ircviewbox.cpp:95 src/ircviewbox.cpp:109 src/ircviewbox.cpp:135
+msgid "Phrase not found"
+msgstr "找不到詞語"
+
+#: src/ircviewbox.cpp:115
+msgid "Wrapped search"
+msgstr "覆寫搜尋"
+
+#: src/queuetuner.cpp:245
+msgid ""
+"This cannot be undone, are you sure you wish to reset to default values?"
+msgstr "這個動作無法復原。您確定要全部重置回預設值嗎?"
+
+#: src/queuetuner.cpp:246
+msgid "Reset Values"
+msgstr "重置設定值"
+
+#: src/dcc_preferences.cpp:44
+msgid "Network Interface"
+msgstr "網路介面"
+
+#: src/dcc_preferences.cpp:45
+msgid "Reply From IRC Server"
+msgstr "來自 IRC 伺服器的回應"
+
+#: src/dcc_preferences.cpp:46
+msgid "Specify Manually"
+msgstr "手動指定"
+
+#: src/irccolorchooser.cpp:27
+msgid "IRC Color Chooser"
+msgstr "IRC 顏色選擇器"
+
+#: src/irccolorchooser.cpp:33
+msgid "None"
+msgstr "無"
+
+#: src/serverdialog.cpp:36
+msgid "&Server:"
+msgstr "伺服器(&S):"
+
+#: src/serverdialog.cpp:38
+msgid ""
+"The name or IP number of the server. irchelp.org maintains a list of servers."
+msgstr "伺服器的欄位名稱或 IP 位址,在 irchelp.org 上提供有一份伺服器清單。"
+
+#: src/serverdialog.cpp:45
+msgid ""
+"Enter the port number required to connect to the server. For most servers, this "
+"should be <b>6667</b>."
+msgstr "輸入連線到伺服器的連接埠號碼,對大多數伺服器來說應該是 <b>6667</b>。"
+
+#: src/channeldialog.cpp:37 src/serverdialog.cpp:48
+msgid "Pass&word:"
+msgstr "密碼(&W):"
+
+#: src/serverdialog.cpp:53
+msgid "S&ecure connection (SSL)"
+msgstr "SSL 安全連線(&E)"
+
+#: src/serverdialog.cpp:54
+msgid ""
+"Check if you want to use Secure Socket Layer (SSL) protocol to communicate with "
+"the server. This protects the privacy of your communications between your "
+"computer and the IRC server. The server must support SSL protocol for this to "
+"work. In most cases, if the server does not support SSL, the connection will "
+"fail."
+msgstr ""
+"如果您要使用安全通訊端層協定(SSL)與伺服器通訊請選取此項,這可以防止您與伺服器之間交互的隱私資訊被監視,但要求對方伺服器必須支援 SSL "
+"協定才能工作。在多數情況下,如果伺服器不支援 SSL,使用 SSL 協定連線會導致失敗發生。"
+
+#: src/serverdialog.cpp:94
+msgid "The server address is required."
+msgstr "要求填入伺服器位址。"
+
+#: src/dcctransfersend.cpp:143
+msgid "The admin has restricted the right to send files"
+msgstr "總管已限制了檔案傳送"
+
+#: src/dcctransfersend.cpp:173
+msgid "The url \"%1\" does not exist"
+msgstr "URL「%1」不存在。"
+
+#: src/dcctransfersend.cpp:181
+msgid "Could not retrieve \"%1\""
+msgstr "無法寫入檔案「%1」。"
+
+#: src/dcctransfersend.cpp:190
+msgid "Enter Filename"
+msgstr "輸入檔案名稱"
+
+#: src/dcctransfersend.cpp:190
+msgid ""
+"<qt>The file that you are sending to <i>%1</i> does not have a filename."
+"<br>Please enter a filename to be presented to the receiver, or cancel the dcc "
+"transfer</qt>"
+msgstr "<qt>您正在傳送的檔案 <i>%1</i> 沒有檔案名稱,<br>請給接收方輸入一個識別用的檔案名稱,或是中止 DCC 傳輸。</qt>"
+
+#: src/dcctransfersend.cpp:194
+msgid "No filename was given"
+msgstr "沒有給定檔案名稱"
+
+#: src/dcctransfersend.cpp:238
+msgid "Could not send a DCC SEND request to the partner via the IRC server."
+msgstr "無法透過 IRC 伺服器傳送 DCC SEND 要求給同伴。"
+
+#: src/dcctransfersend.cpp:286
+msgid "Waiting remote user's acceptance"
+msgstr "正在等待遠端使用者接收"
+
+#: src/dcctransferrecv.cpp:553 src/dcctransfersend.cpp:334
+msgid "Could not accept the connection. (Socket Error)"
+msgstr "無法接收連線(Socket 錯誤)。"
+
+#: src/dcctransfersend.cpp:368
+#, c-format
+msgid "Could not open the file: %1"
+msgstr "無法開啟檔案:%1"
+
+#: src/dcctransferrecv.cpp:567 src/dcctransfersend.cpp:421
+#, c-format
+msgid "Socket error: %1"
+msgstr "Socket 發生錯誤:%1"
+
+#: src/dcctransferrecv.cpp:667 src/dcctransfersend.cpp:443
+msgid "Timed out"
+msgstr "逾時"
+
+#: src/dcctransferrecv.cpp:594 src/dcctransfersend.cpp:448
+#, c-format
+msgid "Connection failure: %1"
+msgstr "連線失敗:%1"
+
+#: src/dcctransferrecv.cpp:674 src/dcctransfersend.cpp:461
+msgid "Remote user disconnected"
+msgstr "遠端使用者已中斷連線"
+
+#: src/dcctransfersend.cpp:472
+msgid "The operation was successful. Should never happen in an error dialog."
+msgstr "操作成功,應該不會再出現錯誤對話方塊。"
+
+#: src/dcctransfersend.cpp:475
+msgid "Could not read from file \"%1\"."
+msgstr "無法讀取檔案「%1」。"
+
+#: src/dcctransfersend.cpp:478
+msgid "Could not write to file \"%1\"."
+msgstr "無法寫入檔案「%1」。"
+
+#: src/dcctransfersend.cpp:481
+msgid "A fatal unrecoverable error occurred."
+msgstr "發生嚴重的不可恢復錯誤。"
+
+#: src/dcctransfersend.cpp:484
+msgid "Could not open file \"%1\"."
+msgstr "無法開啟檔案「%1」。"
+
+#: src/dcctransfersend.cpp:493
+msgid "The operation was unexpectedly aborted."
+msgstr "操作意外放棄。"
+
+#: src/dcctransfersend.cpp:496
+msgid "The operation timed out."
+msgstr "操作逾時。"
+
+#: src/dcctransfersend.cpp:499
+msgid "An unspecified error happened on close."
+msgstr "關閉時發生預料外錯誤。"
+
+#: src/dcctransfersend.cpp:502
+#, c-format
+msgid "Unknown error. Code %1"
+msgstr "不明錯誤。程式碼 %1"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Send"
+msgstr "DCC 傳送"
+
+#: src/dcctransferdetailedinfopanel.cpp:75
+msgid "DCC Receive"
+msgstr "DCC 接收"
+
+#: src/dcctransferdetailedinfopanel.cpp:77
+msgid " (Reverse DCC)"
+msgstr "(反向 DCC)"
+
+#: src/dcctransferdetailedinfopanel.cpp:94
+#: src/dcctransferdetailedinfopanel.cpp:98
+msgid "Unknown server"
+msgstr "未知的伺服器"
+
+#: src/dcctransferdetailedinfopanel.cpp:99
+msgid "%1 on %2"
+msgstr "%1 於 %2"
+
+#: src/dcctransferdetailedinfopanel.cpp:103
+msgid ", %1 (port %2)"
+msgstr ",%1(連接埠 %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:110
+msgid "%1 (port %2)"
+msgstr "%1(連接埠 %2)"
+
+#: src/dcctransferdetailedinfopanel.cpp:135
+#, c-format
+msgid "Yes, %1"
+msgstr "是的,%1"
+
+#: src/dcctransferdetailedinfopanel.cpp:156
+msgid "< 1sec"
+msgstr "< 1 秒"
+
+#: src/konsolepanel.cpp:23 src/viewcontainer.cpp:1980
+#: src/viewcontainer.cpp:1981
+msgid "Konsole"
+msgstr "Konsole"
+
+#: src/konversationstatusbar.cpp:35 src/konversationstatusbar.cpp:76
+#: src/konversationstatusbar.cpp:144
+msgid "Ready."
+msgstr "就緒。"
+
+#: src/konversationstatusbar.cpp:45
+msgid ""
+"<qt>This shows the number of users in the channel, and the number of those that "
+"are operators (ops)."
+"<p>A channel operator is a user that has special privileges, such as the "
+"ability to kick and ban users, change the channel modes, make other users "
+"operators</qt>"
+msgstr ""
+"<qt>這裏顯示頻道內的使用者以及管理員(ops)數量。"
+"<p>頻道管理員是擁有特殊權限的使用者,具備諸如踢出並封停用戶、變更頻道模式、賦予其他使用者管理權限等能力。</qt>"
+
+#: src/konversationstatusbar.cpp:47 src/konversationstatusbar.cpp:149
+#: src/konversationstatusbar.cpp:163
+msgid "Lag: Unknown"
+msgstr "延遲:不明"
+
+#: src/konversationstatusbar.cpp:53
+msgid ""
+"All communication with the server is encrypted. This makes it harder for "
+"someone to listen in on your communications."
+msgstr "所有和伺服器間的通訊已被加密,這可以使他人更難監聽到您對話裏的內容。"
+
+#: src/konversationstatusbar.cpp:60
+msgid ""
+"<qt>The status bar shows various messages, including any problems connecting to "
+"the server. On the far right the current delay to the server is shown. The "
+"delay is the time it takes for messages from you to reach the server, and from "
+"the server back to you.</qt>"
+msgstr ""
+"<qt>此狀態列可顯示多類訊息,包括連線伺服器時的錯誤提示,更多的則是顯示到伺服器的延遲。此延遲是您的訊息從發出到到達伺服器,以及伺服器的回饋到達您的電腦的間隔"
+"時間。</qt>"
+
+#: src/konversationstatusbar.cpp:151
+msgid "Lag: %1 ms"
+msgstr "延遲:%1 毫秒"
+
+#: src/konversationstatusbar.cpp:153 src/konversationstatusbar.cpp:214
+msgid "Lag: %1 s"
+msgstr "延遲:%1 秒"
+
+#: src/konversationstatusbar.cpp:182
+msgid ""
+"_: %1 = name of server, %2 = (x days), %3 = (x hours), %4 = (x minutes), %5 = "
+"(x seconds)\n"
+"No answer from server %1 for more than %2, %3, %4, and %5."
+msgstr "伺服器 %1 已有超過 %2 天、%3 小時、%4 分鐘和 %5 秒沒有回應。"
+
+#: src/konversationstatusbar.cpp:191
+msgid ""
+"_: %1 = name of server, %2 = (x hours), %3 = (x minutes), %4 = (x seconds)\n"
+"No answer from server %1 for more than %2, %3, and %4."
+msgstr "伺服器 %1 已有超過 %2 小時、%3 分鐘 和 %4 秒沒有回應。"
+
+#: src/konversationstatusbar.cpp:199
+msgid ""
+"_: %1 = name of server, %2 = (x minutes), %3 = (x seconds)\n"
+"No answer from server %1 for more than %2 and %3."
+msgstr "伺服器 %1 已有超過 %2 分鐘和 %3 秒沒有回應。"
+
+#: src/konversationstatusbar.cpp:205
+msgid ""
+"_n: No answer from server %1 for more than 1 second.\n"
+"No answer from server %1 for more than %n seconds."
+msgstr "伺服器 %1 已有超過 %n 秒沒有回應。"
+
+#: src/server.cpp:415
+msgid "Looking for server %1:%2..."
+msgstr "尋找伺服器 %1:%2..."
+
+#: src/server.cpp:536
+msgid "Server %1 not found: %2"
+msgstr "找不到伺服器 %1:%2"
+
+#: src/server.cpp:546
+msgid "Server found, connecting..."
+msgstr "伺服器已找到,正在連線..."
+
+#: src/server.cpp:556
+msgid "Connected; logging in..."
+msgstr "連線已建立,正在登入..."
+
+#: src/server.cpp:609
+msgid "Connection to Server %1 lost: %2."
+msgstr "遺失到伺服器 %1 的連線:%2。"
+
+#: src/server.cpp:621
+msgid ""
+"Could not connect to %1:%2 using SSL encryption.Maybe the server does not "
+"support SSL, or perhaps you have the wrong port? %3"
+msgstr "無法使用 SSL 加密連線到 %1:%2,也許此伺服器不支援 SSL 或是您指定了錯誤的連接埠?%3"
+
+#: src/server.cpp:625
+msgid "SSL Connection Error"
+msgstr "SSL 連線發生錯誤"
+
+#: src/server.cpp:710
+#, c-format
+msgid "Disconnected from %1."
+msgstr "已中斷與 %1 的連線。"
+
+#: src/server.cpp:860
+msgid ""
+"No nicknames from the \"%1\" identity were accepted by the connection \"%2\".\n"
+"Please enter a new one or press Cancel to disconnect:"
+msgstr "身份 %1 在連線 %2 的暱稱未被接受。請輸入新的暱稱,或按取消來斷線:"
+
+#: src/server.cpp:861
+msgid "Nickname error"
+msgstr "暱稱錯誤"
+
+#: src/server.cpp:910
+#, c-format
+msgid "There was an error reading the data from the server: %1"
+msgstr "從伺服器讀取資料時發生錯誤:%1"
+
+#: src/server.cpp:1636
+#, c-format
+msgid "Select File(s) to Send to %1"
+msgstr "選擇要傳送到 %1 的檔案"
+
+#: src/server.cpp:1711
+msgid "%1 offers to send you \"%2\" (%3)..."
+msgstr "%1 提議要傳送 %2(%3)給您..."
+
+#: src/server.cpp:1714 src/server.cpp:1745 src/server.cpp:1823
+#: src/server.cpp:1858 src/server.cpp:1937
+msgid "unknown size"
+msgstr "大小不明"
+
+#: src/server.cpp:1742
+msgid "Asking %1 to accept upload of \"%2\" (%3)..."
+msgstr "詢問 %1 是否接受上傳 \"%2\"(%3)..."
+
+#: src/server.cpp:1792
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid passive DCC send acceptance message for \"%1\" from %2."
+msgstr "從 %2 接收到不正確的對 %1 的被動 DCC 傳送接受訊息。"
+
+#: src/server.cpp:1819
+msgid ""
+"_: %1 = file name, %2 = nickname of sender, %3 = percentage of file size, %4 = "
+"file size\n"
+"Resuming download of \"%1\" from %2 starting at %3% of %4..."
+msgstr "從 %2 續傳 %1,由 %3% 的地方開始(大小總計 %4)..."
+
+#: src/server.cpp:1829
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume acceptance message for \"%1\" from %2."
+msgstr "從 %2 接收到不正確的對檔案「%1」的續傳接受訊息。"
+
+#: src/server.cpp:1854
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient, %3 = percentage of file size, %4 "
+"= file size\n"
+"Resuming upload of \"%1\" to %2 starting at %3% of %4..."
+msgstr "續傳 %1 到 %2,由 %3% 的地方開始(大小總計 %4)..."
+
+#: src/server.cpp:1869
+msgid ""
+"_: %1 = file name, %2 = nickname\n"
+"Received invalid resume request for \"%1\" from %2."
+msgstr "從 %2 接收到不正確的對檔案「%1」的續傳請求。"
+
+#: src/server.cpp:1887
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 finished."
+msgstr "從 %2 下載檔案「%1」完成。"
+
+#: src/server.cpp:1890
+msgid ""
+"_: %1 = file name, %2 = nickname of sender\n"
+"Download of \"%1\" from %2 failed. Reason: %3."
+msgstr "從 %2 下載檔案「%1」失敗。原因:%3。"
+
+#: src/server.cpp:1906
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 finished."
+msgstr "上傳 %1 到 %2 已完成。"
+
+#: src/server.cpp:1909
+msgid ""
+"_: %1 = file name, %2 = nickname of recipient\n"
+"Upload of \"%1\" to %2 failed. Reason: %3."
+msgstr "上傳「%1」到 %2 失敗,原因:%3。"
+
+#: src/server.cpp:1928
+msgid ""
+"_: %1 = file name, %2 nickname of recipient\n"
+"Sending \"%1\" to %2..."
+msgstr "傳送 \"%1\" 到 %2..."
+
+#: src/server.cpp:1935
+msgid ""
+"_: %1 = file name, %2 = file size, %3 = nickname of sender\n"
+"Downloading \"%1\" (%2) from %3..."
+msgstr "從 %3 下載 %1(%2)..."
+
+#: src/server.cpp:2897
+msgid ""
+"You were invited by %1 to join channel %2. Do you accept the invitation?"
+msgstr "%1 邀請您加入頻道 %2,您要接受邀請嗎?"
+
+#: src/server.cpp:2899
+msgid "Invitation"
+msgstr "邀請"
+
+#: src/server.cpp:2910
+msgid "Error: Could not find script \"%1\"."
+msgstr "錯誤:無法找到命令稿「%1」。"
+
+#: src/server.cpp:2915
+msgid "Error: Could not execute script \"%1\". Check file permissions."
+msgstr "錯誤:無法執行命令稿「%1」,請檢查檔案權限。"
+
+#: src/server.cpp:3153
+msgid "Gone away for now"
+msgstr "立即離開"
+
+#: src/server.cpp:3183
+msgid "You are now marked as being away."
+msgstr "您已經標記為離開。"
+
+#: src/server.cpp:3208
+msgid "You are no longer marked as being away."
+msgstr "您不再標記為離開。"
+
+#: src/server.cpp:3217
+msgid "You are not marked as being away."
+msgstr "您不再標記為離開。"
+
+#: src/nicksonline.cpp:52 src/viewcontainer.cpp:2402
+msgid "Watched Nicks Online"
+msgstr "監視的上線暱稱"
+
+#: src/nicksonline.cpp:61
+msgid "Network/Nickname/Channel"
+msgstr "伺服器/暱稱/頻道"
+
+#: src/nicksonline.cpp:63
+msgid "Additional Information"
+msgstr "額外資訊"
+
+#: src/nicksonline.cpp:71
+msgid ""
+"<p>These are all the nicknames on your Nickname Watch list, listed under the "
+"server network they are connected to. The list also includes the nicknames in "
+"KAddressBook associated with the server network.</p>"
+"<p>The <b>Additional Information</b> column shows the information known for "
+"each nickname.</p>"
+"<p>The channels the nickname has joined are listed underneath each nickname.</p>"
+"<p>Nicknames appearing under <b>Offline</b> are not connected to any of the "
+"servers in the network.</p>"
+"<p>Right-click with the mouse on a nickname to perform additional functions.</p>"
+msgstr ""
+"<p>這些是在您的暱稱監視清單裏的所有暱稱,它們會陳列在您連線到的伺服器下面,這個清單同時也包含了此伺服器中與 KAddressBook 有關聯的暱稱。</p>"
+"<p><b>額外資訊</b>列顯示的是每個暱稱的其他已知資訊。</p>"
+"<p>這些暱稱所加入的頻道會顯示在暱稱的下面。</p>"
+"<p>標以<b>離線</b>狀態的暱稱還沒有連線到目前網路中的任何一個伺服器。</p>"
+"<p>滑鼠右擊任一暱稱,可以執行其他一些附加功能。</p>"
+
+#: src/nicksonline.cpp:89
+msgid "&Edit Watch List..."
+msgstr "編輯監視清單(&E)..."
+
+#: src/nicksonline.cpp:92
+msgid "Click to edit the list of nicknames that appear on this screen."
+msgstr "點此編輯要出現在螢幕上的暱稱。"
+
+#: src/nicksonline.cpp:99
+msgid "Address book:"
+msgstr "通訊錄:"
+
+#: src/nicksonline.cpp:102
+msgid ""
+"When you select a nickname in the list above, the buttons here are used to "
+"associate the nickname with an entry in KAddressBook."
+msgstr "如果您選取了清單中任一一個暱稱,這個按鈕可用於將其與 KDE 通訊錄的條目建立關聯。"
+
+#: src/nicksonline.cpp:106 src/nicksonline.cpp:815 src/nicksonline.cpp:885
+msgid "Edit C&ontact..."
+msgstr "編輯連絡人(&O)..."
+
+#: src/nicksonline.cpp:109
+msgid ""
+"Click to create, view, or edit the KAddressBook entry associated with the "
+"nickname selected above."
+msgstr "點此建立、瀏覽或編輯您選取的暱稱所關聯到的 KDE 通訊錄條目。"
+
+#: src/nicksonline.cpp:113 src/nicksonline.cpp:817 src/nicksonline.cpp:887
+msgid "&Change Association..."
+msgstr "變更關聯(&C)..."
+
+#: src/nicksonline.cpp:116
+msgid ""
+"Click to associate the nickname selected above with an entry in KAddressBook."
+msgstr "點此可將您選取的暱稱與 KDE 通訊錄建立關聯。"
+
+#: src/nicksonline.cpp:119 src/nicksonline.cpp:888
+msgid "&Delete Association"
+msgstr "刪除關聯(&D)"
+
+#: src/nicksonline.cpp:122
+msgid ""
+"Click to remove the association between the nickname selected above and a "
+"KAddressBook entry."
+msgstr "點此可刪除您選取的暱稱與 KDE 通訊錄條目間的關聯。"
+
+#: src/nicksonline.cpp:252
+#, c-format
+msgid " online via %1"
+msgstr " 透過 %1 上線"
+
+#: src/nicksonline.cpp:257
+#, c-format
+msgid " since %1"
+msgstr " 自 %1 後上線"
+
+#: src/linkaddressbook/addressbook.cpp:106 src/nicksonline.cpp:293
+msgid "Offline"
+msgstr "離線"
+
+#: src/nicksonline.cpp:356
+msgid " Voice"
+msgstr " 語音"
+
+#: src/nicksonline.cpp:357
+msgid " HalfOp"
+msgstr " 助理"
+
+#: src/nicksonline.cpp:358
+msgid " Operator"
+msgstr " 管理員"
+
+#: src/nicksonline.cpp:359
+msgid " Owner"
+msgstr " 擁有者"
+
+#: src/nicksonline.cpp:360
+msgid " Admin"
+msgstr " 總管"
+
+#: src/nicksonline.cpp:806 src/nicksonline.cpp:873
+msgid "Create New C&ontact..."
+msgstr "建立新連絡人(&O)..."
+
+#: src/nicksonline.cpp:808 src/nicksonline.cpp:872
+msgid "&Choose Association..."
+msgstr "選擇關聯(&C)......"
+
+#: src/nicksonline.cpp:878 src/nicksonline.cpp:893
+msgid "&Join Channel"
+msgstr "加入頻道(&J)"
+
+#: src/highlight_preferences.cpp:51
+msgid "Select Sound File"
+msgstr "選擇聲音檔案"
+
+#: src/chatwindow.cpp:346
+msgid ""
+"\n"
+"*** Logfile started\n"
+"*** on %1\n"
+"\n"
+msgstr ""
+"\n"
+"*** 日誌檔案開始\n"
+"*** 於 %1\n"
+"\n"
+
+#: src/warnings_preferences.cpp:105
+msgid "Automatically join channel on invite"
+msgstr "接到邀請自動加入頻道"
+
+#: src/warnings_preferences.cpp:106
+msgid "Notice that saving logfiles will save whole file"
+msgstr "通知儲存日誌檔案會儲存完整檔案"
+
+#: src/warnings_preferences.cpp:107
+msgid "Ask before deleting logfile contents"
+msgstr "刪除紀錄檔案內容前提問"
+
+#: src/warnings_preferences.cpp:108
+msgid "Ask about closing queries after ignoring the nickname"
+msgstr "在忽略暱稱後關閉對話時提問"
+
+#: src/warnings_preferences.cpp:109
+msgid "Ask before switching a connection to a network to a different server"
+msgstr "將到網路的連線切換到不同伺服器時提問"
+
+#: src/warnings_preferences.cpp:110
+msgid "Ask before creating another connection to the same network or server"
+msgstr "建立到同一個網路或伺服器的其他連線時先提問"
+
+#: src/warnings_preferences.cpp:111
+msgid "Close server tab"
+msgstr "關閉伺服器分頁"
+
+#: src/warnings_preferences.cpp:112
+msgid "Close channel tab"
+msgstr "關閉頻道分頁"
+
+#: src/warnings_preferences.cpp:113
+msgid "Close query tab"
+msgstr "關閉對話分頁"
+
+#: src/warnings_preferences.cpp:114
+msgid "The channel list can only be opened from server-aware tabs"
+msgstr "頻道清單只能從已知伺服器分頁開啟"
+
+#: src/warnings_preferences.cpp:115
+msgid "Warning on hiding the main window menu"
+msgstr "隱藏主視窗選單時發出警告"
+
+#: src/warnings_preferences.cpp:116
+msgid "Warning on high traffic with channel list"
+msgstr "頻道清單流量高時發出警告"
+
+#: src/warnings_preferences.cpp:117
+msgid "Warning on pasting large portions of text"
+msgstr "貼上大量文字時發出警告"
+
+#: src/warnings_preferences.cpp:118
+msgid "Warning on quitting Konversation"
+msgstr "離開 Konversation 時發出警告"
+
+#: src/warnings_preferences.cpp:121
+msgid "Warn before quitting with active DCC file transfers"
+msgstr "離開時還有 DCC 檔案傳輸進行中時發出警告"
+
+#: src/channellistpanel.cpp:47 src/viewcontainer.cpp:2342
+#: src/viewcontainer.cpp:2392
+msgid "Channel List"
+msgstr "頻道清單"
+
+#: src/channellistpanel.cpp:65
+msgid "Filter Settings"
+msgstr "過濾器設定"
+
+#: src/channellistpanel.cpp:69
+msgid "Minimum users:"
+msgstr "最小使用者數:"
+
+#: src/channellistpanel.cpp:70
+msgid "Maximum users:"
+msgstr "最大使用者數:"
+
+#: src/channellistpanel.cpp:72
+msgid ""
+"You can limit the channel list to those channels with a minimum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "您可以在此根據頻道清單限制頻道裏的最小使用者數量,選擇 0 會停用此判定。"
+
+#: src/channellistpanel.cpp:74
+msgid ""
+"You can limit the channel list to those channels with a maximum number of users "
+"here. Choosing 0 disables this criterion."
+msgstr "您可以在此根據頻道清單限制頻道裏的最大使用者數量,選擇 0 會停用此判定。"
+
+#: src/channellistpanel.cpp:80
+msgid "Filter pattern:"
+msgstr "過濾器樣式:"
+
+#: src/channellistpanel.cpp:81
+msgid "Filter target:"
+msgstr "過濾器目標:"
+
+#: src/channellistpanel.cpp:84
+msgid "Enter a filter string here."
+msgstr "在此輸入要過濾的網路主機"
+
+#: src/channellistpanel.cpp:94
+msgid "Regular expression"
+msgstr "正規表示式"
+
+#: src/channellistpanel.cpp:95
+msgid "Apply Filter"
+msgstr "套用過濾器"
+
+#: src/channellistpanel.cpp:96
+msgid ""
+"Click here to retrieve the list of channels from the server and apply the "
+"filter."
+msgstr "點此從伺服器中獲取頻道清單並套用過濾器。"
+
+#: src/channellistpanel.cpp:105
+msgid ""
+"The filtered list of channels is displayed here. Notice that if you do not use "
+"regular expressions, Konversation lists any channel whose name contains the "
+"filter string you entered. The channel name does not have to start with the "
+"string you entered.\n"
+"\n"
+"Select a channel you want to join by clicking on it. Right click on the channel "
+"to get a list of all web addresses mentioned in the channel's topic."
+msgstr ""
+"這裏顯示的是過濾後的頻道清單,請注意如果您不使用正規運算式,Konversation "
+"只會列出在名稱裏包含您所輸入的過濾字串的頻道,這些頻道的名稱不一定以您輸入的字串為起始。\n"
+"\n"
+"您點擊任一一個頻道即可加入它,滑鼠右擊頻道名稱可以獲取頻道話題中提及到的所有 Web 位址的清單。"
+
+#: src/channellistpanel.cpp:106
+msgid "Channel Name"
+msgstr "頻道名稱"
+
+#: src/channellistpanel.cpp:108
+msgid "Channel Topic"
+msgstr "頻道話題"
+
+#: src/channellistpanel.cpp:124
+msgid "Refresh List"
+msgstr "重新整理清單"
+
+#: src/channellistpanel.cpp:125
+msgid "Save List..."
+msgstr "儲存清單..."
+
+#: src/channellistpanel.cpp:126
+msgid "Join Channel"
+msgstr "加入頻道"
+
+#: src/channellistpanel.cpp:127
+msgid "Click here to join the channel. A new tab is created for the channel."
+msgstr "點此可加入一個頻道,程式會為它建立一個新分頁。"
+
+#: src/channellistpanel.cpp:191
+msgid "Save Channel List"
+msgstr "儲存頻道清單"
+
+#: src/channellistpanel.cpp:224
+msgid ""
+"Konversation Channel List: %1 - %2\n"
+"\n"
+msgstr ""
+"Konversation 頻道清單:%1 - %2\n"
+"\n"
+
+#: src/channellistpanel.cpp:486
+msgid "Channels: %1 (%2 shown)"
+msgstr "頻道:%1(%2 已顯示)"
+
+#: src/channellistpanel.cpp:487
+msgid "Non-unique users: %1 (%2 shown)"
+msgstr "非唯一使用者:%1(%2 已顯示)"
+
+#: src/channellistpanel.cpp:506
+msgid "Open URL"
+msgstr "開啟 URL"
+
+#: src/channellistpanel.cpp:557
+msgid "<<No URL found>>"
+msgstr "<<沒有找到 URL>>"
+
+#: src/channellistpanel.cpp:588
+#, c-format
+msgid "Channel List for %1"
+msgstr "%1 的頻道清單"
+
+#: src/linkaddressbook/addressbook.cpp:112
+msgid "Online"
+msgstr "上線"
+
+#: src/linkaddressbook/addressbook.cpp:215
+#: src/linkaddressbook/addressbook.cpp:243
+#: src/linkaddressbook/addressbook.cpp:258
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"did not specify any contact to send the message to. This is probably a bug in "
+"the other application."
+msgstr ""
+"現在正有另一個 KDE 程式在試圖使用 Konversation 進行即時通訊,但沒有指定任何要傳送訊息的連絡人物件,這可能是另一個程式的 bug。"
+
+#: src/linkaddressbook/addressbook.cpp:221
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"現在正有另一個 KDE 程式在試圖使用 Konversation 進行即時通訊,但 Konversation 在 KDE 通訊錄中找不到指定的連絡人。"
+
+#: src/linkaddressbook/addressbook.cpp:229
+msgid ""
+"Another KDE application tried to use Konversation for instant messaging, but "
+"the requested user%1 is not online."
+msgstr "現在正有另一個 KDE 程式在試圖使用 Konversation 進行即時通訊,但是被請求的使用者 %1 現在不上線。"
+
+#: src/linkaddressbook/addressbook.cpp:275
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but did not specify any contact to send the file to. This is probably a bug in "
+"the other application."
+msgstr ""
+"現在正有另一個 KDE 程式在試圖使用 Konversation 給連絡人傳送檔案,但沒有指定檔案要傳送給的連絡人物件,這可能是另一個程式的 bug。"
+
+#: src/linkaddressbook/addressbook.cpp:281
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but Konversation could not find the specified contact in the KDE address book."
+msgstr ""
+"現在正有另一個 KDE 程式在試圖使用 Konversation 給連絡人傳送檔案,但 Konversation 在 KDE 通訊錄中找不到指定的連絡人。"
+
+#: src/linkaddressbook/addressbook.cpp:289
+msgid ""
+"Another KDE application tried to use Konversation to send a file to a contact, "
+"but the requested user%1 is not currently online."
+msgstr "現在正有另一個 KDE 程式在試圖使用 Konversation 給連絡人傳送檔案,但是被請求的使用者 %1 目前不上線。"
+
+#: src/linkaddressbook/addressbook.cpp:308
+msgid ""
+"Another KDE application tried to use Konversation to add a contact. "
+"Konversation does support this."
+msgstr "現在正有另一個 KDE 程式在試圖使用 Konversation 加入連絡人,Konversation 尚不支援此操作。"
+
+#: src/linkaddressbook/addressbook_base.cpp:393
+msgid ""
+"Could not run your addressbook program (kaddressbook). This is most likely "
+"because it is not installed. Please install the 'kdepim' packages."
+msgstr "無法執行通訊錄程式(kaddressbook),最大的可能是它還未安裝。請安裝「kdepim」套件。"
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:479
+msgid ""
+"The contact that you have selected does not have an email address associated "
+"with them. "
+msgstr "您選取的連絡人還沒有與它們關聯的電子郵件位址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:403
+#: src/linkaddressbook/addressbook_base.cpp:497
+msgid "Cannot Send Email"
+msgstr "無法傳送郵件"
+
+#: src/linkaddressbook/addressbook_base.cpp:415
+msgid ""
+"Could not run your email program. This is possibly because one is not "
+"installed. To install the KDE email program (kmail) please install the "
+"'kdepim' packages."
+msgstr "無法執行電子郵件客戶端程式,很可能是一個都還沒有安裝。如果您要安裝 KDE 的電子郵件客戶端程式 kmail,請安裝「kdepim」套件。"
+
+#: src/linkaddressbook/addressbook_base.cpp:459
+msgid ""
+"None of the contacts that you have selected were associated with an addressbook "
+"contacts. "
+msgstr "在您選取的連絡人中還沒有人與通訊錄連絡人建立關聯。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:461
+msgid ""
+"The contact that you have selected is not associated with an addressbook "
+"contact. "
+msgstr "您選取的連絡人還沒有與通訊錄連絡人建立關聯。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:466
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts. "
+msgstr "您選取的某些連絡人(%1)還未與通訊錄連絡人建立關聯。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:468
+msgid ""
+"One of the contacts (%1) that you have selected is not associated with an "
+"addressbook contact. "
+msgstr "在您選取的連絡人有一位(%1)還未與通訊錄連絡人建立關聯。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:470
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook."
+msgstr "您可以用滑鼠右擊任一連絡人,並根據通訊錄中的條目編輯通訊錄關聯。"
+
+#: src/linkaddressbook/addressbook_base.cpp:477
+msgid ""
+"None of the contacts that you have selected have an email address associated "
+"with them. "
+msgstr "在您選取的連絡人中還沒有人擁有可供關聯的電子郵件位址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:484
+msgid ""
+"Some of the contacts (%1) that you have selected do not have an email address "
+"associated with them. "
+msgstr "您選取的某些連絡人(%1)還沒有擁有可供關聯的電子郵件位址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:486
+msgid ""
+"One of the contacts (%1) that you have selected does not have an email address "
+"associated with them. "
+msgstr "在您選取的連絡人有一位(%1)還沒有擁有可供關聯的電子郵件位址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:488
+msgid ""
+"You can right click on a contact, and choose to edit the addressbook contact, "
+"adding an email for them."
+msgstr "您可以用滑鼠右擊任一連絡人,然後編輯對應的通訊錄連絡人,為他們加入一個電子郵件位址。"
+
+#: src/linkaddressbook/addressbook_base.cpp:492
+msgid ""
+"Some of the contacts (%1) that you have selected are not associated with "
+"addressbook contacts, and some of the contacts (%2) do not have an email "
+"address associated with them. "
+msgstr "您選取的某些連絡人(%1)還未與通訊錄連絡人建立關聯,同時還有某些連絡人(%2)沒有可供關聯的電子郵件位址。 "
+
+#: src/linkaddressbook/addressbook_base.cpp:493
+msgid ""
+"You can right click on a contact, and choose to edit the Addressbook "
+"Associations to link them to a contact in your addressbook, and choose to edit "
+"the addressbook contact, adding an email for them."
+msgstr "您可以用滑鼠右擊任一連絡人,並根據通訊錄中的條目編輯通訊錄關聯,也可以在編輯通訊錄連絡人時為他們加入電子郵件位址。"
+
+#: src/linkaddressbook/addressbook_base.cpp:502
+msgid ""
+"\n"
+"Do you want to send an email anyway to the nicks that do have an email address?"
+msgstr ""
+"\n"
+"您真的要給那些還沒有電子郵件位址的暱稱傳送郵件嗎?"
+
+#: src/linkaddressbook/addressbook_base.cpp:503
+msgid "Send Email"
+msgstr "傳送郵件"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:51
+msgid "Link IRC Nick to Addressbook Contact"
+msgstr "將 IRC 暱稱連線到通訊錄連絡人"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:118
+msgid "Choose the person who '%1' is."
+msgstr "選擇暱稱為「%1」的連絡人。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:120
+msgid "Currently '%1' is associated with a contact."
+msgstr "目前暱稱為「%1」的使用者已被關聯到一個連絡人。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:122
+msgid "Currently '%1' is associated with contact '%2'."
+msgstr "目前暱稱為「%1」的用已被關聯到連絡人「%2」。"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:124
+msgid ""
+"<qt><b>Warning:</b> '%1' is currently being listed as belonging to multiple "
+"contacts. Please select the correct contact.</qt>"
+msgstr "<qt><b>警告:</b>根據現在的列出的情況,使用者「%1」隸屬於多個連絡人。請從中選擇正確的連絡人。</qt>"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:132
+msgid "New Address Book Entry"
+msgstr "新增通訊錄條目"
+
+#: src/linkaddressbook/linkaddressbookui.cpp:133
+msgid "Name the new entry:"
+msgstr "命名新條目:"
+
+#: src/urlcatcher.cpp:44 src/viewcontainer.cpp:1992
+msgid "URL Catcher"
+msgstr "URL 擷取器"
+
+#: src/urlcatcher.cpp:53
+msgid ""
+"List of Uniform Resource Locators mentioned in any of the Konversation windows "
+"during this session."
+msgstr "統一資源識別碼清單會給出目前 Konversation 作業階段視窗中所有的 URL。"
+
+#: src/urlcatcher.cpp:63
+msgid "&Open URL"
+msgstr "開啟 URL(&O)"
+
+#: src/urlcatcher.cpp:65
+msgid ""
+"<p>Select a <b>URL</b> above, then click this button to launch the application "
+"associated with the mimetype of the URL.</p>"
+"<p>In the <b>Settings</b>, under <b>Behavior</b> | <b>General</b>"
+", you can specify a custom web browser for web URLs.</p>"
+msgstr ""
+"<p>在上面選擇一個 <b>URL</b>,點擊它即可呼叫關聯到 URL 這個MIME 類型的程式。</p>"
+"<p>在<b>設定</b>對話方塊裏的<b>行為</b>><b>一般</b>選項卡中,您可以自行定義一個用於開啟 Web 目標的網頁瀏覽器。</p>"
+
+#: src/urlcatcher.cpp:70
+msgid "&Copy URL"
+msgstr "複製 URL(&C)"
+
+#: src/urlcatcher.cpp:72
+msgid ""
+"Select a <b>URL</b> above, then click this button to copy the URL to the "
+"clipboard."
+msgstr "在上面選擇一個 <b>URL</b>,點擊此按鈕可將其複製到剪貼簿。"
+
+#: src/urlcatcher.cpp:74
+msgid "&Delete URL"
+msgstr "刪除 URL(&D)"
+
+#: src/urlcatcher.cpp:76
+msgid ""
+"Select a <b>URL</b> above, then click this button to delete the URL from the "
+"list."
+msgstr "在上面選擇一個 <b>URL</b>,點擊此按鈕可將其從清單中刪除。"
+
+#: src/urlcatcher.cpp:78
+msgid "Sa&ve List..."
+msgstr "儲存清單(&V)..."
+
+#: src/urlcatcher.cpp:80
+msgid "Click to save the entire list to a file."
+msgstr "點此將 URL 條目清單儲存到檔案。"
+
+#: src/urlcatcher.cpp:82
+msgid "C&lear List"
+msgstr "清除清單(&L)"
+
+#: src/urlcatcher.cpp:84
+msgid "Click to erase the entire list."
+msgstr "點此擦除 URL 條目清單。"
+
+#: src/urlcatcher.cpp:211
+msgid "Save URL List"
+msgstr "儲存 URL 清單"
+
+#: src/multilineedit.cpp:24
+msgid "Edit Multiline Paste"
+msgstr "編輯多列貼上"
+
+#: src/multilineedit.cpp:26
+msgid "Add &Quotation Indicators"
+msgstr "加入參照識別(&Q)"
+
+#. i18n: file ./src/joinchannelui.ui line 33
+#: rc.cpp:1312 src/channeldialog.cpp:32
+#, no-c-format
+msgid "C&hannel:"
+msgstr "頻道(&H):"
+
+#: src/channeldialog.cpp:73
+msgid "The channel name is required."
+msgstr "需要一個頻道名稱。"
+
+#: src/rawlog.cpp:28 src/viewcontainer.cpp:2130
+msgid "Raw Log"
+msgstr "原始日誌"
+
+#: src/viewcontainer.cpp:527
+msgid "Search for text in the current tab"
+msgstr "在目前分頁中搜尋文字"
+
+#: src/viewcontainer.cpp:545
+#, c-format
+msgid "Channel &List for %1"
+msgstr "%1 的頻道清單(&L)"
+
+#: src/viewcontainer.cpp:565
+#, c-format
+msgid "&Open Logfile for %1"
+msgstr "開啟 %1 的日誌檔案(&O)"
+
+#: src/viewcontainer.cpp:576
+msgid "&Channel Settings for %1..."
+msgstr "%1 的頻道設定(&C)..."
+
+#: src/viewcontainer.cpp:1634
+msgid ""
+"_: Default encoding\n"
+"Default ( %1 )"
+msgstr "預設 (%1)"
+
+#: src/viewcontainer.cpp:1796
+msgid "You can only search in text fields."
+msgstr "您只能在文字欄搜尋。"
+
+#: src/viewcontainer.cpp:1797
+msgid "Find Text Information"
+msgstr "尋找文字資訊"
+
+#: src/viewcontainer.cpp:1972
+#, c-format
+msgid "Logfile of %1"
+msgstr "%1 的日誌檔案"
+
+#: src/dcctransferpanel.cpp:46 src/viewcontainer.cpp:2036
+msgid "DCC Status"
+msgstr "DCC 狀態"
+
+#: src/viewcontainer.cpp:2368
+msgid ""
+"Using this function may result in a lot of network traffic. If your connection "
+"is not fast enough, it is possible that your client will be disconnected by the "
+"server."
+msgstr "使用這項功能可能導致大量的網路流量。如果您的網路連線不夠迅速,您的客戶端連線有可能被伺服器插斷。"
+
+#: src/viewcontainer.cpp:2371
+msgid "Channel List Warning"
+msgstr "頻道清單警告"
+
+#: src/viewcontainer.cpp:2388
+msgid ""
+"The channel list can only be opened from a query, channel or status window to "
+"find out, which server this list belongs to."
+msgstr "頻道清單只能從對話,頻道或狀態視窗開啟,以找出清單屬於哪一個伺服器。"
+
+#: src/servergroupdialog.cpp:57
+msgid ""
+"Enter the name of the Network here. You may create as many entries in the "
+"Server List screen with the same Network as you like."
+msgstr "在此輸入網路名稱,您可以使用同一個網路名稱在伺服器清單螢幕裏建立盡可能多的您所喜愛的條目。"
+
+#: src/servergroupdialog.cpp:60
+msgid ""
+"Choose an existing Identity or click the Edit button to add a new Identity or "
+"edit an existing one. The Identity will identify you and determine your "
+"nickname when you connect to the network."
+msgstr "選擇一個既存的身分,或點擊編輯按鈕加入一個新的身分,也可以編輯已有身分。身分是您的辨認識別並且決定了您連線到網路時使用的暱稱。"
+
+#: src/servergroupdialog.cpp:69
+msgid ""
+"Optional. This command will be sent to the server after connecting. Example: <b>"
+"/msg NickServ IDENTIFY <i>konvirocks</i></b>. This example is for the freenode "
+"network, which requires users to register their nickname with a password and "
+"login when connecting. <i>konvirocks<i> is the password for the nickname given "
+"in Identity. You may enter more than one command by separating them with "
+"semicolons."
+msgstr ""
+"可選設定,您指定的命令會在連線到伺服器後被自動提交。例:<b>/msg NickServ IDENTIFY <i>konvirocks</i></b>"
+",此範例適用於 freenode 網路,它需要使用者在登入後註冊自己的暱稱並設定一個密碼,在這裏 <i>konvirocks<i> "
+"就是繫結到身分暱稱的密碼。您可以在這裏輸入一個或更多命令,用分號將它們間隔開來。"
+
+#: src/servergroupdialog.cpp:72
+msgid ""
+"Check here if you want Konversation to automatically connect to this network "
+"whenever you open Konversation."
+msgstr "如果您想要 Konversation 每次啟動時自動連線到這個網路,請選取此項。"
+
+#: src/servergroupdialog.cpp:74
+msgid ""
+"This is a list of IRC Servers in the network. When connecting to the network, "
+"Konversation will attempt to connect to the top server first. If this fails, it "
+"will attempt the second server. If this fails, it will attempt the third, and "
+"so on. At least one server must be specified. Click a server to highlight it."
+msgstr ""
+"這裏是網路上的 IRC 伺服器清單,當您連線到網路時,Konversation "
+"會自動嘗試連線到位於清單頂端的伺服器,如果連線失敗再嘗試第二個,若再次失敗則嘗試第三個,以下皆然。您需要在此至少指定一個伺服器,點擊任一伺服器可高亮度顯示它。"
+
+#: src/servergroupdialog.cpp:87
+msgid ""
+"Optional. This is a list of the channels that will be automatically joined once "
+"Konversation has connected to a server. You may leave this blank if you wish to "
+"not automatically join any channels."
+msgstr "可選設定。這是當 Konversation 連線到伺服器後會自動加入的頻道清單,如果您不打算自動加入任何頻道可將此項留空。"
+
+#: src/servergroupdialog.cpp:100
+msgid "Change network information"
+msgstr "變更網路資訊"
+
+#: src/servergroupdialog.cpp:176
+msgid "Add Server"
+msgstr "加入伺服器"
+
+#: src/servergroupdialog.cpp:193
+msgid "Edit Server"
+msgstr "編輯伺服器"
+
+#: src/servergroupdialog.cpp:290
+msgid "Add Channel"
+msgstr "加入頻道"
+
+#: src/servergroupdialog.cpp:307
+msgid "Edit Channel"
+msgstr "編輯頻道"
+
+#: src/servergroupdialog.cpp:404
+msgid "The network name is required."
+msgstr "這裏需要一個網路名稱。"
+
+#: src/servergroupdialog.cpp:408
+msgid "You need to add at least one server to the network."
+msgstr "您需要在此網路中加入到少一個伺服器。"
+
+#: src/theme_preferences.cpp:171
+msgid "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation Themes"
+msgstr "*.tar.gz *.tar.bz2 *.tar *.zip|Konversation 主題"
+
+#: src/theme_preferences.cpp:173
+msgid "Select Theme Package"
+msgstr "選擇主題套件"
+
+#: src/theme_preferences.cpp:186
+msgid "Failed to Download Theme"
+msgstr "下載主題失敗"
+
+#: src/theme_preferences.cpp:201 src/theme_preferences.cpp:222
+msgid "Theme archive is invalid."
+msgstr "主題套件無效"
+
+#: src/theme_preferences.cpp:202 src/theme_preferences.cpp:223
+msgid "Cannot Install Theme"
+msgstr "無法安裝主題"
+
+#: src/theme_preferences.cpp:248
+msgid "Do you want to remove %1 ?"
+msgstr "您真的要刪除 %1 嗎?"
+
+#: src/theme_preferences.cpp:249
+msgid "Remove Theme"
+msgstr "刪除主題"
+
+#: src/trayicon.cpp:41
+msgid "Konversation - IRC Client"
+msgstr "Konversation - IRC 客戶端"
+
+#: src/dccrecipientdialog.cpp:27
+msgid "Select Recipient"
+msgstr "選擇接收人"
+
+#: src/dccrecipientdialog.cpp:50
+msgid "Select nickname and close the window"
+msgstr "選擇暱稱並關閉視窗"
+
+#: src/dccrecipientdialog.cpp:51
+msgid "Close the window without changes"
+msgstr "不變更而關閉視窗"
+
+#: src/konvdcop.cpp:156
+msgid "getNickname: Server %1 is not found."
+msgstr "getNickname: 找不到伺服器 %1。"
+
+#: src/dcctransferrecv.cpp:178
+msgid "The admin has restricted the right to receive files"
+msgstr "總管已限制您接收檔案"
+
+#: src/dcctransferrecv.cpp:185
+msgid "Invalid sender address (%1)"
+msgstr "不合法的傳送者位址(%1)"
+
+#: src/dcctransferrecv.cpp:192
+msgid "Unsupported negotiation (filesize=0)"
+msgstr "不支援的對話(檔案大小=0)"
+
+#: src/dcctransferrecv.cpp:271
+msgid "<b>Cannot create the folder.</b><br>Folder: %1<br>"
+msgstr "<b>無法建立資料夾。</b><br>資料夾:%1<br>"
+
+#: src/dcctransferrecv.cpp:284
+msgid "Could not create a KIO instance"
+msgstr "無法建立 KIO 實體"
+
+#: src/dcctransferrecv.cpp:353
+msgid "<b>The file is used by another transfer.</b><br>%1<br>"
+msgstr "<b>檔案正被另一個傳輸使用中。</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:365
+msgid ""
+"<b>A partial file exists.</b>"
+"<br>%1"
+"<br>Size of the partial file: %2 bytes"
+"<br>"
+msgstr "<b>部分檔案已存在。</b><br>%1<br>部分檔案大小:%2 位元組<br>"
+
+#: src/dcctransferrecv.cpp:393
+msgid "<b>The file already exists.</b><br>%1<br>"
+msgstr "<b>檔案已存在。</b><br>%1<br>"
+
+#: src/dcctransferrecv.cpp:400
+msgid "<b>Could not open the file.<br>Error: %1</b><br>%2<br>"
+msgstr "<b>無法開啟檔案。<br>錯誤:%1</b><br>%2<br>"
+
+#: src/dcctransferrecv.cpp:441
+msgid ""
+"Could not send Reverse DCC SEND acknowledgement to the partner via the IRC "
+"server."
+msgstr "無法透過 IRC 伺服器傳送反向 DCC SEND 承認給同伴。"
+
+#: src/dcctransferrecv.cpp:447
+msgid "Waiting for connection"
+msgstr "等待連線中"
+
+#: src/dcctransferrecv.cpp:463
+msgid "Waiting for remote host's acceptance"
+msgstr "正在等待遠端主機接收"
+
+#: src/dcctransferrecv.cpp:474
+msgid ""
+"Could not send DCC RECV resume request to the partner via the IRC server."
+msgstr "無法透過 IRC 伺服器傳送 DCC RECV 回復要求給同伴。"
+
+#: src/dcctransferrecv.cpp:493
+msgid "Unexpected response from remote host"
+msgstr "不可預料的遠端主機應答"
+
+#: src/dcctransferrecv.cpp:629
+msgid "Transferring error"
+msgstr "傳輸時發生錯誤"
+
+#: src/dcctransferrecv.cpp:645
+#, c-format
+msgid "KIO error: %1"
+msgstr "KIO 發生錯誤:%1"
+
+#: src/query.cpp:68
+msgid ""
+"<qt>Some details of the person you are talking to in this query is shown in "
+"this bar. The full name and hostmask is shown, along with any image or logo "
+"this person has associated with them in the KDE Addressbook."
+"<p>See the <i>Konversation Handbook</i> for information on associating a nick "
+"with a contact in the Addressbook, and for an explanation of what the hostmask "
+"is.</qt>"
+msgstr ""
+"<qt>與您正在對話的使用者的部分細節資訊會在此欄裏顯示,包括他的全名稱與主機遮罩,還有他在通訊錄裏關聯到的圖片或徽標。"
+"<p>參看 <i>Konversation 手冊</i> 可以獲得將暱稱關聯到通訊錄連絡人的更多相關資訊,您也可以從中讀到對主機遮罩的解釋。</qt>"
+
+#: src/channel.cpp:231 src/query.cpp:101 src/statuspanel.cpp:55
+msgid "(away)"
+msgstr "(離開)"
+
+#: src/channel.cpp:620 src/query.cpp:388
+msgid "Do you want to ignore %1?"
+msgstr "您想要忽略 %1 嗎?"
+
+#: src/query.cpp:394
+msgid "Do you want to close this query after ignoring this nickname?"
+msgstr "您要忽略暱稱後關閉此對話嗎?"
+
+#: src/query.cpp:395
+msgid "Close This Query"
+msgstr "關閉此對話"
+
+#: src/query.cpp:397
+msgid "Keep Open"
+msgstr "保持開啟"
+
+#: src/channel.cpp:638 src/query.cpp:408
+msgid "Do you want to stop ignoring %1?"
+msgstr "您想要停止忽略 %1 嗎?"
+
+#: src/channel.cpp:2671 src/query.cpp:593 src/statuspanel.cpp:350
+msgid "Identity Default ( %1 )"
+msgstr "預設身分(%1)"
+
+#: src/query.cpp:600
+msgid "Do you want to close your query with %1?"
+msgstr "您真的要關閉與 %1 的對話嗎?"
+
+#: src/query.cpp:600
+msgid "Close Query"
+msgstr "關閉對話"
+
+#: src/query.cpp:646
+msgid "Talking to yourself"
+msgstr "正在和自己對話"
+
+#: src/channel.cpp:1329 src/query.cpp:662
+msgid "%1 has left this server."
+msgstr "%1 已經離開伺服器。"
+
+#: src/query.cpp:669
+msgid "%1 has left this server (%2)."
+msgstr "%1 已經離開伺服器(%2)。"
+
+#: src/osd.cpp:321
+msgid "OSD Preview - drag to reposition"
+msgstr "OSD 預覽 - 拖曳可重新定位"
+
+#: src/channelnick.cpp:212
+msgid "Operator"
+msgstr "管理員"
+
+#: src/channelnick.cpp:213
+msgid "Admin"
+msgstr "總管"
+
+#: src/channelnick.cpp:214
+msgid "Owner"
+msgstr "擁有者"
+
+#: src/channelnick.cpp:215
+msgid "Half-operator"
+msgstr "助理"
+
+#: src/channelnick.cpp:216
+msgid "Has voice"
+msgstr "有語音"
+
+#: src/konvisettingsdialog.cpp:54 src/konvisettingsdialog.cpp:77
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:91
+#: src/konvisettingsdialog.cpp:97 src/konvisettingsdialog.cpp:103
+#: src/konvisettingsdialog.cpp:111
+msgid "Interface"
+msgstr "介面"
+
+#: src/konvisettingsdialog.cpp:58 src/konvisettingsdialog.cpp:62
+#: src/konvisettingsdialog.cpp:117 src/konvisettingsdialog.cpp:123
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:135
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:151
+#: src/konvisettingsdialog.cpp:159 src/konvisettingsdialog.cpp:167
+#: src/konvisettingsdialog.cpp:172
+msgid "Behavior"
+msgstr "行為"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 59
+#: rc.cpp:802 src/konvisettingsdialog.cpp:66 src/konvisettingsdialog.cpp:178
+#: src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:192
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:210
+#, no-c-format
+msgid "Notifications"
+msgstr "通知"
+
+#: src/konvisettingsdialog.cpp:77 src/konvisettingsdialog.cpp:78
+#: src/konvisettingsdialog.cpp:129 src/konvisettingsdialog.cpp:130
+msgid "Chat Window"
+msgstr "聊天視窗"
+
+#: src/konvisettingsdialog.cpp:83 src/konvisettingsdialog.cpp:84
+msgid "Nicklist Themes"
+msgstr "暱稱清單主題圖示"
+
+#: src/konvisettingsdialog.cpp:91 src/konvisettingsdialog.cpp:92
+msgid "Colors"
+msgstr "顏色"
+
+#: src/konvisettingsdialog.cpp:103 src/konvisettingsdialog.cpp:104
+msgid "Quick Buttons"
+msgstr "快捷按鈕"
+
+#: src/konvisettingsdialog.cpp:123 src/konvisettingsdialog.cpp:124
+msgid "Connection"
+msgstr "連線"
+
+#: src/konvisettingsdialog.cpp:135 src/konvisettingsdialog.cpp:136
+msgid "Nickname List"
+msgstr "暱稱清單"
+
+#: src/konvisettingsdialog.cpp:143 src/konvisettingsdialog.cpp:144
+msgid "Command Aliases"
+msgstr "命令別名"
+
+#: src/konvisettingsdialog.cpp:151 src/konvisettingsdialog.cpp:152
+msgid "Auto Replace"
+msgstr "自動取代"
+
+#: src/konvisettingsdialog.cpp:167 src/konvisettingsdialog.cpp:168
+msgid "Logging"
+msgstr "日誌"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 270
+#: rc.cpp:826 src/konvisettingsdialog.cpp:184 src/konvisettingsdialog.cpp:185
+#, no-c-format
+msgid "Highlight"
+msgstr "高亮度"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 173
+#: rc.cpp:484 src/konvisettingsdialog.cpp:192 src/konvisettingsdialog.cpp:193
+#, no-c-format
+msgid "Watched Nicknames"
+msgstr "被監視的暱稱"
+
+#: src/konvisettingsdialog.cpp:202 src/konvisettingsdialog.cpp:203
+msgid "On Screen Display"
+msgstr "螢幕顯示"
+
+#: src/konvisettingsdialog.cpp:210 src/konvisettingsdialog.cpp:211
+msgid "Warning Dialogs"
+msgstr "警告對話"
+
+#: src/dccresumedialog.cpp:46
+msgid "DCC Receive Question"
+msgstr "DCC 接收詢問"
+
+#: src/dccresumedialog.cpp:65
+msgid "&Resume"
+msgstr "續傳(&R)"
+
+#: src/dccresumedialog.cpp:87
+msgid "O&riginal Filename"
+msgstr "原始檔名(&R)"
+
+#: src/dccresumedialog.cpp:88
+msgid "Suggest &New Filename"
+msgstr "建議的新檔名(&N)"
+
+#: src/dccresumedialog.cpp:133
+msgid "&Overwrite"
+msgstr "覆寫(&O)"
+
+#: src/dccresumedialog.cpp:139
+msgid "R&ename"
+msgstr "重新命名(&E)"
+
+#: src/searchbar.cpp:70
+msgid "Find Forward"
+msgstr "往前尋找"
+
+#: src/searchbar.cpp:71
+msgid "Case Sensitive"
+msgstr "區分大小寫"
+
+#: src/searchbar.cpp:72
+msgid "Whole Words Only"
+msgstr "完整單字"
+
+#: src/searchbar.cpp:73
+msgid "From Cursor"
+msgstr "從游標處開始"
+
+#: src/statuspanel.cpp:273
+msgid ""
+"Do you really want to close '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"您確定要關閉 %1 嗎?\n"
+"\n"
+"所有相關的分頁都會一起關閉。"
+
+#: src/statuspanel.cpp:274
+msgid "Close Tab"
+msgstr "關閉分頁"
+
+#: src/statuspanel.cpp:280
+msgid ""
+"Do you want to disconnect from '%1'?\n"
+"\n"
+" All associated tabs will be closed as well."
+msgstr ""
+"您確定中斷與 %1 的連線嗎?\n"
+"\n"
+"所有相關的分頁都會一起關閉。"
+
+#: src/statuspanel.cpp:281
+msgid "Disconnect From Server"
+msgstr "從伺服器中斷連線"
+
+#: src/statuspanel.cpp:282
+msgid "Disconnect"
+msgstr "中斷"
+
+#: src/dcctransferpanel.cpp:78
+msgid "Started at"
+msgstr "開始於"
+
+#: src/dcctransferpanel.cpp:79
+msgid "Status"
+msgstr "狀態"
+
+#: src/dcctransferpanel.cpp:81
+msgid "Partner"
+msgstr "伙伴"
+
+#: src/dcctransferpanel.cpp:82
+msgid "Progress"
+msgstr "進度"
+
+#: src/dcctransferpanel.cpp:83
+msgid "Position"
+msgstr "位置"
+
+#: src/dcctransferpanel.cpp:84
+msgid "Remaining"
+msgstr "剩餘"
+
+#: src/dcctransferpanel.cpp:85
+msgid "Speed"
+msgstr "速度"
+
+#: src/dcctransferpanel.cpp:86
+msgid "Sender Address"
+msgstr "傳送者位址"
+
+#: src/dcctransferpanel.cpp:115
+msgid "Accept"
+msgstr "接受"
+
+#: src/dcctransferpanel.cpp:116
+msgid "Abort"
+msgstr "中止"
+
+#: src/dcctransferpanel.cpp:118
+msgid "Open File"
+msgstr "開啟檔案"
+
+#: src/dcctransferpanel.cpp:122
+msgid "Start receiving"
+msgstr "開始接收"
+
+#: src/dcctransferpanel.cpp:123
+msgid "Abort the transfer(s)"
+msgstr "中止傳輸"
+
+#: src/dcctransferpanel.cpp:124
+msgid "Run the file"
+msgstr "執行檔案"
+
+#: src/dcctransferpanel.cpp:125
+msgid "View DCC transfer details"
+msgstr "檢視 DCC 傳輸詳情"
+
+#: src/dcctransferpanel.cpp:139
+msgid "&Select All Items"
+msgstr "選取全部項目(&S)"
+
+#: src/dcctransferpanel.cpp:140
+msgid "S&elect All Completed Items"
+msgstr "選取所有已完成的項目(&E)"
+
+#: src/dcctransferpanel.cpp:142
+msgid "&Accept"
+msgstr "接受(&A)"
+
+#: src/dcctransferpanel.cpp:143
+msgid "A&bort"
+msgstr "中止(&B)"
+
+#: src/dcctransferpanel.cpp:146
+msgid "Resend"
+msgstr "重新傳送"
+
+#: src/dcctransferpanel.cpp:147
+msgid "&Clear"
+msgstr "清除(&C)"
+
+#: src/dcctransferpanel.cpp:149
+msgid "&Open File"
+msgstr "開啟檔案(&O)"
+
+#: src/dcctransferpanel.cpp:150
+msgid "File &Information"
+msgstr "檔案資訊(&I)"
+
+#: src/channel.cpp:128
+msgid "Edit Channel Settings"
+msgstr "編輯頻道設定"
+
+#: src/channel.cpp:132
+msgid ""
+"<qt>Every channel on IRC has a topic associated with it. This is simply a "
+"message that everybody can see."
+"<p>If you are an operator, or the channel mode <em>'T'</em> "
+"has not been set, then you can change the topic by clicking the Edit Channel "
+"Properties button to the left of the topic. You can also view the history of "
+"topics there.</qt>"
+msgstr ""
+"<qt>在 IRC 上的每個頻道都有相關的話題,這是一條每個人都能看到的簡單訊息。"
+"<p>如果您是一名稱管理員,或是 <em>「T」</em> "
+"頻道模式未予設定,您就可以點擊話題訊息左邊的編輯頻道屬性按鈕修改話題,同時您也可以從中檢視以往的話題命令歷程。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 169
+#: rc.cpp:646 src/channel.cpp:152
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>The <b>T</b>opic mode means that only the channel operator can change the "
+"topic for the channel.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>設定<b>T</b> 模式(Topic)意味著只有頻道的管理員才可以改動頻道的話題。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 180
+#: rc.cpp:652 src/channel.cpp:153
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p><b>N</b>o messages from outside means that users that are not in the channel "
+"cannot send messages that everybody in the channel can see. Almost all "
+"channels have this set to prevent nuisance messages.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p><b>N</b>模式(No messages from "
+"outside)意味著不在此頻道的使用者不能給此頻道傳送公開訊息,幾乎所有的頻道都啟用了此設定來防止討厭的訊息。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 191
+#: rc.cpp:658 src/channel.cpp:154
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>S</b>ecret channel will not show up in the channel list, nor will any "
+"user be able to see that you are in the channel with the <em>WHOIS</em> "
+"command or anything similar. Only the people that are in the same channel will "
+"know that you are in this channel, if this mode is set.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>如果設定了<b>S</b>模式(Secret),此頻道將不會在頻道清單中顯示,同時任何人都無法利用對他人使用<em>WHOIS</em>"
+"或其他類似命令來察覺此頻道。只有和您位於同一機密頻道的人才能知道您正在這個頻道裏。</qt>"
+
+#: src/channel.cpp:155
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command <em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>設定了<b>I</b>模式(Invite "
+"only)的頻道意味著他人若非被邀請否則無法進入此頻道。如果需要邀請某人,頻道管理員應在他所處於的頻道內傳送此命令 <em>/invite nick</em>"
+"。</qt>"
+
+#: src/channel.cpp:156
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rivate channel is shown in a listing of all channels, but the "
+"topic is not shown. A user's <em>WHOIS</e> may or may not show them as being "
+"in a private channel depending on the IRC server.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>設定為 <b>P</b> 模式(Private)的頻道雖然會在全部頻道的清單裏顯示,但話題將被隱藏。使用者的 <em>WHOIS</e> "
+"命令能否顯示出這些則取決於不同 IRC 伺服器對私人頻道的規劃。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 213
+#: rc.cpp:670 src/channel.cpp:157
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>M</b>oderated channel is one where only operators, half-operators and "
+"those with voice can talk.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>在設定了 <b>M</b> 模式(Moderated)的頻道裏只有管理員、助理以及擁有語音權限的使用者才可以相互交談。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 232
+#: rc.cpp:676 rc.cpp:688 src/channel.cpp:158
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A <b>P</b>rotected channel requires users to enter a password in order to "
+"join.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>具有 <b>P</b> 模式(Protected)設定的頻道要求使用者輸入正確的密碼才能夠加入。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 246
+#: rc.cpp:679 rc.cpp:685 src/channel.cpp:159
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>A channel that has a user <b>L</b>imit means that only that many users can "
+"be in the channel at any one time. Some channels have a bot that sits in the "
+"channel and changes this automatically depending on how busy the channel "
+"is.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>一個頻道若具有 <b>L</b> 模式(Limit)設定則意味著它在同一時刻所能容納的使用者數量是有規限的,有些頻道會布置 bot "
+"常駐於內並根據頻道的繁忙程度自動調整其數量。</qt>"
+
+#: src/channel.cpp:171
+msgid "Maximum users allowed in channel"
+msgstr "頻道允許的最大使用者數量"
+
+#: src/channel.cpp:172
+msgid ""
+"<qt>This is the channel user limit - the maximum number of users that can be in "
+"the channel at a time. If you are an operator, you can set this. The channel "
+"mode <b>T</b>opic (button to left) will automatically be set if set this.</qt>"
+msgstr ""
+"<qt>頻道使用者限額是同一時刻特定頻道內最多可以容納的使用者數量,如果您是管理員,可以調節此數值。如果它被設定了,頻道的 <b>T</b> "
+"模式(Topic)也會被自動選取。</qt>"
+
+#: src/channel.cpp:228
+msgid ""
+"<qt>This shows your current nick, and any alternatives you have set up. If you "
+"select or type in a different nickname, then a request will be sent to the IRC "
+"server to change your nick. If the server allows it, the new nickname will be "
+"selected. If you type in a new nickname, you need to press 'Enter' at the end."
+"<p>You can add change the alternative nicknames from the <em>Identities</em> "
+"option in the <em>File</em> menu.</qt>"
+msgstr ""
+"<qt>這裏顯示的是您目前以及所有備選的暱稱。如果您選擇或輸入了一個與現在的不同的暱稱,會有一個改名請求被提交到 IRC "
+"伺服器,如果伺服器允許您改名,新的暱稱就會所選中。當您在輸入一個新的暱稱時,需要在最後輸入回車使其生效。"
+"<p>您可以透過<em>檔案</em>選單下的<em>身分</em>選項卡加入或修改備選暱稱。</qt>"
+
+#: src/channel.cpp:622
+msgid "Do you want to ignore the selected users?"
+msgstr "您想要忽略已選取的使用者嗎?"
+
+#: src/channel.cpp:640
+msgid "Do you want to stop ignoring the selected users?"
+msgstr "您想要停止忽略選取的使用者嗎?"
+
+#: src/channel.cpp:779
+msgid "Completion"
+msgstr "補齊"
+
+#: src/channel.cpp:779
+#, c-format
+msgid "Possible completions: %1."
+msgstr "可能的補齊:%1。"
+
+#: src/channel.cpp:1152
+msgid "Channel Password"
+msgstr "頻道密碼"
+
+#: src/channel.cpp:1165
+msgid "Nick Limit"
+msgstr "暱稱限制"
+
+#: src/channel.cpp:1166
+msgid "Enter the new nick limit:"
+msgstr "輸入新的暱稱限制:"
+
+#: src/channel.cpp:1250
+#, c-format
+msgid "You are now known as %1."
+msgstr "您現在的名稱是 %1。"
+
+#: src/channel.cpp:1255
+msgid "%1 is now known as %2."
+msgstr "%1 現在的名稱是 %2。"
+
+#: src/channel.cpp:1269
+msgid ""
+"_: %1 is the channel and %2 is our hostmask\n"
+"You have joined the channel %1 (%2)."
+msgstr "您已經加入頻道 %1(%2)。"
+
+#: src/channel.cpp:1286
+msgid ""
+"_: %1 is the nick joining and %2 the hostmask of that nick\n"
+"%1 has joined this channel (%2)."
+msgstr "%1 已加入此頻道(%2)。"
+
+#: src/channel.cpp:1308
+msgid "You have left this server."
+msgstr "您已經離開此伺服器。"
+
+#: src/channel.cpp:1310
+msgid ""
+"_: %1 adds the reason\n"
+"You have left this server (%1)."
+msgstr "您已經離開此伺服器(%1)。"
+
+#: src/channel.cpp:1315
+#, c-format
+msgid "You have left channel %1."
+msgstr "您已經離開頻道 %1。"
+
+#: src/channel.cpp:1318
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have left channel %1 (%2)."
+msgstr "您已經離開頻道 %1(%2)。"
+
+#: src/channel.cpp:1332
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this server (%2)."
+msgstr "%1 已經離開伺服器(%2)。"
+
+#: src/channel.cpp:1337
+msgid "%1 has left this channel."
+msgstr "%1 已經離開此頻道。"
+
+#: src/channel.cpp:1340
+msgid ""
+"_: %1 adds the nick and %2 the reason\n"
+"%1 has left this channel (%2)."
+msgstr "%1 已經離開此頻道(%2)。"
+
+#: src/channel.cpp:1378
+#, c-format
+msgid "You have kicked yourself from channel %1."
+msgstr "您已經把自己從頻道 %1 踢出。"
+
+#: src/channel.cpp:1381
+msgid ""
+"_: %1 adds the channel and %2 the reason\n"
+"You have kicked yourself from channel %1 (%2)."
+msgstr "您已經把自己從頻道 %1 踢出。(%2)"
+
+#: src/channel.cpp:1388
+msgid ""
+"_: %1 adds the channel, %2 adds the kicker\n"
+"You have been kicked from channel %1 by %2."
+msgstr "您已經被 %2 從頻道 %1 踢出。"
+
+#: src/channel.cpp:1394
+msgid ""
+"_: %1 adds the channel, %2 the kicker and %3 the reason\n"
+"You have been kicked from channel %1 by %2 (%3)."
+msgstr "您已經被 %2 從頻道 %1 踢出。(%3)"
+
+#: src/channel.cpp:1415
+msgid "You have kicked %1 from the channel."
+msgstr "您已經把 %1 從此頻道踢出。"
+
+#: src/channel.cpp:1418
+msgid ""
+"_: %1 adds the kicked nick and %2 the reason\n"
+"You have kicked %1 from the channel (%2)."
+msgstr "您已經把 %1 從頻道 (%2) 踢出。"
+
+#: src/channel.cpp:1425
+msgid ""
+"_: %1 adds the kicked nick, %2 adds the kicker\n"
+"%1 has been kicked from the channel by %2."
+msgstr "%1 已經被 %2 從此頻道踢出。"
+
+#: src/channel.cpp:1431
+msgid ""
+"_: %1 adds the kicked nick, %2 the kicker and %3 the reason\n"
+"%1 has been kicked from the channel by %2 (%3)."
+msgstr "%1 已經被 %2 從此頻道踢出。(%3)"
+
+#: src/channel.cpp:1506
+#, c-format
+msgid ""
+"_n: %n nick\n"
+"%n nicks"
+msgstr "%n 個暱稱"
+
+#: src/channel.cpp:1507
+#, c-format
+msgid ""
+"_n: (%n op)\n"
+" (%n ops)"
+msgstr " (%n 位管理員)"
+
+#: src/channel.cpp:1514
+msgid "The channel topic is \"%1\"."
+msgstr "頻道話題是「%1」。"
+
+#: src/channel.cpp:1533
+msgid "You set the channel topic to \"%1\"."
+msgstr "您設定頻道話題為「%1」。"
+
+#: src/channel.cpp:1537
+msgid "%1 sets the channel topic to \"%2\"."
+msgstr "%1 設定頻道話題為「%2」。"
+
+#: src/channel.cpp:1600
+msgid "You give channel owner privileges to yourself."
+msgstr "您給與自己頻道擁有者權限。"
+
+#: src/channel.cpp:1602
+#, c-format
+msgid "You give channel owner privileges to %1."
+msgstr "您給與 %1 頻道擁有者權限。"
+
+#: src/channel.cpp:1607
+msgid "%1 gives channel owner privileges to you."
+msgstr "%1 給與您頻道擁有者權限。"
+
+#: src/channel.cpp:1609
+msgid "%1 gives channel owner privileges to %2."
+msgstr "%1 給與 %2 頻道擁有者權限。"
+
+#: src/channel.cpp:1617
+msgid "You take channel owner privileges from yourself."
+msgstr "您取消了自己的頻道擁有者權限。"
+
+#: src/channel.cpp:1619
+#, c-format
+msgid "You take channel owner privileges from %1."
+msgstr "您取消了 %1 的頻道擁有者權限。"
+
+#: src/channel.cpp:1624
+msgid "%1 takes channel owner privileges from you."
+msgstr "%1 取消了您的頻道擁有者權限。"
+
+#: src/channel.cpp:1626
+msgid "%1 takes channel owner privileges from %2."
+msgstr "%1 取消了 %2 的頻道擁有者權限。"
+
+#: src/channel.cpp:1643
+msgid "You give channel admin privileges to yourself."
+msgstr "您給與自己頻道總管權限。"
+
+#: src/channel.cpp:1645
+#, c-format
+msgid "You give channel admin privileges to %1."
+msgstr "您給與 %1 頻道總管權限。"
+
+#: src/channel.cpp:1650
+msgid "%1 gives channel admin privileges to you."
+msgstr "%1 給與您頻道總管權限。"
+
+#: src/channel.cpp:1652
+msgid "%1 gives channel admin privileges to %2."
+msgstr "%1 給與 %2 頻道總管權限。"
+
+#: src/channel.cpp:1660
+msgid "You take channel admin privileges from yourself."
+msgstr "您取消了自己的頻道總管權限。"
+
+#: src/channel.cpp:1662
+#, c-format
+msgid "You take channel admin privileges from %1."
+msgstr "您取消了 %1 的頻道總管權限。"
+
+#: src/channel.cpp:1667
+msgid "%1 takes channel admin privileges from you."
+msgstr "%1 取消了您的頻道總管權限。"
+
+#: src/channel.cpp:1669
+msgid "%1 takes channel admin privileges from %2."
+msgstr "%1 取消了 %2 的頻道總管權限。"
+
+#: src/channel.cpp:1686
+msgid "You give channel operator privileges to yourself."
+msgstr "您給與自己頻道管理員權限。"
+
+#: src/channel.cpp:1688
+#, c-format
+msgid "You give channel operator privileges to %1."
+msgstr "您給與 %1 頻道管理員權限。"
+
+#: src/channel.cpp:1693
+msgid "%1 gives channel operator privileges to you."
+msgstr "%1 給與您頻道管理員權限。"
+
+#: src/channel.cpp:1695
+msgid "%1 gives channel operator privileges to %2."
+msgstr "%1 給與 %2 頻道管理員權限。"
+
+#: src/channel.cpp:1703
+msgid "You take channel operator privileges from yourself."
+msgstr "您取消了自己的頻道管理員權限。"
+
+#: src/channel.cpp:1705
+#, c-format
+msgid "You take channel operator privileges from %1."
+msgstr "您取消了 %1 的頻道管理員權限。"
+
+#: src/channel.cpp:1710
+msgid "%1 takes channel operator privileges from you."
+msgstr "%1 取消了您的頻道管理員權限。"
+
+#: src/channel.cpp:1712
+msgid "%1 takes channel operator privileges from %2."
+msgstr "%1 取消了 %2 的頻道管理員權限。"
+
+#: src/channel.cpp:1729
+msgid "You give channel halfop privileges to yourself."
+msgstr "您給與自己頻道助理員權限。"
+
+#: src/channel.cpp:1731
+#, c-format
+msgid "You give channel halfop privileges to %1."
+msgstr "您給與 %1 頻道助理員權限。"
+
+#: src/channel.cpp:1736
+msgid "%1 gives channel halfop privileges to you."
+msgstr "%1 給與您頻道助理管理員權限。"
+
+#: src/channel.cpp:1738
+msgid "%1 gives channel halfop privileges to %2."
+msgstr "%1 給與 %2 頻道助理員權限。"
+
+#: src/channel.cpp:1746
+msgid "You take channel halfop privileges from yourself."
+msgstr "您取消了自己的頻道助理員權限。"
+
+#: src/channel.cpp:1748
+#, c-format
+msgid "You take channel halfop privileges from %1."
+msgstr "您取消了 %1 的頻道助理員權限。"
+
+#: src/channel.cpp:1753
+msgid "%1 takes channel halfop privileges from you."
+msgstr "%1 取消了您的頻道助理員權限。"
+
+#: src/channel.cpp:1755
+msgid "%1 takes channel halfop privileges from %2."
+msgstr "%1 取消了 %2 的頻道助理員權限。"
+
+#: src/channel.cpp:1773
+msgid "You give yourself permission to talk."
+msgstr "您給與自己談話權限。"
+
+#: src/channel.cpp:1774
+msgid "You give %1 permission to talk."
+msgstr "您給與 %1 談話權限。"
+
+#: src/channel.cpp:1778
+msgid "%1 gives you permission to talk."
+msgstr "%1 給與您談話權限。"
+
+#: src/channel.cpp:1779
+msgid "%1 gives %2 permission to talk."
+msgstr "%1 給與 %2 談話權限。"
+
+#: src/channel.cpp:1786
+msgid "You take the permission to talk from yourself."
+msgstr "您取消了自己的談話權限。"
+
+#: src/channel.cpp:1787
+#, c-format
+msgid "You take the permission to talk from %1."
+msgstr "您取消了 %1 的談話權限。"
+
+#: src/channel.cpp:1791
+msgid "%1 takes the permission to talk from you."
+msgstr "%1 取消了您的談話權限。"
+
+#: src/channel.cpp:1792
+msgid "%1 takes the permission to talk from %2."
+msgstr "%1 取消了 %2 的談話權限。"
+
+#: src/channel.cpp:1805
+msgid "You set the channel mode to 'no colors allowed'."
+msgstr "您設定頻道模式為「不允許顏色」。"
+
+#: src/channel.cpp:1806
+msgid "%1 sets the channel mode to 'no colors allowed'."
+msgstr "%1 設定頻道模式為「不允許顏色」。"
+
+#: src/channel.cpp:1810
+msgid "You set the channel mode to 'allow color codes'."
+msgstr "您設定頻道模式為「允許顏色程式碼」。"
+
+#: src/channel.cpp:1811
+msgid "%1 sets the channel mode to 'allow color codes'."
+msgstr "%1 設定頻道模式為「允許顏色程式碼」。"
+
+#: src/channel.cpp:1818
+msgid "You set the channel mode to 'invite only'."
+msgstr "您設定頻道模式為「只接受邀請」。"
+
+#: src/channel.cpp:1819
+msgid "%1 sets the channel mode to 'invite only'."
+msgstr "%1 設定頻道模式為「只接受邀請」。"
+
+#: src/channel.cpp:1823
+msgid "You remove the 'invite only' mode from the channel."
+msgstr "您取消了頻道的「只接受邀請」模式。"
+
+#: src/channel.cpp:1824
+msgid "%1 removes the 'invite only' mode from the channel."
+msgstr "%1 取消了頻道的「只接受邀請」模式。"
+
+#: src/channel.cpp:1832
+msgid "You set the channel mode to 'moderated'."
+msgstr "您設定頻道模式為「監管的」。"
+
+#: src/channel.cpp:1833
+msgid "%1 sets the channel mode to 'moderated'."
+msgstr "%1 設定頻道模式為「監管的」。"
+
+#: src/channel.cpp:1837
+msgid "You set the channel mode to 'unmoderated'."
+msgstr "您設定頻道模式為「非監管的」。"
+
+#: src/channel.cpp:1838
+msgid "%1 sets the channel mode to 'unmoderated'."
+msgstr "%1 設定頻道模式為「非監管的」。"
+
+#: src/channel.cpp:1846
+msgid "You set the channel mode to 'no messages from outside'."
+msgstr "您設定頻道模式為「無外部訊息」。"
+
+#: src/channel.cpp:1847
+msgid "%1 sets the channel mode to 'no messages from outside'."
+msgstr "%1 設定頻道模式為「無外部訊息」。"
+
+#: src/channel.cpp:1851
+msgid "You set the channel mode to 'allow messages from outside'."
+msgstr "您設定頻道模式為「允許外部訊息」。"
+
+#: src/channel.cpp:1852
+msgid "%1 sets the channel mode to 'allow messages from outside'."
+msgstr "%1 設定頻道模式為「允許外部訊息」。"
+
+#: src/channel.cpp:1860
+msgid "You set the channel mode to 'private'."
+msgstr "您設定頻道模式為「私人」。"
+
+#: src/channel.cpp:1861
+msgid "%1 sets the channel mode to 'private'."
+msgstr "%1 設定頻道模式為「私人」"
+
+#: src/channel.cpp:1865
+msgid "You set the channel mode to 'public'."
+msgstr "您設定頻道模式為「公共」。"
+
+#: src/channel.cpp:1866
+msgid "%1 sets the channel mode to 'public'."
+msgstr "%1 設定頻道模式為「公共」。"
+
+#: src/channel.cpp:1875
+msgid "You set the channel mode to 'secret'."
+msgstr "您設定頻道模式為「機密」。"
+
+#: src/channel.cpp:1876
+msgid "%1 sets the channel mode to 'secret'."
+msgstr "%1 設定頻道模式為「機密」。"
+
+#: src/channel.cpp:1880
+msgid "You set the channel mode to 'visible'."
+msgstr "您設定頻道模式為「可見」。"
+
+#: src/channel.cpp:1881
+msgid "%1 sets the channel mode to 'visible'."
+msgstr "%1 設定頻道模式為「可見」。"
+
+#: src/channel.cpp:1892
+msgid "You switch on 'topic protection'."
+msgstr "您啟用了「話題保護」。"
+
+#: src/channel.cpp:1893
+msgid "%1 switches on 'topic protection'."
+msgstr "%1 關閉了「話題保護」。"
+
+#: src/channel.cpp:1897
+msgid "You switch off 'topic protection'."
+msgstr "您關閉了「話題保護」。"
+
+#: src/channel.cpp:1898
+msgid "%1 switches off 'topic protection'."
+msgstr "%1 關閉了「話題保護」。"
+
+#: src/channel.cpp:1906
+msgid "You set the channel key to '%1'."
+msgstr "您設定頻道金鑰為「%1」。"
+
+#: src/channel.cpp:1907
+msgid "%1 sets the channel key to '%2'."
+msgstr "%1 設定頻道金鑰為「%2」。"
+
+#: src/channel.cpp:1911
+msgid "You remove the channel key."
+msgstr "您取消了頻道金鑰。"
+
+#: src/channel.cpp:1912
+msgid "%1 removes the channel key."
+msgstr "%1 移除了頻道金鑰。"
+
+#: src/channel.cpp:1920
+msgid "You set the channel limit to %1 nicks."
+msgstr "您對暱稱為 %1 的使用者設定了頻道限制。"
+
+#: src/channel.cpp:1921
+msgid "%1 sets the channel limit to %2 nicks."
+msgstr "%1 您對暱稱為 %2 的使用者設定了頻道限制。"
+
+#: src/channel.cpp:1925
+msgid "You remove the channel limit."
+msgstr "您取消了頻道限制。"
+
+#: src/channel.cpp:1926
+msgid "%1 removes the channel limit."
+msgstr "%1 取消了頻道限制。"
+
+#: src/channel.cpp:1936
+#, c-format
+msgid "You set a ban on %1."
+msgstr "您對 %1 設定了封禁。"
+
+#: src/channel.cpp:1937
+msgid "%1 sets a ban on %2."
+msgstr "%1 對 %2 設定了封禁。"
+
+#: src/channel.cpp:1941
+#, c-format
+msgid "You remove the ban on %1."
+msgstr "您取消了對 %1 的封禁。"
+
+#: src/channel.cpp:1942
+msgid "%1 removes the ban on %2."
+msgstr "%1 取消了對 %2 的封禁。"
+
+#: src/channel.cpp:1949
+#, c-format
+msgid "You set a ban exception on %1."
+msgstr "您對 %1 設定了封禁例外。"
+
+#: src/channel.cpp:1950
+msgid "%1 sets a ban exception on %2."
+msgstr "%1 對 %2 設定了封禁例外。"
+
+#: src/channel.cpp:1954
+#, c-format
+msgid "You remove the ban exception on %1."
+msgstr "您取消了對 %1 的封禁例外。"
+
+#: src/channel.cpp:1955
+msgid "%1 removes the ban exception on %2."
+msgstr "%1 取消了對 %2 的封禁例外。"
+
+#: src/channel.cpp:1962
+#, c-format
+msgid "You set invitation mask %1."
+msgstr "您設定了邀請遮罩 %1。"
+
+#: src/channel.cpp:1963
+msgid "%1 sets invitation mask %2."
+msgstr "%1 設定了邀請遮罩 %2。"
+
+#: src/channel.cpp:1967
+#, c-format
+msgid "You remove the invitation mask %1."
+msgstr "您取消了邀請遮罩 %1。"
+
+#: src/channel.cpp:1968
+msgid "%1 removes the invitation mask %2."
+msgstr "%1 取消了邀請遮罩 %2。"
+
+#: src/channel.cpp:1974
+#, c-format
+msgid "You set channel mode +%1"
+msgstr "您設定了頻道模式 +%1。"
+
+#: src/channel.cpp:1975
+msgid "%1 sets channel mode +%2"
+msgstr "%1 設定了頻道模式 +%2。"
+
+#: src/channel.cpp:1979
+#, c-format
+msgid "You set channel mode -%1"
+msgstr "您設定了頻道模式 -%1。"
+
+#: src/channel.cpp:1980
+msgid "%1 sets channel mode -%2"
+msgstr "%1 設定了頻道模式 -%2。"
+
+#: src/channel.cpp:2394
+msgid "You have to be an operator to change this."
+msgstr "您必須是管理員才能變更此項。"
+
+#: src/channel.cpp:2396
+#, c-format
+msgid "Topic can be changed by channel operator only. %1"
+msgstr "只有頻道管理員可以變更話題。%1"
+
+#: src/channel.cpp:2397
+#, c-format
+msgid "No messages to channel from clients on the outside. %1"
+msgstr "不接受外部客戶端到頻道的訊息。%1"
+
+#: src/channel.cpp:2398
+#, c-format
+msgid "Secret channel. %1"
+msgstr "機密頻道。%1"
+
+#: src/channel.cpp:2399
+#, c-format
+msgid "Invite only channel. %1"
+msgstr "只接受邀請使用者的頻道。%1"
+
+#: src/channel.cpp:2400
+#, c-format
+msgid "Private channel. %1"
+msgstr "私人頻道。%1"
+
+#: src/channel.cpp:2401
+#, c-format
+msgid "Moderated channel. %1"
+msgstr "受監管頻道。%1"
+
+#: src/channel.cpp:2402
+msgid "Protect channel with a password."
+msgstr "受密碼保護頻道。"
+
+#: src/channel.cpp:2403
+msgid "Set user limit to channel."
+msgstr "設定頻道使用者數限制。"
+
+#: src/channel.cpp:2541
+msgid "Do you want to leave %1?"
+msgstr "您想要離開 %1 嗎?"
+
+#: src/channel.cpp:2542
+msgid "Leave Channel"
+msgstr "離開頻道"
+
+#: src/channel.cpp:2542
+msgid "Leave"
+msgstr "離開"
+
+#: _translatorinfo.cpp:1
+msgid ""
+"_: NAME OF TRANSLATORS\n"
+"Your names"
+msgstr "繁體中文翻譯小組"
+
+#: _translatorinfo.cpp:3
+msgid ""
+"_: EMAIL OF TRANSLATORS\n"
+"Your emails"
+msgstr "zh-l10n@lists.linux.org.tw"
+
+#. i18n: file ./src/queuetunerbase.ui line 124
+#: rc.cpp:6
+#, no-c-format
+msgid "Slow Queue"
+msgstr "慢佇列"
+
+#. i18n: file ./src/queuetunerbase.ui line 161
+#: rc.cpp:9 rc.cpp:42 rc.cpp:75
+#, no-c-format
+msgid "Lines"
+msgstr "行數"
+
+#. i18n: file ./src/queuetunerbase.ui line 166
+#: rc.cpp:12 rc.cpp:45 rc.cpp:78
+#, no-c-format
+msgid "Bytes"
+msgstr "位元組"
+
+#. i18n: file ./src/queuetunerbase.ui line 205
+#: rc.cpp:15 rc.cpp:18 rc.cpp:33 rc.cpp:36 rc.cpp:54 rc.cpp:57 rc.cpp:63
+#: rc.cpp:66 rc.cpp:84 rc.cpp:87 rc.cpp:99 rc.cpp:102 rc.cpp:111 rc.cpp:114
+#: rc.cpp:123 rc.cpp:126
+#, no-c-format
+msgid "888"
+msgstr "888"
+
+#. i18n: file ./src/queuetunerbase.ui line 227
+#: rc.cpp:21 rc.cpp:69 rc.cpp:81
+#, no-c-format
+msgid "Age:"
+msgstr "時間:"
+
+#. i18n: file ./src/queuetunerbase.ui line 235
+#: rc.cpp:24 rc.cpp:60 rc.cpp:90
+#, no-c-format
+msgid "Count:"
+msgstr "計數:"
+
+#. i18n: file ./src/queuetunerbase.ui line 259
+#: rc.cpp:27 rc.cpp:48 rc.cpp:93 rc.cpp:129
+#, no-c-format
+msgid "Lines:"
+msgstr "行數:"
+
+#. i18n: file ./src/queuetunerbase.ui line 267
+#: rc.cpp:30 rc.cpp:51 rc.cpp:96
+#, no-c-format
+msgid "Bytes:"
+msgstr "位元組:"
+
+#. i18n: file ./src/queuetunerbase.ui line 306
+#: rc.cpp:39
+#, no-c-format
+msgid "Normal Queue"
+msgstr "正常佇列"
+
+#. i18n: file ./src/queuetunerbase.ui line 488
+#: rc.cpp:72
+#, no-c-format
+msgid "Fast Queue"
+msgstr "快速佇列"
+
+#. i18n: file ./src/queuetunerbase.ui line 673
+#: rc.cpp:105
+#, no-c-format
+msgid "All Queues"
+msgstr "所有佇列"
+
+#. i18n: file ./src/queuetunerbase.ui line 701
+#: rc.cpp:108
+#, no-c-format
+msgid "Received:"
+msgstr "已接收:"
+
+#. i18n: file ./src/queuetunerbase.ui line 725
+#: rc.cpp:117
+#, no-c-format
+msgid "Bytes (Raw):"
+msgstr "位元組(原始):"
+
+#. i18n: file ./src/queuetunerbase.ui line 733
+#: rc.cpp:120
+#, no-c-format
+msgid "Bytes (Encoded):"
+msgstr "位元組(已編碼):"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 25
+#: rc.cpp:132
+#, no-c-format
+msgid "Button Name"
+msgstr "按鈕名稱"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 36
+#: rc.cpp:135
+#, no-c-format
+msgid "Button Action"
+msgstr "按鈕動作"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 112
+#: rc.cpp:138
+#, no-c-format
+msgid "Button action:"
+msgstr "按鈕動作:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 123
+#: rc.cpp:141
+#, no-c-format
+msgid "Button name:"
+msgstr "按鈕名稱:"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 133
+#: rc.cpp:144
+#, no-c-format
+msgid "Available Placeholders"
+msgstr "可用的替代符"
+
+#. i18n: file ./src/quickbuttons_preferencesui.ui line 157
+#: rc.cpp:147
+#, no-c-format
+msgid ""
+"%o: Current nickname\n"
+"%c: Current channel\n"
+"%K: Server password\n"
+"%u: List of selected nicknames\n"
+"%s<term>%: term used to separate nicknames in %u\n"
+"%n: Send command directly to the server instead of your input line"
+msgstr ""
+"%o:目前的暱稱\n"
+"%c:目前頻道\n"
+"%K:伺服器密碼\n"
+"%u:選取暱稱清單\n"
+"%s<條件>%:在 %u 中分隔暱稱的條件\n"
+"%n:將命令直接傳送到伺服器而不是您所說的話"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 50
+#: rc.cpp:161
+#, no-c-format
+msgid "Filename:"
+msgstr "檔名:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 58
+#: rc.cpp:164
+#, no-c-format
+msgid "Self:"
+msgstr "自身:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 66
+#: rc.cpp:167
+#, no-c-format
+msgid "Type:"
+msgstr "型態:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 74
+#: rc.cpp:170
+#, no-c-format
+msgid "Status:"
+msgstr "狀態:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 82
+#: rc.cpp:173
+#, no-c-format
+msgid "Location:"
+msgstr "位置:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 90
+#: rc.cpp:176
+#, no-c-format
+msgid "Progress:"
+msgstr "進度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 113
+#: rc.cpp:179
+#, no-c-format
+msgid "Partner:"
+msgstr "伙伴:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 134
+#: rc.cpp:182
+#, no-c-format
+msgid "Open Folder"
+msgstr "開啟資料夾"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 206
+#: rc.cpp:185
+#, no-c-format
+msgid "File Size:"
+msgstr "檔案大小:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 258
+#: rc.cpp:188
+#, no-c-format
+msgid "Average Speed:"
+msgstr "平均速度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 266
+#: rc.cpp:191
+#, no-c-format
+msgid "Resumed:"
+msgstr "回復:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 296
+#: rc.cpp:194
+#, no-c-format
+msgid "Current Speed:"
+msgstr "目前速度:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 304
+#: rc.cpp:197
+#, no-c-format
+msgid "Current Position:"
+msgstr "目前位置:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 358
+#: rc.cpp:200
+#, no-c-format
+msgid "Estimated Time Left:"
+msgstr "估計剩餘時間:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 366
+#: rc.cpp:203
+#, no-c-format
+msgid "Offered at:"
+msgstr "給定於:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 404
+#: rc.cpp:206
+#, no-c-format
+msgid "Finished at:"
+msgstr "完成於:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 412
+#: rc.cpp:209
+#, no-c-format
+msgid "Started at:"
+msgstr "開始於:"
+
+#. i18n: file ./src/dcctransferdetailedinfopanelui.ui line 450
+#: rc.cpp:212
+#, no-c-format
+msgid "Transferring Time:"
+msgstr "傳輸時間:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 33
+#: rc.cpp:215
+#, no-c-format
+msgid "Enable Automatic Reconnect"
+msgstr "允許自動重連"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 47
+#: rc.cpp:218
+#, no-c-format
+msgid "Reconnect delay:"
+msgstr "重連延遲:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 75
+#: rc.cpp:221
+#, no-c-format
+msgid "Reconnection attempts:"
+msgstr "重連嘗試:"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 95
+#: rc.cpp:224 rc.cpp:462 rc.cpp:997
+#, no-c-format
+msgid " seconds"
+msgstr " 秒"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 109
+#: rc.cpp:227 rc.cpp:967
+#, no-c-format
+msgid "Unlimited"
+msgstr "無限制"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 153
+#: rc.cpp:230
+#, no-c-format
+msgid "Debug"
+msgstr "除錯"
+
+#. i18n: file ./src/connectionbehavior_preferences.ui line 164
+#: rc.cpp:233
+#, no-c-format
+msgid "Show raw &log window when connecting"
+msgstr "連線時顯示原始記錄視窗(&L)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 45
+#: rc.cpp:236
+#, no-c-format
+msgid "Pattern"
+msgstr "模式"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 56
+#: rc.cpp:239
+#, no-c-format
+msgid "Type"
+msgstr "輸入"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 77
+#: rc.cpp:242
+#, no-c-format
+msgid "Pattern:"
+msgstr "模式:"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 98
+#: rc.cpp:245
+#, no-c-format
+msgid "Message Types"
+msgstr "訊息輸入"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 159
+#: rc.cpp:263 rc.cpp:871
+#, no-c-format
+msgid "&New"
+msgstr "新增(&N)"
+
+#. i18n: file ./src/ignore_preferencesui.ui line 175
+#: rc.cpp:269
+#, no-c-format
+msgid "Remove &All"
+msgstr "全部刪除(&A)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 35
+#: rc.cpp:272
+#, no-c-format
+msgid "Network name:"
+msgstr "網路名稱:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 56
+#: rc.cpp:275
+#, no-c-format
+msgid "Identity:"
+msgstr "身分:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 72
+#: rc.cpp:278
+#, no-c-format
+msgid "Commands:"
+msgstr "命令:"
+
+#. i18n: file ./src/servergroupdialogui.ui line 101
+#: rc.cpp:284
+#, no-c-format
+msgid "Co&nnect on application start up"
+msgstr "程式啟動時自動連線(&N)"
+
+#. i18n: file ./src/servergroupdialogui.ui line 109
+#: rc.cpp:287
+#, no-c-format
+msgid "Servers"
+msgstr "伺服器"
+
+#. i18n: file ./src/servergroupdialogui.ui line 125
+#: rc.cpp:290
+#, no-c-format
+msgid "&Add..."
+msgstr "新增(&A)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 136
+#: rc.cpp:293
+#, no-c-format
+msgid "E&dit..."
+msgstr "編輯(&D)..."
+
+#. i18n: file ./src/servergroupdialogui.ui line 202
+#: rc.cpp:296
+#, no-c-format
+msgid "Auto Join Channels"
+msgstr "自動加入頻道"
+
+#. i18n: file ./src/servergroupdialogui.ui line 229
+#: rc.cpp:302
+#, no-c-format
+msgid "Ed&it..."
+msgstr "編輯(&I)..."
+
+#. i18n: file ./src/alias_preferencesui.ui line 38
+#: rc.cpp:305
+#, no-c-format
+msgid "Alias:"
+msgstr "別名:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 49
+#: rc.cpp:308
+#, no-c-format
+msgid "Replacement:"
+msgstr "取代:"
+
+#. i18n: file ./src/alias_preferencesui.ui line 73
+#: rc.cpp:311
+#, no-c-format
+msgid "Alias"
+msgstr "別名"
+
+#. i18n: file ./src/alias_preferencesui.ui line 84
+#: rc.cpp:314
+#, no-c-format
+msgid "Replacement"
+msgstr "替換"
+
+#. i18n: file ./src/searchbarbase.ui line 86
+#: rc.cpp:326
+#, no-c-format
+msgid "Find Ne&xt"
+msgstr "尋找下一個(&X)"
+
+#. i18n: file ./src/searchbarbase.ui line 97
+#: rc.cpp:329
+#, no-c-format
+msgid "Find Previous"
+msgstr "尋找前一個"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 33
+#: rc.cpp:335
+#, no-c-format
+msgid "&Command to be executed on double click:"
+msgstr "按兩下時執行的命令(&C):"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 44
+#: rc.cpp:338
+#, no-c-format
+msgid "Sort case &insensitive"
+msgstr "排序不區分大小寫(&I)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 52
+#: rc.cpp:341
+#, no-c-format
+msgid "Sort by &activity"
+msgstr "依動作排序(&A)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 68
+#: rc.cpp:344
+#, no-c-format
+msgid "Sort b&y user status"
+msgstr "依使用者狀態排序(&Y)"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 85
+#: rc.cpp:350
+#, no-c-format
+msgid "Explanation"
+msgstr "解釋"
+
+#. i18n: file ./src/nicklistbehavior_preferencesui.ui line 129
+#: rc.cpp:353
+#, no-c-format
+msgid "(Reorder nick sorting order by drag and drop)"
+msgstr "(使用拖曳對暱稱重新排序)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 16
+#: rc.cpp:356
+#, no-c-format
+msgid "Theme_Config"
+msgstr "主題配置"
+
+#. i18n: file ./src/theme_preferencesui.ui line 43
+#: rc.cpp:359
+#, no-c-format
+msgid "I&nstall Theme..."
+msgstr "安裝主題(&N)..."
+
+#. i18n: file ./src/theme_preferencesui.ui line 54
+#: rc.cpp:362
+#, no-c-format
+msgid "&Remove Theme"
+msgstr "刪除主題(&R)"
+
+#. i18n: file ./src/theme_preferencesui.ui line 110
+#: rc.cpp:365
+#, no-c-format
+msgid "Icon for normal users"
+msgstr "普通使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 124
+#: rc.cpp:368
+#, no-c-format
+msgid "Icon for away users"
+msgstr "離開使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 138
+#: rc.cpp:371
+#, no-c-format
+msgid "Icon for users with voice"
+msgstr "語音使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 152
+#: rc.cpp:374
+#, no-c-format
+msgid "Icon for users with half-operator privileges"
+msgstr "助理員使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 166
+#: rc.cpp:377
+#, no-c-format
+msgid "Icon for users with operator privileges"
+msgstr "管理員使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 180
+#: rc.cpp:380
+#, no-c-format
+msgid "Icon for users with admin privileges"
+msgstr "總管使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 194
+#: rc.cpp:383
+#, no-c-format
+msgid "Icon for users with owner privileges"
+msgstr "擁有者使用者圖示"
+
+#. i18n: file ./src/theme_preferencesui.ui line 212
+#: rc.cpp:386
+#, no-c-format
+msgid "Preview:"
+msgstr "預覽:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 20
+#: rc.cpp:389
+#, no-c-format
+msgid "TabBar_Config"
+msgstr "分頁列配置"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 34
+#: rc.cpp:392 rc.cpp:793
+#, no-c-format
+msgid "Look"
+msgstr "外觀"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 53
+#: rc.cpp:395
+#, no-c-format
+msgid "Placement:"
+msgstr "位置:"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 100
+#: rc.cpp:407
+#, no-c-format
+msgid "Show &close button on tabs"
+msgstr "在分頁上顯示關閉按鈕(&C)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 108
+#: rc.cpp:410
+#, no-c-format
+msgid "Show a close button on the &right side of the tab bar"
+msgstr "在分頁欄右邊顯示關閉分頁按鈕(&R)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 116
+#: rc.cpp:413
+#, no-c-format
+msgid "Limit the &size of the tab labels to fit all on screen"
+msgstr "限制分頁標籤的大小以符合螢幕(&S)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 126
+#: rc.cpp:416
+#, no-c-format
+msgid "Focus"
+msgstr "焦點"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 137
+#: rc.cpp:419
+#, no-c-format
+msgid "&Focus new tabs"
+msgstr "焦點切換到新分頁(&F)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 145
+#: rc.cpp:422
+#, no-c-format
+msgid "Focus new &queries"
+msgstr "焦點切換到新對話(&Q)"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 155
+#: rc.cpp:425
+#, no-c-format
+msgid "Mouse"
+msgstr "滑鼠"
+
+#. i18n: file ./src/tabs_preferencesui.ui line 166
+#: rc.cpp:428
+#, no-c-format
+msgid "&Middle-click on a tab to close it"
+msgstr "對分頁點擊中鍵將它關閉(&M)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 38
+#: rc.cpp:431
+#, no-c-format
+msgid "Command e&xecuted when nickname is double clicked:"
+msgstr "按兩下暱稱時執行的命令(&X):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 52
+#: rc.cpp:434
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+"command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\"\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>當您在<b>上線暱稱</b>視窗裏按兩下一個暱稱時,這些\n"
+"命令會被存置在伺服器視窗裏的<b>輸入列</b>上。</p>\n"
+"<p>在命令中可以使用如下這些符號:</p>"
+"<ul>\n"
+"<li>%u:指代被按兩下的暱稱。</li>\n"
+"<li>%K:指代伺服器密碼。</li>\n"
+"<li>%n:直接將命令傳送到伺服器而不是存置到輸入列上。</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 79
+#: rc.cpp:445
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>When you double click a nickname in the <b>Nicks Online</b> window, this\n"
+" command is placed in the <b>Input Line</b> on the server window.</p>\n"
+"<p>The following symbols can be used in the command:</p>"
+"<ul>\n"
+"<li>%u: The nickname double clicked.</li>\n"
+"<li>%K: Server password.</li>\n"
+"<li>%n: Send command directly to the server instead of your input line.</li>\n"
+"</ul>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>當您在<b>上線暱稱</b>視窗裏按兩下一個暱稱時,這些\n"
+"命令會被存置在伺服器視窗裏的<b>輸入列</b>上。</p>\n"
+"<p>在命令中可以使用如下這些符號:</p>"
+"<ul>\n"
+"<li>%u:指代被按兩下的暱稱。</li>\n"
+"<li>%K:指代伺服器密碼。</li>\n"
+"<li>%n:直接將命令傳送到伺服器而不是存置到輸入列上。</li>\n"
+"</ul>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 90
+#: rc.cpp:456
+#, no-c-format
+msgid "&Update interval:"
+msgstr "更新間隔(&U):"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 96
+#: rc.cpp:459 rc.cpp:465
+#, no-c-format
+msgid ""
+"Konversation will check the status of the nicknames listed below at this "
+"interval."
+msgstr "Konversation 可以每相隔一段時間檢查一次以下列出的暱稱的狀態。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 144
+#: rc.cpp:468
+#, no-c-format
+msgid "Show watched nicks online tab on &application startup"
+msgstr "在程式啟動時開啟被監視上線暱稱的分頁(&A)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 147
+#: rc.cpp:471
+#, no-c-format
+msgid ""
+"<qt>When checked, the <b>Nicks Online</b> window will be automatically opened "
+"when starting Konversation.</qt>"
+msgstr "<qt>當此項所選中時,<b>上線暱稱</b>視窗會在 Konversation 程式開啟後自動開啟。</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 155
+#: rc.cpp:474
+#, no-c-format
+msgid "Enable nic&kname watcher"
+msgstr "開啟暱稱監視器(&K)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 162
+#: rc.cpp:477
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p>\n"
+"</qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"如果暱稱監視器被啟用,每當那些使用在<b>被監視網路/暱稱</b>清單裏的暱稱的人上線或離線時您將會獲得通知。</p>\n"
+"<p>您也可以開啟<b>上線暱稱</b>視窗檢閱所有被監視暱稱的目前狀態。</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 187
+#: rc.cpp:487
+#, no-c-format
+msgid "Network:"
+msgstr "網路:"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 190
+#: rc.cpp:490 rc.cpp:493
+#, no-c-format
+msgid ""
+"The irc server network (such as 'freenode') that the selected user to watch is "
+"on."
+msgstr "所選中使用者要監視的 IRC 伺服器網路(如「freenode」)已經上線。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 215
+#: rc.cpp:499 rc.cpp:502
+#, no-c-format
+msgid "The nick (username) of the selected person to watch"
+msgstr "所選中使用者要監視的暱稱(使用者名稱)"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 232
+#: rc.cpp:505
+#, no-c-format
+msgid "Watched Networks/Nicknames"
+msgstr "被監視網路/暱稱"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 271
+#: rc.cpp:508
+#, no-c-format
+msgid ""
+"<qt>\n"
+"<p>\n"
+"When the nickname watcher is turned on, you will be notified when the nicknames "
+"appearing in the <b>Watched Networks/Nicknames</b> list come online or go "
+"offline.</p>\n"
+"<p>You can also open the <b>Nicks Online</b> window to see the status of all "
+"the watched nicknames.</p></qt>"
+msgstr ""
+"<qt>\n"
+"<p>\n"
+"如果暱稱監視器被啟用,每當那些使用在<b>被監視網路/暱稱</b>清單裏的暱稱的人上線或離線時您將會獲得通知。</p>\n"
+"<p>您也可以開啟<b>上線暱稱</b>視窗檢閱所有被監視暱稱的目前狀態。</p>\n"
+"</qt>"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 301
+#: rc.cpp:517
+#, no-c-format
+msgid "Click to add a nickname to the list."
+msgstr "點此加入一個暱稱到清單。"
+
+#. i18n: file ./src/watchednicknames_preferencesui.ui line 323
+#: rc.cpp:523
+#, no-c-format
+msgid "Click to remove the selected nickname from the list."
+msgstr "點此從清單中刪除選取的暱稱。"
+
+#. i18n: file ./src/log_preferences.ui line 31
+#: rc.cpp:526
+#, no-c-format
+msgid "&Enable Logging"
+msgstr "啟用日誌(&E)"
+
+#. i18n: file ./src/log_preferences.ui line 45
+#: rc.cpp:529
+#, no-c-format
+msgid "Enable &lower case logfile names"
+msgstr "使用小寫日誌檔案名稱(&U)"
+
+#. i18n: file ./src/log_preferences.ui line 53
+#: rc.cpp:532
+#, no-c-format
+msgid "&Append hostname to logfile names"
+msgstr "為檔案名稱加入傳送者(&S)"
+
+#. i18n: file ./src/log_preferences.ui line 61
+#: rc.cpp:535
+#, no-c-format
+msgid "Logfile &path:"
+msgstr "日誌檔案路徑(&P):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 33
+#: rc.cpp:538
+#, no-c-format
+msgid "Enable System Tray"
+msgstr "活化到系統匣"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 50
+#: rc.cpp:541
+#, no-c-format
+msgid "&Use system tray for new message notification"
+msgstr "為新訊息通知使用系統匣(&U)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 78
+#: rc.cpp:544
+#, no-c-format
+msgid "Only &notify when a highlight is triggered or your current nick is used"
+msgstr "只有當突顯事件被觸發或您目前的暱稱被佔用時才通知(&N)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 103
+#: rc.cpp:547
+#, no-c-format
+msgid "Blin&k the icon"
+msgstr "閃爍圖示(&K)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 111
+#: rc.cpp:550
+#, no-c-format
+msgid "Hide window on startup"
+msgstr "啟動時隱藏視窗"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 121
+#: rc.cpp:553
+#, no-c-format
+msgid "Nickname Completion"
+msgstr "暱稱補齊"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 132
+#: rc.cpp:556
+#, no-c-format
+msgid "Completion &mode:"
+msgstr "補齊模式(&M):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 141
+#: rc.cpp:559
+#, no-c-format
+msgid "Cycle NickList"
+msgstr "循環暱稱清單"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 146
+#: rc.cpp:562
+#, no-c-format
+msgid "Shell-Like"
+msgstr "仿 Shell 外觀"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 151
+#: rc.cpp:565
+#, no-c-format
+msgid "Shell-Like with Completion Box"
+msgstr "帶補齊方框的仿 Shell 外觀"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 168
+#: rc.cpp:568
+#, no-c-format
+msgid "Suffi&x at start of line:"
+msgstr "列首(&X):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 184
+#: rc.cpp:571
+#, no-c-format
+msgid "&Elsewhere:"
+msgstr "別處(&E):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 195
+#: rc.cpp:574
+#, no-c-format
+msgid "Case sensitive"
+msgstr "區分大小寫"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 219
+#: rc.cpp:580
+#, no-c-format
+msgid "Disable notifications while &away"
+msgstr "處於離開狀態時停用系統通知(&A)"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 227
+#: rc.cpp:583
+#, no-c-format
+msgid "Use custom &version reply:"
+msgstr "自訂版本回復(&V):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 238
+#: rc.cpp:586
+#, no-c-format
+msgid ""
+"<qt>Here you can set a custom reply for <b>CTCP <i>VERSION</i></b> "
+"requests.</qt>"
+msgstr "<qt>您可以在這裏為 <b>CTCP<i> 版本</i></b>請求設定自訂回復。"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 262
+#: rc.cpp:589
+#, no-c-format
+msgid "Input box expands with text"
+msgstr "輸入盒隨著文字而擴展"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 278
+#: rc.cpp:592
+#, no-c-format
+msgid "Comman&d char:"
+msgstr "命令字元(&D):"
+
+#. i18n: file ./src/generalbehavior_preferences.ui line 289
+#: rc.cpp:595
+#, no-c-format
+msgid "Use custom web &browser:"
+msgstr "使用自訂瀏覽器(&B):"
+
+#. i18n: file ./src/config/konversation.kcfg line 21
+#: rc.cpp:598
+#, no-c-format
+msgid "Limit the size of the tab labels to fit all on screen"
+msgstr "限制分頁標籤的大小以符合螢幕"
+
+#. i18n: file ./src/config/konversation.kcfg line 226
+#: rc.cpp:601
+#, no-c-format
+msgid "Hide the scrollbar"
+msgstr "隱藏捲軸列"
+
+#. i18n: file ./src/config/konversation.kcfg line 232
+#: rc.cpp:604
+#, no-c-format
+msgid ""
+"Enable if you want all the IRC input lines to check your spelling as you type"
+msgstr "如果您想要對每列輸入都自動執行拼寫檢查,請選取此項。"
+
+#. i18n: file ./src/config/konversation.kcfg line 241
+#: rc.cpp:607
+#, no-c-format
+msgid ""
+"Enabling this will cause the input box to grow vertically when it fills up."
+msgstr "開啟此項會讓輸入盒隨著文字輸入而垂直擴展。"
+
+#. i18n: file ./src/config/konversation.kcfg line 275
+#: rc.cpp:610
+#, no-c-format
+msgid "Hidden to system tray"
+msgstr "隱藏系統匣圖示"
+
+#. i18n: file ./src/config/konversation.kcfg line 279
+#: rc.cpp:613
+#, no-c-format
+msgid "Start with hidden mainwindow"
+msgstr "啟動時隱藏主視窗"
+
+#. i18n: file ./src/config/konversation.kcfg line 333
+#: rc.cpp:616
+#, no-c-format
+msgid "&Show real names next to nicknames"
+msgstr "在暱稱旁顯示真實姓名(&S)"
+
+#. i18n: file ./src/config/konversation.kcfg line 547
+#: rc.cpp:619
+#, no-c-format
+msgid "Open Watched Nicks tab at application startup"
+msgstr "在程式啟動時自動開啟暱稱監視清單"
+
+#. i18n: file ./src/config/konversation.kcfg line 826
+#: rc.cpp:622
+#, no-c-format
+msgid "Enable emoticons"
+msgstr "啟用表情"
+
+#. i18n: file ./src/config/konversation.kcfg line 830
+#: rc.cpp:625
+#, no-c-format
+msgid "Emoticons theme"
+msgstr "表情主題"
+
+#. i18n: file ./src/channeloptionsui.ui line 37
+#: rc.cpp:628
+#, no-c-format
+msgid "Topi&c"
+msgstr "話題(&C)"
+
+#. i18n: file ./src/channeloptionsui.ui line 64
+#: rc.cpp:634
+#, no-c-format
+msgid "Date"
+msgstr "日期"
+
+#. i18n: file ./src/channeloptionsui.ui line 155
+#: rc.cpp:640
+#, no-c-format
+msgid "Mo&des"
+msgstr "模式(&D)"
+
+#. i18n: file ./src/channeloptionsui.ui line 166
+#: rc.cpp:643
+#, no-c-format
+msgid "&Topic can only be changed by channel operators"
+msgstr "話題只能由頻道管理員修改(&T)"
+
+#. i18n: file ./src/channeloptionsui.ui line 177
+#: rc.cpp:649
+#, no-c-format
+msgid "&No messages from outside the channel"
+msgstr "不接受來自頻道以外的訊息(&N)"
+
+#. i18n: file ./src/channeloptionsui.ui line 188
+#: rc.cpp:655
+#, no-c-format
+msgid "&Secret channel, the channel is not listed in the channel list"
+msgstr "秘密頻道,不會顯示在頻道清單中(&S)"
+
+#. i18n: file ./src/channeloptionsui.ui line 199
+#: rc.cpp:661
+#, no-c-format
+msgid "Only &invited are allowed to join the channel"
+msgstr "只有受邀請的使用者才能加入此頻道(&I)"
+
+#. i18n: file ./src/channeloptionsui.ui line 202
+#: rc.cpp:664
+#, no-c-format
+msgid ""
+"<qt>These control the <em>mode</em> of the channel. Only an operator can "
+"change these."
+"<p>An <b>I</b>nvite only channel means that people can only join the channel if "
+"they are invited. To invite someone, a channel operator needs to issue the "
+"command<em>/invite nick</em> from within the channel.</qt>"
+msgstr ""
+"<qt>在這裏可以調控頻道<em>模式</em>,只有管理員才能對它進行更動。"
+"<p>設定了<b>I</b>模式(Invite "
+"only)的頻道意味著他人若非被邀請否則無法進入此頻道。如果需要邀請某人,頻道管理員應在他所處於的頻道內傳送此命令 <em>/invite nick</em>"
+"。</qt>"
+
+#. i18n: file ./src/channeloptionsui.ui line 210
+#: rc.cpp:667
+#, no-c-format
+msgid "&Moderated channel, only people with voice can write to the channel"
+msgstr "監管頻道,只有具備語音權限的人才能在這裏發言(&M)"
+
+#. i18n: file ./src/channeloptionsui.ui line 229
+#: rc.cpp:673
+#, no-c-format
+msgid "Channel &password:"
+msgstr "頻道密碼(&P):"
+
+#. i18n: file ./src/channeloptionsui.ui line 254
+#: rc.cpp:682
+#, no-c-format
+msgid "User &limit:"
+msgstr "使用者限制(&L):"
+
+#. i18n: file ./src/channeloptionsui.ui line 303
+#: rc.cpp:691
+#, no-c-format
+msgid "Show &Advanced Modes >>"
+msgstr "顯示進階模式(&A) >>"
+
+#. i18n: file ./src/channeloptionsui.ui line 306
+#: rc.cpp:694
+#, no-c-format
+msgid "Alt+A, Backspace, Tab, Backspace"
+msgstr "Alt+A、Backspace、Tab、Backspace"
+
+#. i18n: file ./src/channeloptionsui.ui line 345
+#: rc.cpp:700
+#, no-c-format
+msgid "Parameter"
+msgstr "參數"
+
+#. i18n: file ./src/channeloptionsui.ui line 400
+#: rc.cpp:703
+#, no-c-format
+msgid "&Ban List"
+msgstr "封禁清單(&B)"
+
+#. i18n: file ./src/channeloptionsui.ui line 419
+#: rc.cpp:706
+#, no-c-format
+msgid "&Remove Ban"
+msgstr "刪除封禁(&R)"
+
+#. i18n: file ./src/channeloptionsui.ui line 435
+#: rc.cpp:709
+#, no-c-format
+msgid "&Add Ban"
+msgstr "加入封禁(&A)"
+
+#. i18n: file ./src/channeloptionsui.ui line 441
+#: rc.cpp:712
+#, no-c-format
+msgid "Hostmask"
+msgstr "主機遮罩"
+
+#. i18n: file ./src/channeloptionsui.ui line 452
+#: rc.cpp:715
+#, no-c-format
+msgid "Set By"
+msgstr "設定由"
+
+#. i18n: file ./src/channeloptionsui.ui line 463
+#: rc.cpp:718
+#, no-c-format
+msgid "Time Set"
+msgstr "時間設定"
+
+#. i18n: file ./src/channeloptionsui.ui line 511
+#: rc.cpp:721
+#, no-c-format
+msgid "Search:"
+msgstr "搜尋:"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 20
+#: rc.cpp:724
+#, no-c-format
+msgid "DCC_Settings"
+msgstr "DCC 設定"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 34
+#: rc.cpp:727
+#, no-c-format
+msgid "Download &folder:"
+msgstr "下載資料夾(&F):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 61
+#: rc.cpp:730
+#, no-c-format
+msgid "&Add sender to file name"
+msgstr "為檔案名稱加入傳送者(&A)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 69
+#: rc.cpp:733
+#, no-c-format
+msgid "Cr&eate folder for sender"
+msgstr "為傳送者建立資料夾(&E)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 77
+#: rc.cpp:736
+#, no-c-format
+msgid "Convert spaces in file names to underscores before sending"
+msgstr "在傳送前,將檔名裡的空白換成底線"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 88
+#: rc.cpp:739
+#, no-c-format
+msgid "Automaticall&y accept download offer"
+msgstr "自動接受 DCC 下載要求(&Y)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 96
+#: rc.cpp:742
+#, no-c-format
+msgid "Au&tomatically resume download"
+msgstr "自動續傳(&T)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 104
+#: rc.cpp:745
+#, no-c-format
+msgid "Enable fast DCC send (Might &not work with all clients)"
+msgstr "啟用快速 DCC 傳送(不是所有客戶端都能正常工作)(&N)"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 129
+#: rc.cpp:748
+#, no-c-format
+msgid "Buffer si&ze:"
+msgstr "緩衝區大小(&Z):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 140
+#: rc.cpp:751
+#, no-c-format
+msgid "DCC send t&imeout:"
+msgstr "DCC 傳送逾時(&I):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 151
+#: rc.cpp:754
+#, no-c-format
+msgid "Fallback to an IPv&4 interface for DCC send:"
+msgstr "DCC 傳輸時回溯到 IPv4 介面(&4):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 154
+#: rc.cpp:757
+#, no-c-format
+msgid ""
+"If this option enabled dcc transfers for IPv6 connections will be done over "
+"IPv4 interface set here"
+msgstr "如果此選項被啟用,為 IPv6 建立的 DCC 傳輸連線會改由 IPv4 介面來操作"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 162
+#: rc.cpp:760
+#, no-c-format
+msgid " bytes"
+msgstr " 位元組"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 179
+#: rc.cpp:763
+#, no-c-format
+msgid " sec"
+msgstr " 秒"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 201
+#: rc.cpp:766
+#, no-c-format
+msgid "Enable passive DCC send"
+msgstr "開啟被動 DCC 傳送"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 263
+#: rc.cpp:769
+#, no-c-format
+msgid "IP"
+msgstr "IP"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 279
+#: rc.cpp:772
+#, no-c-format
+msgid "&Method to get own IP:"
+msgstr "獲取本機 IP 的方式(&M):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 290
+#: rc.cpp:775
+#, no-c-format
+msgid "O&wn IP:"
+msgstr "本機 IP(&W):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 308
+#: rc.cpp:778
+#, no-c-format
+msgid "Ports"
+msgstr "連接埠"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 319
+#: rc.cpp:781
+#, no-c-format
+msgid "Enable specific p&orts for DCC chat:"
+msgstr "允許指定 DCC 密聊連接埠(&O):"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 361
+#: rc.cpp:784 rc.cpp:790
+#, no-c-format
+msgid "to"
+msgstr "到"
+
+#. i18n: file ./src/dcc_preferencesui.ui line 386
+#: rc.cpp:787
+#, no-c-format
+msgid "Enable specific &ports for DCC transfer server:"
+msgstr "允許指定 DCC 傳送伺服器連接埠(&P):"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 38
+#: rc.cpp:796
+#, no-c-format
+msgid "Use colored text"
+msgstr "使用多彩文字"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 49
+#: rc.cpp:799
+#, no-c-format
+msgid "Use colored LEDs"
+msgstr "使用多彩信號燈"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 70
+#: rc.cpp:805
+#, no-c-format
+msgid "Application event"
+msgstr "應用程式事件"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 76
+#: rc.cpp:808
+#, no-c-format
+msgid ""
+"Application events occur in Konsole tabs, the DCC Status tab and other "
+"application tabs not used directly for chatting."
+msgstr "應用程式事件會發生在 Konsole 分頁裏,DCC 狀態分頁和其他程式分頁不能被直接地用於聊天。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 109
+#: rc.cpp:811
+#, no-c-format
+msgid "Message"
+msgstr "訊息"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 169
+#: rc.cpp:814
+#, no-c-format
+msgid "Private message"
+msgstr "私密訊息"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 195
+#: rc.cpp:817
+#, no-c-format
+msgid "Current nick used"
+msgstr "目前使用的暱稱"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 256
+#: rc.cpp:820
+#, no-c-format
+msgid "Channel event"
+msgstr "頻道事件"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 262
+#: rc.cpp:823
+#, no-c-format
+msgid "Channel events are mode changes or users joining/leaving a channel."
+msgstr "頻道事件是指模式變更或使用者加入/退出頻道等狀況。"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 322
+#: rc.cpp:832
+#, no-c-format
+msgid "Give precedence to chat window highlight colors"
+msgstr "給與高亮度色的聊天視窗較高優先等級"
+
+#. i18n: file ./src/tabnotifications_preferences.ui line 325
+#: rc.cpp:835
+#, no-c-format
+msgid ""
+"If you select this, the colors you chose in the Highlights preferences page "
+"will override the colors for \"Current nick used\" and \"Highlight\"."
+msgstr "如果您選取此項,您在高亮度屬性頁中選擇的顏色會覆寫「目前使用的暱稱」和「高亮度」所顯示的色彩。"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 33
+#: rc.cpp:838
+#, no-c-format
+msgid "Enable fi&xed font for MOTD messages"
+msgstr "允許為 MOTD 訊息使用等寬字型(&X)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 36
+#: rc.cpp:841
+#, no-c-format
+msgid "Show MOTD (Message Of The Day) message in fixed font"
+msgstr "以等寬字型顯示 MOTD(每日新聞)訊息"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 44
+#: rc.cpp:844
+#, no-c-format
+msgid "Show sender nicknames &bold in the chat view"
+msgstr "在聊天檢視中加粗傳送者暱稱(&B)"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 72
+#: rc.cpp:847
+#, no-c-format
+msgid "Chat text:"
+msgstr "聊天文字字型:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 107
+#: rc.cpp:850
+#, no-c-format
+msgid "Nickname list:"
+msgstr "暱稱清單字型:"
+
+#. i18n: file ./src/fontappearance_preferences.ui line 118
+#: rc.cpp:853
+#, no-c-format
+msgid "Tab bar:"
+msgstr "分頁欄:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 27
+#: rc.cpp:856
+#, no-c-format
+msgid "Highlight List"
+msgstr "突顯清單"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 36
+#: rc.cpp:859 rc.cpp:1066
+#, no-c-format
+msgid "RegEx"
+msgstr "正規表示式"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 47
+#: rc.cpp:862
+#, no-c-format
+msgid "Highlights"
+msgstr "突顯"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 58
+#: rc.cpp:865
+#, no-c-format
+msgid "Sound"
+msgstr "聲音"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 69
+#: rc.cpp:868
+#, no-c-format
+msgid "Auto Text"
+msgstr "自動文字"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 169
+#: rc.cpp:877 rc.cpp:1078
+#, no-c-format
+msgid "..."
+msgstr "..."
+
+#. i18n: file ./src/highlight_preferencesui.ui line 186
+#: rc.cpp:883
+#, no-c-format
+msgid "&Pattern:"
+msgstr "模式(&P):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 216
+#: rc.cpp:886
+#, no-c-format
+msgid "Color:"
+msgstr "顏色:"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 238
+#: rc.cpp:889
+#, no-c-format
+msgid "&Sound:"
+msgstr "聲音(&S):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 260
+#: rc.cpp:892
+#, no-c-format
+msgid "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+msgstr "audio/x-wav audio/x-mp3 application/ogg audio/x-adpcm"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 282
+#: rc.cpp:895
+#, no-c-format
+msgid "Test sound"
+msgstr "測試聲音"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 293
+#: rc.cpp:898
+#, no-c-format
+msgid "&Auto text:"
+msgstr "自動文字(&A):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 314
+#: rc.cpp:901
+#, no-c-format
+msgid "Ena&ble sound for highlights"
+msgstr "為突顯清單項啟用聲音(&B)"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 344
+#: rc.cpp:904
+#, no-c-format
+msgid "Alwa&ys highlight own current nick:"
+msgstr "總是高亮度顯示目前暱稱(&Y):"
+
+#. i18n: file ./src/highlight_preferencesui.ui line 352
+#: rc.cpp:907
+#, no-c-format
+msgid "Always highlight own &lines:"
+msgstr "總是高亮度顯示自己的話(&L):"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 52
+#: rc.cpp:910
+#, no-c-format
+msgid "Create New &Entry..."
+msgstr "建立新條目(&E)..."
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 55
+#: rc.cpp:913
+#, no-c-format
+msgid "Create a new entry in your address book"
+msgstr "在您的通訊錄中建立一條新條目"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 74
+#: rc.cpp:916
+#, no-c-format
+msgid "Photo"
+msgstr "照片"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 85
+#: rc.cpp:919
+#, no-c-format
+msgid "Name"
+msgstr "姓名"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 123
+#: rc.cpp:925
+#, no-c-format
+msgid "Select the contact you want to communicate with via Instant Messaging"
+msgstr "選項要透過即時訊息與之通信的連絡人"
+
+#. i18n: file ./src/linkaddressbook/linkaddressbookui_base.ui line 147
+#: rc.cpp:928
+#, no-c-format
+msgid "S&earch:"
+msgstr "搜尋(&E):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 38
+#: rc.cpp:934
+#, no-c-format
+msgid "Enable s&ystem bell on incoming ASCII BEL"
+msgstr "收到 ASCII 響鈴字元時發聲(&Y)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 41
+#: rc.cpp:937
+#, no-c-format
+msgid ""
+"Sounds the system bell when you receive an ASCII BEL (0x07) control character"
+msgstr "當您收到一個 ASCII BEL(0x07)控制符時發出系統響鈴"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 49
+#: rc.cpp:940
+#, no-c-format
+msgid "Hide &Join/Part/Nick events"
+msgstr "隱藏加入/退出/暱稱 事件(&J)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 57
+#: rc.cpp:943
+#, no-c-format
+msgid "Disable variable (e.g. %C, %B, %G...) e&xpansion"
+msgstr "停用變數(如:%C、%B、%G...)展開(&X)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 60
+#: rc.cpp:946
+#, no-c-format
+msgid ""
+"Do not expand variables when sending text to the server. A variable starts with "
+"'%'; for example, %B will expand to the characters needed to make a text bold."
+msgstr "在將文字傳送到伺服器時不要展開變數,每一個變數都會以「%」符號開頭。例:%B 會被展開為要加粗的文字。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 68
+#: rc.cpp:949
+#, no-c-format
+msgid "&Redirect status messages to the server status window"
+msgstr "重新導向所有狀態訊息到伺服器狀態視窗(&R)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 76
+#: rc.cpp:952
+#, no-c-format
+msgid "Scroll&back limit:"
+msgstr "捲軸限制(&B):"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 82
+#: rc.cpp:955 rc.cpp:970
+#, no-c-format
+msgid "How many lines to keep in buffers, 0 = unlimited"
+msgstr "在緩衝區裏保留多少列目,0為無限制"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 107
+#: rc.cpp:958
+#, no-c-format
+msgid "&Use raw modes for mode changes"
+msgstr "為模式改動使用原始模式(&U)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 110
+#: rc.cpp:961
+#, no-c-format
+msgid ""
+"Keep channel mode string as a combination of characters instead of translating "
+"them into human readable words. E.g. '*** Channel modes: no messages from "
+"outside' will become '*** Channel modes: n'"
+msgstr "將頻道模式字串保留為一組字元的組合而不是轉譯成人可讀的單字。如:「*** 頻道模式:不接受外部訊息」會變成「*** 頻道模式:n」。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 118
+#: rc.cpp:964
+#, no-c-format
+msgid " lines"
+msgstr " 列"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 154
+#: rc.cpp:973
+#, no-c-format
+msgid "Marker Lines"
+msgstr "標記線"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 165
+#: rc.cpp:976
+#, no-c-format
+msgid "Show manually inserted lines in all chat windows"
+msgstr "在所有頻道和對話中顯示標記線"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 173
+#: rc.cpp:979
+#, no-c-format
+msgid "Mark the last position in a chat window when it is hidden"
+msgstr "在隱藏聊天視窗時標記最後位置"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 179
+#: rc.cpp:982
+#, no-c-format
+msgid ""
+"Inserts a remember line into the chat window when you switch to another chat "
+"window or minimize the application."
+msgstr "切換到其它聊天視窗或將主視窗最小化時,插入標記線。"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 190
+#: rc.cpp:985
+#, no-c-format
+msgid "Move the line only when new text is about to be shown"
+msgstr "只在新文字要顯示時移動此線"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 217
+#: rc.cpp:988
+#, no-c-format
+msgid "Enable Automatic User Information Look Up (/WHO)"
+msgstr "啟用自動使用者資訊查找(/WHO)"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 268
+#: rc.cpp:991
+#, no-c-format
+msgid "Max. number of users in a channel:"
+msgstr "頻道內最大使用者數量:"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 279
+#: rc.cpp:994
+#, no-c-format
+msgid " nicks"
+msgstr " 暱稱"
+
+#. i18n: file ./src/chatwindowbehaviour_preferences.ui line 316
+#: rc.cpp:1000
+#, no-c-format
+msgid "Update interval:"
+msgstr "檢查間隔:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 44
+#: rc.cpp:1003
+#, no-c-format
+msgid "&Enable On Screen Display"
+msgstr "啟用螢幕顯示(&E)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 55
+#: rc.cpp:1006
+#, no-c-format
+msgid "On &Screen Display"
+msgstr "在螢幕上顯示(&S)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 69
+#: rc.cpp:1009
+#, no-c-format
+msgid "&Draw shadows"
+msgstr "繪製陰影(&D)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 83
+#: rc.cpp:1012
+#, no-c-format
+msgid "OSD font:"
+msgstr "OSD 字型:"
+
+#. i18n: file ./src/osd_preferencesui.ui line 158
+#: rc.cpp:1015
+#, no-c-format
+msgid "Show &OSD Message"
+msgstr "顯示 &OSD 訊息"
+
+#. i18n: file ./src/osd_preferencesui.ui line 169
+#: rc.cpp:1018
+#, no-c-format
+msgid "&If own nick appears in channel message"
+msgstr "當自己的暱稱出現在頻道訊息內(&I)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 177
+#: rc.cpp:1021
+#, no-c-format
+msgid "On an&y channel message"
+msgstr "在任何頻道訊息上顯示(&Y)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 185
+#: rc.cpp:1024
+#, no-c-format
+msgid "On &query activity"
+msgstr "在對話動作上顯示(&Q)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 193
+#: rc.cpp:1027
+#, no-c-format
+msgid "On &Join/Part events"
+msgstr "在加入/退出事件上顯示(&J)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 206
+#: rc.cpp:1030
+#, no-c-format
+msgid "Enable Custom Colors"
+msgstr "啟用自訂顏色"
+
+#. i18n: file ./src/osd_preferencesui.ui line 223
+#: rc.cpp:1033
+#, no-c-format
+msgid "Te&xt color:"
+msgstr "文字顏色(&X):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 234
+#: rc.cpp:1036 rc.cpp:1296
+#, no-c-format
+msgid "&Background color:"
+msgstr "背景顏色(&B):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 283
+#: rc.cpp:1039
+#, no-c-format
+msgid "O&ther Settings"
+msgstr "其他設定(&T)"
+
+#. i18n: file ./src/osd_preferencesui.ui line 294
+#: rc.cpp:1042
+#, no-c-format
+msgid "&Duration:"
+msgstr "作用持續(&D):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 305
+#: rc.cpp:1045
+#, no-c-format
+msgid "S&creen:"
+msgstr "螢幕(&C):"
+
+#. i18n: file ./src/osd_preferencesui.ui line 316
+#: rc.cpp:1048
+#, no-c-format
+msgid " ms"
+msgstr " 毫秒"
+
+#. i18n: file ./src/konversationui.rc line 37
+#: rc.cpp:1057
+#, no-c-format
+msgid "&Window"
+msgstr "視窗(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 36
+#: rc.cpp:1060
+#, no-c-format
+msgid "Ne&w"
+msgstr "新增(&W)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 44
+#: rc.cpp:1063
+#, no-c-format
+msgid "R&emove"
+msgstr "移除(&E)"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 80
+#: rc.cpp:1069
+#, no-c-format
+msgid "Replace In"
+msgstr "替換"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 91
+#: rc.cpp:1072
+#, no-c-format
+msgid "Find"
+msgstr "尋找"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 102
+#: rc.cpp:1075
+#, no-c-format
+msgid "Replace With"
+msgstr "替換為"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 184
+#: rc.cpp:1081
+#, no-c-format
+msgid "Replace in:"
+msgstr "替換:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 235
+#: rc.cpp:1084
+#, no-c-format
+msgid "Find:"
+msgstr "尋找:"
+
+#. i18n: file ./src/autoreplace_preferencesui.ui line 254
+#: rc.cpp:1087
+#, no-c-format
+msgid "Replace with:"
+msgstr "替換為:"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 31
+#: rc.cpp:1090
+#, no-c-format
+msgid "Enable &Timestamps"
+msgstr "啟用時間戳記(&T)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 45
+#: rc.cpp:1093
+#, no-c-format
+msgid "Sho&w dates"
+msgstr "顯示日期(&W)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 53
+#: rc.cpp:1096
+#, no-c-format
+msgid "&Format:"
+msgstr "格式(&F):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 91
+#: rc.cpp:1099
+#, no-c-format
+msgid "Show &Backlog"
+msgstr "顯示回溯日誌(&B)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 105
+#: rc.cpp:1102
+#, no-c-format
+msgid "&Lines: "
+msgstr "行數(&L):"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 146
+#: rc.cpp:1105
+#, no-c-format
+msgid "&Layout"
+msgstr "版面設置(&L)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 157
+#: rc.cpp:1108
+#, no-c-format
+msgid "&Show channel topic"
+msgstr "顯示頻道話題(&S)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 165
+#: rc.cpp:1111
+#, no-c-format
+msgid "Show channel &mode buttons"
+msgstr "顯示頻道模式按鈕(&M)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 173
+#: rc.cpp:1114
+#, no-c-format
+msgid "Show sc&rollbar"
+msgstr "顯示捲軸列(&R)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 184
+#: rc.cpp:1117
+#, no-c-format
+msgid "Show bo&x to change own nickname"
+msgstr "顯示可供修改自己暱稱的方框(&X)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 195
+#: rc.cpp:1120
+#, no-c-format
+msgid "Show &quick buttons"
+msgstr "顯示快捷按鈕(&Q)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 223
+#: rc.cpp:1123
+#, no-c-format
+msgid "Show real names in nickname list"
+msgstr "在暱稱清單中顯示真實姓名"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 248
+#: rc.cpp:1126
+#, no-c-format
+msgid "Show channel &nick list and quick buttons"
+msgstr "顯示頻道暱稱清單和快捷按鈕(&N)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 259
+#: rc.cpp:1129
+#, no-c-format
+msgid "Show hostmas&ks in nickname list"
+msgstr "在暱稱清單中顯示主機遮罩(&K)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 286
+#: rc.cpp:1132
+#, no-c-format
+msgid "Enable Back&ground Image"
+msgstr "啟用背景圖像(&G)"
+
+#. i18n: file ./src/chatwindowappearance_preferences.ui line 300
+#: rc.cpp:1135
+#, no-c-format
+msgid "P&ath:"
+msgstr "路徑(&A):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 40
+#: rc.cpp:1138
+#, no-c-format
+msgid "Custom Colors"
+msgstr "自訂顏色"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 51
+#: rc.cpp:1141
+#, no-c-format
+msgid "&Use custom colors for input box, nickname list and tab list"
+msgstr "輸入盒、暱稱清單與分頁清單中使用自訂顏色(&U)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 309
+#: rc.cpp:1144
+#, no-c-format
+msgid "&Background:"
+msgstr "背景(&B):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 320
+#: rc.cpp:1147
+#, no-c-format
+msgid "&Server message:"
+msgstr "伺服器訊息(&S):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 331
+#: rc.cpp:1150
+#, no-c-format
+msgid "H&yperlink:"
+msgstr "超連結(&Y):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 342
+#: rc.cpp:1153
+#, no-c-format
+msgid "Channel &message:"
+msgstr "頻道訊息(&M):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 353
+#: rc.cpp:1156
+#, no-c-format
+msgid "Actio&n:"
+msgstr "動作(&N):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 364
+#: rc.cpp:1159
+#, no-c-format
+msgid "Bac&klog:"
+msgstr "回溯日誌(&K):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 375
+#: rc.cpp:1162
+#, no-c-format
+msgid "Comman&d message:"
+msgstr "命令訊息(&D):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 386
+#: rc.cpp:1165
+#, no-c-format
+msgid "&Query message:"
+msgstr "對話訊息(&Q):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 397
+#: rc.cpp:1168
+#, no-c-format
+msgid "&Timestamp:"
+msgstr "時間戳記(&T):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 408
+#: rc.cpp:1171
+#, no-c-format
+msgid "A&lternate background:"
+msgstr "可選背景(&L):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 424
+#: rc.cpp:1174
+#, no-c-format
+msgid "Colored Nicks"
+msgstr "彩色暱稱"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 446
+#: rc.cpp:1177 rc.cpp:1228
+#, no-c-format
+msgid "5:"
+msgstr "5:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 470
+#: rc.cpp:1180 rc.cpp:1231
+#, no-c-format
+msgid "4:"
+msgstr "4:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 494
+#: rc.cpp:1183 rc.cpp:1216
+#, no-c-format
+msgid "3:"
+msgstr "3:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 526
+#: rc.cpp:1186 rc.cpp:1213
+#, no-c-format
+msgid "2:"
+msgstr "2:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 618
+#: rc.cpp:1189 rc.cpp:1219
+#, no-c-format
+msgid "0:"
+msgstr "0:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 642
+#: rc.cpp:1192 rc.cpp:1210
+#, no-c-format
+msgid "1:"
+msgstr "1:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 708
+#: rc.cpp:1195 rc.cpp:1222
+#, no-c-format
+msgid "7:"
+msgstr "7:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 724
+#: rc.cpp:1198 rc.cpp:1225
+#, no-c-format
+msgid "6:"
+msgstr "6:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 740
+#: rc.cpp:1201
+#, no-c-format
+msgid "&Own nick color:"
+msgstr "自己暱稱的顏色(&O):"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 783
+#: rc.cpp:1204
+#, no-c-format
+msgid "&Allow Colored Text in IRC Messages"
+msgstr "允許在 IRC 訊息裏使用彩色文字(&A)"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 789
+#: rc.cpp:1207
+#, no-c-format
+msgid ""
+"By enabling this option, color codes added to IRC messages will be displayed in "
+"your chat window as colored text. You can add color codes to your messages, by "
+"selecting Insert -> IRC Color"
+msgstr ""
+"如果啟用此選項,在 IRC 訊息中加入的顏色程式碼會在聊天視窗中顯示為彩色的文字。您可以在您的訊息中加入顏色程式碼,只需在選單中選擇「插入 -> "
+"IRC 顏色」。"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1104
+#: rc.cpp:1234
+#, no-c-format
+msgid "11:"
+msgstr "11:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1136
+#: rc.cpp:1237
+#, no-c-format
+msgid "9:"
+msgstr "9:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1144
+#: rc.cpp:1240
+#, no-c-format
+msgid "8:"
+msgstr "8:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1152
+#: rc.cpp:1243
+#, no-c-format
+msgid "10:"
+msgstr "10:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1236
+#: rc.cpp:1246
+#, no-c-format
+msgid "12:"
+msgstr "12:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1252
+#: rc.cpp:1249
+#, no-c-format
+msgid "15:"
+msgstr "15:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1276
+#: rc.cpp:1252
+#, no-c-format
+msgid "14:"
+msgstr "14:"
+
+#. i18n: file ./src/colorsappearance_preferences.ui line 1284
+#: rc.cpp:1255
+#, no-c-format
+msgid "13:"
+msgstr "13:"
+
+#. i18n: file ./src/irccolorchooserui.ui line 33
+#: rc.cpp:1258
+#, no-c-format
+msgid "Preview"
+msgstr "預覽"
+
+#. i18n: file ./src/irccolorchooserui.ui line 39
+#: rc.cpp:1261
+#, no-c-format
+msgid "This is how your message will look with these colors"
+msgstr "這裏是使用了定義的顏色的訊息文字範本"
+
+#. i18n: file ./src/irccolorchooserui.ui line 44
+#: rc.cpp:1264
+#, no-c-format
+msgid ""
+"<qt>This is a preview of how your readers may see view your message if you "
+"select these colors."
+"<br>\n"
+"<b>Note: Not all clients support this, and some users may have chosen to ignore "
+"your color changes.</b>\n"
+"</qt>"
+msgstr ""
+"<qt>這裏提供預覽的是當您選擇了這些顏色後,您的訊息的讀者會看到的文字的模樣。"
+"<br>\n"
+"<b>注意:並非所有客戶端都支援這種功能,而且使用者還可以選擇忽略您的顏色變動。</b>\n"
+"</qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 60
+#: rc.cpp:1269 rc.cpp:1279
+#, no-c-format
+msgid "The chosen text color is added to the input line."
+msgstr "選取的文字顏色已被加入輸入列。"
+
+#. i18n: file ./src/irccolorchooserui.ui line 64
+#: rc.cpp:1272 rc.cpp:1282
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you the text in the next message you "
+"send to be. If you choose a color and click Ok, the chosen color is added to "
+"the Input Line. Any text written after this will be in the chosen color, until "
+"you change the color again."
+"<br>\n"
+"<b>Note: Not all users turn on the option to see this.</b></qt>"
+msgstr ""
+"<qt>這裏是供您調配下面要傳送的訊息文字的顏色的地方。如果您選擇了一個顏色並點擊確定,選取的顏色會被自動加到輸入列,任何在這之後寫入的文字都會帶有相對的顏色,"
+"直到您再次變更顏色設定。"
+"<br>\n"
+"<b>注意:並非所有使用者都會開啟可觀覽彩色文字的選項。</b></qt>"
+
+#. i18n: file ./src/irccolorchooserui.ui line 80
+#: rc.cpp:1276
+#, no-c-format
+msgid "&Foreground color:"
+msgstr "前景色(&F):"
+
+#. i18n: file ./src/irccolorchooserui.ui line 109
+#: rc.cpp:1286 rc.cpp:1299
+#, no-c-format
+msgid "The chosen text-background color is added to the input line."
+msgstr "選取的文字背景色已被加入輸入列"
+
+#. i18n: file ./src/irccolorchooserui.ui line 116
+#: rc.cpp:1289 rc.cpp:1302
+#, no-c-format
+msgid ""
+"<qt>Here you choose what color you want you background for the text in the next "
+"message you send to be.\n"
+"If you choose a color and click Ok, the chosen color is added to the Input "
+"Line.\n"
+"Any text written after this will have the chosen color, until you change the "
+"color again."
+"<br>\n"
+"Choosing the default \"<i>None</i>\" will not change the background color of "
+"your message, so your readers will view your message with their normal "
+"background text color."
+"<br>\n"
+"<b>Note: Not all clients support this, and not all users turn on the option to "
+"see this.</b></qt>"
+msgstr ""
+"<qt>這裏是供您調配下面要傳送的訊息文字的顏色的地方。\n"
+"如果您選擇了一個顏色並點擊確定,選取的顏色會被自動加到輸入列。\n"
+"任何在這之後寫入的文字都會帶有相對的顏色,直到您再次變更顏色設定。"
+"<br>\n"
+"選擇預設的「<i>無</i>」不會變更您訊息的背景色,因此讀者看到的您的訊息文字背景色會是普通的樣式。"
+"<br>\n"
+"<b>注意:並非所有客戶端都支援這種功能,同時也不是所有使用者都會開啟可觀覽彩色文字的選項。</b></qt>"
+
+#. i18n: file ./src/warnings_preferencesui.ui line 25
+#: rc.cpp:1309
+#, no-c-format
+msgid "Warning Dialogs to Show"
+msgstr "顯示的警告對話方塊"
+
+#. i18n: file ./src/joinchannelui.ui line 63
+#: rc.cpp:1315
+#, no-c-format
+msgid "&Password:"
+msgstr "密碼(&P):"
+
+#. i18n: file ./src/joinchannelui.ui line 82
+#: rc.cpp:1318
+#, no-c-format
+msgid "Server:"
+msgstr "伺服器:"
+
+#~ msgid "Alt+4"
+#~ msgstr "Alt+4"
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/stamp-h.in
diff --git a/subdirs b/subdirs
new file mode 100644
index 0000000..0ed5f80
--- /dev/null
+++ b/subdirs
@@ -0,0 +1,3 @@
+doc
+konversation
+po